CODE SEGMENT ;
ASSUME CS:CODE
IOCON EQU 8006H
IOA EQU 8000H
IOB EQU 8002H
IOC EQU 8004H
START: MOV AL,80H ;寫方式控制字,A口工作在方式0,做輸出,B口工作在方式0,做輸出,C口作為輸出
MOV DX,IOCON
OUT DX,AL
MOV DX,IOB
MOV AL,0F0H ;4個路口黃燈燈全滅
OUT DX,AL
MOV DX,IOC
MOV AL,0F0H ;4個路口紅燈全亮,綠燈全滅
;MOV AL,0FH ;4個路口紅燈全亮
OUT DX,AL
CALL DELAY1
IOLED0: MOV AL,10100101B;;南北紅燈滅,綠燈亮
;MOV AL,01011010B;南北綠燈亮,東西紅燈亮
MOV DX,IOC
OUT DX,AL
CALL DELAY1
CALL DELAY1
OR AL,0F0H ;南北綠燈滅
;AND AL,10101111B;南北綠燈滅
OUT DX,AL
MOV CX,8
IOLED1: MOV DX,IOB
MOV AL,10101111B;南北路口黃燈亮
;MOV AL,01010000B;南北路口黃燈亮
OUT DX,AL
CALL DELAY2
OR AL,01010000B;南北路口黃燈滅
;AND AL,10101111B;南北路口黃燈滅
OUT DX,AL
CALL DELAY2
LOOP IOLED1
MOV DX,IOC
MOV AL,0F0H ;4個路口紅燈全亮
;MOV AL,0FH ;4個路口紅燈全亮
OUT DX,AL
CALL DELAY2
MOV AL,01011010B;;南北紅燈亮,東西綠燈亮
;MOV AL,10100101B;;南北紅燈亮,東西綠燈亮
OUT DX,AL
CALL DELAY1
CALL DELAY1
OR AL,0F0H;東西綠燈滅
;AND AL,01011111B;東西綠燈滅
OUT DX,AL
MOV CX,8
IOLED2: MOV DX,IOB
AND AL,01011111B;東西黃燈亮
;MOV AL,10100000B;東西黃燈亮
OUT DX,AL
CALL DELAY2
OR AL,10100000B;東西黃燈滅
;AND AL,01011111B;東西黃燈滅
OUT DX,AL
CALL DELAY2
LOOP IOLED2
MOV DX,IOC
MOV AL,0F0H ;4個路口紅燈全亮
;MOV AL,0FH
OUT DX,AL
CALL DELAY2
JMP IOLED0
DELAY1: PUSH AX
PUSH CX
MOV CX,0030H
DELY2: CALL DELAY2
LOOP DELY2
POP CX
POP AX
RET
DELAY2: PUSH CX
MOV CX,8000H
DELA1: LOOP DELA1
POP CX
RET
CODE ENDS
END START
|