🔧 درس 2: فیوز بیتهای AVR
در این درس با فیوز بیتهای AVR آشنا میشویم و یاد میگیریم چگونه آنها را تنظیم کنیم.
فیوز بیتها، رفتار داخلی میکروکنترلر را مشخص میکنند و در حافظه غیرفرار ذخیره میشوند.
⚡ نکته مهم
نکته
در AVR: 1 = غیرفعال (Unprogrammed) و 0 = فعال (Programmed)
📦 بایت LOW (تنظیم ساعت و پایه)
Fuse LOW
- CKSEL[3:0]: انتخاب منبع ساعت
- SUT[1:0]: زمان تأخیر پس از Reset
- CKOUT: خروجی ساعت روی PB0
- CKDIV8: تقسیم ساعت CPU بر 8
📦 بایت HIGH (بوت لودر و ISP)
Fuse HIGH
- BOOTRST: شروع از بوت لودر
- BOOTSZ[1:0]: اندازه بخش بوت لودر
- EESAVE: حفظ EEPROM هنگام Chip Erase
- WDTON: فعالسازی دائمی Watchdog
- SPIEN: فعالسازی ISP
- DWEN: فعالسازی DebugWire
- RSTDISBL: تبدیل RESET به GPIO
📦 بایت EXTENDED (BOD)
Fuse EXTENDED
| 7-3 | 2 | 1 | 0 |
|---|---|---|---|
– (رزرو) | BODLEVEL2 | BODLEVEL1 | BODLEVEL0 |
BODLEVEL[2:0]: سطح تشخیص کاهش ولتاژ (Brown-out Detection)
🖥 تنظیم فیوز بیت در Atmel Studio
- در منوی
Tools → Device Programmingکلیک کنید. - میکروکنترلر و پروگرامر را انتخاب کنید.
- به تب Fuses بروید.
- بیتهای مورد نظر را تیک بزنید یا تغییر دهید.
- مقدار هگز
Low ByteوHigh Byteبهروزرسانی میشود. - روی Program کلیک کنید.

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