📄 15_trled.asm
字号:
;//****************************************************************
;文件名: 交通灯程序 for 8088
;功能: 交通灯控制实验
;接线: 双色LED显示模块的JD3B到扩展输出模块的JD1C;
; 用导线连接CPU模块的200H到扩展输出模块的CS_273.
;//****************************************************************
CS273 EQU 200H ;并口输出口地址
CODE SEGMENT
ASSUME CS:CODE,DS:CODE
START:
PUSH CS
POP DS
CALL STATUS0 ;初始状态(都是红灯)
MLOOP: CALL STATUS1 ;南北绿灯,东西红灯
CALL STATUS2 ;南北绿灯闪转黄灯,东西红灯
CALL STATUS3 ;南北红灯,东西绿灯
CALL STATUS4 ;南北红灯,东西绿灯闪转黄灯
JMP MLOOP
STATUS0:
MOV AL,0F0H ;南北红灯,东西红灯
MOV DX,CS273
OUT DX,AL
MOV BL,10
CALL DELAY ;延时1秒
RET
STATUS1:
MOV AL,05AH ;南北红灯,东西红灯
MOV DX,CS273
OUT DX,AL
MOV BL,50
CALL DELAY ;延时5秒
RET
STATUS2:
MOV CX,3 ;绿灯闪3次
FLASH: MOV AL,050H ;南北红灯,东西红灯
MOV DX,CS273
OUT DX,AL
MOV BL,3
CALL DELAY ;延时0.3秒
MOV AL,05AH ;南北红灯,东西红灯
MOV DX,CS273
OUT DX,AL
MOV BL,3
CALL DELAY ;延时0.3秒
LOOP FLASH
MOV AL,0FAH ;南北红灯,东西红灯
MOV DX,CS273
OUT DX,AL
MOV BL,10
CALL DELAY ;延时1秒
RET
STATUS3:
MOV AL,0A5H ;南北红灯,东西绿灯
MOV DX,CS273
OUT DX,AL
MOV BL,50
CALL DELAY ;延时5秒
RET
STATUS4: ;南北红灯,东西绿灯闪转黄灯
MOV CX,3 ;绿灯闪3次
FLASH1: MOV AL,0A0H
MOV DX,CS273
OUT DX,AL
MOV BL,3
CALL DELAY ;延时0.3秒
MOV AL,0A5H
MOV DX,CS273
OUT DX,AL
MOV BL,3
CALL DELAY ;延时0.3秒
LOOP FLASH1
MOV AL,0F5H ;南北红灯,东西黄灯
MOV DX,CS273
OUT DX,AL
MOV BL,10
CALL DELAY ;延时1秒
RET
DELAY PROC NEAR
PUSH CX
DL1: MOV CX,8000H
DL2: LOOP DL2
DEC BL
CMP BL,0
JNE DL1
POP CX
RET
DELAY ENDP
CODE ENDS
END START
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -