找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1188|回复: 3
收起左侧

MCU如何把不同组的IO口的数据,整合到一个数据上

[复制链接]
ID:980872 发表于 2021-11-16 16:05 | 显示全部楼层 |阅读模式
C8051F330, 使用P0.4~P0.7和 P1.4~P1.7,作为一个八位的输入,请问如何把这些口的值赋到一个变量上面,谢谢
回复

使用道具 举报

ID:624769 发表于 2021-11-16 16:19 | 显示全部楼层
unsigned char   Get_CombiData()
{
       unsigned char x,y;
       x = P0 & 0xf0;
       x >>= 4;
       y = P1 & 0xf0;
       x  |= y;
       return x;
}

为方便你理解,我用分步写的,你要好看也可以合并成一行,虽然意义不大。
回复

使用道具 举报

ID:517466 发表于 2021-11-16 16:20 | 显示全部楼层
简单的把两个口数据,通过与或操作就可合并成一个数据
(P0&0x0F)  |  (P1&0xF0)
(P0&0x0F)  +  (P1&0xF0)
回复

使用道具 举报

ID:161164 发表于 2021-11-16 16:21 | 显示全部楼层
本帖最后由 lkc8210 于 2021-11-17 09:39 编辑

uchar Group_IO()
{
uchar dat = 0;
dat |= (uchar)P0_4 << 0;
dat |= (uchar)P0_5 << 1;
...
dat |= (uchar)P1_6 << 6;
dat |= (uchar)P1_7 << 7;
return dat;
}
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表