交通灯控制系统(8253定时)
假设为某个十字路口设计一个交通灯控制系统。在十字路口的东西和南北两个方向都各有红、黄、绿三个信号灯。红、黄、绿交通灯的变化规律为:
1)南北方向的绿灯、东西方向的红灯同时亮20秒。
2)南北方向的绿灯灭、黄灯亮5秒,同时东西方向的红灯继续亮。
3)南北方向的黄灯灭、红灯亮,同时东西方向的红灯灭、绿灯亮,持续20秒。
4)南北方向的红灯继续亮,同时东西方向的绿灯灭、黄灯亮5秒。
5)转1)重复。
交通灯用微机原理实验箱上的。通过8255并行端口来实现对交通灯的模拟控制,定时时间由编程实现
源程序如下:
CODE SEGMENT
ASSUME CS:CODE
ORG 1000H
START:MOV DX,73H
MOV AL,80H
OUT DX,AL
MOV DX,71H
MOV AL,1110B
OUT DX,AL
MOV DX,72H
MOV AL,01111001B
OUT DX,AL
CALL DELAYED1
MOV BX,5H
L1:
MOV DX,71H
MOV AL,1110B
OUT DX,AL
MOV DX,72H
MOV AL,10111010B
OUT DX,AL
CALL DELAYED2
MOV DX,71H
MOV AL,1110B
OUT DX,AL
MOV DX,72H
MOV AL,11111011B
OUT DX,AL
CALL DELAYED2
DEC BX
JNZ L1
MOV DX,71H
MOV AL,0011B
OUT DX,AL
MOV DX,72H
MOV AL,11001111B
OUT DX,AL
CALL DELAYED1
MOV BX,5H
L2:
MOV DX,71H
MOV AL,0101B
OUT DX,AL