Transcript Slide 1

‫میکرو کنترلرهای ‪AVR‬‬
‫‪ : PROM‬فقط خواندنی‪ ،‬یکبار قابل برنامه ریزی‬
‫ماندگار(دائمی)‬
‫‪ :EPROM‬فقط خواندنی‪ ،‬توسط مدارواسط با ولتاژالکتریکی نوشته و با‬
‫نور ماورای بنفش مثل نورخورشید پاک می شود‪.‬‬
‫‪ :EEPROM‬فقط خواندنی که توسط مدار واسط با ولتاژ الکتریکی هم‬
‫نوشته وهم خوانده می شود و به دو نوع موازی و سریال تقسیم می شود‬
‫حافظه ها‬
‫فرار(غیردائمی)‬
‫‪ :SRAM‬از نوع استاتیک یا پایدار است(نیاز به تازه سازی ندارد) و تا‬
‫وقتی که تغذیه که آنها قطع نشود می تواند اطالعات داده شده را حفظ‬
‫نماید‬
‫‪ :DRAM‬از نوع دینامیک یا غیرپایدار است(با یک فاصله زمانی مشخص‬
‫باید این نوع حافظه را بازسازی نمود)‪.‬‬
‫بافر( تقویت کننده جریان)‪ :‬ما را در راه اندازی جریان بیشتر از ‪20‬میلی آمپر کمک میکند‪.‬‬
‫پايه ي ‪ 19‬پايه ي ‪Enable‬يا فعال ساز نام دارد‪ ،‬اگر اين پايه به زمين (‪ 0‬منبع تغذيه) وصل شود‪ ،‬بافرها فعال مي‬
‫ا‬
‫شوند و اگر به ‪5‬ولت متصل شود‪ ،‬بافرها خاموش مي شوند‪(.‬در شکل باال‪ ،‬مثل ‪ A0‬و ‪B0‬يک بافر هستند)‬
‫ا‬
‫پايه ي ‪ 1‬نيز که پايه ي جهت يا ‪ Direction‬نام دارد‪ ،‬جهت بافرها را نشان مي دهد‪ .‬مثل اگر ‪DIR‬به زمين‬
‫متصل شود‪ ،‬جهت بافر از ‪B‬به ‪( A‬يعني ‪B‬ورودي و ‪A‬خروجي است)و اگر به ‪ 5‬ولت متصل شود‪ ،‬جهت بافر ‪A‬به‬
‫‪B‬مي شود(يعني ‪A‬ورودي و ‪B‬خروجي است)‪.‬‬
‫وقفه‪:‬‬
‫منظور تاخیر زمانی نیست بلکه منظور قطع کردن برنامه جاری و سرویس دادن به تابع‬
‫وقفه است‪ .‬مبدل آنالوگ به دیجیتال‪ ، ADC‬مقایسه کننده آنالوگ‪ ،‬ارتباط سریال و ‪...‬‬
‫دارای وقفه مخصوص به خود هستند‪.‬‬
‫سیکل ماشین‪:‬‬
‫مدت زمان اجرای انجام هر دستور را سیکل ماشین(پالس ساعت) می کویند‪.‬‬
‫(فرکانس اسیالتور‪=)1/‬سیکل ماشین‬
‫‪AT90S‬‬
‫‪ATmega‬‬
‫امکانات بیشتر‬
‫انواع میکرو کنترلرها ‪AVR‬‬
‫‪ATtiny‬‬
‫معماری میکروکنترلرهای ‪: AVR‬‬
‫‪ -1‬معماری ‪:(Complex Instruction Set Computer) CISC‬‬
‫تعداد دستورات بیشتر و پیچیده تر‪ ،‬سرعت اجرای دستورات پایین‪ ،‬برنامه نویس ی آن به خصوص‬
‫اسمبلی ساده تر شده است‪ .‬اکثر میکرپروسسورها به دلیل قابل اجرا بودن برنامه های ‪ MSDOS‬در‬
‫این معماری بر اساس معماری ‪ CISC‬ساخته می شوند‪.‬‬
‫‪ -2‬معماری ‪: (Reduced Instruction Set Computer) RISC‬‬
‫تعداد دستورات کاهش پیدا کرده‪ ،‬سرعت اجرایی دستورات ‪10‬برابر نسبت به معماری قبل‬
‫افزایش پیدا کرده‪ ،‬برنامه نویس ی به زبان اسمبلی قدری پیچیده‪ ،‬با استفاده از این معماری و‬
‫حافظه های ظرفیت بال امکان برنامه نویس ی به زبانهای سطح بالتر مانند ‪ C‬و بیسیک فراهم‬
‫گردید‪ ،‬اکثر دستورات در یک کالک سیکل اجرا می شوند‪ ،‬تعداد رجیسترها بیشتر‪ ،‬مصرف توان‬
‫کمتر‬
‫فیوز بیت ها‬
‫هر سیستم برای شروع به کار خود نیاز به تنظیمات اولیه دارد‪ .‬در تراشه های ‪ AVR‬برای تنظیمات‬
‫اولیه بخش ی به نام فیوز بیت در برنامه ‪ Code Vision‬وجود دارد‪ .‬در واقع با تنظیمات فیوز بیت‬
‫ها می توانیم از امکانات خاص ی از ‪ AVR‬استفاده نماییم‪ .‬فضای اختصاص داده شده به فیوز بیتها‬
‫از نوع حافظه ماندگار است و با پاک کردن میکرو از بین نمی رود و تغییر آنها فقط از طریق پروگرامر‬
‫امکان پذیر است و نیاز به برنامه نویس ی ندارد‪ .‬فیوز بیت ها با صفر برنامه ریزی و با ‪ 1‬غیر فعال می‬
‫شوند‪.‬‬
‫میکرو کنترلر ‪ ATmega16‬دارای ‪2‬بایت فیوز بیت می باشد‪.‬‬
‫فیوز بیت های ‪: ATmega16‬‬
‫فیوز بیت ‪ : JTAGEN‬با فعال بودن این فیوز بیت می توان میکرو کنترلر را از طریق ارتباط دهی استاندارد ‪JTAG‬‬
‫برنامه ریزی کرد‪( .‬این فیوز بیت به طور پیش فرض فعال است)‪.‬‬
‫نکته‪ :‬چون ارتباط دهی ‪ JTAG‬در میکروکنترلر ‪ ATmega16‬برروی ‪ PC2‬تا ‪ PC5‬قرار دارد در زمانی که ما از این‬
‫ارتباط دهی استفاده نمی کنیم آنرا باید غیر فعال نمود در غیر اینصورت نمی توان از پایه های ‪ PC2‬تا ‪ PC5‬استفاده‬
‫نمود‪.‬‬
‫فیوز بیت ‪ : (On Chip Debug Enable) OCDEN‬در صورت فعال بودن فیوزبیت ‪ JTAGEN‬و قفل نبودن‬
‫برنامه میکرو می توان با فعال کردن این فیوز بیت به طور آنالین برنامه میکرو را توسط مدار واسط که از ارتباط‬
‫سریال ‪ JTAG‬استفاده می کند و توسط نرم افزار ‪ AVR Studio‬مشاهده کنیم‪ .‬فعال بودن این فیوزبیت مصرف‬
‫توان را بال می برد‪(.‬به طور پیش فرض غیر فعال است)‬
‫فیوز بیت ‪ : SPIEN‬ارتباط به صورت پروتکل سریال ‪ SPI‬را فراهم می سازد و به صورت پیش فرض فعال است‪.‬‬
‫فیوز بیت ‪ : CKOPT‬با فعال کردن این فیوز بیت می توان از حداکثر دامنه نوسان اسیالتور خارجی استفاده کرد‪ .‬اگر‬
‫این فیوز بیت فعال باشد دامنه نوسانات برابر تغذیه میکرو می شود‪ .‬این حالت در مکان هایی که نویز زیادی دارند‬
‫موثر است اما از طرفی باعث افزایش توان مصرفی می شود‪.‬‬
‫فیوز بیت ‪ :EESAVE‬در هنگام پاک کردن میکرو‪ EEPROM ،‬نیز پاک می شود اگر بخواهیم از محتوای این حافظه‬
‫محافظت نماییم باید این فیوز بیت را فعال کنیم‪( .‬به طور پیش فرض غیر فعال است)‬
‫فیوزبیت ‪ BOOTSZ0‬و ‪ :BOOTSZ1‬این دو فیوز میزان حافظه اختصاص داده شده ‪ BOOT‬را تعیین می کند‪ (.‬به‬
‫طور پیش فرض هر دو فعال است)‬
‫فیوز بیت ‪ :BOOTRST‬زمانی که میکرو ‪ RESET‬می شود اگر این فیوزبیت فعال باشد ‪ CPU‬به آدرس ی پرش می کند‬
‫که در فیوز بیت های ‪ BOOTSZ0‬و ‪ BOOTSZ1‬تعیین شده است و در صورت غیرفعال بوددن به آدرس ‪0X0000‬‬
‫پرش میکند‪ (.‬به طور پیش فرض غیرفعال است)‬
‫فیوزبیت ‪ BODEN‬و ‪ :BODLEVEL‬با فعال بودن فیوز بیت ‪ BODEN‬اگر ‪ BODLEVEL‬غیرفعال باشد در‬
‫صورتی که ‪ VCC‬از ‪2/7‬ولت کمتر شود میکرو ریست می شود و در صورتی که ‪ BODLEVEL‬فعال باشد در صورتی که‬
‫‪ VCC‬از ‪ 4‬ولت کمتر شود میکرو ریست می شود‪( .‬به طور پیش فرض هر دو فیوزبیت غیر فعال است)‬
‫فیوزبیت های ‪ SUT0‬و ‪ : SUT1‬این دو فیوز بیت زمان شروع )‪ (Start-up‬را در موقع وصل تغذیه تعیین می کند‪( .‬به‬
‫طور پیش فرض هردو غیرفعال است)‬
‫فیوزبیت های ‪ :CKSEL0..3‬توسط این فیوزبیت ها توع اسیالتور و مقدار فرکانس کتر میکرو تعیین می شود‪.‬‬
‫پورت های ورودی و خروجی‪:‬‬
‫پورتهای ورودی و خروجی عالوه بر خروجی و ورودی بودن‬
‫کاربردهای دیگری هم می توانند داشته باشند به طور مثال‬
‫پورت ‪ PB2‬عالوه بر ورودی و خروجی می تواند به عنوان‬
‫ورودی وقفه خارجی و همچنین مقایسه کننده آنالوگ مورد‬
‫استفاده قرار بگیرد‪ .‬پورت ‪ PC4‬نیز عالوه بر استفاده نمودن به‬
‫عنوان ورودی و خروجی می توان در ارتباط دهی ‪ JTAG‬نیز از‬
‫آن استفاده نمود‪.‬‬
‫به طور کلی تمامی پورت های میکرو کنترلرهای ‪ AVR‬دارای ‪3‬رجیستر تنظیم کننده به فرم زیر هستند‪:‬‬
‫‪ : DDRx.n(Data Direction Register) -1‬این رجیستر برای تنظیم هر پایه از یک پورت به عنوان ورودی و‬
‫خروجی در نظر گرفته می شود‪ .‬اگر بیتی از این رجیستر یک شود آن پایه به عنوان خروجی و اگر صفر شود آن پایه به‬
‫عنوان ورودی عمل می کند‪.‬‬
‫;‪DDRA=0xFF‬‬
‫;‪DDRA=0x00‬‬
‫;‪DDRc.0=1‬‬
‫‪ : PORTx.n -2‬این رجیستر برای ارسال دیتا به خروجی مورد استفاده قرار می گیرد‪.‬‬
‫نکته‪ :‬برای ارسال دیتا به خروجی ابتدا باید ‪DDRx.n‬پورت مورد نظر به عنوان خروجی تنظیم شود‪.‬‬
‫;‪DDRB=0xFF‬‬
‫;‪PORTB=46‬‬
‫‪ : PINx.n -3‬این رجیستر برای دریافت دیتا از ورودی مورد استفاده قرار می گیرد‪.‬‬
‫نکته‪ :‬برای ارسال دیتا به خروجی ابتدا باید ‪DDRx.n‬پورت مورد نظر به عنوان ورودی تنظیم شود‪.‬‬
‫;‪DDRC=0x00‬‬
‫;‪Data=PINC‬‬
‫;‪PORTC.5=1‬‬
‫;‪DDRC.5=0‬‬
‫{ )‪If (PINC.5==0‬‬
‫;دستور العمل ها‬
‫}‬
‫;‪DDRC.5=0‬‬
‫{ )‪If (PINC.5==1‬‬
‫;دستور العمل ها‬
‫}‬
‫تغذیه میکرو کنترلر‪:‬‬
‫میکرو کنترلر ‪ AVR‬می توانند با ولتاژ ‪ 2/7‬تا ‪ 5/5‬برای نوع ‪ L‬و ولتاژ ‪ 4‬تا ‪ 5/5‬برای نوع بدون ‪ L‬کار کنند اما بطور‬
‫استاندارد تغذیه میکرو کنترلر را ‪5‬ولت انتخاب می کنند‪.‬‬
‫بدلیل آنکه ولتاژ بیشتر از ‪5‬ولت باعث سوختن میکرو می شود از یک رگولتور ‪5‬ولتی ‪ 7805‬استفاده می کنند‪.‬‬
‫بلوک دیاگرام میکرو کنترلر‪:‬‬
‫‪ : CPU‬ک ااار اص االی ‪ CPU‬دسترسا ا ی ب ااه حافظ ااه ه ااا‪ ،‬محاس اابات‬
‫ریاضا ی و منطقاای‪ ،‬کنتاارل وسااایل جااانیی و بررسا ی وقفااه هاای هاار‬
‫یک از قسمت ها می باشد‪.‬‬
‫ش ا ا اامارنده برناما ا ا ااه‪ ،‬اش ا ا اااره گ ا ا اار ش ا ا ااته‪ ،‬رجیس ا ا ااتر دسا ا ا ااتورات‪،‬‬
‫آشکارسازدستورات‪،‬رجیس ا ا ا ااترهای‪Y،X‬و‪،Z‬رجیس ا ا ا ااترهای هم ا ا ا ااه‬
‫منظوره‪ ،‬واحد محاسبه و منطاق)‪ (ALU‬و رجیساتر وعاعیت از‬
‫اجزای تشکیل دهنده ‪ CPU‬میکرو کنترلر ‪ AVR‬هستند‪.‬‬
‫شاامارنده برنامااه )‪ : PC(Program Counter‬میکاارو کنترلاار بااه منظااور خواناادن دسااتورات از اولااین آدرس حافظااه‬
‫برنامه نیاز به یک شمارنده برنامه دارد‪ .‬افزایش ‪ PC‬آدرس خط بعدی را برای اجرای دستورات فراهم می کند‪.‬‬
‫اشااره گار شااته )‪ : SP(Stack Pointer‬اشااره گار شااته از دو رجیساتر ‪8‬بیتای اسااتفاده مای کناد و باارای وخیاره موقاات‬
‫اطالعات در دستورهای ‪PUSH،CALL‬و‪ POP‬و متغیرهای محلی‪ ،‬روتین های وقفه و توابع استفاده می شود‪.‬‬
‫رجیسااتر دسااتورات )‪ : (Instruction Register‬تمااامی کاادهای ماشااین مربااوط بااه دسااتورات اساامبلی را شااامل ماای‬
‫شود‪.‬‬
‫آشکارسااز دساتورات )‪ : (Instruction Decoder‬دساتور کاد خواناده شاده از رجیساتر دساتورات آشاکار مای شاود باه‬
‫عبارت دیگر یعنی معنی و مفهوم کد دستور خوانده شده را بیان می کند‪.‬‬
‫رجیسااترهای همااه منظااوره )‪ : (General Purpose Registers‬میکاارو کنترلرهااای ‪ AVR‬دراری ‪ 32‬رجیسااتر همااه‬
‫منظااوره هسااتند کااه قساامتی از حافظااه ‪ SRAM‬داخلاای میکاارو ماای باشااد کااه اکثاار دسااتورات اساامبلی ‪ AVR‬بااه ایاان رجیسااترها‬
‫دسترس ی دارند‪.‬‬
‫رجیساترهای ‪Y،X‬و ‪ : Z‬از ترکیا رجیساترهای ‪ R26‬تاا ‪ R31‬بوجاود مای آیناد‪ .‬اشااره گاری ‪16‬بیتای جهات آدرس دهای غیار‬
‫مستقیم فضای داده استفاده می شود‪.‬‬
‫واحد محاسبه و منطق )‪ : (ALU‬به صورت مساتقیم باا ‪32‬رجیساتر هماه منظاوره ارتبااط دارد‪ .‬عملکارد ‪ ALU‬را مای‬
‫توان به سه قسمت اصلی ریاض ی‪ ،‬منطقی و توابع بیتی تقسیم بندی کرد‪.‬‬
‫رجیساتر وعاعیت )‪ : SREG(status Register‬پارچم هاایی هساتند کاه ‪ CPU‬را از نتاای دساتورات و وعاعیت‬
‫برنامه آگاه می کنند‪.‬‬
‫انواع حافظه در میکرو کنترلرهای ‪: AVR‬‬
‫‪‬حافظاه ‪ :Flash‬برناماه ای کاه توساط کااربر نوشاته مای شاود بار روی ایان حافظاه ‪ Load‬مای شاود و ‪ CPU‬دسااتور‬
‫العمال هااا را از ایاان حافظاه برداشاات ماای کنااد‪ .‬حافظاه ثاباات ‪ Flash‬میکاارو کنترلرهاای از نساال جدیااد دارای دو قساامت‬
‫‪ Application‬و ‪ Boot Loader‬هسااتند‪ .‬در قساامت‪ Application‬کاادهای برنامااه قاارار ماای گیاارد امااا ناحیااه‬
‫‪ Boot‬این امکان را فراهم می کند که میکروکنترلر بدون استفاده از پروگرامر در این حافظه بنویسد‪.‬‬
‫;}‪Flash char row[ ]={0xfe,0xfd,oxfb,0xf7‬‬
‫‪‬حافظااه ‪ : EEPROM‬ایاان حافظااه جاازو حافظااه هااای ماناادگار ماای باشااد کااه میکاارو ماای توانااد در ایاان حافظااه هاام‬
‫بنویسد و هم از این حافظه بخواند‪ .‬این حافظه در صورت قطع تغذیه از بین نمی رود‪.‬‬
‫;‪Eeprom unsigned int X=0xff‬‬
‫‪‬حافظ ااه ‪ : SRAM‬رجیس ااترهای هم ااه منظ ااوره‪ ،‬رجیس ااترهای ورودی و خروج اای و متغیره ااای محل اای ک ااه میک اارو با ارای‬
‫اجرای دستورات از آن استفاده می کند جزو این حافظه می باشند‪.‬‬
‫;‪Unsigned char M=0x12‬‬
‫کالک سیستم در میکروکنترلرهاای ‪ : AVR‬سیساتم پاالس سااعت در میکرکنترلرهاای ‪ AVR‬باه طاور کلای باا اساتفاده‬
‫از نوسان سازهای داخلی و خارجی ایجاد می شود‪ .‬ایان کاالک جهات اساتفاده در مبادل آناالوگ باه دیجیتاال‪ ،‬حافظاه‬
‫‪ Flash‬و ‪ eeprom‬و بارای مااژول هاای ورودی و خروجای نظیار ‪ ،SPI ،USART‬شامارنده و وقفاه هاا بکاار باارده‬
‫می شود‪.‬‬
‫تعیین منبع کالک سیستم‪:‬‬
‫نوسان ساز با کریستال خارجی‪:‬‬
‫نوسان ساز با ‪ RC‬خارجی‪:‬‬
‫‪1‬‬
‫‪f‬‬
‫‪3RC‬‬
‫مقدار خازن حداقل ‪ 22PF‬و مقدار مقاومت بین ‪ 3K‬تا ‪ 100K‬اهم انتخاب می شود‪.‬‬
‫نوسان ساز با اسیالتور ‪ RC‬کالیبره شده داخلی‪:‬‬
‫توسط این نوسان ساز می توان فرکاانس هاای ثابات ‪ 4MHZ،2MHZ،1MHZ‬و ‪ 8MHZ‬را در شارایط تغذیاه ‪5‬ولات و‬
‫در دمااای ‪25‬درجااه سااانتیگراد ایجاااد نمااود‪ .‬فرکااانس کاااری ایاان نوسااان ساااز بااه شاادت بااه دمااا و ولتاااژ تغذیااه وابسااته اساات‬
‫که می توان با استفاده از رجیستر کالیبراسیون این فرکانس را کالیبره و تنظیم نمود‪.‬‬
‫نوسان ساز با کالک خارجی‪:‬‬
‫نوسان ساز مجزا تایمر یا کانتر دو‪:‬‬
‫در صااورتی کااه از تااایمر یااا کااانتر دو اسااتفاده ماای کناایم بایااد از کریسااتال ‪ 32.768KHZ‬اسااتفاده کناایم کااه یااک پایااه از‬
‫ایاان کریسااتال بایااد بااه پایااه )‪ PC6(TOSC1‬و پایااه دیگاار بااه )‪ PC7(TOSC2‬وصاال شااود‪ .‬ماای تااوان از ایاان فرکااانس‬
‫ایجاد شده برای فرکانس کاری میکرو نیز استفاده نمود‪ .‬در این حالت نیاز به قرار دادن خازن ها نمی باشد‪.‬‬
‫مدهای مختلف ‪:Sleep‬‬
‫میک اارو کنترل اار ‪ AVR‬دارای ش ااش م ااد ‪ Sleep‬م اای باش ااد ک ااه ه اار ک اادام عملک ااردی متف اااوت دارد‪ .‬ه اادف از ای اان م اادها‬
‫کاهش توان مصرفی می باشد‪ .‬در این حالت کالک قسامتی از اجازای درونای متوقاف مای شاود و باا ری دادن یاک وقفاه‬
‫‪ CPU‬و دیگاار قساامت هااای میکاارو از خااواب بیاادار ماای شااوند‪ .‬ایاان ماادها بااا اسااتفاده از رجیسااتر ‪ MCUCR‬تعیااین ماای‬
‫شود‪.‬‬
‫‪‬م ااد ‪ :Idle‬در ای اان م ااد ‪ CPU‬متوق ااف ام ااا ارتب اااط ده اای س ااریال‪ TWI ،SPI‬و ‪ ،USART‬مقایس ااه کنن ااده آن ااالوگ‪ ،‬مب اادل‬
‫‪ ،ADC‬تایمر یا کانترها‪ Watchdog ،‬و وقفه ها می اوانند بکار خود ادامه بدهند‪.‬‬
‫‪‬مااد ‪ CPU :ADC Noise Reduction‬متوقااف امااا ارتباااط دهاای سااریال ‪ ،TWI‬مباادل ‪ ،ADC‬تااایمر یااا کااانتر‪،2‬‬
‫‪Watchdog‬و وقفه های خارجی می توانند به کار خود ادامه بدهند‪.‬‬
‫‪‬مد ‪ :Power-down‬نوسان ساز خارجی متوقف اما وقفه های خاارجی‪ ،‬ارتبااط ساریال ‪ TWI‬و تاایمر‪ Watchdog‬مای‬
‫توانند به کار خود ادامه دهند‪.‬‬
‫‪‬ماد ‪ :Power-save‬مانناد ماد ‪Power-down‬باا ایان تفااوت کاه تاایمر یاا کاانتر‪ 2‬مای تواناد باه صاورت غیار همزماان بکاار‬
‫خود ادامه دهد‪.‬‬
‫‪‬مد ‪ :Standby‬مانند مد ‪ Power-down‬با این تفاوت که اسیالتور می تواند به کار خود ادامه دهد‪.‬‬
‫‪‬مااد ‪ :Extended Standby‬ماننااد مااد ‪ Power-save‬بااا ایاان تفاااوت کااه اساایالتور ماای توانااد بااه کااار خااود‬
‫ادامه دهد‪.‬‬
‫منابع ‪ Reset‬میکرو کنترلر‪:‬‬
‫در هنگااام ریساات تمااامی رجیسااترهای ورودی و خروجاای و کنترقاای بااا توجااه بااه مقااادیر پاایش فاارض تنظاایم ماای شااود و ااس از‬
‫گذشت مدت زمان معین(زمان تعیین شده توسط ‪ )Start-up‬برنامه از بردار ‪ Reset‬شروع می شود‪.‬‬
‫‪ :Power-on Reset‬هنگامی که ولتاژ تغذیه از ولتاژ آستانه پایین تر شود‬
‫‪ :External Reset‬اگاار پااالس بااا سااطح صاافر منطقاای بااه ماادت طااولنی تاار از ساایکل پااالس ساااعت میکاارو بااه پای اه‬
‫خارجی ‪ RESET‬اعمال شود‪.‬‬
‫‪ :Brown-out Reset‬در صورت فعال بودن فیوز بیت ‪ BODEN‬اگر مقدار ولتاژ تغذیه از حد ولتاژ ‪ 2/7‬یا ‪4‬ولت‬
‫که توسط فیوز بیت ‪ BODLEVEL‬تعیین میگردد پایین تر بیاید ‪ Reset‬اتفاق می افتد‪.‬‬
‫‪ :Watchdog Reset‬میکرو ممکن است در در حلقه ای از برنامه منتظر دیتایی شده باشد وقی این دیتا به‬
‫هر دلیل دریافت نمی شود و یا اینکه نویز سب شده باشد برنامه میکرو به آدرس ی نامشخص از حافظه پرش‬
‫کرده باشد یا به عبارت دیگر میکرو هنگ کرده باشد با فعال کردن تایمر ‪ Watchdog‬می توان میکرو را در‬
‫مدت زمان های مشخص ‪ Reset‬نمود‪.‬‬