第二十一讲 可编程并行I / O接口芯片8255A
教学方法: 讲授法
授课时数: 2学时
教学目的:
1、了解I/O接口的特点及应用
2、掌握8255A的结构
3、掌握8255A的应用
教学重点:
8255A的结构及应用
教学难点:
8255A的结构及应用
教学环节:
组织教学:(5分钟) 检查学生人数,强调课堂纪律和要求,自我介绍
组织教学:检查学生人数,提醒学生集中注意力。
复习旧课:并行I / O口扩展常用哪三种方法?
讲授新课: §5-4可编程并行I / O接口芯片8255A
一、8255A的结构和操作方式
1、8255A的组成及引脚
引脚图: P163 图5-17
组成: P162 图1-16
分三部分:
(1)总线接口部分
/CS —— 片选线
A1、A0 —— 端口选择线(选片内四个端口寄存器) 输入
/RD —— 读信号线
/WR —— 写信号线
(2)内部逻辑部分
PA
PC7 ~ PC4 A组控制电路 控制8255A工作方式
PB 二者合一成为端口控制寄存器。
PC3 ~ PC0 B组控制电路
(3)外设接口部分
可由编程决定三个端口的功能
输入 输出 其它
A口 8位锁存 / 缓冲 8位锁存 双向
B口 8位锁存 / 缓冲 8位缓冲
C口 8位锁存 / 缓冲 8位缓冲 可分成两组分别作A
口、B口的选通联络线
2、8255A的端口操作
见P163 表5-9
A1 A0 选中
0 0 PA口
0 1 PB口
1 0 PC口
1 1 控制寄存器
二、8255A的工作方式及方式选择
1、8255A的工作方式
(1)方式0 —— 基本输入/输出方式
A口、B口、C口均有此方式,无选通,
是单片机与外部设备之间的直接数据通道。
(2)方式1 —— 选通输入/输出方式
仅PA口、PB口有此方式,
PC口中若干位作联络信号线,联络信号的组合情况见P164 图5-18。
各联络信号线的意义:
/STB —— 输入选通信号,外设发来。
IBF —— 输入缓冲器满信号,发给外设(通知外设数据未被取走,暂不
能接收新数据)
INTR —— 中断请求信号,外部设备发给单片机
INTE —— 中断允许信号
/OBF —— 输出缓冲器满信号,发给外设(单片机将数据已送到指定口,外部设备可以取走)
/ACK —— 外设响应信号,由外部设备发来(数据已送到外部设备)
(3)方式3 —— 双向方式
仅PA口有此方式。PC3 ~ PC7作联络线
此时,PB口可以是方式0;也可以是方式1(PC0 ~ PC1作联络线)。
2、8255A的方式控制字
用编程方法向8255A的控制口写控制字,可决定它的工作方式。
有两个控制字:
(1)方式选择控制字
1 D6 D5 D4 D3 D2 D1 D0
“1”——方式控制标志位
D6、D5——决定A组的工作方式,0 0 —— 方式0
0 1 —— 方式1
1 × —— 方式2
D4 —— A口的传输方向,1 —— 入,0 —— 出。
D3 —— PC7 ~ PC4的传输方向,1 —— 入,0 —— 出。
D2 —— 决定B组的工作方式,0 —— 方式0,1 —— 方式1。
D1 —— B口的传输方向,1 —— 入,0 —— 出。
D0 —— PC3 ~ PC0传输方向,1 —— 入,0 —— 出。
(2)PC口置位/复位控制字
0 D6 D5 D4 D3 D2 D1 D0
“0”—— 标志位。
D6、D5 —— 不使用位。
D3、D2、D1—— 位选择位,000 ~ 111 分别对应PC7 ~ PC0。
D0 —— 位状态位,1 —— 置位,0 —— 复位。
三、8031和8255A的连接及应用
单片机 8255A
A0 A0
A1 A1
A15 ~ A2中任一线 /CS
P0 D7 ~ D0
/RD /RD
/WR /WR
RST RESET
应用:
电路图
上图中,地址线连接采用线选法。
8255A的地址分布:A15 A14 A13···A8 A7···A1 A0
0 0 0 ··· 0 0 ···0 0 0000H
· · 0 1 0001H
· · 1 0 0002H
· · 1 1 0003H
或 0 1 1 ··· 1 1 ···0 0 7FFCH—PA
· · 0 1 7FFDH—PB
· · 1 0 7FFEH—PC
· · 1 1 7FFFH—控制
例、设单片机8031与微型打印机之间的数据传送采用查询方式。要求将
存放在8031单片机内RAM中以30H为首地址的64个连续单元中的内容
打印输出,试编程。
解:因为PC0连接BUSY,所以,PC3 ~ PC0为输入
又因PC7连接 /DATA STROBE ,所以PC7 ~ PC4为输出,
STROBE —— 表示重复的意思。
/DATA STROBE —— 数据选通信号。作用是通知打印机,8255A要给它传数。
PA口输出,PB口未用。
故 8255A的控制字可设为:1 0 0 0 0 0 0 1B = 81H
PA口地址:7FFCH
PB口地址:7FFDH
PC口地址:7FFEH
控制口: 7FFFH
ORG 1000H
PRINT:MOV DPTR,#7FFFH ;控制口地址
MOV A,#81H ;控制字
MOVX @DPTR,A ;写入控制字
MOV R1,#30H ;数据指针
MOV R2,#40H ;64个数
NEXT: MOV DPTR,#7FFEH ;PC口地址
MOV A, #80H ;使PC7为高电平
MOVX @DPTR,A ;输出/DATA STR OBE为高电平使
;无效,不准备送数
WAIT: MOVX A,@DPTR ;查询打印机状态
JB ACC.0, WAIT ;若PC0即BUSY = 1忙,则等待
MOV DPTR , #7FFCH ;若BUSY = 0空闲,则指向PA口
MOV A , @R1 ;输出数据
MOVX @DPTR , A
MOV DPTR , #7FFEH库 ;指向PC口
MOV A , #00H ;8255A输出/DATA STR OBE信号
;通知打印机,给它传数。
MOVX @DPTR , A
ACALL PDELAY ;调延时子程序,以形成一个宽度
;定时值的负脉冲为
INC R1
DJNZ R2 , NEXT ;判断打印输出完成否?
SJMP $
·
·
·
PDELAY:(延时程序略)
END
小结:1、8255A有几个并行I / O口?几种工作方式?
2、工作方式控制字、置位/复位控制字是如何定义的?
布置作业:抄题目在黑板上。
版书设计:
8255A的结构和操作方式
1、….
2、…….
3、…
二、8255A的工作方式及方式选择
1、……..
2、……..
三、8031和8255A的连接及应用
1、…….
2、…….
3、……..….
小结:
1、……..
2、……
作业: