AVR通过熔丝来控制芯片内部的一些功能,比如JTAG,时钟的使用,掉电检测电压,是否允许调试等。
AVR Studio 中 STK500 处理熔丝位有巨大的优势:它是以功能组合让用户配置。 这种方式与小马(PnoyProg2000,SL-ISP)相比,具有以下的优势(优势是如此明显,可以用“巨大优势”来形容):
有效避免因不熟悉熔丝位让芯片锁死 (这是初学者的恶梦), 笔者曾经锁死过三片Atmega16。
不需要靠记忆与查文档,就能配置熔丝位(这也是初学者的恶梦)
动手之前:请你一定弄清楚了,你这样改会有什么后果,除非你有很多钱不在乎多锁死几个芯片。备份你的熔丝位状态,在点击Program之前再次检查熔丝位设置正确与否,不要误点了某项而没有注意到。
通过下图的方法打开连接:
使用操作界面如下: (注意:下图中,打勾的表示选中,代表0。没有打勾的表示1)。
上图的资料有很多相关项,你需要认识以下的代码,以理解意思。英文翻译说明如下:
注:以上中文是对照 ATmega16的中、英文版本数据手册而翻译。尽量按照了官方的中文术语。
应用举例:
问:使用IDE及U-EC2/5连接硬件时出现“Target Did Not Halt....”应如何处理?1).检查10芯扁平电缆及USB线是否正确连接
2).检查目标板的电源是否正确连接
3).使用IDE环境下的命令TOOLS-ERASE CODE SPACE擦除芯片
4).检查JTAG接口的TMS,TCK,TDI,TDO;C2接口的C2CK,C2D是否正确连接到适配器
5).保证芯片的所有电源(数字/模拟)及地都正确连接
6).如果芯片上有MONEN引脚;要保证此引脚已经接到VDD或GND上;
7).检查RST引脚的状态,在连接的过程中要保证此引脚为高电平;
8).检查芯片的焊接是否有虚焊或短路
中断、复位源
比如我们想使用片内的RC振荡(即不需要接晶振),可以选择选择下面三者之一:
Int. RC Osc. 8 MHz; Start-up time: 6 CK + 0 ms;
[CKSEL=0100 SUT=00] Int. RC Osc. 8 MHz; Start-up time: 6 CK + 4 ms;
[CKSEL=0100 SUT=01] Int. RC Osc. 8 MHz; Start-up time: 6 CK + 64 ms; [CKSEL=0100 SUT=10]
如图:内部1M晶振,默认情况典型设置。(两个图分别为上下两部分,没有显示的部分均为不选中状态。)
下图显示的是选择内部晶振,1 Mhz RC
比如我们想使用外部7.3728M晶振,可以选择选择下面三者之一:
Ext. Crystal/Resonator High Freq.;
Start-up time: 258 CK + 4 ms;
[CKSEL=1110 SUT=00] 或后面与Ext. Crystal/Resonator High Freq.;.... 有关的选择。
如下两图:7.3728M晶振典型融丝位(及本站的开发板使用时候的典型设置)
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
五、用户按下冷裱键,向覆膜机管理系统单片机发出信号,覆膜机管理系统单片机识别到的是冷裱模式,不管电机是否运转,都不会加热,温度设置都无效;如用户按预热键或覆膜键或热裱键,向覆膜机管理系统单片机发出信号,则自动解除冷裱模式,覆膜机管理系统单片机将根据用户的按键指令类型,识别到前述一、二、三、四的控制模式;