با عرض سلام خدمت دوستان و اساتید
من مدتیه که شروع کردم با avr کار کنم
به یک مشکل برخوردم که واقعا توش گیر کردم
الان میخوام یک کار ساده انجام بدم
میخوام یک LED با فاصله زمانی یک ثانیه چشمک بزنه
این کار رو برای یادگیری تایمر انجام میدم
همه چیز هم ظاهرا درسته ولی بجای یک ثانیه چیزی حدود هشت ثانیه طول میکشه
میکرو atmega16 رو استفاده میکنم ؛ با رگولاتور 7805 تغذیش کردم
(روی برد ربات تعقیب خط بستمش)
میکرو روشن میشه و مثلا با دستور waitms همون کار و انجام میده اما با تایمر نمیتونم
ضمنا برای تغذیش هم شارژر با خروجی 8 ولت و هم منبع تغذیه خروجی متغیر و جریان 1 آمپر رو تست کردم
کد برنامه رو هم میذارم
لطفا راهنمایی کنید
من مدتیه که شروع کردم با avr کار کنم
به یک مشکل برخوردم که واقعا توش گیر کردم
الان میخوام یک کار ساده انجام بدم
میخوام یک LED با فاصله زمانی یک ثانیه چشمک بزنه
این کار رو برای یادگیری تایمر انجام میدم
همه چیز هم ظاهرا درسته ولی بجای یک ثانیه چیزی حدود هشت ثانیه طول میکشه
میکرو atmega16 رو استفاده میکنم ؛ با رگولاتور 7805 تغذیش کردم
(روی برد ربات تعقیب خط بستمش)
میکرو روشن میشه و مثلا با دستور waitms همون کار و انجام میده اما با تایمر نمیتونم
ضمنا برای تغذیش هم شارژر با خروجی 8 ولت و هم منبع تغذیه خروجی متغیر و جریان 1 آمپر رو تست کردم
کد برنامه رو هم میذارم
کد:
$regfile = "m16def.dat" $crystal = 8000000 Config Portd = Output Set Portd.7 Dim Cnt As Word Config Timer0 = Timer , Prescale = 8 Enable Interrupts Enable Timer0 On Timer0 Main Timer0 = 56 Start Timer0 Do Loop End Main: Stop Timer0 Incr Cnt If Cnt = 5000 Then Toggle Portd.7 Cnt = 0 End If Timer0 = 56 Start Timer0 Return
دیدگاه