第1节3 8255工作方式

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
选通信号,低电平有效由外设提供的输入 信号,当其有效时,将输入设备送来的数 据锁存至8255A的输入锁存器
PB7~PB0
INTEB
PC2 PC1
STBB
IBFB
输入缓冲器满信号,高电平有效 8255A输出的联络信号。当其有效时, 表示数据已锁存在输入锁存器
PC0
INTRB
中断请求信号,高电平有效,8255A输出 的信号,可用于向CPU提出中断请求,要 求CPU读取外设数据
7.1.3
8255的工作方式
1.方式0—基本输入/输出方式 CPU与端口之间交换数据仅通过输入指令IN与输出指令OUT完成; 不提供任何“握手”信息 适合用于无条件传送和查询方式的接口电路中 适用于各种同步并行传送系统
1、工作方式0:是一种基本的输入/输出工作方式。没有固定 的用于应答的联络信号。其基本功能可概括如下:
采用工作方式1也可完成输出操作(外设←接口 ← CPU) ,这时需要使用的控制信号如下: ① OBF——输出缓冲存储器满信号。向外部 输出,低电平有效。 OBF有效时,表示CPU已将数据写入该端口 正等待输出。当CPU执行OUT指令,WR有效 时,表示将数据锁存到数据输出缓冲寄存器, 由WR的上升沿
3. STB 选通信号:由外设输入,低电平有效、
4. IBF 输入缓冲存储器满信号:向外部输出,高电平 有效。
5. INTR 中断请求信号:向CPU发出,高电平有效。
端口A工作于方式2所需控制信号如下: ① OBFA——输出缓冲存储器满信号。向外部 输出,低电平有效。OBFA有效,表示要求输 出的数据已锁存到端口A的输出锁存器中,正 等待向外部输出。CPU用OUT指令输出数据 时,由WR信号后沿将OBFA置成有效。系统 规定端口C的第7位(PC7)用作由端口A输出的 OBFA信号。
7.1.3
8255的工作方式
8255A中各端口可具有三种基本工作方式:
方式0-基本的输入/输出方式 方式1-选通输入/输出方式 方式2-双向传输方式 端口A可处于3种工作方式:0、1、2 端口B只可处于2种工作方式:0、1 端口C常常分为高4位和低4位,分别传送数据和控制信息。
可用软件来分别定义3个端口的工作方式,可使用的控制 字有定义工作方式控制字和置位/复位控制字。
INTRA
I/O
图 端口A方式 1 输入
STB:选通信号输入,外设 发出 IBF:输入缓冲器满,8255 发出 INTE:内部中断触发器, INTR:中断请求
① 当外设数据准备好,将数据送至 端口线PA7~PA0 ② 外设发出选通信号STB: (1) 将数据锁存在输入端口内。 (2) STB的下降沿使IBF变高,表 示输入端口满,用于阻止外设输入 新数据。 (3) STB的上升沿使INTE=1, 从而 INTR变高,发出中断请求。 ③ 中断处理程序中CPU 读取数据, 发出RD信号: (1) RD 的下降沿清除INTR (2) RD 的上升沿清除IBF (3) 端口内的数据进入CPU
经这样定义的端口状态如图7.4所示。
图7.4
A端口方式1输出:
响应信号,低电平有效外设的响应信号,指 示8255A的端口数据已由外设接受
PA7~PA0
INTEA
PC6
ACKA OBFA
PC7
输出缓冲器满信号,低电平有效 8255A输出给外设的一个控制信 号,当其有效时,表示CPU已把 数据输出给指定的端口,外设可 以取走
OBFB
ACKB
响应信号,低电平有效,外设的 响应信号,指示8255A的端口 数据已由外设接受
PC0
INTRB
中断允许触发器
中断请求信号,高电平有效,当输出设备已接 受数据后,8255A输出此信号向CPU提出中 断请求,要求CPU继续提供数据
具体输出过程:
PA7 ~ PA0
INTE A
PC6 PC7
当任一组中的STB有效,则把IBF置“1”,表 示当前输入缓冲存储器已满,并由STB后沿置 “1”各组的INTE,于是输出INTR有效,向 CPU发出中断请求信号。待CPU响应这一中 断请求,可在中断服务程序中安排IN指令读取 数据后置“0”于IBF,外部设备才可继续输入
后续数据。
显然,8255A中的端口A和端口B均可工作于 工作方式1完成输入操作功能,这种情况下经 这样定义的端口状态如图7.6所示。
组合,具体情况应如表7.2所示。P266
7.1.3
8255的工作方式
2.方式1—选通输入/输出方式 端口A或端口B仍作为数据的输入/输出口,但同时规定端口C的某 些位作为控制或状态信息。 适用于查询和中断方式的接口电路
方式1的特点 端口A、B可分别工作在方式1。 端口C配合方式1工作。
2.工作方式1:被称作选通输入/输出方式,在这种工 作方式下,数据输入/输出操作要在选通信号控制下 完成。(部分PC线作为选通控制信号) 采用工作方式1进行输入操作(外设→接口→ CPU)时, 需要使用的控制信号如下: ① STB——选通信号。由外部输入,低电平有效。 STB有效时,将外部输入的数据锁存到所选端口的 输入锁存器中。对A组来说,指定端口C的第4位 (PC4)用来接收向端口A输入的STB信号;对B组来说, 指定端口C的第2位(PC2)用来接收向端口B输入的 STB信号。 ② IBF——输入缓冲存储器满信号。向外部输出,高 电平有效。
A端口方式1输入:
选通信号,低电平有效,由外设提供 的输入信号,当其有效时,将输入 设备送来的数据锁存至8255A的输 入锁存器
PA7~PA0 INTEA PC4 PC5 STBA
IBFA
输入缓冲器满信号,高电平有效8255A 输出的联络信号。当其有效时,表示 数据已锁存在输入锁存器
PC3
INTRA
中断请求信号,高电平有效,8255A输 出的信号,可用于向CPU提出中断请 求,要求CPU读取外设数据
中断允许触发器 只有当INTE =1时,端口A才能向CPU 发出中断请求,用户可通过PC4的置位 (INTE=1),复位(INTE=0)来控制 中断的允许或禁止。(书上有错!)
B端口方式1输入:
方式1需借用端口C用做联络信号,端口 C还具有中断请求和屏蔽功能
中断允许触发器
只有当INTE =1时,端口B才能向CPU发出中断 请求,可由用户通过PC2的置位(INTE=1)/复 位(INTE=0)来控制。 (书上有错!)
高电平有效
高电平有效
图7.6
具体输入过程见下页:
PA7 ~ PA0 INTE A
PC4 PC5 STBA IBFA
&
RD
O
PC3
PC6 , PC7
将OBF置为有效。对于A组,系统规定端口C的第 7位(PC7)用作从端口A输出的OBF信号,对于B组, 规定端口C的第1位(PC1)用作从端口B输出的OBF信
号。
② ACK ——外部应答信号。由外部输入,低电平有 效。 ACK有效,表示外部设备已收到由8255A输出的八 位数据,它实际上是对OBF信号的回答信号。对于A 组,指定端口C的第6位(PC6)用来接收向端口A输入 的ACK信号;对于B组,指定端口C的第2位(PC2)用 来接收向端口B输入的ACK信号。 ③ INTR——中断请求信号。向CPU输出,高电平有 效。
PB7 ~ PB0
INTE B
PC2 PC1
ACKB OBFB
当端口A和端口B均定义为 工作方式1完成输出操作时,端 口C的PC6、PC7 和PC3~PC0被 用作控制信号,只有PC4, 5完成 数据输入或输出操作。
&
O
WR
PC0
INTRB
图7.4 端口B方式 1 输出
OUT 数据端口地址 , AL
④ IBFA——输入缓冲存储器满信号。向外部输 出,高电平有效。IBFA有效时,表示外部已将 数据输入到端口A的数据输入锁存器中,等待向 CPU输入,它实际上是对STBA的回答信号。 系统规定端口C的第5位(PC5)用作输出的IBFA 信号。 ⑤ INTR——中断请求信号。向本端CPU输入, 高电平有效。无论是进行输入还是输出操作, 都利用INTR向CPU发出中断请求。对于输出操 作,ACKA有效时将内部触发器INTE1置“1”, 当OBFA被置成无效时,表示输出缓冲存储器已 空,向CPU发出输出中断请求(INTRA有效),待 CPU响应该中断请求可在中断服务程序中继续 输出后续数据;对于输入操作,当STBA有效, 外部将数据送入端口A
对于端口A,内部中断触发器INTEA由PC6(ACKA)置 位,对于端口B,INTEB由PC2(ACKB)置位。当ACK 有效时,OBF被复位为高电平,并将相应端口的 INTE置“1”,于是INTR输出高电平,向CPU发出输 出中断请求,待CPU响应该中断请求,可在中断服 务程序中安排OUT指令继续输出后续字节。对于A组, 指定端口C的第3位(PC3)作为由端口A发出的INTR信 号;对于B组,指定端口C的第0位(PC0)作为由端口 B发出的INTR信号。 (书上有错!) 如果将8255A中的端口A和端口B均定义为工作方式1 完成输出操作功能,那么经这样定义的端口状态如 图7.4所示。
PB7 ~ PB0 INTE A PC2
PC1
STBB IBFB
&
RD
O
PC0
INTRB
当端口A和端口B均定 义为工作方式1完成输入操 作时,端口C的PC5~PC0被 用作控制信号,只有PC7和 PC6可以完成数据输入或输 出操作。
图 端口B方式 1 输入
IN AL , 数据端口地址
图7.7 8255方式1输入时序图P269(自学!)
② ACKA——应答信号。由外部输入,低电平 有效。ACKA有效,表示外部已收到端口A输 出的数据,由ACKA后沿将OBF置成无效(高电 平),表示端口A输出缓冲存储器已空,CPU 可继续向端口A输出后续数据。它实际上是 OBFA的回答信号。系统规定端口C的第6位 (PC6)用来接收输入的ACKA信号。 ③ STBA——数据选通信号。由外部输入,低 电平有效。STBA有效,将外部输入的数据锁 存到数据输入锁存器中,系统规定端口C的第 4位(PC4)用来接收输入的STBA信号。
IBF有效时,表示由输入设备输入的数据已占用该端 口的输入锁存器,它实际上是对STB信号的回答信 号,待CPU执行IN指令时,RD有效,将输入数据读 入CPU,其后沿把IBF置“0”,表示输入缓冲存储器 已空,外部设备可继续输入后续数据。对A组来说, 指定端口C的第5位(PC5)作为从端口A输出的IBF信 号;对B组来说,指定端口的第一位(PC1)作为从端 口B输出的IBF信号。 ③ INTR——中断请求信号。向CPU输出,高电平有 效。 在A组和B组控制电路中分别设置一个内部中断触发 器INTEA和INTEB,前者由STBA(PC4)控制置位,后 者由STBB(PC2)控制置位。 (书上有错!)
端口A和端口B可定义为输入端口或输出端口,端口C
分成两个四位端口,它们可分别定义为输入或输出端口。
CPU和3个端口交换数据可以直接由CPU执行IN和
OUT指令来完成。
适用于在各种同步并行传送系统中。用于连接简单的
外设,如键盘、开关、指示器等。
如果3个端口均处于工作方式0,则有16种工作方式的
PC3
INTRA
中断允许触发器
中断请求信号,高电平有效,当输出设备已接受 数据后,8255A输出此信号向CPU提出中断请求, 要求CPU继续提供数据
B端口方式1输出:
输出缓冲器满信号,低电平有效 8255A输出给外设的一个控制信号, 当其有效时,表示CPU已把数据输 出给指定的端口,外设可以取走
PB7~PB0 INTEB PC1 PC2
图7.5 8255方式1输出时序图(自学!)
3.工作方式2:带选通的双向传送方式。
8255A中只允许端口A处于工作方式2,可用来在两 台处理机之间实现双向并行通信。相关的控制信号由 端口C提供。 1. OBF 输出缓冲存储器满信号:向外部输出,低电平 有效。
2. AC来自百度文库 外部应答信号:外部输入,低电平有效。
ACKA OBFA
&
O WR PC3 INTRA I/O
PC4, PC5
图7.4 端口A方式 1 输出
ACK:外设应答 OBF:输出缓冲器满 INTE:中断允许, INTR:中断请求,
① CPU输出数据 ② CPU发出WR: (1) 数据写到 8255A的端口 (2) WR的低电平清除中断请求 信号INTR (3) WR的上升沿使OBF有效, 表示输出端口满,通知外设取数 据。 ③ 外设接受到数据后,发出 ACK信号: (1) ACK的下降沿使OBF变高, (2) ACK的上升沿使INTE=1, 则INTR变高,发出中断请求,请 求CPU输出新的数据。
相关文档
最新文档