第10章可编程芯片8255A及其应用.pptVIP

  • 35
  • 0
  • 约1.35万字
  • 约 67页
  • 2017-05-22 发布于广东
  • 举报
第10章可编程芯片8255A及其应用

例 用8255A作为CPU与打印机接口,8255的A口工作于方式0,输出;C口工作于方式0。8255A与打印机及CPU的连线如下图 所示。试编写一程序,用查询方式将100个数据送打印机打印(8255A的端口地址及100个数据的存放地址自行设定)。 分析:8255的A、B、C及控制端口的地址分别为98H、9AH、9CH和9EH,而需打印的数据放在数据段中以DATA1开头的区域,则一种可能的程序段如下实现: …… MOV AL, ; 设置8255A的工作方式控制字 OUT 9EH, AL MOV CX, 100 ; 设置需打印数据的总个数以控制循环次数 LEA SI, DATA1 AGAIN:IN AL, 9CH ; 读状态端口 TEST AL, 01H ; 查询PC0(BUSY)是否为高电平 JNZ AGAIN ; 如是,继续查询,直到BUSY变低 NEXT: MOV AL, [SI] ; 从数据段取数据并通过A口发到打印机 OUT 98H, AL MOV AL,; 设置C口置位/复位控制字,使PC6为低电平 OUT 9EH, AL ; 通知打印机锁存数据并打印 INC SI ; 为取下个数据作准备 DEC CX JNZ AGAIN ; 判断是否传完100个数据 …… 例:某应用系统以8255A作为接口,采集一组开关S7~S0 的状态,然后通过一组发光二极管LED7~LED0显示开关状态,(Si闭合,则对应LEDi亮,Si断开,则对应的LEDi灭)电路连接如下图,已知8255A、B两组均工作在方式0。 写出8255四个端口的地址。 写出8255工作方式控制字。 写出实现给定功能的汇编语言程序。 LED7 LED0 S7 S0 PB7 PB0 PA7 PA0 8255A D7~D0 D7~D0 WR# RD# IOW# IOR# Y0 # G1 G2A# G2B# C B A 74LS138 CS# A9 AEN A8 A7 A6 A5 A4 A3 A2 A1 A0 A1 A0 答: A口、B口、C口和控制口的地址分别是 320H、321H、322H和323H。 A口工作在方式0输出,B口工作在方式0输入,C口空闲,所以其控制字=82H 程序如下: MOV AL, 82H ;置方式字 MOV DX, 323H ;置控制端口地址 OUT DX, AL L1: MOV DX, 321H ;置B口地址 IN AL, DX ;读开关状态(1断,0通) NOT AL ;状态取反 MOV DX, 320H ;置A口地址 OUT DX, AL ;输出(1亮,0灭) JMP L1 * * 8255A 操作地址 写控制字地址 A1 = 1、 A0 = 1 A端口读写地址 A1 = 0、 A0 = 0 B端口读写地址 A1 = 0、 A0 = 1 C端口读写地址 A1 = 1、 A0 = 0 注: 写控制字操作仅有写操作,其余可读写 PC/XT机中地址为60H ~ 63H 8255A 的工作方式控制字 1 D7 D6 D5 D4 D3 D2 D1 D0 0 输出 1 输入 PC3~PC0 B口 0 输出 1 输入 0 方式0 1 方式1 B口工作方式 PC7~PC4 0 输出 1 输入 A口 0 输出 1 输入 特征位,D7=1表示是方式控制字 A口工作方式 00 方式0 01 方式1 1x 方式2 例 A端口方式 1 输入、B 端口方式 1 输出、 PC6,PC7 作输入,给出方式控制字。 1 0 1 1 1 1 0 X 1 0 1 0 0 1 1 X BCH A7H A端口方式 1 输出、B 端口方式 1 输入、 PC4,PC5 作输出,给出方式控制字。 例 8255A与系统的连线如下, 片选译码地址为0F0~0F3H 1) 确定各端口地址? 2) 编程设置8255A : A口方式 0 输入,PC7~PC4输出 B口方式 0 输出,PC3~PC0输入 reset D7 ~ D0 A7 ~ A2 A1 A0 IOR IOW 片选 译码 数据 缓冲器 读写 控制 片内 译码 RESET A1 A0 PC7 PC0 PB7 PB0 控制口 D 端口A 端口C 端口B +5V GND D7 ~ D0 外 设 RD WR

文档评论(0)

1亿VIP精品文档

相关文档