第二十一讲 可编程并行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、…… 作业: