交通灯论文1.docVIP

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

51单片机交通灯模拟系统 陈浩 刘莹莹 韩秀敏 (西北民族大学电子设计工作室 2011.05) 摘要: 本系统采用系列设计交通灯,实现了通过芯片的P口设置红、绿灯燃亮时间显示时间随着社会经济的发展,城市交通问题越来越引起人们的关注。人、车、路三者关系的协调,已成为交通管理部门需要解决的重要问题之一。51单片机为主控芯片来模拟交通控制系统,首先,设定两个时间初值,timer1=30,timer2=28.分别作为东西和南北定时初值;然后再利用定时器T0控制timer1和timer2每一秒钟减1并通过数码管将两者的具体变化显示出来;同时,设定显示标志位 direction,当其值为1时,东西方通行,即:东西绿灯,南北红灯;当其值为零时,南北通行,即:南北绿灯,东西红灯。direction的初值为1,当T(30秒倒计时标志位)减到-1时direction变为0,以此类推。其中,T的变化同timer1、timer2步调一致(每一秒钟变化一次)。当direction变为0时,timer1、timer2值互换,南北绿灯亮,计时初值为30。 根据设计要求,系统的模块框图和系统电路连接如下图所示: 整个系统的模拟图如图2所示: 管脚说明: P1^6、 P1^7、 P1^8口控制东西方的红黄绿灯;P1^3、 P1^2、 P1^1口控制南北方向的红黄绿灯; P0^3、P0^2、P0^1、P0^0分别控制数码管2、1、4、3; P3^0~P3^7分别控制每一位数码管的ABCDEFG DP位。 3、信号灯部分的工作原理 本系统利用单片机的P1口来驱动和控制各种信号灯的燃亮和燃亮时间,在实际中,交通灯的信号灯需要用高电压控制,在这里我们只是模拟一下它的控制信号,所以我们就只用单片机的信号引脚直接来控制发光二极管,P1口驱动和控制各种信号灯的燃亮和燃亮时间的编码如表1所示: 表1 P1口的信号灯编码表 4、数码管显示部分的工作原理 系统南北和东西方向的信号灯时间不一样,因为人的视觉迟钝所以可利用单片机的P3口来做数码管的段码的动态驱动,东西方向和南北方向的位线可以公共来使用,这样可以节约单片机有限的口线资源。数码管使用共阴数码管,P0口控制数码管的位选信号(低电平有效),P0口的编码如表2所示: 表2 P0口的位选信号编码表 5、程序说明: (一)、在函数display_1()(东西方向数码管显示函数)及函数void display_2()(南北方向数码管示函数)中分别控制各自LED及LCD的显示,最终在主函数中调用。 void display_1() { char T_high,T_low;//时间的个位和十位 T_high=Time1/10; //十位值 T_low=Time1%10; //各位值 P0=14; //开十位,P0口编码 P3=table[T_high]; //显示十位数 delay(20);//软件延时 P0=13; //开个位,P0口编码 P3=table[T_low]; //显示个位数 delay(20); } //南北方向数码管显示 void display_2() { char T_high,T_low; T_high=Time2/10; T_low =Time2%10; P0=11;/ P3=table[T_high]; delay(20); P0=7;/ P3=table[T_low]; delay(20);} (二)对于东西方与南北方的交换,则在主函数中体现: if(flag) { flag=0;// 1S标志清零 Time1--;Time2--;T--; //时间减去1S if(!directionT==-1)//南北方向(direction=-1)30S倒计时完毕,调换通行方向和倒计时起点 {Time1=30;Time2=28;T=30;direction=!direction;} if(directionT==-1)//东西方向(direction=1)30S倒计时完毕,调换通行方向和倒计时起点 {Time1=28;Time2=30;T=30;direction=!direction;} } (三)程序流程(浩哥,画流程图的那个工具我不会用,你弄一下吧,呵呵) (四)误差分析: 该程序中的误差会产生在时间上。由于每条语句的执行都需要一定的时间,故会对定时造成一定的影响。但执行每条语句大约只要?us乘

文档评论(0)

xinshengwencai + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:5311233133000002

1亿VIP精品文档

相关文档