找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2036|回复: 3
打印 上一主题 下一主题
收起左侧

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

[复制链接]
跳转到指定楼层
楼主
ID:980872 发表于 2021-11-16 16:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
C8051F330, 使用P0.4~P0.7和 P1.4~P1.7,作为一个八位的输入,请问如何把这些口的值赋到一个变量上面,谢谢
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
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 单片机教程网

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