// درخواست کمک برای تایمر دو زمانه - صفحه 4 - برق،رباتیک،کامپیوتر - الکترونیکا

الکترونیکا پروژه های الکترونیک و مکانیک

سایت در حال به روز رسانی به نسخه ی جدید میباشد در صورت بروز مشکل با شماره ی 09213203841 تماس بگیرید

درخواست کمک برای تایمر دو زمانه

اطلاعات بیشتر
10 سال 9 ماه قبل - 10 سال 9 ماه قبل #103 توسط atmega128
با سلام پس از کار زیاد بلاخره مدار شما رو درست کردم :thank:
و فکر میکنم کامل باشه
روش کار به شکل زیر است
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]


فايل پيوست:

نام فايل: FZA_COUNTER.rar
اندازه فايل:47 کیلوبایت
پيوست:
آخرين ويرايش: 10 سال 9 ماه قبل توسط atmega128.
این کاربران از شما تشکر نموده اند: sky_man847

لطفاً ورود یا ايجاد حساب كاربری برای پیوستن به بحث.

اطلاعات بیشتر
10 سال 9 ماه قبل #106 توسط sky_man847
هوراااااااااااااااااااااا دمت گرمممممممم :sig: :sig: :sig: :sig: :sig: :sig: :glya: :glya: :glya: :glya: :thank: :thank: :thank: :thank:
مهندس شرمنده تو رو خدا .خیلی بدی کردم بهتون اذیت شدین میرم که امتحانش کنم
مهندس من یکم پر رو هستم یه سوالی داشتم این مدر ب قطع برق رستارت میشه؟؟خواستم بهتون اول بگم تو حافظه ایپرام سیو شه ولی گفتم اینو بگم دگه منو میزنید سخته ؟؟؟؟

لطفاً ورود یا ايجاد حساب كاربری برای پیوستن به بحث.

اطلاعات بیشتر
10 سال 9 ماه قبل #107 توسط atmega128
یه متغییر ایپرم گذاشتم تو برنامه ولی ازش استفاده نکردم چون گفتم خودت انجام بدی کاری نداره فقط باید هر باز که mz یا هر کدوم از اون سه متغیر زمان عوض میشه در ایپرم ذخیره بشه همین
این کاربران از شما تشکر نموده اند: sky_man847

لطفاً ورود یا ايجاد حساب كاربری برای پیوستن به بحث.

اطلاعات بیشتر
10 سال 9 ماه قبل #108 توسط sky_man847
واقعا ممنون مهندس :thank: :thank: عملی هم تست کردم خوب جواب داد فقط دو تا مشکل میدونم عصبانی از دستم ولی چیکا کنم دگه :(
مهنندس وقتی کلید رو میرنم مثلا دقیق رو زیاد کنه وقتی زیاد میکنه رقم دومش معلوم نیس مثلا ادم نمیدونه 02 هست یا 22 اگه میشه سده حل کرد ممنون میشم ولی گه نمیشه بیخیال
یه خواهش دگه میتونین یکاری کنین با قطع برق از اول شروع نشه :hapy: :hapy: :hapy: :hapy: :hapy: :hapy: :hapy: :hapy:

لطفاً ورود یا ايجاد حساب كاربری برای پیوستن به بحث.

اطلاعات بیشتر
10 سال 9 ماه قبل - 10 سال 9 ماه قبل #109 توسط sky_man847
متوجه نشدم مهندس مشکلم اینه که خواستم زبان یادگیریمو عوض کنم از سی به بسکام ببرم هردو رو نصفه یاد گرفتم :(
آخرين ويرايش: 10 سال 9 ماه قبل توسط sky_man847.

لطفاً ورود یا ايجاد حساب كاربری برای پیوستن به بحث.

اطلاعات بیشتر
10 سال 9 ماه قبل #110 توسط atmega128
من تا 27 ام نمیتونم دیگه کاری بکنم شرمنده ام کار دارم بقیشو خودت پیش ببر

لطفاً ورود یا ايجاد حساب كاربری برای پیوستن به بحث.

قدرت گرفته از كيوننا