单片机上电没运行,要检查什么?
3个回答
展开全部
单片机上电后没有运转,首先要检查什么?
首先应该确认电源电压是否正常。用电压表测量接地引脚跟电源引脚之间的电压,看是否是电源电压,例如常用的5V。
接下来就是检查复位引脚电压是否正常。分别测量按下复位按钮和放开复位按钮的电压值,看是否正确。
然后再检查晶振是否起振了,一般用示波器来看晶振引脚的波形,注意应该使用示波器探头的X10档。另一个办法是测量复位状态下的IO口电平,按住复位键不放,然后测量IO口(没接外部上拉的P0口除外)的电压,看是否是高电平,如果不是高电平,则多半是因为晶振没有起振。
另外还要注意的地方是,如果使用片内ROM的话(大部分情况下如此,现在已经很少有用外部扩ROM的了),一定要将EA引脚拉高,否则会出现程序乱跑的情况。有时用仿真器可以,而烧入片子不行,往往是因为EA引脚没拉高的缘故(当然,晶振没起振也是原因只一)。经过上面几点的检查,一般即可排除故障了。如果系统不稳定的话,有时是因为电源滤波不好导致的。在单片机的电源引脚跟地引脚之间接上一个0.1uF的电容会有所改善。遇到系统不稳定时,就可以并上电容试试(越靠近芯片越好)
首先应该确认电源电压是否正常。用电压表测量接地引脚跟电源引脚之间的电压,看是否是电源电压,例如常用的5V。
接下来就是检查复位引脚电压是否正常。分别测量按下复位按钮和放开复位按钮的电压值,看是否正确。
然后再检查晶振是否起振了,一般用示波器来看晶振引脚的波形,注意应该使用示波器探头的X10档。另一个办法是测量复位状态下的IO口电平,按住复位键不放,然后测量IO口(没接外部上拉的P0口除外)的电压,看是否是高电平,如果不是高电平,则多半是因为晶振没有起振。
另外还要注意的地方是,如果使用片内ROM的话(大部分情况下如此,现在已经很少有用外部扩ROM的了),一定要将EA引脚拉高,否则会出现程序乱跑的情况。有时用仿真器可以,而烧入片子不行,往往是因为EA引脚没拉高的缘故(当然,晶振没起振也是原因只一)。经过上面几点的检查,一般即可排除故障了。如果系统不稳定的话,有时是因为电源滤波不好导致的。在单片机的电源引脚跟地引脚之间接上一个0.1uF的电容会有所改善。遇到系统不稳定时,就可以并上电容试试(越靠近芯片越好)
展开全部
呵呵,系统出问题原因比较复杂,可能是硬件的,也可能是软件的。
1.
检查供电:直接用万用表测量vcc和gnd的电平,是否符合要求。如果vcc偏离5v或3.3v过多,检查7805或其他稳压、滤波电路的输出。
2.
检查晶振……
这个我也不知道怎么检查晶振好坏,我的方法比较土:一般是多换几个晶振上电试试,反正石英晶振不值很多钱
:)
3.
检查reset引脚电平逻辑,注意所用机型是高电平复位还是低电平复位的,如果mcu一直处于反复被复位状态,呵呵,结果不言而喻。
4.
如果设计时,程序是从扩展的外部rom开始运行的,还需检查ea脚。
5.
检查mcu是否损坏或flash无法下载,最好换块新的芯片试试。
6.
如果确定上述几点都没问题,按道理说硬件是应该正常运行的了(为了防止万一,也可以写一段较简短的并口亮灯程序测试下最小系统)……
如果测试程序运行正常。那就基本确定是控制程序的问题了,在keil里反复跟踪调试程序,留意调用子程序后工作寄存器组、累加器、dptr等是否为预期值。
1.
检查供电:直接用万用表测量vcc和gnd的电平,是否符合要求。如果vcc偏离5v或3.3v过多,检查7805或其他稳压、滤波电路的输出。
2.
检查晶振……
这个我也不知道怎么检查晶振好坏,我的方法比较土:一般是多换几个晶振上电试试,反正石英晶振不值很多钱
:)
3.
检查reset引脚电平逻辑,注意所用机型是高电平复位还是低电平复位的,如果mcu一直处于反复被复位状态,呵呵,结果不言而喻。
4.
如果设计时,程序是从扩展的外部rom开始运行的,还需检查ea脚。
5.
检查mcu是否损坏或flash无法下载,最好换块新的芯片试试。
6.
如果确定上述几点都没问题,按道理说硬件是应该正常运行的了(为了防止万一,也可以写一段较简短的并口亮灯程序测试下最小系统)……
如果测试程序运行正常。那就基本确定是控制程序的问题了,在keil里反复跟踪调试程序,留意调用子程序后工作寄存器组、累加器、dptr等是否为预期值。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |