浅谈AVR单片机熔丝位设置 对于初学者来说,AVR 的熔丝位真是“高深莫测”,稍不注意,单片机就锁死了,本人也是这样经历过来的,号称 AVR 杀手,哈哈,这是玩笑啦。不过只要搞懂了每个熔丝位选项的具体含义就不怕你去折腾了,下面我就结合我的使用心得,做一下总结,如有不当之处请多多包涵,及时加以指正。 打开 progispz 这个软件,熔丝位的设置界面如下所示。 下面来逐一介绍每个选项的含义。需要注明一点,在这个软件里,1 表示禁止,0 表示允许,也有说1 代表未编程,0 代表编程。和我们的常规思维有点不同,需多加注意。 BODLEVEL(BOD 电平选择): 1:2.7V 电平; 0:4.0V 电平: BODEN(BOD 功能控制): 1:BOD 功能禁止;0:BOD 功能允许 使用方法:如果 BODEN 使能(复选框选中)启动掉电检测,则检测电平由 BODLEVEL决定。一旦 VCC 下降到触发电平(2.7v 或 4.0v)以下,MCU 复位;当 VCC 电平大于触发电平后,经过 tTOUT 延时周后重新开始工作。因为 M16L 可以工作在 2.7v~5.5v,所以触发电平可选 2.7v(BODLEVEL=1)或 4.0v(BODLEVEL=0);而 M16 工作在 4.5~5.5V,所以只能选 BODLEVEL=0。 SUT1 和 SUT0:复位启动时间选择。当选择不同晶振时,SUT 有所不同。如果没有特殊要求推荐SUT 1/0 设置复位启动时间稍长,使电源缓慢上升。 CKSEL3、CKSEL2、CKSEL1、CKSEL0 这三个选项控制时钟源选择。具体设置如下所示。 时钟源 启动延时 熔丝 外部时钟 6 CK + 0 ms CKSEL=0000 SUT="00" 外部时钟 6 CK + 4.1 ms CKSEL=0000 SUT="01" 外部时钟 6 CK + 65 ms CKSEL="0000" SUT="10" 内部 RC 振荡 1MHZ 6 CK + 0 ms CKSEL="0001" SUT="00" 内部 RC 振荡 1MHZ 6 CK + 4.1 ms CKSEL="0001" SUT="01" 内部 RC 振荡 1MHZ 6 CK + 65 ms CKSEL="0001" SUT="10" 内部 RC 振荡 2MHZ 6 CK + 0 ms CKSEL="0010" SUT="00" 内部 RC 振荡 2MHZ 6 CK + 4.1 ms CKSEL="0010" SUT="01" 内部 RC 振荡 2MHZ 6 CK + 65 ms CKSEL="0010" SUT="10" 内部 RC 振荡 4MHZ 6 CK + 0 ms CKSEL="0011" SUT="00" 内部 RC 振荡 4MHZ 6 CK + 4.1 ms CKSEL="0011" SUT="01" 内部 RC 振荡 4MHZ 6 CK + 65 ms CKSEL="0011" SUT="10" 内部 RC 振荡 8MHZ 6 CK + 0 ms CKSEL="0100" SUT="...