AVR单片机上电复位不可靠问题的解决
推荐昨晚在调试AVR 单片机时又有一些心得体会,虽然结论是一个很小的问题造成的,但在此还是写出来给大家参考,避免走弯路。
事件描述:
以前用AVR的芯片也做过好几个设计,从来没有怀疑过ATMEL的芯片的稳定性,以前的几个方案都是很稳定的,当然这跟PCB的设计有很大的关系,如果大家需要PCB相关参考资料的话可以到本站的PCB技术专栏里查找,那里有很多前辈的PCB布板心得。
这次用的ATmega48制作的串口电压表就出现一个很奇怪的现象,电路板是用万能板焊接的,程序里用到ADC功能和串口通讯功能,用的AVR下载工具是STK500,每次下载程序后芯片总是不能正常复位工作,还要读取下芯片的特征字或熔丝位让芯片重新复位下才能工作,这时候复位后工作都稳定,没出现什么不正常。刚开始不在意这个问题,因为在开发的初期用AVR DRAGON仿真调试部分功能时复位脚不能接任何器件,所以也就把复位脚悬着不接复位电路,以为是没接阻容复位而造成不稳定。在此还是没有怀疑过芯片的问题。
直到后来这个程序都开发完毕了,给ATMEGA48加上 一个10K的上拉电阻和0.1uF的电容做复位,把ISP线拔掉,独立给串口电压表上电(因为当时都是用几个电路模块连接做实验,串口电平转换电路也是独立的,初期串口调试已经都通过了,所以我把这个串口电平转换模块的连线都拔掉了),问题来了,上电不工作,手动把复位脚接地后放开可以工作,但过了一会后还是死了,加看门狗后还是老样,没有任何改善,每次手动复位正常工作后,把手指头放在ATMEGA48的1、2、3脚上方慢慢靠近,手指头还没碰到芯片就死机了~~~不会吧,没这么脆弱吧。以前用AVR Tiny26做的控制器,把手机放在芯片上方然后拨打10086都不会死机。不会中奖了吧,又不是第一次搞单片机,难道真要像以前论坛里的朋友开玩笑说:要杀只大公鸡祭拜下~~~
奇怪啊~~~实在没招,把串口电平转换电路给接上继续调试下,这时候再上电每次都是正常工作,而如果再把串口电平转换电路断开则又不能正常复位工作~~~手动复位后把手再靠近芯片的1、2、3脚上方就又马上死机~~~狂晕~~~~不是吧~~~ATMEGA48的第一脚是RST,2、3两脚刚好是RXD、TXD串行引脚,难道真的是这个串口干扰引脚影响到复位电路?不可能吧,ATMEGA48芯片用得人多的是,各方面的应用都有,不可能是芯片的缺陷,还是多怀疑下自己吧...重新再好好看看自己的程序吧...
单片机相关文章:单片机教程
单片机相关文章:单片机视频教程
单片机相关文章:单片机工作原理
评论