文档库 最新最全的文档下载
当前位置:文档库 › ATmega16熔丝位详解

ATmega16熔丝位详解

ATmega16熔丝位详解

初学者对熔丝经常不解,AVR芯片使用熔丝来设定时钟、启动时间、一些功能的使能、BOOT区设定、当然还有最让初学者头疼的保密位,设不好锁了芯片很麻烦。要想使MCU功耗最小也要了解一些位的设定

在此写下自己对熔丝的理解,参照了一些MEGA16的PDF文档,双龙的文档,以及大家的帖子。力求易懂、全面。

下面以双龙的在系统编程软件SLISP为例具体说明我对熔丝的理解。

a intro

b 低位(时钟及启动时间设置):

c 时钟总表

d 高位(BOOT区设置):

e 常用熔丝设置

打开运行SLISP.exe,首先记住:

1:未编程(配置熔丝检查框未打钩)

0:编程(配置熔丝检查框打钩)

建议在配置熔丝之前先“读取配置”读出原来的设定,再自己编辑。

先了解一下M16的出厂设置。

默认设置为:内部RC振荡8MHz 6 CK + 65 ms CKSEL=0100 SUT=10

低位(时钟及启动时间设置):

1.BOD(Brown-out Detection) 掉电检测电路

BODLEVEL(BOD电平选择): 1: 2.7V电平; 0:4.0V电平

BODEN(BOD功能控制): 1:BOD功能禁止;0:BOD功能允许

使用方法:如果BODEN使能(复选框选中)启动掉电检测,则检测电平由BODLEVEL决定。一旦VCC下降到触发电平(2.7v或4.0v) 以下,MUC复位;当VCC电平大于触发电平后,经过tTOUT 延时周后重新开始工作。

注:1.复选框选中代表0,0电平有效。

2.因为M16L可以工作在2.7v~5.5v,所以触发电平可选2.7v(BODLEVEL=0)或4.0v(BODLEVEL=1);而M16工作在4.5~5.5V,所以只能选BODLEVEL=0,BODLEVEL=1不适用于ATmega16。

2.复位启动时间选择

SUT 1/0: 当选择不同晶振时,SUT有所不同。

如果没有特殊要求推荐SUT 1/0设置复位启动时间稍长,使电源缓慢上升。CKSEL3/0: 时钟源选择(时钟总表)

时钟总表

时钟源启动延时熔丝

外部时钟 6 CK + 0 ms CKSEL=00 00 SUT=00

外部时钟 6 CK + 4.1 ms CKSEL=00 00 SUT=01

外部时钟 6 CK + 65 ms CKSEL=00 00 SUT=10

内部RC振荡1MHZ 6 CK + 0 ms CKSEL=0001 SUT=00

内部RC振荡1MHZ 6 CK + 4.1 ms CKSEL=0001 SU T=01

内部RC振荡1MHZ1 6 CK + 65 ms CKSEL=0001 S UT=10

内部RC振荡2MHZ 6 CK + 0 ms CKSEL=0010 SUT=00

内部RC振荡2MHZ 6 CK + 4.1 ms CKSEL=0010 SU T=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 SU T=01

内部RC振荡4MHZ 6 CK + 65 ms CKSEL=0011 SUT=10

内部RC振荡8MHZ 6 CK + 0 ms CKSEL=0100 SUT=00

内部RC振荡8MHZ 6 CK + 4.1 ms CKSEL=0100 S UT=01

内部RC振荡8MHZ 6 CK + 65 ms CKS EL=0100 SUT=10

相关文档