这个单片机程序,K1按下后,P1.4的电平变化?

来源:百度知道 编辑:UC知道 时间:2024/09/21 05:29:24
ORG 00H
START: MOV A,P1
ANL A,#0F0H
RR A
RR A
RR A
RR A
XOR A,#0F0H
MOV P1,A
SJMP START
END
========================
K1按下后,P1.4接到GND,所以P1.4是低电平.
上面的程序运行后,A为1111 1110,这时P1.4为1,即高电平?
在我们按下K1后,P1.4的电平先是低电平,然后马上变成高电平?

以上我的理解对吗?

只要K1不释放,引脚P1.4永远是低电平,但程序运行后,A为1111 1110,引脚P1.4对应的寄存器的值是1,也就是说引脚跟引脚对应的寄存器的值是两回事
还有51单片机的P1口是由下拉晶体管和上拉电阻组成的结构,而不是推挽结构,所以这程序没问题,如果是推挽结构的话,上拉晶体管就会被烧掉了。