资源描述
第16章 可编程并行接口芯片8255A
概述
16.1. 引脚定义及功能
16.2. 8255A内部结构
16.3. 寻址方式
A1 A0
寻址
操作
0 0
A口
读写
0 1
B口
读写
1 0
C口(or状态)
读写
1 1
控制口
写(控制字)
16.4. 工作方式(3种工作方式)
l 工作方式选择控制字
l C口置位/复位控制字
1. 方式0(基本输入输出方式)
例如: A口输出,C口高4位输入,B口输出,C口低4位输出的。
方式控制字:1 0 0 0 1 0 0 0 写入到端口地址为A1A0=11的地址(/CS有效)中。
2. 方式1(选通输入输出方式)
A口,B口可以工作在方式1。用C口的一些位作为与外设的握手信号及向CPU的中断请求信号。
l 选通输入方式:
(1) 与外设的握手信号:/STB, IBF
(2) 向CPU中断请求信号:INTR
(3) 中断允许位(1时允许):INTE(与/STB占同一个位)
输入时序:
l 选通输出方式:
(4) 与外设的握手信号:/OBF, /ACK
(5) 向CPU中断请求信号:INTR
(6) 中断允许位(1时允许):INTE(与/ACK占同一个位)
输出时序:
方式1的/ACK有效表示,外设已经把数据取走。
3. 方式2(双向选通输入输出方式)
只有A口可以工作在方式2。
l 输入时序:
l 输出时序:
**时序上PA7~0口有一个高阻状态。
方式2的/ACK有效时,用于启动端口A的三态缓冲器送出数据,无此信号有效时,端口A处于高阻状态。
4. 方式1或方式2时的状态字(读C口)
可以通过状态字查询来工作。
16.5. 应用实例
例1.产生波形接口电路及程序p145。
用PC0,PC3产生两种波形。 8255A端口地址60h,62h,64h,66h.
START: MOV AL, 80h ; 10000000B 控制字
OUT 66h, AL
L1: MOV AL, 01h ;PC7~PC0 = 01H
OUT 64h, AL
CALL DELAY1MS
MOV AL, 09h ;PC7~PC0 = 09H
OUT 64h, AL
CALL DELAY1MS
MOV AL, 00h ;PC7~PC0 = 00H
OUT 64h, AL
CALL DELAY1MS
MOV AL, 08h ;PC7~PC0 = 08H
OUT 64h, AL
CALL DELAY1MS
Jmp L1
例2 。LED显示接口电路及程序。
l 七段数码管:
l 译码(码变换):
数据à七显示段码,有一译码变换,可以用硬件实现,也可以用软件查表方式实现。
l 应用
用PA选择位,PB输出显示的数据(dp,g~a)。 8255A端口地址60h,62h,64h,66h。
l 程序:
原理:动态扫描显示。选择位0,并送相在该位上显示的段码;选择位1,并送相在该位上显示的段码;…;选择位7,并送相在该位上显示的段码。再从0位开始以上循环。
例3.查询方式双机并行通信。
例4.中断方式双机并行通信。
展开阅读全文