关于交通灯程序延迟问题!!!!急!!!!!!

GPS11   2009-12-21 11:00 楼主
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
两个灯同时亮老是不会延迟  高手帮帮俺吧 小弟谢了!!!

回复评论 (11)

我有用单片机实现的交通灯的设计完整资料(包括详细的设计原理与技术手册 以及完整的源代码)
楼主如果想要,QQ:604914729.

不过你好像用的是PIC单片机,我这个不是,
但代码都是完整的C语言,很容易移植。
点赞  2009-12-21 11:25
用MCU实现的交通灯模组资料,包括详细的设计文档与完整的源代码,具体功能如下:
LED板中每个方向提供四组交通LED灯(包括左转、直行、右转、人行道四组),每组交通灯包括红、黄、绿三个灯,可以实现交通的通行控制;LED板中每个方向提供两个数码管,可以实现100以内的倒计时。
值得参考与研究下。

具体链接:
http://download.eeworld.net/source/1921418
点赞  2009-12-21 11:40

4楼 phb 

不行啊 我做的是课程设计 在试验箱上要出结果的 要不就惨了- -
点赞  2009-12-21 12:04
楼主你用的不是单片机吧?我看应该是8086的汇编语言。这个实验我也做过的,不过我用的是单片机的
点赞  2009-12-21 12:23
楼主用的是什么啊? 顶下。
点赞  2009-12-21 12:54
网上好多51的交通灯的例子,可以下载下来 参考一下 原理都是一样的
点赞  2009-12-21 13:24
不是单片机 是微机原理的课程设计
点赞  2009-12-21 13:52
引用: 引用 7 楼 ns369 的回复:
不是单片机 是微机原理的课程设计


晚上有空聊下,QQ:94648103.
应该很好解决。单片机与8086是一个原理。
点赞  2009-12-21 14:18
看看
点赞  2009-12-21 14:48
那个 我在说的详细点啊  上面的程序是通过可编程并行接口8255芯片实现的 只是在同时亮三十秒的问题上出了问题 就是时间太短没有达到30S
应该咋改 ????明天现场表演哎%>_<%
点赞  2009-12-21 18:06
引用: 引用 8 楼 kyzf 的回复:
引用 7 楼 ns369 的回复:
不是单片机 是微机原理的课程设计


晚上有空聊下,QQ:94648103.
应该很好解决。单片机与8086是一个原理。
仁兄就在这说吧 3q
点赞  2009-12-21 18:12
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复