دوستان نمیدونم چرا وقتی تایمر 2 رو فعال میکنم کاری انجام نمیده،می خوام فقط ثانیه بشمره اما ...
مثلاً همین کد ساده هم کار نمیکنه :
کد:
$regfile = "m8def.dat"
$crystal = 1000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Pind.2 , Db5 = Pind.3 , Db6 = Pind.4 , _
Db7 = Pind.5 , Rs = Pind.0 , E = Pind.1
Config Timer2 = Timer , Async = On , Prescale = 128
Enable Interrupts
Enable Ovf2
On Timer2 Saneye
Dim S As Word
Cls : Cursor Off
Do
'Cls
Locate 1 , 1
Lcd "S:" ; S
Loop
End
Saneye:
Incr S
Return
داخل پروتئوس خوبه اما در واقعیت نه.! مشکل چیه؟
سلام
مسلم جان تو برنامه تایمر رو حالت آسنکرون تنظیم شده
نقل قول: Config Timer2 = Timer , Async = On , Prescale = 128
نیاز داره که تو سخت افزار یه کریستال ساعت بین پایه های TOSC1,2 میکرو قرار بدی تا تایمر فرکانس و از کریستال تامین کنه.
خوش باشید.
شمارنده دورقمی با سون گمنت درست کردم
اما یکی از سون سگمنت هام کارنمیکنه انگار فقط یک ال ای دیش روشن میشه وچشمک میزنه

مشکل به نظرتون ازمدارمه؟؟
(۱۹-اردیبهشت-۱۳۹۲, ۱۴:۳۱:۴۵)مهشید.الکترونیک نوشته است: [ -> ]شمارنده دورقمی با سون گمنت درست کردم
اما یکی از سون سگمنت هام کارنمیکنه انگار فقط یک ال ای دیش روشن میشه وچشمک میزنه
مشکل به نظرتون ازمدارمه؟؟
مدار و کدش رو بزارید ببینیم چه کارا کردین .
مدار همونی هست که اقا هادی توی سایت گذاشتن
شمارنده دورقمی با استفاده از سون سگمنت
کد:
$regfile = "m32def.dat"
$crystal = 1000000
Config Portb = Output
Config Portd = Output
Dim A As Byte
Dim C As Byte
Dim D As Byte
Do
Incr A
If A > 99 Then A = 0
C = A / 10
D = C * 10
D = A - D
C = Lookup(c , Mahshid)
D = Lookup(d , Mahshid)
Portd = D
Portb = C
Waitms 600
Loop
End
Mahshid:
Data &B1000000 , &B1111001 , &B0100100 , &B0110000
Data &B0011001 , &B0010010 , &B0000010 , &B1111000
Data &B0000000 , &B0010000
فقط یک شمارندش کار نمیکنه
اون یکی درست میشماره
سلام
این برنامه واسه جفت سون سگمنته
فکر کنم شما از سون سگمنت تکی استفاده کرده بودید
باید از این برنامه استفاده کنید
کد:
$regfile = "m328def.dat"
$crystal = 8000000
Config Portc = Output
Config Portd = Output
Dim s1 As Word , s2 As Word
Do
Incr s1
Waitms 200
Goto D
D:
If s1 > 9 Then
s1 = 0
Incr s2
End If
If s2 > 9 Then
s2 = 0
End If
Portc = Lookup(s1 , seg)
Portd = Lookup(s2 , seg)
Loop
End
seg:
Data &H3F , &H06 , &H5B , &H4F , &H66 , &H6D , &H7D , &H07 , &H7F , &H6F
بله در عمل جواب گرفتم خیلی هم دقیق
نه این مدار فرکانس سنج نیست این مدار طول پالس رو اندازه می گیره (خروجی srf05 پالسه)
srf در انواع مختلف
هادی جان این مد 1 و 2 چیه ؟ من فقط متوجه شدم تواین خط با هم فرق دارن :-)
کد:
Pulsein A , Pind , 6 , 1
کد:
Pulsein A , Pind , 7 , 1