null并行数据接口并行数据接口简单并行口
8255A可编程输入/输出接口返回本章首页 简单并行口一、并行通信和串行通信 通信指计算机与外设、计算机与计算机间的信息交换
通信的基本方法: 并行通信和串行通信 简单并行口null数据的各位同时由源到达目的地 → 快
多根数据线 → 距离短、远程费用高 并行通信
将数据的各位同时在多根并行传输线上进行传输。并行通信适于短距离、高速通信null数据的各位依次由源到达目的地 → 慢
数据线少 → 远程, 费用低 串行通信
将数据的各位按时间顺序依次在一根传输线上传输。 0 1 1 0 1 0 1 0串行通信适于长距离、中低速通信null 并行接口的典型硬件结构包括:
1、一个或一个以上具有锁存或缓冲的数据端口
2、与CPU进行数据交换所必须的控制和状态信号
3、与外设进行数据交换所必须的控制和状态信号
4、端口译码电路
5、控制电路null并行接口连接外设示意图null输入过程 外设将数据=>接口
→状态线“数据输入准备好”=1;
→接口把接收到数据输入缓冲寄存器;
→数据输入回答=1,作为对外设响应信号;
→外设撤消“数据”和“数据输入准备好”信号;
CPU从接口读取数据
→接口收到数据,设置“输入准备好”状态位;
→供给CPU查询 或问CPU发中断请求;
→ CPU从接口读取数据,
接口自动清除状态寄存器输入准备好状态位(准备好);
→数据总线处于高阻状态。开始下一个输入过程
null输出过程输出 :每当外设从接口取走一个数据以后,
CPU往接口中输出数据
→接口中状态寄存器发中断请求;
(“输出准备好”=1,表示CPU可以往接口中输出数据)
→ CPU向接口输出数据,数据到接口缓冲寄存器;
→接口自动清除“输出准备”好。
将数据送往外设:
接口向外设发送一个“驱动信号”,启动外设接收数据。
→外设收到数据向接口发一个“数据输出回答”信号;
→接口收到的信号将状态寄存器中“输出准好”=1;
→ CPU输出下一个数据。
null不可编程并行接口和可编程并行接口
不可编程并行接口的工作方式和功能:
是由硬件接线决定,不能用软件来控制。
可编程并行接口的工作方式和功能:
可用软件编程的方法改变,
使接口具有更大的灵活性和通用性。null8位三态缓冲器74LS244,由G1和G2控制选通。
74LS244+5V10K x 8G1 G2数据总线CSRD并行接口
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
实例——开关状态输入接口电路null8位三态锁存器74LS373,由LE控制锁存,OE控制选通+5V74LS373300 x 8LE OE数据总线CSWR并行接口设计实例——发光二极管输出接口电路8255A可编程输入/输出接口8255A可编程输入/输出接口1.8255A的结构框图(如图所示),从功能上来分,8255A的结构可分为:总线接口电路、内部控制逻辑和输入/输出接口电路。
(1)总线接口电路
数据总线缓冲器和读/写控制逻辑。
(2)内部控制逻辑
(3)输入/输出接口电路null图 8255A的结构框图2.8255A的引脚说明2.8255A的引脚说明 8255A是40根引脚,双列直插式芯片。40根引脚的分布图如图所示,这些引脚可分成:
(1)与外设连接的引脚
(2)与CPU连接的引脚null图 8255A引脚分布图null表 8255A端口选择表 3.8255A的编程控制字 3.8255A的编程控制字 (1)工作方式控制字:用来设定通道的工作方式及数据的传送方向的。
(2)C口按位置位/复位控制字:向控制寄存器写入控制字,而使它的每一位置位或复位。
(3)两个控制字的差别
工作方式控制字放在程序的开始部分;按位置位/复位控制字可放在初始化程序以后的任何地方。null1. 方式控制字
设定A口、B口、C口的工作状态和工作方式。
工作状态:输入或输出
工作方式:方式 0、方式 1、方式 2null方
式
控
制
字
各
位
含
义nullnull最后得出结论:
A口地址为 F0 H
B口地址为 F1 H
C口地址为 F2 H
D口地址为 F3 H1) 确定端口地址null2) 确定方式控制字所以,方式控制字为 1001 0001B,即91H 要求设置: A口方式0输入,PC7~PC4输出
B口方式0输出,PC3~PC0输入 null设置方式控制字的程序段为:
MOV DX, 0F3H ;控制口地址
MOV AL, 91H ;方式控制字
OUT DX, AL
或 MOV AL, 91H ; 方式控制字
OUT 0F3H, ALnull2. C口按位置位/复位控制字
作用是:
使C口中的某一位为1(置位)或0(复位);
或在A口、B口采用中断方式时,
通过向C口的指定位置位,允许8255A的中断信号发出。nullnull例 连线如上例,
通过控制口置 PC2 为 0,置 PC4 为 1
MOV DX,0F3H ;置DX为控制口地址
MOV AL,0000 0100B ;置PC2为0
OUT DX, AL
MOV AL,0000 1001B ;置PC4为1
OUT DX, AL 4.8255A的工作方式及应用 在8255A内部硬件结构中:
A口和B口之间没有硬件关系,
即可分别作为独立的输入或输出端口;
C口和A口,C口和B口之间有硬件联系,
通过向控制口设置控制字可以改变这种联系。1. 三种工作方式4.8255A的工作方式及应用null 根据A口和C口、B口和C口之间硬件关系的不同,
可以有三种不同的工作方式. 方式 0: 与C口之间没有硬件联系。
方式 1: C口的某3根引脚作为端口与外设的联络信号。
方式 2: C口的某5根引脚作为端口与外设的联络信号。
null1. 方式0(基本输入输出方式)
A口工作在方式 0 时,A口和C口之间没有硬件联系
B口工作在方式 0 时,B口和C口之间没有硬件联系 null工作在方式 0 的端口:
作为输入口相当于普通的三态门
作为输出口相当于普通的锁存器
CPU可利用方式 0 下的端口,直接对端口进行读写操作,
实现CPU与外设间的数据传送。
null方式 0 输入
方式0输入(IN AL,PORT) 框图null方式0 输入 ( IN AL,PORT ) 时序null 方式0输入时序基本情况:
外设的数据已经准备好,数据存入接口数据寄存器,
CPU执行一条 (IN AL,PORT)指令从8255A读取数据,
I/O读周期,8088CPU与8255A在时序上不能很好配合,
需要CPU插入一个等待状态。
null方式0输出
方式0输出(OUT PORT,AL) 框图:锁存器到外设88IO/MWR地址译码器数据总线地址总线&CEnull方式0输出 (OUT PORT, AL)时序 I/O写周期,8088CPU与8255A在时序上不能很好配合,
需要CPU插入一个等待状态。
null图 系统连接图null 2. 方式1(选通输入输出方式)
B口工作在方式1时, C口的某3根引脚作为B口的联络信号。null工作在方式 1 的端口,为单向传送端口。
由方式控制字决定是输入还是输出。null在方式 1 下,C口作为A口、B口联络信号的引脚,
其动作关系在芯片设计和制造时已固定,
不由用户自己安排,也不能编程改变。
即C口作为联络信号的引脚:
不受方式控制字的控制。该出则出,该入则入。
不受C口按位置位/复位控制字控制,
即对这些位的置位/复位不影响这些引脚信号。null利用方式 1 下的联络信号,
可方便地实现查询或中断方式的硬件设计,
使CPU能够有效、可靠地与外设进行数据传送。
A口、B口在输入或输出不同的工作状态时,
C口联络信号的引脚和意义也不同。null方式1下输入端口的联络信号nullnullnullnull① 当外设数据准备好,将数据送至端口线PA7~PA0或PB7~PB0
② 外设发出选通信号STB:
(1) 将数据锁存在输入端口内。
(2) 使IBF变高,表示输入端口满,可用于阻止外设输入新数据
(3) 如果INTE=1, STB的上升沿使INTR变高,发出中断请求。
③ 中断处理程序中CPU 读取数据,发出RD信号:
(1) RD 的下降沿清除INTR
(2) RD 的上升沿清除IBF
(3) 端口内的数据进入CPUnullnullnull方式1下输出端口的联络信号null对方式1输出的端口,C口提供与外部联络的信号有:
① OBF 输出缓冲器满信号(低电平有效)
当数据送至8255A输出缓冲器后,8255A自动发出。
表示CPU送来的数据已进入8255A输出端口,
可用来通知外设把数据取走。
② ACK 外设响应信号(低电平有效)
由外设发出,送给8255A。
作用是通知 8255A
输出端口的数据已被外设取走,
可以传送下一个数据。
③ INTR 中断申请信号(高电平或上升沿有效)
8255A 发出, 用来向CPU发出中断申请。
当OBF 、ACK、INTE均为1时,8255A自动发出INTR。nullnull方式1的输出时序:
向工作在方式1下的输出端口输出数据时,
有关信号的变化关系。
null① CPU输出数据
② CPU发出WR:
(1) 数据写到 8255A的端口
(2) 使OBF有效,表示输出端口满,
可作为外设的选通信号,通知外设取数据。
(3)清除中断请求信号INTR
③ 外设接受到数据后,发出ACK信号:
(1) ACK的下降沿使OBF变高,
(2) 当INTE=1, ACK的上升沿使INTR变高,
发出中断请求,请求CPU输出新的数据。D7~D0INTRnullnullnull3.方式2 (双向传送方式)端口工作在方式 2时,C口的某5根引脚作为端口的联络信号
8255A 只有A口可以工作在方式 2 下。null 与方式 0、方式 1的单向传送不同,
工作在方式 2下的端口,具有双向传送功能。 A口工作在方式 2 下,C口未做联络信号的3条引脚,
可作为B口在方式1下的联络线,也可和B口一样工作在方式0下。
由方式控制字决定其输入/输出。nullnullPA口方式0下输出,PC口的PC6作为选通输出信号STB
PC2作为输入,接收打印机送来的忙/闲信号BUSY,
当BUSY为1时表忙,为0时表闲。 8255A应用举例
例1 用8255A作为打印机的接口,工作于方式0,CPU用查询方式接打印机打印。null设输出字符放在寄存器CL中,则具体打印子程序如下:
PRINT: PUSH AX ;保护现场
MOV AL,81H ;8255A初始化
OUT 0A3H,AL
MOV AL,0DH ;1101用C口位操作控制字使PC6为1
OUT 0A3H,AL
WAITO: IN AL,0A2H ;检测PC2的值
AND AL,04H
JNZ WAITO ;打印机忙,继续等待
MOV AL,CL ;打印机不忙,字符送端口A
OUT 0A0H,AL
MOV AL,0CH ;1100PC6输出负脉冲,字符进入打印机
OUT 0A3H,AL
INC AL
OUT 0A3H,AL
POP AX ;恢复现场
RET ;返回主程序 null例2 用8255A作为打印机的接口,工作于方式1,CPU用中断方式接打印机打印。null主程序设置8255A方式设置中断向量SI←BUFF偏
CX←100开8255A中断
关选通信号开中断等待HLTSI←SI+1CX-1≠0?关中断ENDnull;主程序
MAIN: MOV AL,0A0H ;10100000,8255A初始化
OUT 0A3H,AL
MOV AL,09H ;1001,使PC4为1
OUT 0A3H,AL
PUSH DS ;设置中断向量
XOR AX,AX
MOV DS,AX
MOV AX,OFFSET INTP
MOV [003CH],AX
MOV AX,SEG INTP
MOV [003EH],AX
POP DS
MOV AL,0DH ;1101,PC6置1,允许8255A中断
OUT 0A3H,AL
STI ;开中断 null;中断服务程序
INTP: MOV AL,CL ;打印字符送8255A
OUT 0A0H,AL
MOV AL,08H ;1000,选通打印机
OUT 0A3H,AL
INC AL
OUT 0A3H,AL
… ;后继处理
IRET ;中断返回 8255A在PC机中的应用 8255A在PC机中的应用 8255APB1
PB0驱动
电路扬声器GATE2CLK2时钟信号与门8253的2#通道 PA7~PA0PB7
PB6键盘扫描码输出0,使A口接收到的是键盘数据输出1,给键盘送时钟信号8255A在PC机中的应用 8255A在PC机中的应用 8255APB1
PB0驱动
电路扬声器GATE2CLK2时钟信号与门8253的2#通道 PA7~PA0PB7
PB6键盘扫描码输出0,使A口接收到的是键盘数据输出1,给键盘送时钟信号