单片机 P0口、P1口 寄存器和引脚的不同

已知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)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值