(Bascom AVR) راه اندازی تایمر های میکروکنترلر یا (WATCHDOG) در محیط بسکام (مهندسی برق _ الکترونیک)
پژوهشگر و نویسنده: ( افشین رشید )
نکته: WATCHDOG یکی از تایمر های میکرو است که میتواند تا یک زمان خاص بشمارد و میکرو را ریست کند ، این تایمرمیلی 4096, 8192 میکروها از بعضی در و 2048 و 1024 ، 512 ، 256 ، 128 ، 64 ، 32،16 زمان 8 تا میتواند ثانیه بشمارد .
تایمر نگهبان توسط یک نوسان ساز جداگانه که روی تراشه یکپارچه شده است ، تنظیم می شود. فرکانس معمولاً 1 مگاهرتز با ولتاژ تأمین 5V است. با مقادیر VCC کوچکتر ، این فرکانس نیز پایین تر است (به پیوست ، مقادیر معمولی مراجعه کنید). با تنظیم نگهدارنده نگهبان ، می توانید فاصله بازنشانی نگهبان را با مقادیر مختلف تنظیم کنید
بعد از سپری شدن زمان میکرو ریست میشود و برنامه دوباره از ابتدا اجرا میشود ، راه اندازیWATCHDOG به فرم زیر است :
CONFIG WATCHDOG = time
Time : یکی از زمان های گفته شده در بالا میباشد ( 16،32 ، 64 ، 128 ، 256 ، 512 ، 1024 و 2048 و در بعضی از میکروها 8192, 4096 میلی ثانیه) با دستور Watchdog Start تایمر شروع به شمارش میکند و پس از سپری شدن زمان میکرو ریست میشود. مانند:
$regfile = "m16def.dat"
$crystal = 8000000
Config Porta.0 = Input
Config Porta.1 = Output
Config Watchdog = 1024
Do
If Pina.0 = 0 Then
Set Porta.1
Else
Start Watchdog
End If
Loop
End
Start Watchdog: این دستور تایمر ساعت میکروکنترلر AVR را بازنشانی می کند. زمان قفل نگه داشتن نگهبان و یا مجدداً تنظیم مجدد ساعت ، تایمر ساعت بازنشانی می شود. هشت چرخه مختلف ساعت را می توان از طریق prescaler انتخاب کرد تا دوره تنظیم مجدد را تعیین کند. اگر دوره تنظیم مجدد بدون تنظیم مجدد ساعت نگه داشته شود.