第8章 可编程通用接口芯片
合集下载
第8章可编程接口芯片及应用

通信:计算机与外设之间或计算机与计算 机之间的信息交换或数据传输。
通信的两种基本方式
并行通信 串行通信
8.2.1 并行通信的基本概念
1、并行通信 将数据的各位同时在多根并行传输线上进行传输。
D0 D1 D2
0 1 0
源
D3 D4 D5 D6 D7
1 0 1 1 0
D0 D1 D2 D3 目 D4 的 D5 D6 D7
8.2.2 可编程并行通信接口芯片8255A
1、8255A的编程结构及引脚功能 2、CPU与8255A的接口 3、8255A的初始化编程 4、8255A三种工作方式及应用 5、键盘和显示接口
1、8255A的编程结构及引脚功能
Vcc
GND
A组 控制
A组 端口A
D0~D7
数据 总线 缓冲器
内部数据线
G2A Y6
≥1
G2B
C B A
8255A
D0~D7
RD
WR
PA
A1 A0 RESET PB
PC CS
A口
B口 C口 控制口
端口地址:1110110000B、3B2H、3B4H、3B6H
3、8255A初始化编程
方式选择控制字
8255A的控制字 置位复位控制字(对C口任一位)
8255A方式控制字
D 7
SC1 SC0 RL1 RL0 M2 M1 M0 BCD
00 计0 01 计1 10 计2 11 无操作
00 锁存
00001 读/写低8位来自00110 读/写高8位
×10
11 11 读/写先低后高× 1 1
100
101
方式0 方式1 方式2 方式3 方式4 方式5
第8章 接口芯片

8.1.1 8251A引脚和内部结构
8251的引脚
8251A与CPU接口的信号
D0~D7:双向数据线。 RD、WR和 CS :读、写和片选信号线。 RESET:复位信号线。8251集成电路复位后将处于空闲
状态,等待命令。通常与系统复位线相连。 CLK:时钟线。为集成电路的内部电路提供时钟信号,
而且必须高于发送和接收波特率,并且同步时为30倍, 异步时为4.5倍。 C/ D :控制/数据线。若此端为高电平,则CPU对8251A 写控制字或读状态字;若为低电平,则CPU对8251A读 写数据。该信号实为地址控制端,用于确定8251A的 两个I/O端口地址,一般情况下接地址线A0。
方式2
⑶ 方式2
方式2为双向选通输入/输出工作方式。这时A口作为双向输 入输出端口,C口中的5位(PC3~PC7)作为相应的应答控制 信号,B口和余下的C口可处于方式0工作状态。
方式2是一种双向工作方式。如果一个并行外设既可以 作为输入设备,又可以作为输出设备,并且输入输出动作不 会同时进行,如果将这个外设和8255A的端口A相连,并使它 工作在方式2,就会非常合适。例如,软盘驱动器就是这样一 个外设,主机既可以往软盘驱动器系统输出数据,也可以从 软盘驱动器系统输入数据,但数据输出过程和数据输入过程 总是不重合,可以将软盘驱动器的数据线与8255A的PA0~PA7 相连,再使PC7~PC3和软盘驱动器的控制线和状态线相连即 可。
方式0的使用场合有两种,一种是同步传送,另一种是查询 式传送。
在同步传送时,发送方和接收方的动作由一个时序信号来 管理,双方互相知道对方的动作,不需要应答信号,即CPU不 需要查询外设的状态。这种情况下,对接口的要求很简单, 只要能传送数据就行了。因此,在同步传送下使用8255A时, 3个数据端口可以实现3路数据传输。
第8章 常用可编程接口芯片

