十字路口智能交通灯的控制方案.docxVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

本设计由STC89C52单片机电路+LED灯指示电路+红外避障传感器电路+LCD1602显示+电源电路组成。

1、道路为东西南北走向的十字路口,每条马路各有2套红绿灯,即红、黄、绿。

2、系统正常模式下,均为红灯亮10秒,然后黄灯亮3秒,然后绿灯亮10秒,并依次循环。(同一时刻,每套红绿灯系统只有1个灯亮)

3、在南北方向的马路增加1路红外避障检测,如果南北绿灯情况下,检测到车辆过多以5个位例,达到5个,绿灯延时10s,对应东西红灯相应延时10s。保证南北绿灯时间延长,通车多,防止堵车。

4、在东西方向的马路增加1路红外避障检测,如果东西绿灯情况下,检测到车辆过多以5个位例,达到5个,绿灯延时10s,对应南北红灯相应延时10s。保证东西绿灯时间延长,通车多,防止堵车。

5、每次绿灯,人数过多只能延时一次,否则影响另一方向车道行驶,延时10s后,继续正常红绿灯处理。

6、增加1602显示东西南北灯显示参数,以及车流量参数。

程序如下:

#includereg52.h//包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义

#includestdio.h

#include1602.h

#includedelay.h

sbitew_GREEN=P1^0; //管脚定义

sbitew_YELLOW=P1^1;

sbitew_RED=P1^2;

sbitns_GREEN1=P1^3;

sbitns_YELLOW1=P1^4;

sbitns_RED1=P1^5;

unsignedintns_gre_Num=10;//南北绿灯时间

unsignedintns_yel_Num=0;//南北黄灯时间

unsignedintns_red_Num=0;//南北红灯时间

unsignedintew_gre_Num=0; //东西绿灯时间

unsignedintew_yel_Num=0; //东西黄灯时间

unsignedintew_red_Num=13; //东西红灯时间

unsignedcharstep=1; //运行阶段计数

unsignedchardisFlag=1;//显示标志

unsignedlongtime20ms=0;//定时时间

unsignedintPluNum1=0; //脉冲量

unsignedintPluNum2=0; //脉冲量

bitfirstAdd_ns=0; //加时标志

bitfirstAdd_ew=0;

chardis0[16]; //显示更新暂存

voidInit_Timer0(void); //喊数声明

voiddealLed(void);

voidmain(void)

{

EX0=1; //允许外部中断0中断

EX1=1; //允许外部中断0中断

IT0=1; //外部中断0负跳变中断

IT1=1; //外部中断0负跳变中断

EA=1; //开总中断

ew_GREEN=0; //初始化灯亮一下方便检测

ew_YELLOW=0;

ew_RED=0;

ns_GREEN1=0;

ns_YELLOW1=0;

ns_RED1=0;

DelayMs(200);

ew_GREEN=1; //初始化灯亮一下方便检测

ew_YELLOW=1;

ew_RED=1;

ns_GREEN1=1;

ns_YELLOW1=1;

ns_RED1=1;

Init_Timer0();//定时器0初始化

LCD_Init();//初始化液晶

DelayMs(20);//延时有助于稳定

LCD_Clear();//清屏

sprintf(dis0,|R%02dY%02dG%02dl%02d,ns_red_Num,ns_yel_Num,ns_gre_Num,PluNum1);//打印数据

LCD_Write_String(0,0,dis0); //显示

sprintf(dis0,-R%02dY%02dG%02dr%02d,ew_red_Num,ew_yel_Num,ew_gre_Num,PluNum2);

LCD_Write_String(0,1,dis0); //显示

step=1; //交通灯第一步南北绿灯东西红灯数据填充

ns_gre_Num=10;

ns_yel_Num=0;

文档评论(0)

166****7001 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档