EDN首页   博客首页

日志档案

发表于 2006-10-13 14:51:02

1

标签: AVR  

AVR单片机的熔丝位

AVR单片机ATmega16L出厂时熔丝位的设置有两点是需要使用者注意的,一是它的时钟设置为CKSEL3=0CKSEL2=0CKSEL1=0,即使用内部1MHzRC振荡器,因此当你要用外部晶振时,比如你要用串口,这时就需要重新配置熔丝位,才能正常使用串口。二是JTAGEN 熔丝位。缺省为编程状态。因此你如果要用PC2~PC5做一般I/O引脚用的话,也不能使用,必须在熔丝位配置窗口中把JTAGEN前面的那个√去掉,这样程序才能正常运行。我在使用该芯片时就遇到过这些问题,写出来提醒同行参考。

当然你在配置熔斯位时要小心从事,防止芯片锁死。有不少网友屡屡遭此不幸。其实你在熔丝位配置时,只要方法正确,一般是不会出错的。以我们常用的小马PonyProg2000下载软件为例,在Command菜单中选Security and Configuration Bits,(或者Security and Configuration Bits按钮)在接着出现的熔丝位配置窗口的下面,有几个按钮,千万不要乱按。正确的方法是先按“Read”按钮,读出原来芯片中熔丝位的配置,然后再以此为基础,按你的需要进行局部修改,确定无误后再按“Write”按钮,就OK了。一般不会出现锁死的问题。如果万一由于操作不当,出现锁死也不必惊慌。除了用并行编程器恢复的方法以外,对于没有并行编程器的朋友,还可以用外接有源振荡器的方法解锁,方法是用一个1MHz的振荡信号接到ATmega16L的 13脚XTAL1,接通单片机的电源,正常的话你会看到原来单片机中的程序已经可以正常运行了。说明外接振荡器已经使单片机恢复工作了。这下来就好办了,仍然用PonyProg2000,点Security and Configuration Bits按钮,进入熔丝位配置窗口,这时你会看到所有的熔丝位都没打√,连灰色的SPIEN前面那个模糊不清的√也没了,不过没关系Don’t worry,你只要按照下图中ATmega16L出厂时熔丝位的设置√,然后按“Write”按钮,如果屏幕轻轻的闪一下,OK,恭喜你已经好了,再按“Read”按钮,你会看到除了你打√的地方以外,SPIEN前面那个模糊不清的√也出来了。锁死的芯片已经解锁了。

点击看大图

要注意的是外接的信号幅度不可太大,以免损毁芯片,我开始用一个51单片机的震荡信号接过来,结果不行,可能是驱动能力不够。后来换了一个信号发生器输出的1MHz的信号,就成功了。也可以用NE555芯片搭个振荡器做信号源。

Fri Oct 13 2006

系统分类: 单片机   |   用户分类: 单片机   |   来源: 无分类   |   【推荐给朋友】   |   【添加到收藏夹】

    阅读(1826)    回复(3)  

投一票您将和博主都有获奖机会!

  • cocappjj

    2006-10-17 14:35:41

    好文章,谢谢博主!

  • re

    2007-6-22 11:26:35

    我用的是天龙的下载软件怎么配置MAGEL16

  • 杨扬

    2007-9-7 21:46:25

    小舅加油啊,支持你!!~~