AVR单片机熔丝位详解
AVR第10讲复位熔丝位设置

通过JTAG 接口实现对Flash、EEPROM、熔丝位和锁定位的编程熔丝位1.选择时钟源CKSEL0-3和启动时间SUT0, SUT12.掉电检测BODLEVEL,BODEN3.选择BOOT区大小BOOTRST,BOOTSZ0, BOOTSZ14.SPIEN=0,串行下载使能;JTAGEN=1,边界扫描功能禁用;OCDEN=1片上调试禁用5.EESAVE=1芯片擦出时EEPROM内容不保留6.CKOPT=1振荡器由CKSEL0-3决定如果不需要Boot Loader 功能,则整个Flash 都可以为应用代码所用。
Boot Loader 具有两套可以独立设置的Boot 锁定位。
用户可以灵活地选择不同的代码保护方式。
用户可以选择:• 保护整个Flash 区,不让MCU 进行软件升级• 不允许MCU 升级 Boot Loader Flash 区• 不允许MCU 升级应用Flash 区• 允许MCU 升级整个Flash 区ATmega16 有两个熔丝位字节。
Notes: 1. 在SPI 串行编程模式下SPIEN 熔丝位不可访问。
2. CKOPT 熔丝位功能由CKSEL 位设置决定,详见P23 “ 时钟源” 。
3. BOOTSZ1..0 默认值为最大Boot 大小,详见 P244Table 100。
4. 不论锁位与JTAGEN熔丝位设置为什么,产品出厂时不对OCDEN编程。
对OCDEN 熔丝位编程后会使能系统时钟的某些部分在所有的休眠模式下运行。
这会增加功耗。
5. 如果没有连接JTAG 接口,应尽可能取消JTAGEN 熔丝位的编程状态,以消除存在于JTAG 接口之TDO 引脚的静态电流。
熔丝位的状态不受芯片擦除命令的影响。
如果锁定位1(LB1) 被编程则熔丝位被锁定。
在编程锁定位前先编程熔丝位。
ATmega16 提供了6 个锁定位,根据其被编程(“0”) 还是没有被编程(“1”) 的情况可以获得Table 104 列出的附加性能。
AVR单片机熔丝位设置教程

