中易网

单片机中I/O口定义问题

答案:4  悬赏:0  
解决时间 2021-02-02 10:12
比如单片机P1口,本来如果用拨码开关与P1.0-P1.7分别相连,当要读取拨码开关的值时,只需要语句比如B = P1;便能读取,但现在电路图中设计P3.0-P3.3以及P1.0-P1.3分别对应拨码开关的8位,问此时用什么语言将P3和P1的值让单片机读取?
最佳答案
两种方法,
第一种,是按位读取,就是定义 sbit P3_0 = P3^0;sbit P3_1 = P3^1;一位一位的读取。
第二种办法,
你原来的是B = P1,你现在改成 B =( P1<<4)|(P3&0x0F);或者 B =( P3<<4)|(P1&0x0F);就行了,这两个语句其实是一样的,只是看你的连接和方便你编程而已。
全部回答
B = P1; C = P3; B |=(C<<4); 这和原来的是一样的了。
io口有输入和输出两种状态,如此定义是为了方便阅读和理解,另外,很多单片机的io口都有两个独立的输入、输出寄存器,一般记做p2in、p2out,在51中如此定义是一个好习惯。
这样读,B = (P3<<4)|(0x0f&P1),读的P3.0-P3.3为高4位,P1.0-P1.3为低四位
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
大学生就业再难,能难的过学历更低的人数多过
一指馋烧烤(清真)这个地址在什么地方,我要处
什么是信息化项目监理?
关于热血江湖 一年不上游戏
伊丽莎白壁纸精品窗帘布艺馆我想知道这个在什
假定消费者的收入为10元,用于购买x和y两种商
我爱你和我也爱你意思一样吗?如果不一样那不
梦中人如何用英语说
皇城在哪里啊,我有事要去这个地方
馨竹缘宾馆我想知道这个在什么地方
爱尚真品日化学习用品我想知道这个在什么地方
中国大熊猫保护研究中心核桃坪野化培训基地地
早起头发太乱应该怎么弄
新福克斯两厢和三厢哪个空间大?除了后备箱
乐恒办公这个地址在什么地方,我要处理点事
推荐资讯
七彩绣坊在什么地方啊,我要过去处理事情
香浓碳锅鸡分店我想知道这个在什么地方
永阳老年服务中心在什么地方啊,我要过去处理
梦特美我想知道这个在什么地方
陶李线地址在哪,我要去那里办事
辽阳街/红军南路(路口)怎么去啊,有知道地址
三贵补隆地址在什么地方,想过去办事
到了上课的时间用英语怎么说2中回答方式
染发的时候有头皮发麻的感觉,这种染发剂是不
麦当劳,肯德基的哪种汉堡最好吃?
郑工社区地址有知道的么?有点事想过去
中国汽车卫视深圳基地在什么地方啊,我要过去
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?