AVR熔丝位的设置分析Word格式文档下载.docx
《AVR熔丝位的设置分析Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《AVR熔丝位的设置分析Word格式文档下载.docx(8页珍藏版)》请在冰点文库上搜索。
使用方法:
如果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,BODLEVEL=1不适用于ATmega16。
2.复位启动时间选择
SUT1/0:
当选择不同晶振时,SUT有所不同。
如果没有特殊要求推荐SUT1/0设置复位启动时间稍长,使电源缓慢上升。
3.CKSEL3/0:
时钟源选择(时钟总表)
时钟总表
时钟源启动延时熔丝
外部时钟6CK+0msCKSEL=0000SUT="
00"
外部时钟6CK+4.1msCKSEL=0000SUT="
01"
外部时钟6CK+65msCKSEL="
0000"
SUT="
10"
内部RC振荡
1MHZ6CK+0msCKSEL="
0001"
1MHZ6CK+4.1msCKSEL="
1MHZ16CK+65msCKSEL="
2MHZ6CK+0msCKSEL="
0010"
2MHZ6CK+4.1msCKSEL="
2MHZ6CK+65msCKSEL="
4MHZ6CK+0msCKSEL="
0011"
4MHZ6CK+4.1msCKSEL="
4MHZ6CK+65msCKSEL="
8MHZ6CK+0msCKSEL="
0100"
8MHZ6CK+4.1msCKSEL="
8MHZ6CK+65msCKSEL="
外部RC振荡
≤0.9MHZ18CK+0msCKSEL="
0101"
≤0.9MHZ18CK+4.1msCKSEL="
≤0.9MHZ18CK+65msCKSEL="
≤0.9MHZ6CK+4.1msCKSEL="
11"
0.9-3.0MHZ18CK+0msCKSEL="
0110"
0.9-3.0MHZ18CK+4.1msCKSEL="
0.9-3.0MHZ18CK+65msCKSEL="
0.9-3.0MHZ6CK+4.1msCKSEL=0110SUT="
3.0-8.0MHZ18CK+0msCKSEL=0111SUT="
3.0-8.0MHZ18CK+4.1msCKSEL="
0111"
3.0-8.0MHZ18CK+65msCKSEL=0111SUT="
3.0-8.0MHZ6CK+4.1msCKSEL="
8.0-12.0MHZ18CK+0msCKSEL=1000SUT="
8.0-12.0MHZ18CK+4.1msCKSEL="
1000"
8.0-12.0MHZ18CK+65msCKSEL="
8.0-12.0MHZ6CK+4.1msCKSEL="
低频晶振
(32.768KHZ)1KCK+4.1msCKSEL="
1001"
(32.768KHZ)1KCK+65msCKSEL="
(32.768KHZ)32KCK+65msCKSEL="
低频石英/陶瓷振荡器
(0.4-0.9MHZ)258CK+4.1msCKSEL="
1010"
(0.4-0.9MHZ)258CK+65msCKSEL="
(0.4-0.9MHZ)1KCK+0msCKSEL=1010SUT="
(0.4-0.9MHZ)1KCK+4.1msCKSEL="
(0.4-0.9MHZ)1KCK+65msCKSEL="
1011"
(0.4-0.9MHZ)16KCK+0msCKSEL=1011SUT="
(0.4-0.9MHZ)16KCK+4.1msCKSEL="
(0.4-0.9MHZ)16KCK+65msCKSEL="
中频石英/陶瓷振荡器
(0.9-3.0MHZ)258CK+4.1msCKSEL="
1100"
(0.9-3.0MHZ)258CK+65msCKSEL="
(0.9-3.0MHZ)1KCK+0msCKSEL=1100SUT="
(0.9-3.0MHZ)1KCK+4.1msCKSEL="
(0.9-3.0MHZ)1KCK+65msCKSEL="
1101"
(0.9-3.0MHZ)16KCK+0msCKSEL="
(0.9-3.0MHZ)16KCK+4.1msCKSEL="
(0.9-3.0MHZ)16KCK+65msCKSEL="
高频石英/陶瓷振荡器
(3.0-8.0MHZ)258CK+4.1msCKSEL="
111"
0SUT="
(3.0-8.0MHZ)258CK+65msCKSEL="
(3.0-8.0MHZ)1KCK+0msCKSEL="
(3.0-8.0MHZ)1KCK+4.1msCKSEL="
(3.0-8.0MHZ)1KCK+65msCKSEL="
1111"
(3.0-8.0MHZ)16KCK+0msCKSEL="
(3.0-8.0MHZ)16KCK+4.1msCKSEL="
1SUT="
(3.0-8.0MHZ)16KCK+65msCKSEL="
高位(BOOT区设置):
1.JTAGEN(JTAG允许):
1:
JTAG禁止;
JTAG允许
OCDEN(OCD功能允许):
OCD功能禁止;
OCD功能允许
注:
OCDEN(On-chipDebug):
片上调试使能位
JTAGEN(JTAG使能):
JTAG测试访问端口
在JTAG调试时,使能OCDENJTAGEN两位(复选框打勾),并保持所有的锁定位处于非锁定状态;
在实际使用时为降低功耗,不使能OCDENJTAGEN,大约减少2-3mA的电流。
2.SPIEN(SPI下载允许):
SPI下载禁止;
SPI下载使能
在ISP的软件里,SPIEN是不能编辑的,默认为0。
3.CKOPT(选择放大器模式):
CKOPT=0:
高幅度振荡输出;
CKOPT=1:
低幅度振荡输出
当CKOPT被编程时振荡器在输出引脚产生满幅度的振荡。
这种模式适合于噪声环境,以及需要通过XTAL2驱动第二个时钟缓冲器的情况,而且这种模式的频率范围比较宽。
当保持CKOPT为未编程状态时,振荡器的输出信号幅度比较小。
其优点是大大降低了功耗,但是频率范围比较窄,而且不能驱动其他时钟缓冲器。
对于谐振器,当CKOPT未编程时的最大频率为8MHz,CKOPT编程时为16MHz。
内部RC振荡器工作时不对CKOPT编程。
4.EEAVE(烧录时EEPROM数据保留):
不保留;
保留
5.BOOTRST(复位入口选择):
程序从0x0000地址开始0:
复位后
从BOOT区执行(参考BOOTSZ0/1)
6.BOOTSZ1/0(引导区程序大小及入口):
00:
1024Word/0xc00;
01:
512Word/0xe00;
10:
256Word/0xf00;
11:
128Word/0xf80
因为内部时钟发生器也是通过RC振荡产生,故精度也有限。
如果对时钟精度有要求,最好使用外部石英晶体。
外部晶振稳定,内部晶振的误差比较大,但如果对频率要求不高的话(比如不涉及串口通信和精确定时等的话),用内部晶振就行。
内部时钟,频率受温度等其它影响,但是能省下晶振的钱,还有2个I/O。
如果对频率要求不高,一般是优先选用内部振荡。
如果你要省电,用了SLEEP,那你就不能用内部振荡了,内部振荡回停止!
使用芯片内部的熔丝位,设置时钟源。
有多种方式产生AVR时钟,可以使用外部时钟来满足低脉冲触发,如一个晶振或是一个陶瓷谐振器,一些芯片甚至有一个内置RC振荡器。
但是他们的精确度并不相同,各有特点,这就看你使用的要求了。
如果需要精确的时钟源,那么就要选择外部晶振产生时钟,这对于程序中有精确定时或异步通讯的单片机是很重要的,也可以不接外部晶体,而使用内部RC振荡器产生时钟,电路简单,时钟不需外部元件,但受环境温度影响,精度差。
在没有精确定时要求的程序下,还是可以用的。
总之,如何选择合适的时钟源,取决于具体的应用。
如果需要高精确度,可以选择外部时钟或晶振;
若想成本低,可以选择内部振荡器或陶瓷谐振器;
最简单的方法是选择内部振荡器或三引脚陶瓷谐振器。