交通灯的汇编程序
在本程序中,用到了8259A、8254、8255、键盘、数码显示管和LED灯等MY8255_A EQU 0600H
MY8255_B EQU 0602H
MY8255_C EQU 0604H
MY8255_CON EQU 0606H
A8254 EQU 06C0H
B8254 EQU 06C2H
C8254 EQU 06C4H
CON8254 EQU 06C6H
SSTACK SEGMENT STACK ;堆栈段
DW 16 DUP(?)
SSTACK ENDS
DA TA SEGMENT ;数据段
DTABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H
DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H
FM DB 05H,03H,05H,00H,00H,00H,00H
;存储主干道的绿灯时间、黄灯时间和支干道的绿灯时间DA TA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DA TA
START: MOV AX,DA TA
MOV DS,AX
CALL JIA
CALL SONGCHU ;计时时间的初值送到数码管缓冲区
PUSH DS
MOV AX, 0000H
MOV DS, AX
MOV AX, OFFSET MIR7 ;取中断入口地址
MOV SI, 003CH ;中断矢量地址
MOV [SI], AX ;填IRQ7的偏移矢量
MOV AX, CS ;段地址
MOV SI, 003EH
MOV [SI], AX ;填IRQ7的段地址矢量
MOV AX, OFFSET SIR1 ;取中断入口地址
MOV SI, 00C4H ;中断矢量地址
MOV [SI], AX ;填SIR1的偏移矢量
MOV AX, CS ;段地址
MOV SI, 00C6H
MOV [SI], AX ;填SIR1的段地址矢量
CLI
POP DS
MOV AL, 11H ;初始化主片8259
OUT 20H, AL ;ICW1 边沿触发、需定义ICW4
MOV AL, 08H
OUT 21H, AL ;ICW2 中断类型号基值为08H
MOV AL, 04H
OUT 21H, AL ;ICW3 IR2上接有从片
MOV AL, 01H
OUT 21H, AL ;ICW4 普通嵌套,普通EOI结束方式
MOV AL, 11H ;初始化从片8259
OUT 0A0H, AL ;ICW1 边沿触发、需定义ICW4
相关推荐: