سلام وقتتون بخير
خدا نگذره از این اساتیدی که پروژه هاشون تو نت پیدا نمیشه
چجوری میتونم با میکرو تاخیر 1 میلی ثانیه دقیق درست کنم؟
دستور waitms 1 نوشتم ولی تقریبا 2 و خورده ای میلی ثانیه داره میده
میدونم باید از تایمر استفاده کنم ولی حوصله محاسبات ندارم . کلا زیاد بلد نیستم نمیدونم باید چیکار کنم
اینجاهایی که قرمز نوشتم رو میخوام تاخیرهاش دقیق باشه
تامیر 0 و 1 هم پره نمیشه از اینا استفاده کرد
مگا8 بازم تایمر داره ؟
اگه با مگا8 نشد هر چی شد بنویسید ولی ترجیحا همین باشه خریدم دیگه نمونه رو دستم
کلا برنامه اینه :
$regfile = "m8def.dat"
$crystal = 4000000
Config Portb = Output
Config Portc.0 = Output
Config Portc.1 = Output
Config Timer0 = Counter , Edge = Rising , Prescale = 1
Config Timer1 = Counter , Edge = Rising , Prescale = 1
Dim A As Byte
Dim B As Byte
Dim C As Byte
Timer0 = 0
Timer1 = 0
Start:
A = Timer0
B = Timer1
C = A - B
Bitwait Pinc.1 , Set
Reset Portc.0
If C > 7 Then
Timer0 = 7
Timer1 = 0
End If
If B > A Then
Timer0 = 0
Timer1 = 0
End If
If C = 0 Then Portb = &B00000001
If C = 1 Then
Portb = &B00000010
Waitms 8
Set Portc.0
End If
If C = 2 Then
Portb = &B00000100
Waitms 7
Set Portc.0
End If
If C = 3 Then
Portb = &B00001000
Waitms 6
Set Portc.0
End If
If C = 4 Then
Portb = &B00010000
Waitms 5
Set Portc.0
End If
If C = 5 Then
Portb = &B00100000
Waitms 4
Set Portc.0
End If
If C = 6 Then
Portb = &B01000000
Waitms 3
Set Portc.0
End If
If C = 7 Then
Portb = &B10000000
Set Portc.0
End If
Goto Start
End
حالا دیگه هر جور خودتون صلاح میدونید![]()
این برنامه کلا درسته فقط تاخیرهایی که میکرو میده دقیق نیست .
کلا دو تا کلید داریم تو ورودی که از 0 تا 7 تنظیم شدن . هر بار بزنیم یکی کم و زیاد میشه به این اعداد
پین c.1 هم نمونه گیره کلا وقتی c.1 فعال شد میکرو باید یه تاخیر متناسب با ورودی که بین 0 تا 7 هست درست کنه بعد یبار دیگه برمیگرده اول برنامه و منتظر میمونه تا c.1 فعال شه .
کلا برنامه رو میدونم افتضاح نوشتم کلا هر کی هرجور میتونه بنویسه فقط این کارو انجام بده دیگه![]()
اینو تست کردم کار میکنه فقط تازه امروز فهمیدم تاخیرای خود میکرو دقیق نیستن پالس های خروجی اون چیزی نیست که بشه باهاش درسو پاس کرد![]()
کلا اگه یه تاخیر 1 میلی ثانیه بشه درست کرد ؛ فکر کنم همه چی حله![]()