AVR熔丝位配置详解AVR开发前准备—熔丝位(Fuse)快速入门本页关键词:AVR熔丝位(Fuse)快速入门熔丝位熔丝的作用AVR通过熔丝来控制芯片内部的一些功能,比如JTAG,时钟的使用,掉电检测电压,是否允许调试等。AVRStudio中STK500处理熔丝位有巨大的优势:它是以功能组合让用户配置。这种方式与小马(PnoyProg2000,SL-ISP)相比,具有以下的优势(优势是如此明显,可以用“巨大优势”来形容):有效避免因不熟悉熔丝位让芯片锁死(这是初学者的恶梦),笔者曾经锁死过三片Atmega16。不需要靠记忆与查文档,就能配置熔丝位(这也是初学者的恶梦)动手之前:请你一定弄清楚了,你这样改会有什么后果,除非你有很多钱不在乎多锁死几个芯片。备份你的熔丝位状态,在点击Program之前再次检查熔丝位设置正确与否,不要误点了某项而没有注意到。由于ISP下载需要芯片本身提供时钟信号。一定注意,如果没有接外部晶振,一定不能编程熔丝位使用外部晶振。一旦那样做,就不能再进入编程了,也就是芯片被锁死。建议新手不要随意设置芯片的熔丝位,等对熔丝位比较了解了再进行操作。当芯片锁死已成事实,只要能够为芯片提供相对应的时钟源即可。如选择了Ext.RCOsc而又没有外部RC(阻容)振荡器时,可参考手册的接一个很简单的RC振荡电路!再将熔丝位配置改回正确的配置就可搞定!通过下图的方法打开连接:使用操作界面如下:(注意:下图中,打勾的表示选中,代表0。没有打勾的表示1)。上图的资料有很多相关项,你需要认识以下的代码,以理解意思。英文翻译说明如下:英文中文On-ChipDebugEnabled片内调试使能JTAGInterfaceEnabledJTAG接口使能Serialprogramdownloading(SPI)enabled串行编程下载(SPI)使能(ISP下载时该位不能修改)PreserveEEPROMmemorythroughtheChipErasecycle;芯片擦除时EEPROM的内容保留BootFlashsectionsize=xxxxwords引导(Boot)区大小为xxx个词Bootstartaddress=$yyyy;引导(Boot)区开始地址为$yyyyBootResetvectorEnabled引导(Boot)、复位向量使能Brown-outdetectionlevelatVCC=xxxxV;掉电检测的电平为VCC=xxxx伏Brown-outdetectionenabled;掉电检测使能Start-uptime:xxxCK+yyms启动时间xxx个时钟周期+yy毫秒Ext.Clock;外部时钟Int.RCOsc.内部RC(阻容)振荡器Ext.RCOsc.外部RC(阻容)振荡器Ext.Low-Freq.Crystal;外部低频晶体Ext.Crystal/ResonatorLowFreq外部晶体/陶瓷振荡器低频Ext.Crystal/ResonatorMediumFreq外部晶体/陶瓷振荡器中频Ext.Crystal/ResonatorHighFreq外部晶体/陶瓷振荡器高频注:以上中文是对照ATmega16的中、英文版本数据手册而翻译。尽量按照了官方的中文术语。应用举例:比如我们想使用片内的RC振荡(即不需要接晶振),可以选择选择下面三者之一:Int.RCOsc.8MHz;Start-uptime:6CK+0ms;[CKSEL=0100SUT=00]Int.RCOsc.8MHz;Start-uptime:6CK+4ms;[CKSEL=0100SUT=01]Int.RCOsc.8MHz;Start-uptime:6CK+64ms;[CKSEL=0100SUT=10]如图:内部1M晶振,默认情况典型设置。(两个图分别为上下两部分,没有显示的部分均为不选中状态。)下图显示的是选择内部晶振,1MhzRC比如我们想使用外部7.3728M晶振,可以选择选择下面三者之一:Ext.Crystal/ResonatorHighFreq.;Start-uptime:258CK+4ms;[CKSEL=1110SUT=00]或后面与Ext.Crystal/ResonatorHighFreq.;....有关的选择。如下两图:7.3728M晶振典型融丝位(及本站的开发板使用时候的典型设置)如果你在使用过程中遇到什么问题,欢迎讨论,。后记:说说Mega128的熔丝位ATmega128是avr系列中一款高性能的芯片,设计的时候兼容M103模式,但是这个M103模式经常害人。基于此,说说ATmega128的熔丝位,顺便说说其他的功能。默认情况下M103模式是选中的,应该将其去掉;晶振是内部1M晶振,如果你使用外部晶振,应该进行修改。M128可以开启硬件的看门狗,选中此项,看门狗不需要程序初始化,只需要程序里面喂狗就可以了。默认熔丝第一部分M103兼容模式,使能JTAG,使能SPI,Bootloader区大小4096,未使能BOOT。默认熔丝第二部分DOD为2.7V,内部1M晶振。下面是本站使用M128开发板的典型设置,M103模式取消,使用M128模式,使用外部7.3728M晶振。典型熔丝第一部分(只说修改部分)去掉了M103,从而使用M128模式。典型熔丝第二部分选择最后一项,即使用外部高频晶振。再次提醒大家,往芯片里烧写程序前,一定要检查是否正确设置熔丝位(时钟源)。