打印

请教大家一个关于单片机IO口组合的问题

[复制链接]
2526|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wangxl726|  楼主 | 2011-10-23 08:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
和别人探讨51单片机IO口时想到一个问题:

比如说我现在使用51核的单片机,一般情况下如果需要一个8位的数据线Data[7..0],可以直接将这个8位数据线接到P1口,那么可以P1.0对应Data0、P1.1对应Data1后边的以此类推直到P1.7对应Data7,然后可以直接对P1赋值即可。
这种情况下直接P1= 0xFF,就可以将数据从P1口发出去。

假如说现在有一个项目因为PCB布线的问题,8位数据线Data[7..0]不是按顺序用的某一个IO口,而是这样一个顺序:Data0接在P0.2、Data1接在P0.1、Data2接在P0.0、Data3接在P3.7、Data4接在P1.0、Data5接在P1.1、Data6接在P1.2、Data7接在P1.3。
这个时候如果想unsigned char Data = 0xFF,就能对相应IO口赋值,该怎么设置呢?

感谢大家

相关帖子

沙发
songbangyan| | 2011-10-25 11:07 | 只看该作者
按照你的接口,按位逐一实现……最简单的办法

使用特权

评论回复
板凳
ayb_ice| | 2011-10-25 11:22 | 只看该作者
需要转换一下
或通过软件,或通过外部硬件

使用特权

评论回复
地板
linqing171| | 2011-10-25 11:58 | 只看该作者
不用管它,如果你的下面是满的,比如有12跟低端地址线,有2^12字节的RAM,你随便混接,你不告诉做软件的就是了。错不了的。

使用特权

评论回复
5
linqing171| | 2011-10-25 11:59 | 只看该作者
我晕,看你P0 P1 P3都用了,这个没有办法,必须用软件来模拟总线了。

使用特权

评论回复
6
rclong| | 2011-10-25 14:10 | 只看该作者
外部加一片锁存?

使用特权

评论回复
7
流行音乐| | 2011-10-25 19:55 | 只看该作者
改布线。

使用特权

评论回复
8
wangxl726|  楼主 | 2011-10-29 14:50 | 只看该作者
感觉还是用按位处理比较方便,谢谢各位

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

13

帖子

1

粉丝