打印

请看8255的使用

[复制链接]
1944|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lhblast|  楼主 | 2010-9-3 11:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位:8255a的D0-D7连接P0口,cs接P2.5,  A0接P2.4,   A1接P2.7.    /rd  接单片机的/rd.    /wr  接单片机的/wr.

2.7  2.6  2.5  2.4  2.3  2.2  2.1  2.0  0.7  0.6  0.5  0.4  0.3  0.2  0.1   0.0
  A1        cs    A0
  0     0    0     0     0     0     0     0     0     0     0     0    0    0     0      0     0x0000 a8255
  0     0    0     1     0     0     0     0     0     0     0     0    0    0     0      0     0x1000 b8255
  1     0    0     0     0     0     0     0     0     0     0     0    0    0     0      0     0x8000 c8255
  1     0    0     1     0     0     0     0     0     0     0     0    0    0     0      0     0x9000 contro

#define  a8255  XBYTE[0x0000]
#define  b8255  XBYTE[0x1000]
#define  c8255  XBYTE[0x8000]
#define  contro  XBYTE[0x9000]
初始化:
contro  =0x00d0;//A口是输入,工作在方式2。

读A口:
buff  =  a8255;



以上的程序有错误吗?为什么从A口读出得值不对阿?请指教。读的时候还需要控制/rd  和/wr两个口线吗?
以下读法也不对。
rd=0;
wr=1;
buff  =a8255;

相关帖子

沙发
ayb_ice| | 2010-9-3 11:56 | 只看该作者
还是要上图才行

使用特权

评论回复
板凳
lhblast|  楼主 | 2010-9-3 11:58 | 只看该作者
那里不明白?写得不清楚吗

使用特权

评论回复
地板
lhblast|  楼主 | 2010-9-3 12:51 | 只看该作者
请指教

使用特权

评论回复
5
calor| | 2010-9-3 20:03 | 只看该作者
楼主第一个程序用的存储器映射的编程,不需要控制WD、RD。
但是8255的读写时序要与你所使用的单片机的读写时序一致。

8255很简单,仔细看下资料吧。

使用特权

评论回复
6
song0| | 2010-12-11 12:58 | 只看该作者
没写清楚

使用特权

评论回复
7
airwill| | 2010-12-11 13:32 | 只看该作者
楼主的程序用的是存储器接口,不需要控制WD、RD。
但是端口要初始化, 在工作前, 设置所有用到的口线为 1.

使用特权

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

本版积分规则

7

主题

16

帖子

0

粉丝