Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2286898
  • 博文数量: 187
  • 博客积分: 1457
  • 博客等级: 上尉
  • 技术积分: 2423
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-13 09:41
个人简介

如需要绘制PCB,设计电路可以和我联系。sunhenu@163.com.

文章分类

全部博文(187)

文章存档

2017年(2)

2016年(2)

2015年(7)

2014年(13)

2013年(80)

2012年(83)

分类: LINUX

2012-11-23 15:12:22

不小心将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的,蛮好的,有机会可以试试。




阅读(3194) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~