交通灯控制系统(软件定时)
假设为某个十字路口设计一个交通灯控制系统。在十字路口的东西和南北两个方向都各有红、黄、绿三个信号灯。红、黄、绿交通灯的变化规律为:
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,***********B
OUT DX,AL
CALL DELAYED1
MOV BX,5H
L1:
MOV DX,71H
MOV AL,1110B
OUT DX,AL
MOV DX,72H
MOV AL,***********B
OUT DX,AL
CALL DELAYED2
MOV DX,71H
MOV AL,1110B
OUT DX,AL
MOV DX,72H
MOV AL,***********B
OUT DX,AL
CALL DELAYED2
DEC BX
JNZ L1
MOV DX,71H
MOV AL,0011B
OUT DX,AL
MOV DX,72H
MOV AL,***********B
OUT DX,AL
CALL DELAYED1
MOV BX,5H
L2:
MOV DX,71H
MOV AL,0101B
OUT DX,AL
MOV DX,72H
MOV AL,***********B
OUT DX,AL
CALL DELAYED2
MOV DX,71H
MOV AL,0111B
OUT DX,AL
MOV DX,72H
MOV AL,***********B
OUT DX,AL
CALL DELAYED2
DEC BX
JNZ L2
JMP START
DELAYED1: MOV AX,10
L3: MOV CX,0FFFFH
LOOP $
DEC AX
JNZ L3
RET
DELAYED2:MOV CX,0FFFFH
LOOP $
RET
CODE ENDS
END START
地址线CS选70H 用的是B口的低4位和C口的全部
所以L1——L12 接 B3--B0 和C7 --C0
自己做过一遍 没有问题
补充:
8255CS插孔连译码输出070H-07FH插孔
我说的B 就是你看到的PB C就是实验版上的PC
如果你 b3--L1 b2--L2 B1--L3 B0--L4 C7--L5 C6--L6
c5--L7 c4--L8 c3--L9 c2--L10 c1--L11 C0--L12不对的话
可能你的实验板和我见到的不同
你再试一下
C7--L1 C6--L2 c5--L3 c4--L4 c3--L5 c2--L6 C1--L7 C0--L8
B3--L9 B2--L10 B1--L11 B0——L12
还有 灯的延迟时间你要自己调 因为个人的芯片时钟不一样
我不知道 你说的是哪边出了问题 源程序 我调过 肯定无误
所以我不知道怎么帮你