;C端口的端口地址送DX ;C端口的输出值 ;延时
;11号功能调用:检查键盘有无输入 ;无0送AL,有-1送AL ;有键入,AL=-1,AL增1,AL=0
;改变C端口的输出值
微机原理与接口技术---中南大学出版社
第8章 常用可编程接口芯片
方式0也可作为查询式输入或输出的接口电 路,此时端口A和B分别可作为一个数据端口,而 取端口C的某些位作为这两个数据端口的控制和状 态信息。
微机原理与接口技术---中南大学出版社
第8章 常用可编程接口芯片
4. 读/写控制逻辑 (5)RESET 复位信号:高电平有效,它清除控制寄 存器,并置A、B、C 3个端口为输入方式。 实验中常用的复位信号产生电路如图所示。
微机原理与接口技术---中南大学出版社
第8章 常用可编程接口芯片
A1 , A0 和 CS , RD , WR 及组合所实现的各种功 能如下:
微机原理与接口技术---中南大学出版社
第8章 常用可编程接口芯片
如:端口C的bit3(PC3)置位的控制字为 00000111B(07H),它复位的控制字为 00000110B(06H)。 注意: C端口的按位置位/复位控制字须跟在方式选择控制 字之后写入控制字寄存器。即使仅使用该功能,也 应先选送一方式控制字。
微机原理与接口技术---中南大学出版社
第8章 常用可编程接口芯片
8.1.1 8255的组成与引脚信号
8255的内部组成如图所示:
A组控 制 8 A组端 口A A组 端口C 上半部 B组 端口C 下半部 B组端 口B 8 PA7~PA0
4 D7~D0 8 数据总线
缓冲器
4
PC7~PC4
8 4
4
PC3~PC0
第章 通用可编程接口ppt课件

2
第8章
通用可编程接口
8.1.1 8237A的内部结构及引脚 1. 8237A的内部结构
8237A有4个独立的DMA通道,使用单一的+5 V电源, 其内部结构如图8-1所示。
3
第8章
EO
RESPE
TC
READS
时
Y
序
CLK
与
AE
控
N ADSTB
制
逻
MEMR
辑
MEMW
IOR
IOW
HR
HLQD
优 先
7
第8章
通用可编程接口
4. 级联方式 可将多个8237A级联起 来扩展系统中DMA通道数 量。如图8-3所示。 8237A从片HRQ与 HLDA信号与主片某通道的 DREQ端和DACK端相接。 主片传送从片DMA请求信 号,CPU响应从片DREQ请 求并输出DACK作为响应, 此时主片输出信号除HRQ外 都被禁止。
的数据传送;存储器到I/O接口的数据传送;存储器到 存储器的数据传送。数据传送的工作方式有以下4种: 1. 单字节传送方式
每次进行DMA传送时只传送一个字节的数据,数据 传送后字节计数器自动减1。传送完一个字节后8237A 放弃系统总线,将总线控制权交回CPU。该方式下 DRQ信号必须保持有效。
6
第8章
第8章 通用可编程接口
本章主要教学内容
可编程接口芯片的基本概念 可编程DMA控制器8237A及其应用 定时/计数器芯片8253的编程结构与使用方 法 并行接口芯片8255A的编程结构与使用方法 串行接口芯片8251的编程结构与使用方法
1
第8章
通用可编程接口
8.1 可编程DMA控制器8237A
第8章
通用可编程接口
8.1.1 8237A的内部结构及引脚 1. 8237A的内部结构
8237A有4个独立的DMA通道,使用单一的+5 V电源, 其内部结构如图8-1所示。
3
第8章
EO
RESPE
TC
READS
时
Y
序
CLK
与
AE
控
N ADSTB
制
逻
MEMR
辑
MEMW
IOR
IOW
HR
HLQD
优 先
7
第8章
通用可编程接口
4. 级联方式 可将多个8237A级联起 来扩展系统中DMA通道数 量。如图8-3所示。 8237A从片HRQ与 HLDA信号与主片某通道的 DREQ端和DACK端相接。 主片传送从片DMA请求信 号,CPU响应从片DREQ请 求并输出DACK作为响应, 此时主片输出信号除HRQ外 都被禁止。
的数据传送;存储器到I/O接口的数据传送;存储器到 存储器的数据传送。数据传送的工作方式有以下4种: 1. 单字节传送方式
每次进行DMA传送时只传送一个字节的数据,数据 传送后字节计数器自动减1。传送完一个字节后8237A 放弃系统总线,将总线控制权交回CPU。该方式下 DRQ信号必须保持有效。
6
第8章
第8章 通用可编程接口
本章主要教学内容
可编程接口芯片的基本概念 可编程DMA控制器8237A及其应用 定时/计数器芯片8253的编程结构与使用方 法 并行接口芯片8255A的编程结构与使用方法 串行接口芯片8251的编程结构与使用方法
1
第8章
通用可编程接口
8.1 可编程DMA控制器8237A
第八章常用可编程通用接口芯片

