- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9章常用外设与通信接口
1
第9章 常用外设与通信接口
2
9.1 可编程并行接口芯片82C55
8255具有2个独立的8位I/O口(A口和B口)和2个独立的4位I/O(C口上半部和C口下半部),提供TTL兼容的并行接口。作为输入时提供三态缓冲器功能,作为输出时提供数据锁存功能。其中,A口具有双向传输功能。
8255有3种工作方式,方式0、方式1和方式2,能使用无条件、查询和中断等多种数据传送方式完成CPU与I/O设备之间的数据交换。
B口和C口的引脚具有达林顿复合晶体管驱动能力,在1.5V时输出1mA电流,适于作输出端口。
C口除用做数据口外,当8255工作在方式1和方式2时,C口的部分引脚作为固定的联络信号线。
9.1.1 8255的基本功能
3
1. 内部结构
9.1.2 8255的内部结构和外部引脚
4
2. 外部引脚
5
8255的端口与操作选择表
A1
A0
DR#
WR#
CS#
操 作
特征位
0
0
0
1
0
A口内容读至数据总线
无
输
入
0
1
0
1
0
B口内容读至数据总线
无
1
0
0
1
0
C口内容读至数据总线
无
0
0
1
0
0
数据总线内容写至A口
无
输
出
0
1
1
0
0
数据总线内容写至B口
无
1
0
1
0
0
数据总线内容写至C口
无
1
1
1
0
0
数据总线内容写至控制寄存器
D7=1
数据总线内容写C口按位置/清控制字
D7=0
X
X
X
X
1
端口输出为高阻
无
禁
止
1
1
0
1
0
非法
无
X
X
1
1
0
端口输出为高阻
无
6
9.1.3 8255的工作方式
1.方式0
方式0提供两个8位口(A和B)和两个4位口(PC7~PC4,PC3~PC0),任何一个口都可用做输入或输出(单向),由CPU用简单的I/O指令来进行读/写。
一般用于无条件传送的场合,也可以用做查询式传送。
习惯上将A口和B口作为数据口,将C口作为控制输出和状态输入口。
7
8255A方式0输入时序和参数说明
8
8255A方式0输出时序和参数说明
9
2.方式1 (A口和B口有此方式,单向)
(1)方式1的输入
A口和B口方式l的输入组态
10
INTE为中断允许位,对应PC口寄存器(状态字)的D4位(INTEA)和D2位 (INTEB) ,可通过对PC口按位写方法设置;
PC2、PC4引脚作用:用作锁存数据口数据;
中断条件:STB#(引脚)=1(无效),IBF=1、INTE=1;
PC6、7可作为数据线使用。
11
12
方式1下的输入过程:
外设把数据送到8255端口
外设用选通信号STB#把数据打入端口的输入锁存器
输入缓冲器满信号IBF有效,CPU可查询该信号
如果INTE有效,8255将使INTR有效,申请中断
CPU向8255发读信号RD#,从8255端口读数据
中断请求信号INTR变无效,然后IBF无效,外设可送下一个数据。
13
(2)方式1的输出
8255方式1输出组态
14
INTE为中断允许位,对应PC口寄存器(状态字)的D6位(INTEA)和D2位 (INTEB) ,可通过对PC口按位写方法设置;
PC2、PC6引脚作用:用作对OBF#的回应;
中断条件:ACK# (引脚)=1(无效), OBF#=1(无效)、INTE=1;
PC4、5可作为数据线使用。
15
16
方式1下的输出过程:
CPU发WR#信号,向8255送一个数据
WR#使INTR无效,OBF#有效,通知外设可取数据
外设接到数据后,向8255回送ACK#信号
OBF#无效,接着ACK#无效,其上升沿引发INTR有效,向CPU发中断申请,请求发送新数据。
17
3.方式2
8255方式2组态
双向I/O,只有A口有此方式
18
9.1.4 8255的控制字与初始化编程
1.工作方式控制字(写,A1A0=11 )
8255工作方式控制字
19
例9.1 某系统要求使用8255的A口工作于方式1作输入,B口工作于方式0作输出,C口上半部输入,下半部输出。8255端口地址为60H-63H。
? 控制字为=0B8H
? 初始化程序为:
MOV AL,0B8H
OUT 63H,AL
20
2.C口按位置/复位控制字(写,A1A0=11 )
C口按位置/复位控制字
例9.2 如上例,若A口工作于方式1作输入,要使用中断传送方式,则应当写PC4的按位置位字:
MOV AL
OUT 63H,AL
21
? 方式1下8255状态字中INTE位的置位和复位
⊙ 若禁止PA口输入中断请求
MOV DX,303H
文档评论(0)