您好,欢迎来电子发烧友网! ,新用户?[免费注册]

当前位置:电子发烧友网 > 图书频道 > 电子 > 《计算机组成原理与汇编语言》 > 第6章 常用的输入输出接口芯片

第6节 8255的寻址与初始化

6.5.1   8255的寻址及连接使用

8255占外设编址的4个地址,即A口、B口、C口和控制寄存器各占一个外设接口地址。对同一个地址分别可以进行读写操作。

 根据这种寻址结构,可以方便地将8255连接到系统总线上,如图6.27上所示。

 由图6.27可见,8255与8088总线连接是比较容易的。只是图中为了简化起见未画出AEN的形成。

利用全部A0~A15地址线连接两片8255构成外设接口,其连接图如图6.28所示。由图中的译码电路可以看到,两片8255的接口地址分别为FBC0H~FBC3H和FBC4H~FBC7H。

6.5.2 初始化及应用举例

 8255可编程接口芯片的初始化十分简单,只要将控制字写入8255的控制寄存器即可实现。

在下面的初始化程序中使
B口为输入:

INIT55:MOV  DX,0383H

 

 MOV AL,10000011B

 

OUT  DX,AL

 

 MOV AL,00001101B

 

OUT  DX, AL

 

 

 

 

若利用此打印机接口打印一批字符,且字符串长度在当前数据段的BLAK单元中,要打印的字符在由DATA单元开始的当前数据段中顺序排列,则打印程序如下:

 PRINT: MOV  AL,BLAK

 

MOV  CL,AL

 

 

 MOV  SI,OFFSETDATA

 

 

 GOON:MOV DX,0382H

 

 

 PWAIT: IN  AL,DX

 

 

 AND  AL,02H

 

 

 JNZ  PWAIT;等待不忙

 

 MOV  AL,[SI]

MOV  DX,0380H

OUT  DX,AL;送数据

 

 MOV  DX,0382H

 

 

 MOV  AL,00H

 

 

 OUT  DX,AL

 

 

 MOV  AL,40H

 

 

 OUT  DX,AL;送脉冲

 

 IN  CSI

 

 

 DE  CCL

 

 

 JN  ZGOON

  RET

若利用图6.27所示的8255的接口地址,在方式1下,8255与打印机的连接图如图6.31所示。如图6.30所示,打印机接收一个字符后,会送出一个低电平的响应信号。

 

 

下面就是对8255进行初始化的程序:

MOV  DX,0383H

 

MOV  AL,10100000B

 

OUT  DX,AL

 

MOV  AL,00001101B

 

OUT  DX,AL