8255A并口程序初始化与设计
1.基本概念
(1)8255A具有四个端口地址,默认顺序为PORT_A/B/C+控制端口
(2)工作方式:
方式0 :基本的输入输出方式,即无须联络就可以直接进行的 I/O方式
方式1 :选通I/O,此时接口和外围设备需联络信号进行协调
方式2: 双向I/O方式
题目中常见方式0,1/2比较复杂不一定考
(3)端口A/B/C特性
从上图可以看出,端口可以分为A组(A和C高位)、B组(B和C低位)
A和B是主要的IO端口,C主要作为辅助端口使用(或者完全不用)
2.初始化:写入控制数
8255A的控制字写入比较简单,对默认的第四个端口地址查表(D7=1)写入即可
根据题目可知,A组工作在方式0,B组工作在方式0,端口A/B输入,端口C的下半部分输出,上半部分不做要求.可知控制字=10010010B
MOV AL,10010010B
OUT 23H,AL
3.C口复位/置位
4.读取/写入数据
假设8255A端口地址为20H-23H
IN AL,20H ;从A端口读取数据到AL
OUT
MOV AL,03H
OUT AL,21H ;从B端口输出AL
;特殊应用:从控制端口输入控制字可以独立控制端口C的某个针脚
MOV AL,05H ;端口C的独立控制字:00000101B
OUT 23H,AL ;从C输出:单独设定PC2为1
01B
OUT 23H,AL ;从C输出:单独设定PC2为1