单片机i/o口电压问题

来源:百度知道 编辑:UC知道 时间:2024/06/23 19:55:57
我自己做了块面包板,单片机插上后测量各引脚电压发现都有电,在程序中清楚各I/O口测量还是有电,不知怎么回事,大侠指点迷津!
程序:ORG 0030H
MOV P0,#00H
MOV P1,#00H
......
用万用表测量时,一只表笔端放在GND上,另一只表笔在各I/O移动,发现各口都有电压,为何缘故,大侠解释下,谢谢!
我用的单片机型号是STC12C5A60S2,这款单片机没有EA脚,搞不懂为什么没有EA脚。最后,如果是芯片被烧坏了,有什么办法知道是芯片坏了(除了换新的测试比较)

51单片机上电个个端口就是高电平。虽然你的程序里都给了0,但你下面的程序是怎么样的呢?有可能是单片机执行完所有指令之后,没有循环执行你的程序。也就是程序都执行一次之后,单片机不知道要干什么了,运行在无固定的状态,可能是重新返回到初始化的高电平状态。
你可以在最后的end之前加上一个LJMP 0030H。就是单片机一直循环执行这段程序。

补充:不够40引脚的51系列单片机就是没有EA,现在的单片机都有很大的内部程序存储器,根本就不需要EA引脚了。要测试单片机是否还能用,直接写一个程序:先把某一个I/O口置0,然后延时1秒,再把这个I/O口置1,延时1S,一直循环这四个状态。然后你用万用表测就知道了。

有三个可能:
1. 你在后面的程序里面又修改了I/O口,但你既然能把程序这样写出来,相信应该后面没有改动,除非你是在故意考我们!
2. CPU是坏的,虽然很无稽,但也不是没有可能。我曾经在用51做一个串口通讯时,无论如何都调不出来,搞了相当长时间,最后最无奈的办法就是换CPU,居然好了。当然,这种几率太小了,能碰到这样的机会,真算你有福气,赶明去买彩票,一定中。
3. CPU根本就没有工作,这种可能性最大。你别告诉我都查过了,不可能。相信大家都是从试验板做试验过来的,知道那玩意不是好东西,更何况是面包板,接触不良的事时有发生,而且由于是面包板上焊的,一不小心还有可能会漏焊单片机最小系统中必须的某一部分。
我不知道你用的什么单片机,51系列单片机最小系统是:电源、晶振、复位和29脚EA端,缺一不可。通过检查元件并测电压(通电后测复位电压为0V,测晶振两端分别对地电压在1/2电源左右)基本可以判断。
有一个小请求,等你把问题找到后,给大家解释一下,长长见识!

如果你坚决不换的芯片的话,可以写一个简单的程序,让某脚每隔1-2秒钟翻转,然后你用万用表测,这样就能判断是程序的事还是硬件的事。
你说的那种单片机我没搞过,所以,实在是无能为力,只能提供这么一点小小的思路了。

只要
ORG 0030H
main:
MOV P0,#00H
MOV P1,#00H
ljmp main<