交通灯智能控制系统设计1.概述
当前,在世界范围内,一个以微电子技术,计算机和通信技术为先导的,以信息技术和信息产业为中心的信息革命方兴未艾。而计算机技术怎样与实际应用更有效的结合并有效的发挥其作用是科学界最热门的话题,也是当今计算机应用中空前活跃的领域。本文主要从单片机的应用上来实现十字路口交通灯智能化的管理,用以控制过往车辆的正常运作。
2.过程分析
图1是一个十字路口示意图。分别用1、2、3、4表明四个流向的主车道,用A、B、C、P分别表示各主车道的左行车道、直行车道、右行车道以及人行道。用a、b、c、p分别表示左转、直行、右转和人行道的交通信号灯,如图2所示。
交通灯闪亮的过程:
路口1的车直行时的所有指示灯情况为:
3a3b2p绿3c红+4a4b4c 3p全红+1c 绿1a1b4p红+2c绿2a2b1p红
路口2的车直行时的所有指示灯情况为:
4a4b3p绿4c红+ 1a1b1c 4p全红+ 2c绿2a2b1p红+3c绿3a3b2p红
故路口3的车直行时的所有指示灯情况为:
1a1b4p绿1c红+ 2a2b2c 1p全红+3c绿 3a3b2p红+4c 绿4a4b3p红
故路口4的车直行时的所有指示灯情况为:
2a2b1p绿2c红+3c3a3b2p全红+4c绿4a4b3p红+1c绿1a1b4p红
图1:十字路口交通示意图 图2:十字路口通行顺序示意图 图3:十字路口交通指示灯示意图 图4:交通灯控制系统硬件框图 3、硬件设计
本系统硬件上采用AT89C52单片机和可编程并行接口芯片8155,分别控制图2所示的四个组合。AT89C52单片机具有MCS-51内核,片内有8KB Flash、256字节RAM、6个中断源、1个串行口、最高工作频率可达24MHz,完全可以满足本系统的需要 ;与其他控制方法相比,所用器件可以说是比较简单经济的。硬件框图如下: 电路原理图 [PDF]4、软件流程图 图5:交通灯控制系统流程图 5、交通灯控制系统软件
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN:
MOV SP,#60H
; LCALL DIR ;调用日期、时间显示子程序
LOOP:
MOV P1,#0FFH
LJMP TEST
LCALL ROAD1 ;路口1的车直行时各路口灯亮情况
LCALL DLY30s ;延时30秒
MOV P1,#0FFH ;恢复P1口高电平
LCALL RESET ;恢复8155各口为高电平
LCALL YELLOW1 ;路口1的车直行-->路口2的车直行黄灯亮情况
LCALL DLY5s ;延时5秒
LCALL RESET ;恢复8155各口为高电平
MOV P1,#0FFH ;恢复P1口
LCALL ROAD2 ;路口2的车直行时各路口灯亮情况
LCALL DLY30s ;延时30秒
LCALL RESET ;恢复8155A 、B口为高电?
MOV P1,#0FFH ;恢复P1口高电平
LCALL YELLOW2 ;路口2的车直行-->路口3的车直行黄灯亮情况
LCALL DLY5s ;延时5秒
LCALL RESET ;恢复8155A 、B口为高电?
MOV P1,#0FFH ;恢复P1口高电平
LCALL ROAD3 ;路口3的车直行时各路口灯亮情况
LCALL DLY30s ;延时30秒
LCALL RESET ;恢复8155A 、B口为高电?
MOV P1,#0FFH ;恢复P1口高电平
LCALL YELLOW3 ;路口3的车直行-->路口4的车直行黄灯亮情况
LCALL DLY5s ;延时5秒
LCALL RESET ;恢复8155各口为高电平
MOV P1,#0FFH ;恢复P1口高电平
LJMP TEST
LCALL ROAD4 ;路口4的车直行时各路口灯亮情况
LCALL DLY30s ;延时30秒
SETB P1.5 ;恢复P1.5高电平
SETB P1.4 ;恢复P1.4高电平
MOV DPTR,#0FFFFH ;恢复8155各口为高电平
LCALL YELLOW4 ;路口4的车直行-->路口1的车直行黄灯亮情况
LCALL DLY5s ;延时5秒
SETB P1.6 ;恢复P1.6高电平
SETB P1.3 ;恢复P1.3高电平
MOV DPTR,#0FFFFH ;恢复8155各口为高电平
LJMP LOOP
;路口1的车直行时各路口灯亮情况3a3b2p绿3c红+4a4b4c3p全红+1c绿1a1b4p红+2c绿2a2b1p红
ROAD1:
MOV DPTR,#7F00H ;置8155命令口地址;无关位为1)
MOV A,#03H ;A口、B口输出,A口、B口为基本输入输出方式
MOVX @DPTR,A ;写入工作方式控制字
INC DPTR ;指向A口
MOV A,#79H ;1a1b4p红1c绿2a2b1p红
MOVX @DPTR,A
INC DPTR ;指向B口
MOV A,#0E6H ;3a3b2p绿3c红4a4b3p红
MOVX @DPTR,A
MOV P1,#0DEH ;4c红2c绿
RET 6、结语
本系统结构简单,操作方便;可现自动控制,具有一定的智能性;对优化城市交通具有一定的意义。
本设计将各任务进行细分包装,使各任务保持相对独立;能有效改善程序结构,便于模块化处理,使程序的可读性、可维护性和可移植性都得到进一步的提高。
6、参考资料
[1] 韩太林,李红,于林韬;单片机原理及应用(第3版)。电子工业出版社,2005
[2] 刘乐善,欧阳星明,刘学清;微型计算机接口技术及应用。华中理工大学出版社,2003
[3] 胡汉才;单片机原理及其接口技术。清华大学出版社,2000 返回首页关闭本窗口
利用plc制作交通灯100 双击自动滚屏 文章来源:一流设计吧 发布者:16sheji8 发布时间:2009-1-14 10:49:40 阅读:152次 利用PLC实现十字路口交通灯的控制 摘要:介绍如何用PLC实现十字路口交通灯的控制,说明其设计方法,解释了程序的工作原理。关键词:PLC;交通灯;状态转移图 Abstract:How to conlrol trafic tights with PLC in crossroad was inlroduced.Design and working principles oftheprogram were explained. Key words:PLC; trafic light; state Iran sition graphic 交通十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。靠什么来实现这井然秩序呢?靠的是交通信号灯的自动指挥系统。那么控制系统是如何实现红、绿、黄三种颜色信号灯有条不紊工作的呢?交通信号灯控制方式很多,可以用电子电路来实现,也可以用单片机编程控制来实现。本文主要介绍如何利用PLC来实现十字路口交通灯的控制。1 交通灯的控制要求 1.1 控制要求 信号灯受启动及停止按钮的控制,当按下启动按钮时,信号灯系统开始工作,并周而复始地循环工作,当按下停止按钮时,系统将停止在初始状态,所有信号灯都熄灭。 1.2 控制时序 交通灯示意图如图1所示,在东西南北两个方向均安装信号灯,两个方向各6个灯,分为红、黄、绿三种颜色。工作时序如图2所示,假设东西向较忙,绿灯时间是南北向的2倍(40s)。按下起动按钮后,南北向绿灯亮维持20s,20s后,南北黄灯闪烁3次,计6S,期间,东西向红灯也亮,并维持26s;26s后,东西方向绿灯亮40s,后东西向黄灯闪烁3次,计6s,期间,南北向红灯也亮,并维持46so接下去周而复始,直到停止按钮被按下为止 本文来自: 一流设计吧( ) 详细出处参考:
简单I/O实验(交通灯控制)
一.实验要求
以74LS273作为输出口,控制4个双色LED灯(可发红,绿,黄光),模拟交通灯管理。
二.实验目的
1.学习在单片机系统中扩展简单I/O接口的方法。
2.学习数据输出程序的设计方法。
3.学习模拟交通灯控制的方法。
4.学习双色灯的使用。
三.实验电路及连线
四.实验说明
1.因为本实验是交通灯控制实验,所以要先了解实际交通灯的变化规律。假设一个十字路口为东西南北走向。初始状态0为东西红灯,南北红灯。然后转状态1南北绿灯通车,东西红灯。过一段时间转状态2,南北绿灯闪几次转亮黄灯,延时几秒,东西仍然红灯。再转状态3,东西绿灯通车,南北红灯。过一段时间转状态4,东西绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。最后循环至状态1。
2.双色LED是由一个红色LED管芯和一个绿色LED管芯封装在一起,公用负端。当红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时,绿灯亮;两端都加高电平时,黄灯亮。
五.实验程序框图
程序框图:
源代码:
ORG 0000H
LJMP START
ORG 0040H
START:
MOV SP,#60H
LCALL STATUS0 ;初始状态(都是红灯)
CIRCLE: LCALL STATUS1 ;南北绿灯,东西红灯
LCALL STATUS2 ;南北绿灯闪转黄灯,东西红灯
LCALL STATUS3 ;南北红灯,东西绿灯
LCALL STATUS4 ;南北红灯,东西绿灯闪转黄灯
LJMP CIRCLE
STATUS0: ;南北红灯,东西红灯
MOV DPTR,#8300H
MOV A,#0FH
MOVX @DPTR,A
MOV R2,#10 ;延时1秒
LCALL DELAY
RET
STATUS1: ;南北绿灯,东西红灯
MOV DPTR,#08300H
MOV A,#5AH ;南北绿灯,东西红灯
MOVX @DPTR,A
MOV R2,#50 ;延时5秒
LCALL DELAY
RET
STATUS2: ;南北绿灯闪转黄灯,东西红灯
MOV DPTR,#8300H
MOV R3,#03H ;绿灯闪3次
FLASH: MOV A,#5FH
MOVX @DPTR,A
MOV R2,#03H
LCALL DELAY
MOV A,#5AH
MOVX @DPTR,A
MOV R2,#03H
LCALL DELAY
DJNZ R3,FLASH
MOV A,#0AH ;南北黄灯,东西红灯
MOVX @DPTR,A
MOV R2,#10 ;延时1秒
LCALL DELAY
RET
STATUS3: ;南北红灯,东西绿灯
MOV DPTR,#8300H
MOV A,#0A5H
MOVX @DPTR,A
MOV R2,#50 ;延时5秒
LCALL DELAY
RET
STATUS4: ;南北红灯,东西绿灯闪转黄灯
MOV DPTR,#8300H
MOV R3,#03H ;绿灯闪3次
FLASH1: MOV A,#0AFH
MOVX @DPTR,A
MOV R2,#03H
LCALL DELAY
MOV A,#0A5H
MOVX @DPTR,A
MOV R2,#03H
LCALL DELAY
DJNZ R3,FLASH1
MOV A,#05H ;南北红灯,东西黄灯
MOVX @DPTR,A
MOV R2,#10 ;延时1秒
LCALL DELAY
NOP
RET
DELAY: ;延时子程序
PUSH 2
PUSH 1
PUSH 0
DELAY1: MOV 1,#00H
DELAY2: MOV 0,#0B2H
DJNZ 0,$
DJNZ 1,DELAY2 ;延时 100 mS
DJNZ 2,DELAY1
POP 0
POP 1
POP 2
RET
END