0表示已编程,1表示未编程,未选中熔丝低位BODLEVEL设置BOD电平1(2.7V),0(4V)因为M16L可以工作在2.7v-5.5v所以触BODEN BOD功能(电源检测)1(禁止),0(允许)SUT1复位启动时间选择SUT0CKSEL3时钟源选择CKSEL2时钟源选择CKSEL1时钟源选择CKSEL0时钟源选择熔丝高位OCDEN OCD功能允许1:OCD功能禁止;0:OCD功JTAGEN JTAG允许1:JTAG禁止; 0:JTAG允许NACKOPT选择这两种放大器模式 CKOPT=0:高幅度振荡输出;CKOPT=1:低幅度振荡输出EESAVE烧录时EEPROM数据保留 1:不保留;0:保留BOOTSZ1引导区程序大小及入口 00: 1024Word/0xc00;BOOTSZ001: 512Word/0xe00;10: 256Word/0xf00;11: 128Word/0xf80BOOTRST 复位入口选择 1:程序从0x0000地址开始 0:复位后从BOOT区执行(参考BOOTSZ0/1)BOD功能:作为一个正式的系统或产品,当系统基本功能调试完成后,一旦进行现场测试阶段,请注意马上改写熔丝位的配置,启用AVR的对于5V系统,设置BOD电平为4.0V;对于3V系统,设置BOD电平为2.7V。
然后允许BOD检测。
这样,一旦AVR的供电电压低于BOD电平,AVR进入RESET(不执行程序了)。
而当电源恢复到BOD电平以上,AVR才正式开始从头执行程序。
SPIEN: SPI下载允许 1:SPI下载禁止;0:SPI下载使能当CKOPT 被编程时振荡器在输出引脚产生满幅度的振荡。
这种模式适合于噪声环境,以及需要通过XTAL2 驱动第英文中文On-Chip Debug Enabled 片内调试使能JTAG Interface Enabled JTAG 接口使能Serial program downloading (SPI) enabled 串行编程下载(SPI) 使能 (ISP下载时该位不能修改)Preserve EEPROM memory through the Chip Erase cycle; 芯片擦除时EEPROM的内容保留Boot Flash section size=xxxx words 引导(Boot)区大小为xxx个词Boot start address=$yyyy; 引导(Boot)区开始地址为 $yyyyBoot Reset vector Enabled 引导(Boot)、复位向量使能Brown-out detection level at VCC=xxxx V; 掉电检测的电平为 VCC=xxxx 伏Brown-out detection enabled; 掉电检测使能Start-up time: xxx CK + yy ms 启动时间 xxx 个时钟周期 + yy 毫秒Ext. Clock; 外部时钟Int. RC Osc. 内部 RC(阻容) 振荡器Ext. RC Osc. 外部 RC(阻容) 振荡器Ext. Low-Freq. Crystal; 外部低频晶体Ext. Crystal/Resonator Low Freq 外部晶体/陶瓷振荡器低频Ext. Crystal/Resonator Medium Freq 外部晶体/陶瓷振荡器中频Ext. Crystal/Resonator High Freq 外部晶体/陶瓷振荡器高频时钟总表时钟源 启动延时 熔丝外部时钟 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振荡1MHZ1 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=00内部RC振荡8MHZ 6 CK + 4.1 ms CKSEL=0100 SUT=01内部RC振荡8MHZ 6 CK + 65 ms CKSEL=0100 SUT=10外部RC振荡≤0.9MHZ 18 CK + 0 ms CKSEL=0101 SUT=00外部RC振荡≤0.9MHZ 18 CK + 4.1 ms CKSEL=0101 SUT=01外部RC振荡≤0.9MHZ 18 CK + 65 ms CKSEL=0101 SUT=10外部RC振荡≤0.9MHZ 6 CK + 4.1 ms CKSEL=0101 SUT=11外部RC振荡0.9-3.0MHZ 18 CK + 0 ms CKSEL=0110 SUT=00外部RC振荡0.9-3.0MHZ 18 CK + 4.1 ms CKSEL=0110 SUT=01外部RC振荡0.9-3.0MHZ 18 CK + 65 ms CKSEL=0110 SUT=10外部RC振荡0.9-3.0MHZ 6 CK + 4.1 ms CKSEL=0110 SUT=11外部RC振荡3.0-8.0MHZ 18 CK + 0 ms CKSEL=0111 SUT=00外部RC振荡3.0-8.0MHZ 18 CK + 4.1 ms CKSEL=0111 SUT=01外部RC振荡3.0-8.0MHZ 18 CK + 65 ms CKSEL=0111 SUT=10外部RC振荡3.0-8.0MHZ 6 CK + 4.1 ms CKSEL=0111 SUT=11外部RC振荡8.0-12.0MHZ 18 CK + 0 ms CKSEL=1000 SUT=00外部RC振荡8.0-12.0MHZ 18 CK + 4.1 ms CKSEL=1000 SUT=01外部RC振荡8.0-12.0MHZ 18 CK + 65 ms CKSEL=1000 SUT=10外部RC振荡8.0-12.0MHZ 6 CK + 4.1 ms CKSEL=1000 SUT=11低频晶振(32.768KHZ) 1K CK + 4.1 ms CKSEL=1001 SUT=00低频晶振(32.768KHZ) 1K CK + 65 ms CKSEL=1001 SUT=01低频晶振(32.768KHZ) 32K CK + 65 ms CKSEL=1001 SUT=10低频石英/陶瓷振荡器(0.4-0.9MHZ) 258 CK + 4.1 ms CKSEL=1010 SUT=00 低频石英/陶瓷振荡器(0.4-0.9MHZ) 258 CK + 65 ms CKSEL=1010 SUT=01 低频石英/陶瓷振荡器(0.4-0.9MHZ) 1K CK + 0 ms CKSEL=1010 SUT=10低频石英/陶瓷振荡器(0.4-0.9MHZ) 1K CK + 4.1 ms CKSEL=1010 SUT=11 低频石英/陶瓷振荡器(0.4-0.9MHZ) 1K CK + 65 ms CKSEL=1011 SUT=00 低频石英/陶瓷振荡器(0.4-0.9MHZ) 16K CK + 0 ms CKSEL=1011 SUT=01 低频石英/陶瓷振荡器(0.4-0.9MHZ) 16K CK + 4.1ms CKSEL=1011 SUT=10低频石英/陶瓷振荡器(0.4-0.9MHZ) 16K CK + 65ms CKSEL=1011 SUT=11 中频石英/陶瓷振荡器(0.9-3.0MHZ) 258 CK + 4.1 ms CKSEL=1100 SUT=00 中频石英/陶瓷振荡器(0.9-3.0MHZ) 258 CK + 65 ms CKSEL=1100 SUT=01 中频石英/陶瓷振荡器(0.9-3.0MHZ) 1K CK + 0 ms CKSEL=1100 SUT=10中频石英/陶瓷振荡器(0.9-3.0MHZ) 1K CK + 4.1 ms CKSEL=1100 SUT=11 中频石英/陶瓷振荡器(0.9-3.0MHZ) 1K CK + 65 ms CKSEL=1101 SUT=00 中频石英/陶瓷振荡器(0.9-3.0MHZ) 16K CK + 0 ms CKSEL=1101 SUT=01 中频石英/陶瓷振荡器(0.9-3.0MHZ) 16K CK + 4.1ms CKSEL=1101 SUT=10 中频石英/陶瓷振荡器(0.9-3.0MHZ) 16K CK + 65ms CKSEL=1101 SUT=11 高频石英/陶瓷振荡器(3.0-8.0MHZ) 258 CK + 4.1 ms CKSEL=1110 SUT=00 高频石英/陶瓷振荡器(3.0-8.0MHZ) 258 CK + 65 ms CKSEL=1110 SUT=01 高频石英/陶瓷振荡器(3.0-8.0MHZ) 1K CK + 0 ms CKSEL=1110 SUT=10高频石英/陶瓷振荡器(3.0-8.0MHZ) 1K CK + 4.1 ms CKSEL=1110 SUT=11 高频石英/陶瓷振荡器(3.0-8.0MHZ) 1K CK + 65 ms CKSEL=1111 SUT=00 高频石英/陶瓷振荡器(3.0-8.0MHZ) 16K CK + 0 ms CKSEL=1111 SUT=01 高频石英/陶瓷振荡器(3.0-8.0MHZ) 16K CK + 4.1ms CKSEL=1111 SUT=10 高频石英/陶瓷振荡器(3.0-8.0MHZ) 16K CK + 65ms CKSEL=1111 SUT=11 高频石英/陶瓷振荡器(3.0-8.0MHZ) 1K CK + 65 ms CKSEL=1111 SUT=00 高频石英/陶瓷振荡器(3.0-8.0MHZ) 16K CK + 0 ms CKSEL=1111 SUT=01 高频石英/陶瓷振荡器(3.0-8.0MHZ) 16K CK + 4.1ms CKSEL=1111 SUT=10 高频石英/陶瓷振荡器(3.0-8.0MHZ) 16K CK + 65ms CKSEL=1111 SUT=11在2.7v-5.5v所以触发电平可选2.7v或4.0v。
AVRmega单片机熔丝位的设置详解及应用举例

