51单片机P2口失灵

来源:百度知道 编辑:UC知道 时间:2024/05/22 02:21:43
org 00h
ajmp main
org 30h
main:
mov sp,#5fh
mov p0,#0ffh
mov p2,#10101010b
end
这是我写的一段测试程序,但是发现51的p2口只有一个是高电平,其它的都是低电平,我检查了连线等都没有错误,我想问一下有没有可能是编程器烧写P2口的那部分坏了?

你在P2口用10K的电阻上拉试一下看
将电阻接在P2口与VCC之间
如果还不行,请看下面:

一般要将IO口工作与灌电流输出形式(灌电流输出可以达到10mA左右,点亮一个发光二极管是不成问题的,而拉电流输出则只有零点几mA)

在使用数字集成电路时,拉电流输出和灌电流输出是一个很重要的概念,例如在使用反向器作输出显示时,当输出端为高电平时才符合发光二极管正向连接的要求,但这种拉电流输出对于反向器只能输出零点几毫安的电流用这种方法想驱动二极管发光是不合理的(因发光二极管正常工作电流为5~10mA)。

当反向器输出端为低电平时,发光二极管处于正向连接情况,在这种情况下,反向器一般能输出5~10mA的电流,足以使发光二极管发光,所以这种灌电流输出作为驱动发光二极管的电路是比较合理的。因为发光二极管发光时,电流是由电源+5V通过限流电阻R、发光二极管流入反向器输出端,好像往反向器里灌电流一样,因此习惯上称它为“灌电流”输出。

不是P2口失灵,而是你不了解51
51高电平的时候只是弱上拉,这时你如果接了个负载(电阻、LED之类)的话就会把这个口拉成低电平,很正常,如果你要它输出高电平,可以加驱动,分立的如9012,8550都行,集成的如ULN2003之类的

可能负载拉低了,断开负载看看,一般是弱上了,强下拉

程序没问题,仿真结果如下。

51单片机 P0、P1、P2、P3口输出信号是否保持? 51单片机,P2口位选,P0口锻选,利用查表方式如何在P2.0显示数字0呢? 无ROM单片机在应用中p2和p0口能否直接作为输入/输出口使用 关于单片机 51单片机 51单片机 单片机的p0,p1,p2,p3 接口 硬件是一样的么?? 单片机的P2.7与74LS273的WR相或后,P0口与74LS273的8位输出端相连,为什么74LS273的地址为:7FFFH? 51单片机pic单片机avr单片机的区别 求救,单片机的实验报告,51单片机。 AT89CS2单片机与51单片机的区别