不懂就要问:为什么P1^0就代表P1口的0引脚?

2020-02-02 09:22发布

前几天一学弟问我,怎么点亮一个LED灯
答曰:P1^0=0;
又问:P1^0为什么代表第0引脚?
答曰:@@#¥%…………&,最后勉强的回答:(1)'^'是异或的符号,但是在这里,它是表示位偏移的意思,P1^0就是P10的意思
哎,自己的基础不好,不知道误导学弟没?当初学习51的时候没有深究。各位有没有更好的解释?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
13条回答
jiaohaitao
2020-02-02 13:16
嗯,感觉也是,用"异或"解释不通,应该是编译器默认吧。不过这又出来个问题,编译器怎么分清真正的异或运算和这个默认的位偏移呢?
我认为,一般涉及到这个某端口位的操作都会用到'sbit'这个C51扩展的变量类型。如:sbit P1_0=P1^0;这样就不会把这个'^'当成正常的异或运算
不知道对不对?

一周热门 更多>