(17)可编程并行IO接口芯片8255及其应用 6.51
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(在输入时,也由PC2的位操作来控制)
注意:“在方式1中, PC4和PC2置1/置0,只控制INTEA 和INTEB,不影响PC4和PC2引脚的状态”。
第9页
电气工程学院
下图从CPU在中断服务程序输出数据开始,叙述方式1输出:
① DB CPU ⑤ ①
8255
D0~D7 B口 ② PB0~PB7 外 设 ② ④ ③
3)INTRA (PC3充当)Interrupt Request of port A A口中断请求信号输出,有效;8255向CPU发出中断请求
* INTRA 有效的条件? STBA = 1,IBFA = 1, INTEA =1(PC4)
第6页
电气工程学院
*INTEA:8255内部的中断允许触发器的控制信号。 =0:8255不能通过INTRA 引脚发出中断请求; =1:在其它条件满足时,向CPU发中断请求。 怎么设置INTEA=1/0 ? *INTEA受控于PC4的置1/置0 PC4置1,则INTEA=1,允许8255发出中断请求; PC4置0,则INTEA=0,禁止8255发出中断请求。 (在输出时,则由PC6的位操作来控制INTEA) 怎么设置PC4?
2)控制字寄存器(控制口)
存放8255的控制字
四个可寻址端口 PA、PB、PC和控制口
3)数据总线缓冲器 双向三态8位缓冲器,实现8255与系统DB的连接。 4)读/写控制逻辑
接受来自系统总线的读/写信号,完成内部端口的选择、读/写操作。
( 2)引脚功能 PA0~PA7:口A的I/O数据线 PB0~PB7:口B的I/O数据线 PC0~PC7:口C的I/O数据线(还可以充当联络信号线) CS :8255片选
INTR WR
INTRB(PC0) WR (PC1)OBFB (PC2)ACKB
③这个环节比较慢,但不是CPU而是8255在花费时间等待;CPU在④①两个环节保持固有 的高速度。 ① CPU在中断服务程序中向8255写入将要传送给外设的数据,在WR的上升边,把中断请 求信号INTRB置0(因为已经在中断服务程序中,CPU当然已经响应了中断,所以应该撤除 中断请求信号),同时把数据锁存在8255的输出锁存器。在WR的上升边(数据可靠地写入 8255的标志)使得②: ② OBFA有效,它对外设表明:CPU已经把数据送到,请接收。该信号启动外设接收数据。 ③ 外设开始处理数据(可能很慢),当处理完毕数据时,外设对8255回送一个ACKB信号, 表示可以接收下一个数据;同时把OBFB置为无效④(因为数据已经从输出缓冲器读走,不 是满而是空)。
充当A口,B口的联络线
1)STBA (PC4充当) Strobe input 选通输入。 由外设送给8255的选通信号,表明外设数据已准备好,为低时,数据锁存到A口。
2)IBFA (PC5充当) Input Buffer Full 输入缓冲器满。 有效:8255对外表明数据已经装入A口的缓存器,这是一个状态信号。CPU的读信号 使之失效。 IBFA 可以提供给CPU作为查询信号 可以作为向CPU发出中断请求的一个条件 可以作为“数据收到”信号
由“C口按位置位/复位控制字”来确定。
后面将介绍 此控制字
A口方式1的输入接线原理图 8255
CPU DB④ D0~D7 A口 INTR RD ③ ④ INTRA(PC3) RD (PC5)IBFA (PC4)STBA
①PA0~PA7
外 设 ② ⑤ ①
①这个环节比较慢,但不是CPU而是8255在花费时间等待;CPU在③④两个环节保持 固有的高速度。
第1页
电气工程学院
(1)内部结构
1)三个数据口 A口(PA),B口(PB),C(PC) 分为两组:
A组 A口(PA), C口高四位 B组 B口(PB), C口低四位
第2页
电气工程学院
在三个端口中,C口的功能最多: *8位并行口, *两个4位并行口, *充当A口和B口的联络线, *位操作功能(分别对每一位置1或置0), *允许或禁止A口和B口发出中断请求
A
STBA IBFA INTRA RD
PA0~ PA7
① ② ③ ④
①
来自外设的数 据 进入8255
⑤
D0~D7
来自8255的数据 进入CPU
第8页
电气工程学院
(2)方式1的输出(以PB为例) *用于输出操作的联络线 1)OBFB (PC1)Output Buffer Full 输出缓冲器满 这是8255对外设发出的数据选通信号。 有效表明:CPU已经把数据锁存在8255的B口 2)ACKB (PC2)Acknowledge 响应输入 这是外设对8255发出的OBFB的响应信号 有效:外设已经接收到来自8255的数据 3)INTRB (PC0)Interrupt Request of port B B口中断请求信号输出 有效:8255向CPU发出中断请求 *INTRB有效的条件:OBFB = 1,ACKB = 1,INTEB =1 INTEB受控于PC2 置1/置0 设置PC2=1时,INTEB=1,允许8255发出中断请求; 设置PC2=0,则INTEB=0,禁止8255发出中断请求。
片内地 址选择
口A 口B 口C 口控
138 工 作条件
6.5.2 8255A的工作方式
*三种工作方式: 1.方式0——基本I/O *无条件输入/输出。
*基本I/O方式,是一种无条件传送方式 *外设总是可以传送数据给CPU,或可以接收来自CPU的数据 作为输出时,有数据锁存功能。可以控制其它芯片的控制端(如8254的GATE,脉冲分配 器的循环方向),可以控制LED(实验有这项内容),可以控制LCD,打印机,并行数据传 送…….。 作为输入时,有三态缓冲功能。可以采集开关量(实验有这项内容),可以作为并行数据 传送。
第7页
电气工程学院
① 外设数据准备好,向8255发出STBA信号,使来自外设的数据进入8255数据缓存器。 ② 8255数据缓存器可靠接收数据后,IBFA有效,表明“满”,有数据,待发送。 ③ 如果已经把INTEA设置为1,于是满足发出中断请求的条件(STB=1,IBF=1,INTEA=1), INTRA有效,发出中断请求。 ④ 如果CPU接受中断请求,在转入中断服务程序后,用IN指令读取8255 (即外设)的数据。 RD信号的下降边使INTRA复位。因为RD信号的产生表明已经响应了中断,当然应该撤除中 断请求信号,以免一次中断,多次响应。 ⑤ RD的上升边,撤除IBFA,因为读信号的上升边表明数据已经取走,应当使IBFA无效, 表明“空”,外设可以送下一个数据。 设INTE =1;STBA =1 IBFA=1
下面开始8255的编程
第12页
第3页
电气工程学院
A1 A0 8255片内端口选择 0 0 选中PA 0 1 选中PB 1 0 选中PC 1 1 选中控制寄存器 *8255与CPU总线的接口方法 74LS138
A9 A8 A6 A5 A4 A7 A3 A2 A1 A0 IOR IOW DB G1 G2A.
或
8255
PA0 CS : 。 PA7 . . PB0 : PB7 PC0 : PC7第5页电气工程学院
2.方式1——应答式I/O *应答方式必须有联络信号线,完成数据传送前的准备工作。 *借助C口的口线,分配给A口和B口作为联络线。 *在这种方式下,可以按查询方式或中断方式与CPU交换信息。 *选通方式需要有联络线。C口具有多重功能,其中一项:
(1)方式1的输入(以PA为例)
*用于输入的联络线
G2B
Y0 Y1 : :
:
C B A : : Y7
A1 A0 RD WR D0~D7
第4页
电气工程学院
片选信号 A9 1 1 1 1 A8 A7 A6 A5 A4 A3 A2 A1 A0 0 0 0 0 0 0 1 0 0 204H 0 0 0 0 0 0 1 0 1 205H 0 0 0 0 0 0 1 1 0 206H 0 0 0 0 0 0 1 1 1 207H 未用 Y1
INTRB
INTEB=1 OBFB=1 ACKB=1
波形图是从CPU在中断服务程序输出数据开始,描述8255在方式1下的输出
第11页
电气工程学院
3.方式2的功能及接口方法 *只有A口具有方式2 *占用5条PC的口线作为联络线 输出时:PC6(ACKA),PC7(OBFA) 输入时:PC4(STBA), PC5(IBFA) 中断请求线:PC3(INTRA) *在设置完成后,即可进行输入或输出操作。 A口:方式0,1,2 B口:方式0,1 C口:方式0 在A口B口工作在方式1时,C口余下的2条线(PC6、7或PC4、5),仍可作为一般I/O线; A口B口工作在方式0时,C口的8条口线才可以全部作为I/O线。
第10页
电气工程学院
⑤ 如果已经设置INTEB有效,于是在OBFB和ACKB都回到高电平时,INTRB有效, 发出中断请求。 CPU响应中断,在中断服务程序中,又对8255,写入新数据,通过8255传送给外设…….。 ① WR ② ④ ⑤ ③ ACKB ① DB 写入8255数据
已经设置:
OBFB
IRQ2
开入/开出模板
1PA 1PB 2PB 2PA 2PC5 2PC6
1OUT2
定时器 / 计数器模板
2OUT2 1CLK0 2OUT1 1CLK1
小电站 开关量 信号源
LED2组 LED1组
温度测量子系统 步进机及驱动电路
直流电机及 测速子系统
*采集开关量,(小型电站的。LED、LCD,控制步进机正反转,控制GATE……。 在实验中,采集开关状态,控制LED)
电气工程学院
6.5 可编程并行I/O接口芯片8255及其应用
6.5.1可编程并行接口芯片 8255A (P207) 应用十分广泛
主机板
CPU PII 128M主内存 打印机接口 通讯接口 硬盘接口 软盘接口 光盘接口 模入 / 模出模板 485 小型电站 模拟量信号源 温度测量子系统 温度信号
ISA 总线