درخواست کمک برای تایمر دو زمانه |
بستن
اطلاعات بیشتر
- ارسال ها: 111
- امتياز: 26
- تشکرهای دریافت شده: 43
11 سال 3 ماه قبل - 11 سال 3 ماه قبل #103
توسط atmega128
با سلام پس از کار زیاد بلاخره مدار شما رو درست کردم :thank:
و فکر میکنم کامل باشه
روش کار به شکل زیر است
1-دکمه منو برای انتخاب بین ذخیره زمان -ثانیه-دقیقه-ساعت و هر بار کلیکی میکنی به یکی از این سا حالت میره
2-دکمه incوdecr برای کاهش و افزایش زمان در هر حالت که منو قبلاً انتخاب کرده :sig: :read:
موفق باشی ولی ما رو حسابی ازیت کردی
کد برنامه کانتر دو زمانه به زبان بیسیک:
و فکر میکنم کامل باشه
روش کار به شکل زیر است
1-دکمه منو برای انتخاب بین ذخیره زمان -ثانیه-دقیقه-ساعت و هر بار کلیکی میکنی به یکی از این سا حالت میره
2-دکمه incوdecr برای کاهش و افزایش زمان در هر حالت که منو قبلاً انتخاب کرده :sig: :read:
موفق باشی ولی ما رو حسابی ازیت کردی
کد برنامه کانتر دو زمانه به زبان بیسیک:
[left]$regfile = "m8def.dat"
$crystal = 8000000
Config Timer1 = Timer , Prescale = 256 'Ft=8000000/265=31250; meghdare avaliyeh=2^16-Ft=34286
Enable Interrupts
Enable Ovf1
On Ovf1 Timer1_ovr
Timer1 = 34286
Config Portb = Output
Config Portc = Output
Config Portd.6 = Output
Config Portd.7 = Output
Ddrd.0 = 0
Ddrd.1 = 0
Ddrd.2 = 0
Ddrd.3 = 0
Portd.0 = 1
Portd.1 = 1
Portd.2 = 1
Portd.3 = 1
Dim S As Byte , M As Byte , H As Byte , Uf As Byte
Dim Hz As Byte , Mz As Byte , Sz As Byte , Fa As Byte , Mzz As Byte , Szz As Byte
M = 00 : S = 59 : H = 00 : Mzz = 1 : Szz = 10 : Mz = 1 : Sz = 10
Dim Time1 As Eram Byte
Dim Mtime As Byte
Dim Htime As Byte
Dim S1 As Byte
Dim Menue As Byte
Dim Lshow As Bit
Dim Hshow As Bit
Dim Lshow_cunter As Byte
Menue = 0
Dim A As Byte , B As Byte , C As Byte , D As Byte , F As Byte
Portd.6 = 0
Portd.7 = 0
D = 1
Lshow = 0
Hshow = 1
Main:
Do
If Pind.1 = 0 Then
do
If Pind.1 = 1 Then Exit Do
Loop
Lshow_cunter = 0
Lshow = 1
Hshow = 0
If Menue = 1 Then
Incr Sz
End If
If Menue = 0 Then
Incr Mz
End If
If Menue = 2 Then
Incr Hz
End If
End If
If Pind.2 = 0 Then
Do
If Pind.2 = 1 Then Exit Do
Loop
Lshow_cunter = 0
Lshow = 1
Hshow = 0
If Menue = 1 Then
Decr Sz
End If
If Menue = 0 Then
Decr Mz
End If
If Menue = 2 Then
Decr Hz
End If
End If
If Pind.0 = 0 Then
do
If Pind.0 = 1 Then Exit Do
Loop
Lshow_cunter = 0
Lshow = 1
Hshow = 0
Incr Menue
If Menue = 3 Then Menue = 0
End If
If Uf = 1 Then
If M = Mz Then
If S = Sz Then
Portd.6 = 0
End If
End If
End If
If Uf = 2 Then
If M = Mzz Then
If S = Szz Then
Portd.6 = 0
If Uf = 2 Then Uf = 0
End If
End If
End If
If Lshow = 1 Then
A = Sz
Gosub Second
A = Mz
Gosub Minute
A = Hz
Gosub Hour
Incr Lshow_cunter
If Lshow_cunter = 200 Then
Lshow = 0
Hshow = 1
Lshow_cunter = 0
End If
End If
If Hshow = 1 Then
A = S
Gosub Second
A = M
Gosub Minute
A = H
Gosub Hour
End If
Loop
End
'@@@@@@@@@@@@@@@@@@@@@@@
Timer1_ovr:
If Pind.7 = 1 Then
Portd.7 = 0
Else
Portd.7 = 1
End If
Timer1 = 34286
Incr S
If S = 60 Then
S = 0
Incr M
If M = 1 Then
Portd.6 = 1
Incr Uf
End If
If M = 60 Then
M = 0
Incr H
If H = 24 Then H = 0
End If
End If
Return
'@@@@@@@@@@@@@@@@@@@@@@@
Second:
Gosub Sx
Reset Portc.0
Portb = Lookup(c , Dta)
Waitms D
Set Portc.0
Portb = Lookup(b , Dta)
Reset Portc.1
Waitms D
Set Portc.1
Return
Minute:
Gosub Sx
Reset Portc.2
Portb = Lookup(c , Dta)
Waitms D
Set Portc.2
Reset Portc.3
Portb = Lookup(b , Dta)
Waitms D
Set Portc.3
Return
Hour:
Gosub Sx
Reset Portc.4
Portb = Lookup(c , Dta)
Waitms D
Set Portc.4
Reset Portc.5
Portb = Lookup(b , Dta)
Waitms D
Set Portc.5
Return
Sx:
B = A / 10
C = B * 10
C = A - C
Return
Dta:
Data &B1111110 , &B110000 , &B1101101 , &B1111001 , &B110011
Data &B1011011 , &B1011111 , &B1110000 , &B1111111 , &B1111011[/left]
آخرين ويرايش: 11 سال 3 ماه قبل توسط atmega128.
این کاربران از شما تشکر نموده اند: sky_man847
لطفاً ورود یا ايجاد حساب كاربری برای پیوستن به بحث.
- sky_man847
- نویسنده موضوع
- آفلاین
- COM_KUNENA_SAMPLEDATA_RANK_ADMIN
بستن
اطلاعات بیشتر
- ارسال ها: 19
- تشکرهای دریافت شده: 0
11 سال 3 ماه قبل #106
توسط sky_man847
هوراااااااااااااااااااااا دمت گرمممممممم :sig: :sig: :sig: :sig: :sig: :sig: :glya: :glya: :glya: :glya: :thank: :thank: :thank: :thank:
مهندس شرمنده تو رو خدا .خیلی بدی کردم بهتون اذیت شدین میرم که امتحانش کنم
مهندس من یکم پر رو هستم یه سوالی داشتم این مدر ب قطع برق رستارت میشه؟؟خواستم بهتون اول بگم تو حافظه ایپرام سیو شه ولی گفتم اینو بگم دگه منو میزنید سخته ؟؟؟؟
مهندس شرمنده تو رو خدا .خیلی بدی کردم بهتون اذیت شدین میرم که امتحانش کنم
مهندس من یکم پر رو هستم یه سوالی داشتم این مدر ب قطع برق رستارت میشه؟؟خواستم بهتون اول بگم تو حافظه ایپرام سیو شه ولی گفتم اینو بگم دگه منو میزنید سخته ؟؟؟؟
لطفاً ورود یا ايجاد حساب كاربری برای پیوستن به بحث.
بستن
اطلاعات بیشتر
- ارسال ها: 111
- امتياز: 26
- تشکرهای دریافت شده: 43
11 سال 3 ماه قبل #107
توسط atmega128
یه متغییر ایپرم گذاشتم تو برنامه ولی ازش استفاده نکردم چون گفتم خودت انجام بدی کاری نداره فقط باید هر باز که mz یا هر کدوم از اون سه متغیر زمان عوض میشه در ایپرم ذخیره بشه همین
این کاربران از شما تشکر نموده اند: sky_man847
لطفاً ورود یا ايجاد حساب كاربری برای پیوستن به بحث.
- sky_man847
- نویسنده موضوع
- آفلاین
- COM_KUNENA_SAMPLEDATA_RANK_ADMIN
بستن
اطلاعات بیشتر
- ارسال ها: 19
- تشکرهای دریافت شده: 0
11 سال 3 ماه قبل #108
توسط sky_man847
واقعا ممنون مهندس :thank: :thank: عملی هم تست کردم خوب جواب داد فقط دو تا مشکل میدونم عصبانی از دستم ولی چیکا کنم دگه
مهنندس وقتی کلید رو میرنم مثلا دقیق رو زیاد کنه وقتی زیاد میکنه رقم دومش معلوم نیس مثلا ادم نمیدونه 02 هست یا 22 اگه میشه سده حل کرد ممنون میشم ولی گه نمیشه بیخیال
یه خواهش دگه میتونین یکاری کنین با قطع برق از اول شروع نشه :hapy: :hapy: :hapy: :hapy: :hapy: :hapy: :hapy: :hapy:
مهنندس وقتی کلید رو میرنم مثلا دقیق رو زیاد کنه وقتی زیاد میکنه رقم دومش معلوم نیس مثلا ادم نمیدونه 02 هست یا 22 اگه میشه سده حل کرد ممنون میشم ولی گه نمیشه بیخیال
یه خواهش دگه میتونین یکاری کنین با قطع برق از اول شروع نشه :hapy: :hapy: :hapy: :hapy: :hapy: :hapy: :hapy: :hapy:
لطفاً ورود یا ايجاد حساب كاربری برای پیوستن به بحث.
- sky_man847
- نویسنده موضوع
- آفلاین
- COM_KUNENA_SAMPLEDATA_RANK_ADMIN
بستن
اطلاعات بیشتر
- ارسال ها: 19
- تشکرهای دریافت شده: 0
11 سال 3 ماه قبل - 11 سال 3 ماه قبل #109
توسط sky_man847
متوجه نشدم مهندس مشکلم اینه که خواستم زبان یادگیریمو عوض کنم از سی به بسکام ببرم هردو رو نصفه یاد گرفتم
آخرين ويرايش: 11 سال 3 ماه قبل توسط sky_man847.
لطفاً ورود یا ايجاد حساب كاربری برای پیوستن به بحث.
بستن
اطلاعات بیشتر
- ارسال ها: 111
- امتياز: 26
- تشکرهای دریافت شده: 43
11 سال 3 ماه قبل #110
توسط atmega128
من تا 27 ام نمیتونم دیگه کاری بکنم شرمنده ام کار دارم بقیشو خودت پیش ببر
لطفاً ورود یا ايجاد حساب كاربری برای پیوستن به بحث.