
四、8255A的应用举例例18255A在IBMPC/XT主板上的应用例2用8255A做并行打印机的接口
四、8255A的应用举例 例1 8255A在IBM PC/XT主板上的应用 例2 用8255A做并行打印机的接口

例18255A在IBMPC/XT主板上的应用主板IRO-18.2Hz方波INTAINTAINTINTR键盘IR1键盘接口中断申请键88259A辅助电路扫描码0盘60H端口8应答信号861H端口扬声器8255A
例1 8255A在IBM PC/XT主板上的应用 键 盘 接 口 键 盘 键盘 中断申请 8259A IR1 INTA INT 8 0 8 8 INTR INTA 60H端口 61H端口 8255A 应答信号 扫描码 辅 助 电 路 主 板 IR0 18.2Hz方 波 扬声器

8255A与系统的连接:总线并行接口8255ADODOPAO数据线读键盘扫描码~D7D7PA7输出控制信号TORPBORDIOWWRPB7扬声器发声等AOAOA1A1PCO读入系统配置片选译码CSA5PC760~7FH~A9
A0 A1 CS 总 线 并行接口 8255A A0 A1 数 据 线 IOR RD IOW WR 片 选 译 码 A5 ~ A9 PA0 ~ PA7 D0 读键盘扫描码 ~ D7 D0 ~ D7 60~7FH PB0 ~ PB7 输出控制信号 扬声器发声等 PC0 ~ PC7 读入系统配置 8255A与系统的连接: 片 选 译 码

各端口的地址分别为:A□ : 60HB□: 61HC□ : 62H控制口:63H正常工作时,A、B、C三个端口均工作在方式0,A口输入、B口输出、C口输入,方式控制字为:10011001B(99H)(8255A的控制字在系统初始化中已设置)发生程序中通过61H端口控制发声键盘中断子程中通过60H端口读入键盘扫描码
▲各端口的地址分别为: A口:60H B口: 61H C口:62H 控制口: 63H ▲正常工作时, A、B、C三个端口均工作在方式0, A口输入、B口输出、C口输入 , 方式控制字为:1001 1001 B(99H) ( 8255A的控制字在系统初始化中已设置 ) ▲发生程序中 通过61H端口控制发声 键盘中断子程中 通过60H端口读入键盘扫描码

DODOPAO数据线读键盘扫描码D7D7PA7PCTORPBORD输出控制信号TOWWR总PB7扬声器发声等0AOA01.A1A1PCO线执行:读入系统配置A5片选CSPC72译码OUT 61H. AL60~7FHA9并行接口8255APB7~PB0CLKCS A1 A001100001BA15~A0D7~D0D7~D0WRIOWPC总线I/O写时序8255A方式0写时序
执行: OUT 61H, AL PC 总线I/O写时序 8255A方式0写时序 WR CS A1 A0 D7 ~ D0 PB7~PB0 A15~A0 CLK IOW T1 T2 T3 Tw T4 D7~D0 0110 0001B 0 1 A0 A1 CS 并行接口 8255A PC 总 线 A0 A1 数 据 线 IOR RD IOW WR 片选 译码 A5 ~ A9 PA0 ~ PA7 D0 读键盘扫描码 ~ D7 D0 ~ D7 60~7FH PB0 ~ PB7 输出控制信号 扬声器发声等 PC0 ~ PC7 读入系统配置 片选 译码

DODOPAO数据线读键盘扫描码2D7D7PA7PCTORPBORD输出控制信号TOWWR总PB7扬声器发声等0AOA00.AlA1执行:PCO线读入系统配置A5片选CSPC7译码~IN AL, 60H60~7FHA9并行接口8255AT4Tw13CLKPA7~PA001100000CS A1 A0A15~A0D7~D0D7~D0TORRDPC总线IO读时序8255A方式0读时序
执行: IN AL, 60H CS A1 A0 D7 ~ D0 RD PA7~PA0 PC 总线I/O读时序 8255A方式0读时序 A15~A0 CLK IOR T1 T2 T3 Tw T4 D7 ~ D0 0110 0000 执行: IN AL, 60H 0 0 A0 A1 CS 并行接口 8255A PC 总 线 A0 A1 数 据 线 IOR RD IOW WR 片选 译码 A5 ~ A9 PA0 ~ PA7 D0 读键盘扫描码 ~ D7 D0 ~ D7 60~7FH PB0 ~ PB7 输出控制信号 扬声器发声等 PC0 ~ PC7 读入系统配置 片选 译码

