معرفی و تنظیم فیوز بیتهای میکروکنترلر AVR
تاریخ: 15 مهر 1404 | زمان مطالعه: 2 دقیقه
فیوز بیتها تنظیمات داخلی میکروکنترلر هستند که رفتار پایه آن (ساعت، بوت لودر، ISP، Watchdog و ...) را تعیین میکنند. این بیتها در حافظه غیرفرار ذخیره میشوند و حتی پس از خاموش شدن، حفظ میشوند.
نکته مهم: در AVR، 1 = غیرفعال (Unprogrammed) و 0 = فعال (Programmed)
بایت FUSE LOW (تنظیمات ساعت و پایه)
| بیت 7 | بیت 6 | بیت 5 | بیت 4 | بیت 3 | بیت 2 | بیت 1 | بیت 0 |
|---|---|---|---|---|---|---|---|
CKDIV8 | CKOUT | SUT1 | SUT0 | CKSEL3 | CKSEL2 | CKSEL1 | CKSEL0 |
- CKSEL[3:0]: انتخاب منبع ساعت (کریستال، RC داخلی، خارجی و ...)
- SUT[1:0]: زمان تأخیر پس از Reset تا شروع اجرا
- CKOUT: خروجی ساعت روی پین PB0
- CKDIV8: تقسیم ساعت CPU بر 8 (پیشفرض: فعال)
بایت FUSE HIGH (بوت لودر و ISP)
| بیت 7 | بیت 6 | بیت 5 | بیت 4 | بیت 3 | بیت 2 | بیت 1 | بیت 0 |
|---|---|---|---|---|---|---|---|
RSTDISBL | DWEN | SPIEN | WDTON | EESAVE | BOOTSZ1 | BOOTSZ0 | BOOTRST |
- BOOTRST: شروع از بوت لودر (به جای برنامه اصلی)
- BOOTSZ[1:0]: اندازه بخش بوت لودر
- EESAVE: حفظ EEPROM در زمان Chip Erase
- WDTON: فعالسازی دائمی Watchdog
- SPIEN: فعالسازی ISP (حتماً باید 0 باشد!)
- DWEN: فعالسازی DebugWire
- RSTDISBL: تبدیل پین RESET به GPIO
بایت FUSE EXTENDED (BOD)
| بیت 7-3 | بیت 2 | بیت 1 | بیت 0 |
|---|---|---|---|
– (رزرو) | BODLEVEL2 | BODLEVEL1 | BODLEVEL0 |
BODLEVEL[2:0]: سطح تشخیص کاهش ولتاژ (Brown-out Detection). وقتی ولتاژ کمتر از حد مشخص شود، میکرو ریست میشود.
تنظیم فیوز بیت در Atmel Studio
- در منوی
Tools → Device Programmingکلیک کنید. - میکروکنترلر (مثل ATmega328PB) و پروگرامر (مثل USBasp) را انتخاب کنید.
- به تب Fuses بروید.
- بیتهای مورد نظر را تیک بزنید یا عدل کنید.
- مقدار هگز در دو فیلد
Low ByteوHigh Byteبهروزرسانی میشود. - روی Program کلیک کنید.

تنظیم فیوز بیتها در Atmel Studio
هشدار: تنظیم نادرست فیوز بیت (مثل غیرفعال کردن SPIEN یا RSTDISBL) میتواند میکرو را قفل کند!
Lock Bits
برای قفل کردن برنامه و جلوگیری از خواندن یا تغییر آن استفاده میشود. در درس بعدی توضیح داده خواهد شد.
فیوز بیتها = کلید رفتار میکروکنترلر
همیشه قبل از تغییر، دیتاشیت و تنظیمات فعلی را چک کنید.