第七章计算机接口8255

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第七章 可编程并行接口电路 8255
本章学习的重点:
1)掌握并行接口8255的基本功能 2)掌握并行接口8255的三种工作方式的特点和用法 3)掌握并行接口8255的硬软件设计方法
并行接口的特点
• 1. 并行接口是在多根数据线上以数据字节或字为单位与 I/O设备或被控对象传输数据。
• 2. 并行接口适用于近距离数据传输。一次同时传送多位 数据,传送速度快。
A6
G1 Y1
CS
口B
A5
G2A
A0
Fra Baidu bibliotek
G2B
地址译码逻辑关系:
A4
C
A3
B
A7
A
A G1 G2A G2B C B
A7 A6 A5
A0 A4 A3 A2 A1
11 0
0 00 X X
Y1=0 C0H~C6H
C0H → A口 C2H → B口 C4H → C口
C6H → 控制口
Y1=0
7.3 8255的工作方式
2) 工作方式1(选通输入输出方式)
A口借用C口的一些信号线用作控制和状态信号,组 成A组,B口借用C口的一些信号线用作控制和状态 信号,组成B组。在方式1下,A口和B口的输入输出 均带有锁存。
方式1下A口、B口为输入(重点掌握和理解的内容)
1)A口工作于方式1且用作输入口时,C口的PC4线用作 选通输入信号线STB,PC5用作输入缓冲器满输出信号 线IBF,PC3用作中断请求输出信号线INTR。 2)B口工作于方式1且用作输入口时,C口的PC2线用作 选通输入信号线STB,PC1用作输入缓冲器满输出信号 线IBF,PC0用作中断请求输出信号线INTR。 注意:与方式1下两口均为输出类似,为实现选通输 入,则同样要利用C口的信号线。其定义如图7.8所示。
注意:8255在工作过程中如果改变工作方式, 则控制口设置的内容全部复位(CPU自动完 成),接着要设置新的方式控制字后才能进 入新的工作方式。
3)C口按位置位/复位控制字 控制字D7=0 这个控制字只对C口起作用,任何一位都可以通过按位
置位/复位控制字来设置。
注意:对C口的置位/复位控制不是把控制字送到C口, 而是由控制口决定各位的状态,是把控制字送到控 制口
有3种工作方式,这些工作方式可用软件编 程对控制口设置来指定。三种基本的工作方式 为:
方式0-基本的输入输出方式 方式1-选通输入输出方式 方式2-双向传送方式。
例:要求A口为输入,B口为输出,C口为输出,A口方式0,B口 方式1。根据要求设置方式控制字:94H MOV AL,94H OUT (PORTC),AL
7.5 8255的寻址及连接使用
8255占外设编址的4个地址,即A口、B 口、C口和控制寄存器各占一个外设接口 地址。对同一个地址分别可以进行读写 操作。例如,读A口可将A口的数据读到 CPU;写A口可将CPU的数据写入A口并 输出。
利用8255的片选信号、A0、A1以及读写 信号,即可方便地对8255进行寻址。
PRINT:MOV AL,BLAK ;BLAK
MOV CL,AL ;数据长度送到CL保存
MOV SI,OFFSETDATA :取打印数据存放地址
GOON:MOV DX,0382H
;设C口地址
PWAIT:IN AL,DX
;取回B口的内容
AND AL,02H ;判断C口C1位是否为1,打印是否要接受
JNZ PWAIT
;C1=1 ZF=0 则转去继续查询等待
MOV AL,[SI]
,开始发数据给打印机,取第一个字符
MOV DX,0380H ;送打印字给A口
OUT DX,AL
MOV DX,0382H
MOV AL,0CH : C6置0,使该位有跳变
OUT DX,AL ;按位置位控制字
MOV AL,0DH ; C6置1,给打印机一个接受数据信号
其编号:PA7~PA0、PB7~PB0、PC7~PC0。端口都是8 位,都可以作为输入或输出,但功能上各有特色: 口A:对应一个8位数据输出锁存和缓冲器;一个8位数
据输入锁存器。 口B和口C :对应一个8位数据输出锁存和缓冲器;一
个8位数据输入缓冲器。 注意:口B和口C 都没有输入锁存,用于输入方式是不能
25
P B7
P B6
P B5
P B4
21
P B3
8255简化图
图7.5 可编程并行接口8255引线图
口A PA0~PA7
口C低半部 PC0~PC3 口C高半部 PC4~PC7
口B PB0~PB7
2) 内部结构
8255的内部结构框图如图5.6所示,由三部分组成。
(1)与外设接口部分 有三个8位的输入输出端口:端口A、端口B、端口C,
≥1
P C3
IN TRA
&
P A7~0 8
&
WR
P C7
IN TE1
P C6
P C4
IN TE2
P C5
OBFA ACKA
STBA IBFA
3
RD
P C2~ 0
I/ O
图7.10 方式2下的信号定义
INTE1:中断允许1。它是由内部的中断控制触发器 发出的允许中断或屏蔽中断的信号。INTE=l,允 许A口在输出缓冲器变空(数据已被外设取走)时 向 CPU申请中断,让CPU输出一个新的数据;INTE =0,则屏蔽了输出中断请求,这样,即使A口的 输出缓冲器已经变空了,也不能在INTR上产生中 断请求信号。INTE1为0还是为1是由软件通过对 PC6复位/置位来完成的,PC6=0使INTE1为0, PC6=l使INTE1为1。 (由软件置1实现中断)
1) 工作方式0(基本输入输出方式) 方式0不使用联络信号,也不使用中断, A口和B口可定义为输入或输出口,C口 分成两个部分(高四位和低四位),C
口的两个部分也可分别定义为输入或输 出。在方式0,所有口输出均有锁存, 输入只有缓冲,但无锁存,C口还具有 按位将其各位清0或置1的功能。
表7.1 8255方式0之下的输入输出组合
• 3.可编程接口可以用软件编程序的方法改变接口的工作方 式及功能,具有广泛的适应性和很高的灵活性。
7.2 可编程并行接口8255引脚功能和结构
8255 是 Intel 公 司 为 其 8086/8088 系 列 微 处 理 器生产的8位通用可编程并行输入输出接口 芯片。它具有很强的功能,在使用中可利 用软件编程来指定它将要完成的功能。因 此,8255获得了广泛的应用。
INTE2:中断允许2。它也是由内部的中断控制触发 器发出的允许中断或屏蔽中断的信号。INTE2=1, 允许A口在输入数据就绪时向CPU申请中断,让CPU 将数据取走;INTE2=0,则屏蔽了输入中断请求。 INTE2为0还是为1是由软件通过对PC4复位/置位 来完成的,PC4=0使INTE2为0,PC4=1使INTE2为 1。(由软件置1实现中断)
对数据锁存,即如第一进来的数据没被取走是,第二 次进来的数据把第一次的数据淹没。
(2)与微处理器接口部分 这部分主要完成数据传送及逻辑控制。
有:RD、WR、CS、RESET、D0-D7,8255的各端口地址 线A0、A1。 (3)内部控制部分 由A、B两组控制电路组成。 主要作用是根据CPU送来的控制字用以决定两组端口 (A组为A口和C口的高4位,B组为B口和C口的低4位) 的工作方式,也可根据控制字的要求对C口按位进行 置位或复位。
OBFB ACKB
IN TRB
3) 工作方式2 (双向输入输出方式)
理解内容:
方式2是A组独有的工作方式。外设既能在A口的8条 引线上发送数据,又能接收数据。此方式也是借用 C口的5条信号线作控制和状态线,A口的输入和输 出均带有锁存。 OBF:输出缓冲器满,输出,低有 效。这是8255A送给外设的控制信号,有效时表示 数据已送入到A口输出锁存器中,用该信号通知外 设将数据取走。
• 3.在并行接口中,8位或16位是同时传输的。
• 4.并行传送的信息不要求固定的格式,这与串行传送的 信息有固定格式的要求不同。
并行接口的类型
• 1.从并行接口数据传送的方向看,可分为两种,一是单向 传送(只作为输入口或只作为输出口),另一种是双向传 送(既可作为输入口,也可作为输出口)
• 2.从并行接口的电路结构看,并行接口可分为硬接线接口 和可编程接口。
数据总线→端口A 数据总线→端口B 数据总线→端口C 数据总线→控制口 D7~D0数据总线呈高阻状态
非法状态 D7~D0数据总线呈高阻状态
与微处理器接口部分的硬件电路图实例 图7-7
D0~D7
8255 C0H 口A
RD
WR
C4H
RESET
口C上半部
74LS138
A2 A1 A1 A0
C2H
口C下半部
P A3
1
P A2
P A1
P A0
RD
5
CS
GN D
A1
A0
P C7
10
P C6
P C5
P C4
P C0
P C1
15
P C2
P C3
P B0
P B1
P B2
20
40
P A4
P A5
P A6
P A7
WR
WR
35
RE SE T
D0
RD
D1
CS
D2 D3
RESET
30
D4
D5
D7
D6
D0
D7
8位数据线
VCC
8255四个端口寻址逻辑关系:
A1 A0 RD WR CS 0 00 1 0 0 10 1 0 0 00 1 0
0 01 0 0 0 11 0 0 1 01 0 0 1 11 0 0 X XX X 1 1 10 1 0 X XX 1 0
完成的操作 端口A→数据总线 端口B→数据总线 端口C→数据总线
1 . 8255的外部引线及内部结构 1)外部引线
8255的外部引线如图所示。 D0~D7:双向数据信号线。 RD :读信号线。 WR :写信号线。 CS :片选信号线。 A0、A1:口地址选择信号线(片内地址选择线)。 RESET:复位输入信号。
PA0~PA7:A口的8条输入输出信号线。 PB0~PB7:B口的8条输入输出信号线。 PC0~PC7:B口的8条输入输出信号线。
CP U接口
内部 逻辑
A组 控制
外设 接口
A组 端口 A(8)
DB 数 据 总线
缓冲 器
8位内 部数据 总线
A组 端口C 上半 部 (4 )
B组 端口C 下半 部 (4 )
RD WR A0 A1 RE SE T
CS
读/ 写 控制 逻辑
B组 控制
B组 端口
B(8 )
图7.6 8255的内部结构框图
1) 初始化及应用举例
例1、8255与打印机连接的硬软件设计 查询式,用C口的一些位做工作状态(灵活应用!)
在使用中打印机 的很多控制线中 只使用少数的几 个控制信号就可 以正确打印的要 求,其它信号线 可以不要。
P A0
D0

