这是本人第一次发帖,我也只是一个初级菜鸟,刚入门学习AVR单片机不久,发此贴,是为了给碰到此问题的朋友一个帮助,也为了给帮助我太多太多的论坛和师兄一个小小的我现在能做到的支持!这论坛很好。这是关于熔丝位的配置的, 可能有错误。希望高手继续指点纠正。谢谢。
因为困惑于Atmega128熔丝位的问题,它和103兼容,导致好多资源用不了。所以为了修改它的熔丝位,早早就查找了很多关于如何配置熔丝位的文章和注意事项,但一直未敢动手,这几天看了马潮老师的《AVR单片机嵌入式系统原理与应用实践》之后,开始要写程序时,不得已尝试配置熔丝位,我是非常非常小心地细致的配置这些熔丝位的。首先说明一下,用于实验的是师兄做的开发板,芯片是Atmega32,下载器是网上买的比较便宜的下载器,软件是智锋公司的。
配置时一切很顺利,软件上都有熔丝位配置的说明,就是关于哪个管脚是开启,哪个配置是关闭,但是没有说该怎么配置的,这个结合资料和自己的要求,配置这个很关键很重要,要特别小心,否则配置错了很麻烦,但我个人觉得,不要把ISP或者JTAG两个给禁止了就行(JTAG要是不用可以禁止,建议初次尝试不要禁止,免得配置错误芯片被死锁,用JTAG恢复芯片时用不了)。
芯片默认的是内部的RC震荡器1MHZ,所以刚开始不熟悉的话,这个就不要改它,先检验其它的好不好使先。
我第一次就是这样改的,结果成功了。。然后我就试着做第二个尝试,改用外部晶振,外部的晶振就比较麻烦了。。因为软件上晶振最大只能设置3MHZ--8MHZ。。。而我开发板上的晶振是24MHZ!!!!!我就尝试了一下,很悲剧的告诉你,我的芯片终于死锁了!!
因为我没有禁止ISP或者JTAG的功能。其实解锁不麻烦,我可以用JTAG重新编程的,但是我没有。只能尝试其它方法,我也可以把开发板的晶振换成合适的,比如8MHZ,但是尝试过了,不好使,被死锁的芯片,ISP功能不能用了,因为没有时钟源,我就想到自己用单片机做一个高速脉冲来当时钟源,提供给开发板的晶振输入脚,但是很悲剧的是这个能做高速脉冲的单片机是同一个开发板的,也没法去实验室借下函数发生器,结果在师兄的帮助下,他叫我用另外一款单片机的晶振引到开发板上的输入脚也可以。我这才明白添加晶振的意思了。。。唉。。。愚钝啊。。。试了。。。把晶振成功解锁了。。然后马上又改回内部的RC振荡器先,因为有了这个方法解锁。我就更加敢于尝试了。把熔丝位的配置学会了。。。
但是正要庆祝大功告成时,悲剧就那么产生了。。拔晶振的时候不小心晶振掉到开发板上了。。因为开发板好多元器件都是贴片的,而且晶振也是金属,所以把开发板上的电阻电容不小心整短路了。。通过USB直接整到电脑去了。。我还没反应过来,电脑电源直接被关闭了。。。再怎么打都打不开了。。。第一个反应是电脑是我怎么这么倒霉,主板被烧坏了。。马上找来对修电脑很熟悉的同学,他也说应该被烧坏了。。这下我的心都快凉了。。晚上还想听下六级听力明天打下酱油的,听不了了。。既然烧坏了只能修了。。我也没啥继续伤心的。跑到同学那里去聊天了。。没想到同学听我说完就说肯定不是烧坏了。这样的话电脑主板怎么可能烧坏的那么快。。
于是,和同学回来开始准备拆笔记本了,电池卸下来了。。插上直流电源供电,结果电脑开启了。。。。因为开发板短路之后,通过USB下载器传到电脑的USB口,还好我的电脑USB口有保护电路。要不然真的烧坏了。。。为了证明刚才的设想。冒死再试一次。故意扔了个晶振到开发板上。电脑马上及电源被关闭了。。。又“主板被烧坏了”。哈哈。。。
从这个经历,虽然很冒险,很伤神伤脑,但是没有尝试没有牺牲,怎么能学到东西呢?怎么能体验到这份乐趣呢?呵呵
补充:还有一个比较容易混淆的问题。在智锋的那个编程器下载软件中,在使用外部晶振的设置中,它有两种选择,一种是外部RC振荡器,一种是外部晶振,应该选外部RC振荡器,而不是外部晶振,我个人觉得这里的外部晶振应该是有源晶振吧?不知是不是这样解释,高手指点
下面附带些资料,希望有用,这些都是可以从网上找到的。
|