AT89S52单片机C语言程序中的 |= 和 &=~ 什么意思?0x01 等等 这些地址能否给予讲解?我新手
答案:2 悬赏:60 手机版
解决时间 2021-03-15 18:26
- 提问者网友:焚苦与心
- 2021-03-15 01:53
AT89S52单片机C语言程序中的 |= 和 &=~ 什么意思?0x01 等等 这些地址能否给予讲解?我新手
最佳答案
- 五星知识达人网友:北方的南先生
- 2021-03-15 03:18
通过语句回答你吧
P2|=0x01 写完整了就是P2= P2|0x01 也就是将P2的最低位(P2.0位)置高电平
通过硬件电路你会发现
P2.0置高电平应该就可以实现Me向东移动
其他的也是同样
P2&=~0x01 写完整了就是P2 = P2&(~0x01) = P2&0xfe
也就是将P2的最低位(P2.0位)置低电平
通过硬件电路你会发现
P2.0置低电平应该就可以实现Qe停止向东移动
其他的也是同样
这样说还能理解
有问题你再联系我
P2|=0x01 写完整了就是P2= P2|0x01 也就是将P2的最低位(P2.0位)置高电平
通过硬件电路你会发现
P2.0置高电平应该就可以实现Me向东移动
其他的也是同样
P2&=~0x01 写完整了就是P2 = P2&(~0x01) = P2&0xfe
也就是将P2的最低位(P2.0位)置低电平
通过硬件电路你会发现
P2.0置低电平应该就可以实现Qe停止向东移动
其他的也是同样
这样说还能理解
有问题你再联系我
全部回答
- 1楼网友:野味小生
- 2021-03-15 04:16
P2|=0x01;表示P2=P2|0x01;就是先把P2的值与00000001进行或运算,结果存回P2。
而P2&=~0x01;~,为取反,~优先级最高,因此先得出~0x01=~00000001(b)=~是取反符号、、0x01是二进制 的转换追问那是不是十六进制转换成二进制后,我看到的就是p2.0,p2.1,p2.2等等这些对应的点位呢
而P2&=~0x01;~,为取反,~优先级最高,因此先得出~0x01=~00000001(b)=~是取反符号、、0x01是二进制 的转换追问那是不是十六进制转换成二进制后,我看到的就是p2.0,p2.1,p2.2等等这些对应的点位呢
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