P控制规律如下:南北路口的绿灯、东西路口的红灯同时亮30秒;
南北路口的黄灯闪烁5次,同时东西路口的红灯继续亮;
南北路口的红灯、东西路口的绿灯同时亮30秒;
南北路口的红灯继续亮,同时东西路口的黄灯闪烁5次;
不断重复。
ORT_A EQU 2A0H ;8255 PORT A ADDRESS
PORT_B EQU 2A1H ;8255 PORT B ADDRESS
PORT_C EQU 2A2H ;8255 PORT C ADDRESS
CMD_PORT EQU 2A3H
PORT_CS EQU 2A3H
CODE SEGMENT
ASSUME CS:CODE
START:
MOV AL,10000011B ;PORT_A 和PORT_C 高四位均为输出,PORT_C的低四位为输入端,工作于0方式
MOV DX,PORT_CS
OUT DX,AL
SHOW:
MOV DX,PORT_A
MOV AL,00100100B
OUT DX,AL
MOV CX,5
HUANG4:
CALL TIMING
LOOP HUANG4
CALL TIMING
MOV CX,5
HUANG:
MOV AL,01000100B
OUT DX,AL
CALL TIMING
MOV DX,PORT_A
MOV AL,00000100B
OUT DX,AL
CALL TIMING
LOOP HUANG
MOV AL,10000001B
OUT DX,AL
CALL TIMING
MOV CX,5
HUANG2:
CALL TIMING
LOOP HUANG2
MOV CX,5
HUANG3:
MOV AL,10000010B
OUT DX,AL
CALL TIMING
MOV DX,PORT_A
MOV AL,10000000B
OUT DX,AL
CALL TIMING
LOOP HUANG3
JMP SHOW
TIMING PROC NEAR
CALL DELAY
RET
TIMING ENDP
DELAY PROC NEAR
PUSH CX
PUSH BX
MOV BX,0FFH
DELAY_:
MOV CX,0FFH
DELAY_AGAIN:
LOOP DELAY_AGAIN
DEC BX
JNZ DELAY_
POP BX
POP CX
RET
DELAY ENDP
CODE ENDS
END START
两个灯同时亮老是不会延迟 高手帮帮俺吧 小弟谢了!!!
我有用单片机实现的交通灯的设计完整资料(包括详细的设计原理与技术手册 以及完整的源代码)
楼主如果想要,QQ:604914729.
不过你好像用的是PIC单片机,我这个不是,
但代码都是完整的C语言,很容易移植。
用MCU实现的交通灯模组资料,包括详细的设计文档与完整的源代码,具体功能如下:
LED板中每个方向提供四组交通LED灯(包括左转、直行、右转、人行道四组),每组交通灯包括红、黄、绿三个灯,可以实现交通的通行控制;LED板中每个方向提供两个数码管,可以实现100以内的倒计时。
值得参考与研究下。
具体链接:
http://download.eeworld.net/source/1921418
不行啊 我做的是课程设计 在试验箱上要出结果的 要不就惨了- -
楼主你用的不是单片机吧?我看应该是8086的汇编语言。这个实验我也做过的,不过我用的是单片机的
网上好多51的交通灯的例子,可以下载下来 参考一下 原理都是一样的
那个 我在说的详细点啊 上面的程序是通过可编程并行接口8255芯片实现的 只是在同时亮三十秒的问题上出了问题 就是时间太短没有达到30S
应该咋改 ????明天现场表演哎%>_<%