作业: P311、 1、 2、
三、三种方式的功能及应用 1、方式0 基本功能基本单向I/O方式。 • A,B,C三个端口都可作8位输入/输出端口。 • C端口可作为两个4位端口(C口上,C口下)。 • 输出有锁存,使用时可理解为273;输入有三 态缓冲,使用时可理解为244。 • 此方式下,只要用IN/OUT指令即可读/写; 一般用于无条件传送方式。 • 此方式下,也可用于查询方式,A,B口为数 据口,C口的某些位作控制和状态信息。但值 得注意的是无固定联络线。
•
•
•P263例:8255的C口接8只LED,用置位复位字,使 8只LED轮流亮灭。设端口地址为380H--383H。 硬件如下:
与系统 总线的 连接
MOV DX,383H 设方式控制字: MOV AL,80H C口方式0输出 OUT DX,AL MOV AL,1 ;PC0置位字 AGN:OUT DX,AL;PC0灯亮 MOV AH,11 LOOP $ ;延时 INT 21H AND AL,0FEH;复位字 INC AL OUT DX,AL ; 灯灭 POP AX ADD AL,3 ;指向下一位 JNZ AGN AND AL,0FH ;控制置位/ 复位字范围 PUSP AX
•如PC3置位: MOV DX,PORT3 ;控制端口 MOV AL,7 OUT DX,AL
• 如PC3复位:MOV DX,PORT3 MOV AL,6 OUT DX,AL C端口的按位置位复位字须跟在方式选择控 制字之后,所以,仅使用C口的按位置位复 位字时,也应先送一方式控制字。 8255的两个控制字是以D7位作为区别标志: D7=1为方式控制字,D7=0为置位复位字; 所以方式字≧80H,置位复位字<80H。
•程序中,送置位字,则灯亮;送复位字,则灯灭。 由前一位的复位字到后一位的置位字之差为3,加3则 指向下一位。
第8章可编程接口芯片及应用

D6
D5
D4
D3
D2
D1
D0
方式选择控制 字识别位,为1 选中
00: 方 式 0 A端 口 PC7~ PC4 B组 方 式 B端 口 PC3~ PC0 01: 方 式 1 1: 输 入 1: 输 入 0: 方 式 0 1: 输 入 1: 输 入 1x: 方 式 2 0: 输 出 0: 输 出 1: 方 式 1 0: 输 出 0: 输 出
8255A的方式控制字:10101110B
初始化程序如下:
MOV AL,0AEH ;控制字送AL
MOV DX,203H ;8255A控制字寄存器地址送DX
OUT DX,AL ;控制字送8255A的控制寄存器
;给计数器0送控制字
;送计数初值的低8位(BCD码) ;送计数初值的高8位 ;给计数器1送控制字 ;计数初值送低8位
计数器0计数值读出程序 MOV DX,38BH MOV AL,00H OUT DX,AL MOV DX,388H IN AL,DX MOV CL,AL IN AL,DX MOV CH,AL
减到“1”时OUT由高变低,减到“0”时重新计 数 方式2 4 WR
CLK
GATE OUT
43210
43210
43210
43210
方式3 方波发生器
特征
高电平和上升沿触发 初始高电平 计数完成一半时OUT由高变低,减到0重新计数
方式3 4 WR
CLK
GATE OUT
43210
43210
43210
43210
1、内部结构
D7~D0
数据总线 缓冲器
内
RD
WR
读写控制
部
A0
微机原理与接口技术第8章常用可编程接口芯片

