微机原理及接口技术-7

更新时间:2023-03-29 00:36:01 阅读量: 互联网资料 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第七章 可编程接口技术CPU与外设之间的信息交换是通过I/O接口完成的。不同 的外设有不同的接口电路与之对应。接口电路的复杂程度与 接口的功能相关。为了适应不同的需要,芯片生产厂商推出 了各自系列的接口芯片,主要分为两类: 1、专用接口芯片 这类芯片是专门为外设的某种功能设计的,不需要进行 任何设置即可工作。如:振荡器、锁存器、缓冲器、ADC、 DAC等 2、可编程接口芯片 这类芯片可用于多种场合,使用前需要对芯片进行设置 来确定其工作模式、工作状态和功能。如:并行接口芯片、 串行接口芯片、定时/计数器、中断控制器、DMA控制器等。

7.1 并行通信接口芯片 8255A8255A为可编程的并行I/O接口芯片。具有三个8位端 口(A口、B口、C口),一个8位控制寄存器,共占用4个口 地。8255A为+5V供电,40个引脚。

7.1.1 8255A引脚与内部结构与CPU连接的信号线 D7-D0:数据线,三态双向 CS:芯片选择信号 RD/WR:芯片读/写信号 A1,A0:端口选择信号 RESET:复位信号 与外设连接的信号线 PA7- PA0: A口数据信号 PB7- PB0: B口数据信号 PC7- PCO: C口数据信号

8255A内部结构:

端口A: 具有一个8位数据输入锁存器和一个8位数据输出锁存 器/缓冲器,故数据输入/输出均锁存。 端口B、端口C: 具有一个8位数据输入缓冲器和一个8位数据输出锁存 器/缓冲器,故有输出锁存,无输入锁存。

8255A端口选择操作:CS RD WR A1 A0 端口选择及操作

0 0 0 0 0 0 0 0 0 1

1 1 1 1 0 0 0 0 1 X

0 0 0 0 1 1 1 1 1 X

0 0 1 1 0 0 1 1 X X

0 1 0 1 0 1 0 1 X X

数据送入端口A 数据送入端口B 数据送入端口C 写入控制字 数据从端口A送出 数据从端口B送出 数据从端口C送出 无操作,输出三态 无操作,输出三态 禁止,输出三态

7.1.2 8255A工作方式8255A有三种工作方式,三个口可以同时以各自选择 的工作方式工作。8255A各口在正常工作前必须进行初始化 设置,以确定各口的工作方式: 方式0——基本输入或输出方式,为单向8位传输方式。 多适用于同步数据传输场合,无需握手信号,可直接进行 传输,也可用于查询方式,此时往往用C口做为状态线和控 制线。三个端口均可以工作在此方式。 方式1——选通输入或输出方式,为单向8位传输方式。 只有A口、B口可工作在方式1状态,此时C口某些线做为A口、 B口的联路线,C口的其它线可以工作在方式0下。 方式2——双向传输方式,既可输入又可输出。只有A 口可以采用方式2工作,此时C口中的5根线做为A口的握手 线,其余的三条可以做为B口的握手线,或与B口一起工作 在方式0状态。

8255A共有2个控制字: 方式选择控制字和C口位控控 制字。2个控制字均需要送入

控制寄存器口地址中,其区 别在于控制字中D7。当D7=1时,为方式选择控制字,D7=0 时,为C口位控控制字。 方式控制字:

返回

C口位控控制字:

8255A应用实例: 工作在方式0下一般可以不需握手,直接读写数据;也可利用C口进 行查询方式工作。 ;设8055A的地址为80H MOV AL,10010000B OUT 83H,AL IN AL,80H OUT 81H,AL HLT

控制字

工作在方式1下A口和B口可工作于方式1,此时C口某些线做状态或控 制用,这些线巳被定义,用户不能编程改变。 输入方式时C口各状态

D7 I/O

D6 I/O

D5 IBFA

D4 D3 D2 INTEA INTRA INTEB

D1 IBFB

D0 INTRB

输出方式时C口各状态

D7 OBFA

D6 INTEA

D5 I/O

D4 I/O

D3 D2 INTRA INTEB

D1 OBFB

D0 INTRB

工作在方式1输入下A口 B口

工作在方式1下的输入时序:

①外设数据准备好,向8255A发出STB数据有效信号,并将 数据送入8255A的缓冲器,并使8255A的IBF变高,表示 数据缓冲器满。 ②STB变高时,如果INTE=1则会使INTR变高,产生中断请 求,要CPU取走数据。 ③CPU用IN指令取数据,RD的下降沿将使INTR无效。 ④RD上升沿将IBF变无效,表示数据被CPU取走,BUFF空。

工作在方式1输出下A口 B口

返回

工作在方式1下的输出时序:

①8255A的某个端口收到CPU的数据,将OBF信号变低,通 知外设,数据已经准备好。 ②ACK为外设应答线,低电平表示外设已将数据取走。 ③ACK无效时,如果INTE=1且OBF=1时,8255A会向CPU发 出中断请求,表示数据已被外设取走,可以发送下一个 数据。

8255A应用实例: 工作在方式1下

工作在方式2下 仅A口可工 作于方式2(双向 I/O方式),此时 占用C口的5根线 做联络线,各信 号线的名称及作 用基本上与方式 1相同。

工作在方式2下C口各位状态 D7 OBFA D6 INTE1 D5 IBFA D4 D3 D2 INTE2 INTRA INTEB D1 IBFB D0 INTRB

B口为方式1输入D7 OBFA D6 INTE1 D5 IBFA D4 D3 D2 INTE2 INTRA INTEB D1 OBFB D0 INTRB

B口为方式1输出 方式2下的接口: 程序查询式接口:从C口读状态字,根据输入、输出状态, 决定是否输入输出。 中断驱动式接口:只能采用查询式中断:中断响应后,先 读状态字,查明是输入中断还是输出中断,再转入相应中 断服务。

工作在方式2下的接口方法举例:主-从机接口主机DB

8255A口 D7-D0 PC7OBFA DB

从机

D0 D7 EN

MPU

AB

PC6 PC5

ACKA IBFA

MPUEN

IOW IOR

CB INT INTRA

PC4PC3

STBA

IN80H IN40H

译 码 器

AB

OUT20H

从机读/写流程图

主机读写数据流程图

本文来源:https://www.bwwdw.com/article/nkun.html

Top