不小心将atmega16单片机的熔丝位设置如下图
CKSEL2,1,0 都是零了,按照datasheet上面这样的配置是,使用外部时钟信号,但是我电路板上无源晶振,所以单片机无法工作了,avrfighter也无法读取和设置熔丝位了。为了使得MCU重新工作,需要按照有源晶振的方法使得单片机重新工作,重新设置熔丝位。
正常单片机IO输出2MHZ信号(这里也可以使用信号发生器,只要输出CLOCK就行了,频率要高些的),连接到被锁定单片机的XTAL1(被锁单片机的无源晶振需要断开和XTAL1,XTAL2的连接),然后连接ISP下载线到被锁定单片机的ISP接口,利用AVRfighter就可以重新设置熔丝位了,见下图。
其实看起来很简单,不过,做起来过程很复杂,主要注意问题如下,
第一,外接的CLK信号要求,最好2MHZ左右,因为你的avrfighter在读写flash的时候有个clk信号,我不知道这个信号频率,所以外接的CLK信号要大于ISP的clk信号。当然,你可以设置ISP信号clk,也可以,那就降低ISP的clk频率。
第二,外接CLK信号要接到被锁单片机的XTAL1口,网上有的提供的方法,估计是笔误。
第三,这个方法对一部分单片机有效,基本上可以满足需求。
下面提供一个网友的文章,也是关于解锁AVR的,蛮好的,有机会可以试试。
阅读(3195) | 评论(0) | 转发(0) |