利用8255A与开关和LED的连接电路,PA口作输出连接发光二极管,PB口作输入连接八个开关。编程实现开关闭合,对应的发光二极管亮;反之则暗。
程序代码如下:
DATAS SEGMENT
;此处输入数据段代码
IO3 EQU 30H
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
;此处输入代码段代码
MOV AL,10000011B;8255A初始化
MOV DX,IO3+6;控制端口为36H
OUT DX,AL;把控制字写入控制端口
L1: MOV DX,IO3+2;取PB口数据
IN AL,DX
MOV DX,IO3+0;把数据输出PA口
OUT DX,AL
JMP L1
RET
MOV AH,4CH
INT 21H
CODES ENDS
END START