1. 8255A
8255A内部结构包括三个并行数据输入/输出端口, 两个工
作方式控制电路, 一个读/写控制电路和 8 位总线缓冲器。
图 7.15 8255A (a) 内部结构; (b) 引脚
(1) 端口A、 B、 C。 A口: 是一个8位数据输出锁存器/缓冲器和一个8位数据
输入锁存器。
B口: 是一个8位数据输出锁存器/缓冲器和一个8位数据 输入缓冲器。 C口: 是一个8位数据输出锁存器/缓冲器和一个8位数据 输入缓冲器。
表 7.5 8255A的C口联络控制信号线
3. 8255A 的控制字 (1)
图 7.17 8255A的方式控制字
(2) 端口C置位/复位控制字
图 7.18 8255A端口C置位/复位控制字
例 1 要求A口工作在方式0输入, B口为方式1输出, C口高 4位PC7~PC4为输入, C口低4位PC3~PC0为输出。实现上述要 求的初始化程序为: MOV R1, #03H MOV A, #9CH ; 03H为 8255A 控制寄存器地址 ; 8255A工作方式字为 9CH
图 7.20 8031扩展打印机接口8255A
8255A 的方式1中OBF为低电平有效, 而打印机STB要求 下降沿选通。所以8255A采用方式0, 由PC0 模拟产生STB信号。
因PC7输入, PC0输出, 则方式选择命令字为: 10001110B=8EH。
自内部RAM 20H单元开始向打印机输出80个数据的程序 如下: MOV R0, #7FH ; R0
例 要求用 2764 芯片扩展 8031 的片外程序本例采用完全译码方法。
(1) 确定片数。
因0000H ~ 3FFFH的存储空间为16 KB,
所需芯片数=实际要求的存储容量/单个芯片的存储容量 = 16 KB/ 8 KB = 2(片)