- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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乘
您可能关注的文档
最近下载
- 无人机驾驶员技能考核内容结构表二级.pdf VIP
- 中国康养产业消费趋势报告(2025).pdf VIP
- 小区消防设施维修方案.docx VIP
- 无人机驾驶员技能考核内容结构表一级.pdf VIP
- 第三单元 珍爱我们的生命 测试卷(含答案)道德与法治七年级上册(2024).doc VIP
- TSIOT 803-2020 虚拟现实用户界面设计规范.pdf VIP
- 医院保洁员感控培训课件.pptx VIP
- 【完整正版高清】T_CFLP 0016-2023《国有企业采购操作规范》【2023修订版】.doc VIP
- 2025年一级建造师之一建民航机场工程实务考试题库【历年真题】.docx VIP
- Reading explorer-F级教学精品课件-U3A.pptx VIP
文档评论(0)