3.硬件连接如下图所示,有 8 个开关 K0-K7, 要求不断检测它们的通断状态,并
随时在发光二极管 LED0-LED7 上显示出来。开关闭合,相应的 LED 点亮;开关打
开,LED 熄灭(如 K0 开关闭合,则 LED0 发光二极管点亮)。请写出完整的汇编
语言源程序。
CODE SEGMENT
ASSUME CS:CODE
START:MOV DX,303H
MOV AL,90H
OUT DX,AL ;8255 初始化
AGAIN:MOV DX,300H
IN AL,DX
MOV DX,301H
NOT AL
OUT DX,AL
JMP AGAIN
MOV AH,4CH
INT 21H
CODE ENDS
END START
4.用 8255A 控制一组红、绿、黄灯,如下图所示。要求用 K1、K2 的闭合与断开
来控制红、绿、黄三灯点亮,对应关系如题表所示。设 8255A 的端口地址范围为
60H~63H,请设计完整的程序。
CODE SEGMENT
ASSUME CS:CODE
START:MOV AX,DATA
MOV DS,AX
MOV AL,82H
OUT 63H,AL ;8255A 初始化
AGAIN:IN AL,61H
CMP AL,00H
JE L2 ;K1、K2 全闭合,转 L2
CMP AL,03H
JE L2 ;K1、K2 全断开,转 L2
CMP AL,02H
JE L1 ;K1 闭合、K2 断开
MOV AL,02H ;亮绿灯
OUT 60H,AL
JMP AGAIN
L1:MOV AL,01H ;亮红灯
OUT 60H,AL
JMP AGAIN
L2:MOV AL,04H ;亮黄灯
OUT 60H,AL
JMP AGAIN
MOV AH,4CH
INT 21H
CODE ENDS
END START