例2用8255A做并行打印机的接口打印机的信号简介打印机的工作过程1.采用查询方式控制打印2.采用中断方式控制打印
例2 用8255A做并行打印机的接口 ⚫ 打印机的信号简介 ⚫ 打印机的工作过程 1. 采用查询方式控制打印 2. 采用中断方式控制打印

打印机的信号简介STROBED7~D0DO2数据D13锁存器数据线打D21D355针D型插头STROBED46D5选通信号印D6控制电路8D79ACKACK10响应信号BUSY机PE12SLCT13BUSY14ERROR状态信号15AUTOFDXT16INIT0 空闲17SLCTIN其它1 忙GND
25针D型插头 STROBE D0 D1 D2 D3 D4 D5 D6 D7 ACK BUSY PE SLCT ERROR AUTO FD XT INIT SLCT IN GND 123456789 10 11 12 13 14 15 16 17 其它 打印机 D 7~D 0 STROBE ACK 数 据 锁存器 BUSY 控制电路 选通信号 响应信号 状态信号 0 空闲 1 忙 数据线 ⚫ 打印机的信号简介

D0~D7:数据线,接收要打印的数据。STROBE:数据选通信号,输入信号,负脉冲有效,该信号有效时,将数据线D0~D7上的数据锁存到打印机的数据寄存器中。ACK:响应信号,输出信号,负脉冲信号,打印机接收送来的数据后,并准备好接受新的数据时发出的响应信号BUSY:打印机状态信号,输出信号,BUSY-1,表示打印机正在进行内部操作,处于忙状态,不能接受新的数据,BUSY=0,表示打印机处于空闲状态,可以接受新的数据
D0 ~ D7 : 数据线,接收要打印的数据。 STROBE : 数据选通信号,输入信号,负脉冲有效, 该信号有效时,将数据线 D0~D7上的 数据锁存到打印机的数据寄存器中。 ACK : 响应信号,输出信号,负脉冲信号, 打印机接收送来的数据后, 并准备好接受新的数据时发出的响应信号。 BUSY : 打印机状态信号,输出信号, BUSY=1,表示打印机正在进行内部操作, 处于忙状态,不能接受新的数据, BUSY=0,表示打印机处于空闲状态, 可以接受新的数据

打印机的工作过程当打印机不忙BUSY=0时,将数据送至数据线D7~D0;通过STROBE发一个负脉冲信号,其下降沿将D7~D0线上的数据锁存到打印机的数据锁存器中,并使BUSY=1,表示打印机正处于忙状态:打印机处理完数据,并准备好接受新的数据时,R发出一个负脉冲响应信号ACK,其上升沿使BUSY=0。1D7~D0数据D7~D0数据锁存器打印机STROBESTROBE2控制电路BUSYBUSY3ACKACK
STROBE D7~ D0 BUSY ACK 数 据 ② ③ ① STROBE BUSY D7~D0 ACK 打 印 机 数 据 锁存器 控 制 电 路 ⚫ 打印机的工作过程 ① 当打印机不忙 BUSY=0时,将数据送至数据线D7~D0; ② 通过STROBE发一个负脉冲信号, 其下降沿将D7~D0线上的数据锁存到打印机的数据锁存器中, 并使BUSY=1,表示打印机正处于忙状态; ③ 打印机处理完数据,并准备好接受新的数据时, 发出一个负脉冲响应信号ACK, 其上升沿使BUSY=0