比如我们想使用片内的RC振荡(Fra bibliotek不需要接晶振),可以选择下面三者之一:
[CKSEL=0100 SUT=10] Int. RC Osc. 1 MHz; Start-up time: 6 CK + 0 ms;
[CKSEL=0100 SUT=00] Int. RC Osc. 1 MHz; Start-up time: 6 CK + 4 ms;
引导(Boot)区大小为xxx个词
Boot start address=$yyyy;
引导(Boot)区开始地址为$yyyy
Boot Reset vector Enabled
引导(Boot)、复位向量使能
Brown-out detection level at VCC=xxxx V;
掉电检测的电平为VCC=xxxx伏
五、AVR Studio熔丝位配置应用举例
通过下图的方法打开连接:
使用操作界面如下:((注意:下图中,打勾的表示选中,代表0。没有打勾的表示1)
上图的资料有很多相关项,你需要认识以下的代码,以理解意思。英文翻译说明如下
英文
中文
On-Chip Debug Enabled
片内调试使能
JTAG Interface Enabled
二、AVRmega16单片机中重要熔丝位的配置
(1)CLKSEL[3:0]:用于选择系统的时钟源。
(2)SPIEN:SPI下载使能位。默认状态为允许“0”。
(3)WDTON:WDT定时器始终开启设置位。默认为“1”,表示禁止WDT始终开启。
(4)EESAVE:执行擦除命令时是否保留EEPROM中的内容,默认状态为“1”,表示执行片内擦除命令时,EERPOM中的内容和Flash中的内容一同被擦除。
[熔丝位]AVR_ISP接口定义与熔丝位
![[熔丝位]AVR_ISP接口定义与熔丝位](https://img.taocdn.com/s3/m/6137ea0a7cd184254b353521.png)
AVR的ISP接口定义大部分AVR MCU的ISP数据端口亦为 SCK、MOSI、MISO引脚(如Attiny13/24/2313,Atmega48/88/168,Atmega16/32/162,Atmega8515/8535等),如下:MISO MISOVCC VCCSCK SCKMOSI MOSIRESET RESETGND GND少部分AVRMCU的ISP数据端口则不是使用这些接口,而是:SCK、PDI、PDO引脚(如ATmega64/128/1281等),如下:MISO PDOVCC VCCSCK SCKMOSI PDIRESET RESETGND GND以上仅例举出常用的AVR型号的连接方式,若您使用的AVR型号没有被列举到,请查看相关型号的PDF文档,里面的编程章节将有介绍使用ISP时,需连接哪些引脚。
下面是标准的接口排列:ATMEL指定的ISP_10PIN标准接口ATMEL指定的ISP_6PIN标准接口USB AVR SKII V2.0(usb avr仿真器/调试器)问:USB AVR SKII V2.0 与 V1.0 的区别?答:USB驱动IC不同,V2.0 版本采用的USB芯片FT232,V1.0版本的PL2303,在JTAG仿真调试方面兼容性、稳定性稍差。
·基于ATMEL原厂提供的方案而设计:支持AVRStudio,借鉴了ATMEL原厂生产的JTAGICE仿真器与AVRISP下载器,使用方法同它们一致,简单易用,稳定可靠。
·支持的软件:- 直接支持AVRStudio、WINAVR(GCC)、IAR- 支持IAR、ICCAVR、CVAVR等生成的调试与烧写文件·自动识别JTAG与AVRISP:- 接入目标板的JTAG接口,使用“JTAG ICE”方式进行连接,调试器识别为JTAGICE仿真器。
- 接入目标板的ISP接口,使用“STK500 or AVRISP”方式进行连接,调试器识别为AVRISP下载器。
AVR熔丝位配置详解

A VR熔丝位配置详解AVR开发前预备—熔丝位(Fuse)快速入门本页关键词:AVR 熔丝位(Fuse)快速入门熔丝位熔丝的作用AVR通过熔丝来操纵芯片内部的一些功能,比如JTAG,时钟的使用,掉电检测电压,是否承诺调试等。
AVR Studio 中STK500 处理熔丝位有庞大的优势:它是以功能组合让用户配置。
这种方式与小马(PnoyProg2000,SL-ISP)相比,具有以下的优势(优势是如此明显,能够用“庞大优势”来形容):1有效幸免因不熟悉熔丝位让芯片锁死(这是初学者的恶梦),笔者曾经锁死过三片Atmega16。
2不需要靠经历与查文档,就能配置熔丝位(这也是初学者的恶梦)3动手之前:请你一定弄清晰了,你如此改会有什么后果,除非你有专门多钱不在乎多锁死几个芯片。
备份你的熔丝位状态,在点击Program 之前再次检查熔丝位设置正确与否,不要误点了某项而没有注意到。
由于ISP下载需要芯片本身提供时钟信号。
一定注意,假如没有接外部晶振,一定不能编程熔丝位使用外部晶振。
一旦那样做,就不能再进入编程了,也确实是芯片被锁死。
建议新手不要随意设置芯片的熔丝位,等对熔丝位比较了解了再进行操作。
当芯片锁死已成事实,只要能够为芯片提供相对应的时钟源即可。
如选择了Ext. RC Osc而又没有外部RC(阻容) 振荡器时,可参考手册的接一个专门简单的RC振荡电路!再将熔丝位配置改回正确的配置就可搞定!通过下图的方法打开连接:使用操作界面如下:(注意:下图中,打勾的表示选中,代表0。
没有打勾的表示1)。
上图的资料有专门多相关项,你需要认识以下的代码,以明白中意思。
英文翻译说明如下:英文中文On-Chip Debug Enabled 片内调试使能JTAG Interface Enabled JTAG 接口使能Serial program downloading (SPI) enabled 串行编程下载(SPI) 使能(ISP下载时该位不能修改)Preserve EEPROM memory throughthe Chip Erase cycle;芯片擦除时EEPROM的内容保留Boot Flash section size=xxxx words 引导(Boot)区大小为xxx个词Boot start address=$yyyy; 引导(Boot)区开始地址为$yyyy Boot Reset vector Enabled 引导(Boot)、复位向量使能Brown-out detection level atVCC="xxxx" V;掉电检测的电平为VCC="xxxx" 伏Brown-out detection enabled; 掉电检测使能Start-up time: xxx CK + yy ms启动时刻xxx 个时钟周期+ yy 毫秒Ext. Clock; 外部时钟Int. RC Osc. 内部RC(阻容) 振荡器Ext. RC Osc. 外部RC(阻容) 振荡器Ext. Low-Freq. Crystal; 外部低频晶体Ext. Crystal/Resonator Low Freq 外部晶体/陶瓷振荡器低频Ext. Crystal/Resonator Medium Freq 外部晶体/陶瓷振荡器中频Ext. Crystal/Resonator High Freq 外部晶体/陶瓷振荡器高频注:以上中文是对比ATmega16的中、英文版本数据手册而翻译。
AVR单片机常用熔丝位说明

BOD,掉电检测功能。比如4.3V,当检测到电源低于4.3V时,单 片机复位。 AVR是宽电压工作的芯片,当电压跌至2.5V,系统程序还能工作 。这时有2个可怕的现象可能出现: 1.外围芯片工作已经混乱,AVR读到的东西不正确,造成程序的 执行发生逻辑错误(不是AVR本身的原因)。 2.当电源低到临界点,如2.4V时,并且在此忽上忽下,AVR本身 的程序执行也不正常,取指令、读数据都可能发生错误,或程 序乱飞、不稳定(AVR本身的原因,实际任何的单片机都是这样 的),非常容易造成EEPROM、FALSH的破坏。
0010:校准的内部RC振荡器
精度不高,一般不使用
0000:外部时钟
一般不用
0:PC6为普通引脚
慎点,PC6默认是复位引脚C6为复位引脚
GPIO用,同时,无法再ISP烧写程序,因为无法复位。
0:使能片上调试系统
1:部使能片上调试系统
片上调试,即后面的BOOTLoader功能。
用于设置复位后从哪一段程序存储区内启动,主要用于boot功 能。Boot区存储一块引导程序,开启boot功能,可以通过串口 在线给单片机更新程序,而不用依赖ISP
Boot Loader锁死功能 ,针对Boot Loader区域
Boot Loader锁死功能 ,针对应用区域
锁死以后不能再使用ISP等方式进行程序烧写或读取,但可以通 过专用烧写器接触锁定,主要用于加密防抄
AVR单片机常用熔丝位说明(以Atmega88为例)
配置说明
备注
0:时钟8分频
设置系统时钟的分频书,比如,电路晶振为8M,使能分频后,
1:时钟不分频
系统晶振就是1M
0:系统时钟输出(PB0)
1:不输出,PB0是普通IO
AVR单片机熔丝位设置详解

A VR单片机熔丝位设置详解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)以下,MCU复位;当VCC电平大于触发电平后,经过tTOUT 延时周后重新开始工作。
2、复位启动时间选择SUT 1/0:当选择不同晶振时,SUT有所不同。
如果没有特殊要求,推荐SUT 1/0设置复位启动时间稍长,使电源缓慢上升(即SUT1:0;SUT0:1)。
3、CKSEL3/2/10:时钟源选择。
芯片出厂的默认情况下,CKSEL3—0和SUT1、SYT0分别设置为“0001”和“10”,这样将使用芯片8mHz的内部晶振和使用最长的启动延时。
配置方法:4、M103:设置ATmega103兼容方式工作。
出厂时的默认设置为0,即以ATmega103兼容模式下运行。
5、JTAGEN:如果不使用JTAG接口,应该将JTAGEN的状态设置为1,即禁止JTAG 功能,JTAG引脚用于I/O接口。
6、SPIEN:SPI方式下载数据和程序允许,默认状态为允许0,一般保留其状态。
7、WDTON:看门狗定时器始终开启。
默认情况下为“1”,即禁止看门狗定时器始终开启。
选择为“0”表示看门狗定时器始终开启,建议设置为0,防止程序跑飞。
8、EESAVE:EESAVE设置为“1”表示对芯片进行擦除操作时,flash和EEPROM 中的数据一同擦除,设置为“0”表示擦除操作只对flash中的数据有效而对EEPROM无效。
芯片出厂的默认设置为“1”。
在实际应用中需要根据实际需要进行设置。
9、BOOTRST:决定上电启动时,第一条指令的地址。
AVR单片机熔丝位设置详细知识文档

AVR单片机熔丝位设置详细知识文档
本说明以AVR单片机中ATmega16的熔丝位为例,说明熔丝位如何正确设置。
1.编程与状态说明
(1)在AVR的器件手册中,使用已编程(Programmed)和未编程(U nprogrammed)定义熔丝位的状态。
未编程表示熔丝位状态为“1”(禁止);已编程表示熔丝位状态为“0”(允许)。
(2)AVR的熔丝位可以多次编程,不是一次性的OPT熔丝。
(3)熔丝位的配置可以通过并行方式、ISP串行方式和JTAG串行方式实现。
(4)AVR芯片加密锁定后(LB2/LB1=1/0,0/0)不能通过任何方式读取芯片内部的FLASH和EEPROM数据,但是熔丝位的状态仍然可以读取,只是不能修改配置。
(5)芯片擦除命令是将FLASH和EEPROM中的数据清除,并同时将两位锁定位状态配置成无锁定的状态(LB2/LB1=1/1),但芯片擦除命令不改变其熔丝位的配置。
(6)下载编程的正确操作程序是:对芯片无锁定状态下,下载运行代码和数据,配置相关的熔丝位,最后配置芯片的加密锁定位。
(7)如果芯片被加密锁定后,发现熔丝位配置不对,则必须使用擦除命令,清楚芯片的数据,解除加密锁定,然后重新下载运行代码和数据,修改配置相关的熔丝位,最后再次配置芯片的加密锁定位。
2.芯片加密锁定熔丝位
3.功能熔丝位
4.Bootloader的熔丝位(1)上电启动地址选择
5.有关系统时钟源的选择熔丝位
(1)系统时钟选择
注释(2):当CKOPT=0时,振荡器的输出振幅较大,适用于干扰大的场合;反之,振荡器的输出振幅较小,可以降低功耗,对外电磁辐射也较小;
注释(3):CKOPT默认状态为“1”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
AVR单片机熔丝位详解
AVR的功能很多,其体现在可以选择片内、片外多种时钟源、自带看门狗电路、自带程序加密等功能上。
而这些功能的选择和设定是通过片内叫做“熔丝位”的状态标志来设置的。
如果把AVR单片机里你编写的程序比作电脑运行的操作系统和应用软件的话,熔丝位就相当于电脑主板的BIOS设置了。
在一些AVR用的ISP编程软件里,你可以访问到熔丝位。
avr 单片机CKSEL[3:0]正是熔丝位设置中的一部分,从字面上就能看出,大致是clock select(时钟源选择)的意思,共有(Bit3~Bit0)四位,通过设置这四位的状态,可以决定单片机将使用何种振荡源作为时钟。
以Mega8单片机为例,CKSEL位的设置通常会伴随CKOPT位一起进行。
下面是在网上搜索到的注释,供你参考:
CKSEL3/0=0000:外部时钟,
CKOPT=0:允许芯片内部XTAL1管脚对GND接一个36PF电容;
CKOPT=1:禁止该电容
----------------
CKSEL3/0=0001-0100:
采用内部RC振荡作为时钟源,其具体震荡频率是:
0001:1.0M
0010:2.0M
0011:4.0M
0100:8.0M
这里CKOPT只能设置为1
----------------
CKSEL3/0=0101-1000:采用外部RC振荡作为时钟源,
CKOPT=0:允许芯片内部XTAL1管脚对GND接一个36PF电容;
CKOPT=1:禁止该电容根据震荡频率范围,设置相应的熔丝位0101:
<0.9M 0110:
0.9-3.0M 0111:
3.0-8.0M 1000:
8.0-12.0M
----------------
CKSEL3/0=1001:
采用外部时钟信号作为时钟源,
CKOPT=0:允许芯片内部XTAL1/XTAL2管脚对GND各接一个36PF电容;
CKOPT=1:禁止该电容
----------------
CKSEL3/0=1010-1111:
采用外部晶振,陶瓷振荡子作为时钟源,
CKOPT=0:高幅度振荡输出(XTAL1引脚将输出一个大幅度的震荡信号,用于某些情况下供给其他处理器当做时钟源,以达到时钟同步);
CKOPT=1:低幅度振荡输出(XTAL1引脚输出低幅度的震荡信号,用以省电、减少干扰);并依据晶体的震荡频率范围,设置相应的熔丝位
101X:0.4-0.9M
110X:0.9-3.0M
111X:3.0-8.0M。