4703|4

67

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

小问题:为什么P2^1可以表示P2.1端口 [复制链接]

如题,为什么呢?P2^1这个异或的运算是怎么样的?

最新回复

afg
^ 这个运算符被C51扩展了 和别的新加的关键字一样 为了适应单片机平台而改动的 当然,它依然具备标准C里的异或运算功能 也就这么回事 别想太多... 至于什么时候是什么作用,那么它于你用它的地方 以及编译器识别   详情 回复 发表于 2008-7-14 17:27
点赞 关注

回复
举报

74

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
0 xor 0 = 0
0 xor 1 = 1
所以异或在实际中可以用来取某位的值,
p2 ^ 1 的结果只和p2.1位的状态有关系,其它位都和0异或,被清掉了
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
这个别用普通的异或操作符解释,不信可以在标准C下写一下,绝对无法实现C51中的功能。
C51中增加了sbit这个类型,用^实现bit对应功能是和这个sbit相关的。此功能只有在C51下才有效。
所以别问为什么,因为C51语言语法规范规定了可以这样用。
如果你自己设计一个语言,规定 sbit = P2&1; 那么就是用&而不是用^了。
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

4
 
建议你查看一下REG51.H这个头文件 应该就能知道了
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

5
 
^

这个运算符被C51扩展了

和别的新加的关键字一样

为了适应单片机平台而改动的

当然,它依然具备标准C里的异或运算功能

也就这么回事

别想太多...

至于什么时候是什么作用,那么它于你用它的地方

以及编译器识别

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表