➢ 8237A性能 – 含有4个相互独立的通道,每个通道有独立的地址寄存器 和字节数寄存器,而控制寄存器、状态寄存器为4个通道 所共用。 – 每个通道的DMA请求可以分别被允许/禁止。 – 每个通道的DMA请求有不同的优先权,可以通过程序设 置为固定或旋转的方式。 – 通道中地址寄存器的长度为16位,因而一次DMA传送的 最大数据块的长度为64KB。 – 8237有4种工作方式,分别为单字节传送、数据块传送、 请求传送和级连方式。 – 允许用输入信号来结束DMA传送或重新初始化, – 8237可以级连以增加通道数。
以先低字节后高字节的顺序写入。传送过程中,基字节数计 数器的内容不变,当自动重装时,将它的内容重新装入当前 字节数计数器。在写计数初值时应注意,如果要传送N个字 节,初始化编程时,写入字节数寄存器的值应为N-1。该寄 存器内容只能写,不能读。 ➢ 当前字节计数寄存器
用来存放DMA传送的剩余字节数,在每次传送之后, 字节数计数器减1,当它的值由0减到FFFFH时终止计数, 便产生信号,表示字节数传送完毕。它的初始值与基字节数 计数器的内容相同,并且两者由CPU同时在同一端口写入的 。自动重装时,信号使当前字节数计数器的内容重新置为计 数初值。可读可写。
第八章
常用的可编程接口芯片
主要内容
8.1 并行通信与并行接口 8.2 可编程并行通信接口芯片8255A 8.3 串行通信与串行接口 8.4 可编程串行通信接口芯片8251A 8.5 可编程定时/计数器接口芯片8253 8.6 DMA控制器8237A 8.7 小结
2
DMA控制器8237A
14
8237A内部寄存器及读写操作
➢ 屏蔽寄存器 屏蔽寄存器用来禁止或允许通道的DMA请求。屏蔽命令
有两种格式:单通道屏蔽字和多通道综合屏蔽字。
以先低字节后高字节的顺序写入。传送过程中,基字节数计 数器的内容不变,当自动重装时,将它的内容重新装入当前 字节数计数器。在写计数初值时应注意,如果要传送N个字 节,初始化编程时,写入字节数寄存器的值应为N-1。该寄 存器内容只能写,不能读。 ➢ 当前字节计数寄存器
用来存放DMA传送的剩余字节数,在每次传送之后, 字节数计数器减1,当它的值由0减到FFFFH时终止计数, 便产生信号,表示字节数传送完毕。它的初始值与基字节数 计数器的内容相同,并且两者由CPU同时在同一端口写入的 。自动重装时,信号使当前字节数计数器的内容重新置为计 数初值。可读可写。
第八章
常用的可编程接口芯片
主要内容
8.1 并行通信与并行接口 8.2 可编程并行通信接口芯片8255A 8.3 串行通信与串行接口 8.4 可编程串行通信接口芯片8251A 8.5 可编程定时/计数器接口芯片8253 8.6 DMA控制器8237A 8.7 小结
2
DMA控制器8237A
14
8237A内部寄存器及读写操作
➢ 屏蔽寄存器 屏蔽寄存器用来禁止或允许通道的DMA请求。屏蔽命令
有两种格式:单通道屏蔽字和多通道综合屏蔽字。
第8章 可编程接口1