系 统
P A1
D1

… …

P A7
D7

线
P C6
STROBE
方式1下A口、B口均为输入
图7.8 方式1下A、B口均为输入时的信号定义
方式1下A口、B口为输出
A口方式1输出
IN TEA
P A7~0
P C7 P C6
OBFA ACKA
& P C3
IN TRA
2
WR
P C4,5
I/ O
B口方式1输出
IN TEB
P B7~0
P C1 P C2
& P C0
WR
图7.9 方式1下,A、B口均为输出的信号定义
P C1 82 55
BUSY
图5.12 8255与打印机的连接
初始化程序如下:
INIT55:MOV DX,0383H ;控制口地址 MOV AL,13H ;A方式0、输出、B方式0, OUT DX,AL ;C7-4输出、C3-0 MOV AL,0DH ;C6置1, OUT DX,AL ;按位置位控制字
I/ O P A7~ PA0 I/ O P C7~ P 4C I/ O P C3~ P 0C I/ O P B7~ P 0B
重点掌握和理解的内容:
8255四个端口: 8255有三个8位的输入输出口外,还有一个控制口,其
功能是用于对8255的工作方式进行设置。 那个口工作由A0、A1的组合实现选择: A1 A0 选中的口号 0 0 选中A口 0 1 选中B口 1 0 选中C口 1 1 选中控制口
例:设置C7=1,C5=1,C3=0 MOV AL,0FH OUT (PORTC),AL ;C7=1 MOV AL,0BH OUT (PORTC),AL ;C5=1 MOV AL,06H OUT (PORTC),AL ;C3=0
每位需两条指令完成设置 PORTC为控制口的地址号
重点掌握的内容:
OUT DX,AL ;送
INC SI ;打印数据区地址移到下一个数据位置
DEC CL ;数据长度减1
JNZ GOON ;全部数据打印完吗?没完返回继续打印
RET
;全部数据打印完,返回主程序
例:设计两个8255,要求8255(1)地址为80H-83H, 8255(2)地址为84H-87H
相关文档
最新文档