单片机 P0口、P1口 寄存器和引脚的不同
程序员文章站
2022-06-15 22:44:22
已知8051单片机的P0口8个引脚开路,P1口8个引脚均通过1k电阻上拉到电源(VCC)。MOV A, #10MOV B, #20MOV P1, AMOV P0, BADD A, BMOV B, P0ADD A, P1执行以上程序后,寄存器A =(第1空),B=(第2空),P0锁存器=(第3空),P1锁存器=(第4空)。答案:第一空:29;0x1d;0x1D;1dh;1dH;1Dh;1DH第二空:0;0x00;00h;00H第三空:20;0x14;14h;14H第四空:1...
已知8051单片机的P0口8个引脚开路,P1口8个引脚均通过1k电阻上拉到电源(VCC)。
MOV A, #10
MOV B, #20
MOV P1, A
MOV P0, B
ADD A, B
MOV B, P0
ADD A, P1
执行以上程序后,寄存器A =(第1空),B=(第2空),P0锁存器=(第3空),P1锁存器=(第4空)。
答案:
第一空:
29;0x1d;0x1D;1dh;1dH;1Dh;1DH
第二空:
0;0x00;00h;00H
第三空:
20;0x14;14h;14H
第四空:
10;0x0a;0x0A;0AH;0ah
这里只解释为啥第一空为29。
注意Port引脚和Port锁存器的不同,Port引脚的值由外部设备决定,Port锁存器的值由CPU写入。P0没有连接外设,由于P0口是漏极开路输出,所以作为IO输入时应该=0,P1口外接高电平,所以作为IO输入时=0xff。
所以A=A+P1=30+255-256=29。(因为寄存器A是8位的所以最大为256)
本文地址:https://blog.csdn.net/qq_45653763/article/details/107906097