8.1 概述 三、常用的接口芯片 并行、串行、A/D和D/A、定时/计数器、 锁存/缓冲器等
8.2 定时计数控制接口
概述
实现定时或延时的方法: ① 软件定时—设计一段延时程序,因一条 指令时间确定。 缺点:· 占用CPU,降低CPU的利用率 · 定时精度不高 适用于:延时时间短,个人计算机上。 不适于:多作业环境、时间紧缺的实时系统 中。
8253的I/O地址
CS RD 0 0 0 0 0 0 0 1 1 1 1 0 0 0
WR 0 0 0 0 1 1 1
A1 A0 0 0 1 1 0 0 1 0 1 0 1 0 1 0
功
能
对计数器0设置计数初值 对计数器1设置计数初值 对计数器2设置计数初值 设置控制字 从计数器0读出计数值 从计数器1读出计数值 从计数器2读出计数值
实验1 实验1
计数开始 计数开始
5) 8253与CPU的连接
一个8253占用4个地址,由A1A0的取值区分: 00、01、10 —— 分别寻址计数器0、1、2 11 —— 寻址控制寄存器 4个端口的具体地址由CS和A1A0共同决定。 • A1A0接总线的A1A0 • CS接端口地址译码器 • 8253的RD、WR分别接总线的RD,WR • D0~D7分别接DB的D0~D7 特别:地址译码
2) 读/写控制逻辑 接收系统总线信息,产生对各部分的控制信号 · A1、A0—地址线,区分3个计数器
及控制REG。(寻址) (三个计数器的控制寄存器共用一个 端口地址) · RD—读计数器(当前计数值),低电 平有效。 · WR—写 锁存器(计数初值) 控制REG(控制字, 工作方式) · CS—片选信号,低电平有效。只有 CS有效时才能对8253进行操作。 组合 P105 表8.1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 例8-2
PA0~PA7 D0~D7 ASCII D0~D7
例: MOV AL,10111000B OUT 63H,AL ;该控制字为方式选择控制 ;字,A口工作在方式1的输 ;入方式, C口的高4位工作 ;在输入方式;B口工作在 ;方式0的输出方式, C口 ;的低4位工作在输出方式。
端口C按位置位/复位控制字
• 对C端口某位置位(1)或复位(0)。 • 该控制字可放在初始化程序以后的任何 地方。
– 端口A:218H – 端口C:21AH 端口B:219H 控制端口:21BH
• 端口B输入开关状态,并从端口C输出。 端口B工作于方式0,作为简单输入端口。 端口C工作于方式0,作为简单输出端口。 • 方式选择控制字为10000010B,即82H。
DATA MESS DATA CODE
SEGMENT DB ‘ENTER ANY KEY TO EXIT TO DOS!’, 0DH, 0AH, ‘$’ ENDS SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX, DATA MOV DS, AX MOV AH, 09H ;显示提示信息 MOV DX, OFFSET MESS INT 21H INIT: MOV DX, 21BH ;写入方式选择控制字 MOV AL, 82H OUT DX, AL
B端口中断允许信号, 没有外部引出端,如 果由端口C按位置位/ 复位控制字使PC2置1, 则INTEB为1,B端口 处于中断允许状态; 对PC2清零,则则 INTEB为0, B端口 处于中断屏蔽状态。
中断请求输出信号,由8255A送往8086,高电 平有效,当选通信号结束、从而外设已将一 个数据送入B端口中(即STB由低电平恢复为 高电平),并且IBF信号已为高电平时, INTR被置位高电平。
方式1
• 方式1是一种选通输入/输出方式,适用 于CPU与外设以查询或中断方Байду номын сангаас传送数 据。
方式1选通输入
选通输入信号, 由外设送往 8255A,该信号 有效(低电平) 时,外设送来的8 位数据存入A端 口。 输入缓冲器满输出 信号,表示A端口 中已有数据,此信 号供8086查询。 选通输入信号, 由外设送往 8255A,该信号 有效(低电平) 时,外设送来的8 位数据存入B端 口。 输入缓冲器满输出 信号,表示B端口 中已有数据,此信 号供8086查询。
B组 控制
B组 B口 (8 位) PB7~PB0
图8-2 8255A内部逻辑结构框图
8255A的引脚特性及其与外部的连接
D0 D1 D2 D3 D4 D5 D6 D7 34 33 32 31 30 29 28 27 4 3 2 1 40 39 38 37 18 8255A 19 9 20 8 21 6 22 5 23 36 24 35 25 14 15 16 17 13 26 12 7 11 10 PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7
;把字符发送到打印机 MOV AL, AH OUT PORTB, AL ;把数据选通信号发送给打印机 MOV AL, 8
OUT MOV CMD, AL AL, 9
;取得数据 ;读数据
;端口C按位置位/复位控制字 ;为00001000B, 清除DS
;端口C按位置位/复位控制字 ;为00001001B, 置位DS
第8章 可编程通用接口芯片
并行I/O接口8255A
8255A的内部结构
• 8255A是可编程并行接口芯片,从功能上来分, 8255A的结构可分为三部分电路:外设接口、 内部逻辑和CPU接口。
– 外设接口部分
• 端口A、B和C,端口A和端口C的高4位组成A组,端口B 和端口C的低4位组成B组。 • 每个端口有8位,既可以作为输入端口,也可以作为输出 端口。
图8-3 8255A的引脚特性
A 口
A0 A1 CS RD WR RESET
B 口
Vcc GND
C 口
表 8255A的I/O端口分配
A1
A0
功能
0
0
0
1
端口A
端口B
1
1
0
1
端口C
控制寄存器
表8-1 8255A端口选择和基本操作表
(数据总线低八位)
RD WR
图
与8086微处理器的低位I/O体连接的8255A
8255A的控制字
• 8255A通过指令在控制寄存器中写入控 制字来规定端口A、B、C的工作方式。
– 方式选择控制字 – 端口C按位置位/复位控制字
方式选择控制字
• 用来设定端口A、B、C的工作方式及数 据的传送方向。 • 方式选择控制字放在程序的开始部分 (初始化部分)。
方式选择控制字的格式:
WR INTR 中断请求 OBF ACK 数据 输出 数据发送至端口 数据从端口输出 缓冲器满
图 8255A工作于1方式输出工作时序图
• 例
8255A
图 8255A与并行打印机的接口,描述了8255A的选通输出操作
;过程通过端口B从AH将ASCII字符传送到打印机 BIT1 EQU 2 PORTC EQU 22H PORTA EQU 20H CMD EQU 63H PRINT PROC NEAR ;检查打印机是否就绪 BEGIN: IN AL, PORTC ;取得OBF TEST AL, BIT1 ;测试OBF JZ BEGIN ;如果OBF=0
A端口中断允许信号,没有外部引 出端,如果由端口C按位置位/复位 控制字使PC4置1,则INTEA为1, A端口处于中断允许状态;对PC4 清零,则INTEA为0,A端口处于中 断屏蔽状态。 中断请求输出信号,由8255A送往8086, 高电平有效,当选通信号结束、从而外设 已将一个数据送入A端口中(即STB由低 电平恢复为高电平),并且IBF信号已为 高电平时,INTR被置位高电平。
• 双向总线操作:
– 8086为了通过双向端口A发送数据给外设,首先执行程序测 试OBF信号以确定输出缓冲器是否为空。若为空,则数据由 OUT指令发送给输出缓冲器。外设也监视OBF信号以决定微 处理器是否已将数据发送给端口A。一旦输出电路检测到 OBF为逻辑0,它就从输出缓冲器移走数据并返回ACK信号。 ACK信号置位OBF并允许外设从端口A读走数据。 – 8086为通过双向端口A的总线接收外设发来的数据,首先执 行程序测试IBF位以确定数据是否已被选通进入端口。如果 IBF=1,则用IN指令输入数据。当STD被激活时,外设将数 据送人端口A,IBF信号变为逻辑1。当执行IN指令时,IBF 位被清零,端口中的数据被移人8086的AL中。
8255A方式小结
图 8255A工作方式总结
8255A应用举例
• 例8-1
+5V
PB0~PB7
PA0~PA7 RD
8255A WR A0 A1
PC0~PC7
CS RESET D0~D7 D0~D7
IOR IOW A0 A1 218~21B RESET 图8-17 电路连接图
• 设8255A的端口地址为:
READ: MOV IN WRITE: MOV OUT MOV MOV INT JNZ JMP QUITT: MOV INT CODE ENDS END
DX, 219H ;从端口B输入开关状态 AL, DX DX, 21AH ;从端口C输出,由LED显示 DX, AL AH, 06H ;从键盘输入任意字符 DL, 0FFH 21H QUITT ;判断是否有键按下,有,则转退出 READ ;否则,不退出,继续读开关状态 AX, 4C00H ;返回DOS 21H START
– INTEA、INTEB:A端口、B端口中断允许信号, 没有外部引出端。如果由端口C按位置位/复位控制 字使PC6置1,则INTEA为1,端口A处于中断允许 状态;对PC6清零,则INTEA为0,端口A处于中断 屏蔽状态。同样,如果由端口C按位置位/复位控制 字对PC2置1或清0,便使得INTEB为1或0。 – PC5和PC4:为通用I/O引脚。
图 8255A方式1选通输入操作时序图
• 例
8255A 图 使用8255A用作键盘的选通输入操作
;读键盘编码并在AL中返回ASCII字符的过程 BIT5 EQU 20H PORTC EQU 22H PORTA EQU 20H READ PROC NEAR BEGIN: IN AL, PORTC ;读端口C TEST AL, BIT5 ;测试IBF JZ BEGIN ;如果IBF=0 IN AL, PORTA ;读数据 RET
INTR:中断请求 信号,不管是输 入还是输出,如 果两个INTE位都 允许INTR (INTE1=1, INTE2=1),则 输出缓冲器空和 输入缓冲器满都 产生中断请求。 这种情况出现在 使用STB将数据 选通进入缓冲器 的时候,或是使 用OUT指令写数 据的时候。
图 8255A方式2操作时序图
端口C按位置位/复位控制字的格式:
例: MOV AL,00000111B OUT 63H,AL ;该控制字将端口C的D3位置1
8255A的工作方式
• 方式0
– 端口A、B和C均可以工作于方式0。
• 方式1
– 端口A和B可以工作于方式1,端口C提供握 手信号。
• 方式2
– 端口A可以工作于方式2,端口C提供握手 信号。
– 内部逻辑
• A组和B组控制电路。
– CPU接口
• 数据总线缓冲器和读/写控制逻辑。
A组 控制
A组 A口
PA7~PA0
(8 位)
数据
D7~D0
总线 缓冲器
内
A组 C口 (4 位) PC7~PC4