×
单片机 > 单片机程序设计 > 详情

交通灯智能控制系统设计

发布时间:2020-06-23 发布时间:
|

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,完全可以满足本系统的需要 ;与其他控制方法相比,所用器件可以说是比较简单经济的。 [page]
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
 

关键字:交通灯  智能控制系统  AT89C52 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
用Atmega 16单片机驱动字符型液晶显示芯片