基于单片机智能交通灯毕业设计说明_第1页
基于单片机智能交通灯毕业设计说明_第2页
基于单片机智能交通灯毕业设计说明_第3页
基于单片机智能交通灯毕业设计说明_第4页
基于单片机智能交通灯毕业设计说明_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计说明书题目:基于单片机智能交通灯产品设计工艺设计方案设计√类型:学生姓名:学号:学院:电子信息工程学院专业:应用电子技术班级:学校指导教师:企业指导教师:_________2016年5月3日摘要随着社会主义建设,城市的规模在不断扩大的城市交通进行了改进和完善,畅通的交通已成为制约社会主义建设的重要因素。如今,随着机动车的增加,尤其是交通建设的十字路口上,城市交通安全越发严峻,严重的影响我们的生活。目前,交通灯交点用于控制车辆和人的通道,不仅方便了维护和管理,并且有强烈的自动化。很多灯电路的正向着数字化,低功耗,多样,方便人,车,路的协调三者关系,现在的社会和经济发展而发展,城市交通问题越来越引起人们的关注。看来,交通得到有效控制,疏导交通流,提高道路通行能力,减少交通事故的发生有显著的影响。十字路口车辆穿梭,行人熙熙攘攘,车库车道,人行道人,有条不紊。怎样才能实现这种有序的秩序呢?它依靠红绿灯指挥自动化系统,在许多方面的受交通信号控制。关键词:STC89C52单片机;交通灯;倒计时;时间显示目录1.绪论 11.1交通信号灯的发展及研究意义 11.2现在城市路口交通灯控制技术现状 11.3单片机概述 21.4方案的设计与论证 22.系统硬件设计 32.1总体设计 32.2单片机的选择 32.3单片机的基本结构 42.4单片机外围电路设计 43.交通信号灯控制系统的设计 73.1十字路口交通信号灯具体的控制要求 73.2十字路口交通信号灯示意图 74.交通信号灯控制系统程序编制 84.1软件设计应用环境 84.2软件设计流程 85.结论 9参考文献 10致谢 11附录:源程序代码 12 .绪论1.1交通信号灯的发展及研究意义如今,安装在每个路口,疏导车辆交通红绿灯已经成为最常见和最有效的手段这种技术的发展有着悠久的历史。1858年,在伦敦的主要街道安装燃气为红色,蓝色和白色光的光源机械扳手公式指挥马车流量。这是世界上第一个红绿灯。1868年,国会广场威斯敏斯特在伦敦的英国机械工程师娜亿特安装了世界上第一个气灯前。它由红色和绿色的旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“关注”。电驱动的红绿灯在美国,交通灯的红色,绿色和黄色的圆形发射器组成,开始于1914年,安装在纽约市第五大道塔。红灯表示“停止”,绿灯表示“通行证”。交通信号灯出现,流速可以有效地控制,缓解交通拥堵,提高道路通行能力,减少交通事故有显著的影响,进而改变交警指挥疏散交通拥堵状况,实现人,车,路三者同步。目前,我市不断扩大,人们越来越高的交通灯控制,我们需要了解交通信号灯的一个更高的水平,与城市交通路口的需求相结合,不断实现创新和发展的需要,研究红绿灯是非常重要的。 1.2现在城市路口交通灯控制技术现状随着城市机动车量的增加,许多城市出现了交通超负荷的情况,因此,自80年代末,这些城市的城市公路建设,公路建设初期完成后,他们已经有效地改善了交通状况。然而,随着交通的快速增长和缺乏高朋道路系统的研究和控制,高速道路没有充分发挥其预期的作用。对特性的城市快速路建设,同时也决定着城市道路的交通状况不可避免地要受到在连接高速公路和普通公路的交通条件。那么,如何采用合适的控制方法,最大限度地利用好建设成本高昂的城市高速公路,主要道路,以缓解交通繁忙的交通拥堵,已经日益成为一个重大问题交通管理和城市规划部门予以解决。1.3单片机概述计算机系统的发展,在三个方向被显著开发;这三个方向:技术巨头,单片和网络。解决复杂的计算系统和高速数据处理的超级计算机仍然是有效的,因此,努力实现处理能力和当前的高速超级计算机的方向发展。SCM事件,英特尔给它的名字一个微控制器嵌入式微控制器。的供应链管理的最明显的优点在于,它可以被嵌入各种仪器和设备。这是不可能的,超级计算机网络,在很多的情况下,微控制器的发展现状,显示几个趋势:(1)可靠性高的水平,并且越来越多的与互联网连接是一个明显的趋势。(2)越来越多的成员的整合;NS(国家半导体)公司单片机宜巴语音,视频分量也集成到设备中,也就是,这意味着微控制器只有一个单片集成电路,而不是在它的功能;如果它可以从功能的角度讲是万能机。为各种由于其内部的集成电路的应用程序。(3)低功率和模拟电路结合越来越多。随着半导体工艺技术开发和系统设计水平的提高,微控制器将继续产生新的变化和进步,最终人们会发现:微处理器和计算机系统之间的距离越来越小,甚至难以辨认。1.4方案的设计与论证微控制器核心的设计中,作为倒计时数字LED指示,根据设计要求,但我们认为这是一个功能块,以实现各种的最佳解决方案的实时显示系统状态,系统还增大根据交通拥堵在途时间可提高工作效率,缓解道路交通拥堵分离,二级公路设置。在图中所示的系统框图的整体设计。下面显示交通灯控制框图,主控制电路,关键电路,振荡电路,复位电路,显示电路,电源电路的电路。表1.1系统总体设计框图2.系统硬件设计2.1总体设计本设计以单片机为控制核心,采用模块化设计,共分以下几个功能模块:单片机控制系统、键盘及状态显示、倒计时模块等。MCU为硬件系统的核心,它是工作机器控制器和数据处理器的两个协调。它由单芯片振荡电路,复位电路。该系统采用双数字倒计时计数功能,最大显示数量99,界面友好,灵活控制,优化物理结构是本设计的亮点。2.2单片机的选择单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。通常单片机由单片集成电路芯片,内部包含了电脑配件的基本功能:我的CPU,内存和输入/输出接口电路。因此单片机只需要适当的软件及外部设备相结合,可以成为一个单片机控制系统。单片机经过了发展之后,在多功能,高效率,高性能,低电压,低功耗,低价格,高存储容量,强大的I/O功能和良好的相容性结构的发展方向前进。2.3单片机的基本结构AT89C52单片机是一种低功耗,低电压,高性能CMOS8位微控制器,具有8KB(可承受1000次擦除周期)FLASH可编程只读可擦写程序存储器(EPROM),该器件采用ATMEL高密度CMOS技术和公司的非易失性存储器(NURAM)技术制造,输出引脚和指令兼容MCS-51,快闪存储器芯片允许系统内的程序可以适于或常规非易失性存储器编程到程序。因此,AT89C52是一个强作用,高度的灵活性和经济实惠的单芯片,它可以很容易地在各控制区的应用。2.4单片机外围电路设计2.4.1复位电路设计MCS-51复位输入RST是MCS-51提供了手段初始化,程序可以从指定位置开始,时钟电路MCS-51后,只要RST引脚出现两个以上的机器周期,当一个高的水平,它可以生成一个复位操作,只要RST居高不下,从高只有一个RET为低后MCS-51周期复位,MCS-51开始执行程序从地址0000H本系统采用复位电路的复位按钮。图2.1复位电路图2.2.2外部晶振时钟电路设计时钟MCS-51可以以两种方式来生产,一个是内部使用芯片振荡器电路;另一个外部的方式,在本文中,根据实际需要,在简单的内部振荡模式中使用,内部MCS-51构成一个高增益反相放大器振荡器引脚XTAL1和XTAL2是输入和放大器输出,它们共同构成一个反馈放大器元件芯片晶体或陶瓷谐振器自激振荡。MCS-51虽然有内部振荡电路,但要形成时钟,必须外接元件,所以实际构成的振荡时钟电路,外接晶振以及电容C1和C2构成了并联谐振电路接在放大器的反馈回路中,对接电容的值虽然没有严格的要求,但电容的大小会影响振荡频率的高低,振荡器的稳定性,起振的快速性和温度的稳定性。晶振的频率可在1.2MHZ~12MHZ之间任选,电容C1和C2的典型值在20pf~100pf之间选择,由于本系统用到定时器,为了方便计算,采用了12MHZ的晶振,采用电容选择30pf。图2.2外部晶振时钟电路图2.2.3显示模块电路设计该模块由共阳LED数码管,采用数字化控制的动态扫描原理,由晶体管锁存,当控制数字IO端口P20和P21低(与晶体管基极极低),晶体管导通,VCC通过晶体管数字电源,数码管点亮,利用灯光余辉和人的视觉暂留原理的数字化控制的,它看起来像数码管同时点亮图2.3显示模块电路图3.交通信号灯控制系统的设计交通信号灯由红灯、绿灯、黄灯组成。红灯表示禁止通行,绿灯表示准许通行,黄灯表示警示。交通信号灯分为机动车信号灯、非机动车信号灯、人行横道信号灯、车道信号灯、方向指示信号灯、闪光警告信号灯、道路与铁路平面交叉道口信号灯。交通信号灯用于道路平面交叉路口,通过对车辆、行人发出行进或停止的指令,使各同时到达的人、车交通流尽可能减少相互干扰,从而提高路口的通行能力,保障路口畅通和安全。因此必须合理的设计路口主干道的系统。3.1十字路口交通信号灯具体的控制要求(1)交通信号灯分布于东南西北,每个路口均有三个。南北方向的绿灯和东西方向绿的绿灯不能同时是光明的;如果你是,你应该立即关闭自动信号系统,并立即发出报警信号。系统工作后,第一次南北红灯亮并保持30秒;与此同时,一些绿灯,时间和保持25秒,当25秒,东西绿灯熄灭。当绿灯熄灭的东西,一些黄色的光,保持5秒,然后黄色的东西了,东西红灯,红灯熄灭,而南北,南北绿灯;红灯亮的东西,保持30秒;与此同时,南北绿灯保持15秒;然后南北绿灯绿灯熄灭时,北部和南部,北部和黄色的光,保持5秒后熄灭向南;而南北向红灯,绿灯的东西。(2)在交通信号灯亮和闪烁的同时,路口设有两位七段码的显示器倒数计时,让车辆行人能够清楚地知道再过多久信号灯就会发生变化。以便于司机和行人能够在有限的时间内准确的通行。3.2十字路口交通信号灯示意图交通信号灯共有12盏,每个路口各有红,黄,绿三盏,具体分布如下图所示:图3.1十字路口交通信号灯示意图4.交通信号灯控制系统程序编制4.1软件设计应用环境该设计软件的设计在用KeilC51环境下编译。用KeilC51美国的Keil软件公司生产的51系列兼容单片机C语言软件开发系统,该软件提供了丰富的库函数和功能强大的集成开发和调试工具,一个完整的Windows界面。另外重要的一点,只要看看生成编译的汇编代码,就能体会到所产生的效率用KeilC51的目标代码是非常高的,多数生成的汇编代码的语句结构紧凑,易于理解。在大型软件的开发,以更好地体现高级语言的优势。4.2软件设计流程软件总体设计主要完成各部分的软件控制和协调。本系统主程序模块主要完成的工作是对系统的初始化,发送显示数据,同时对键盘进行扫描,等待外部中断,以及根据所需要的功能进行相应的操作。软件设计软件主要完成对各部分的控制和协调。在系统上完成工作的主要模块初始化,发送显示数据,而键盘扫描,等待外部中断,并采取适当行动以根据所需的功能。设置定时,显示初始化设置定时,显示初始化南北绿灯亮,东西红灯亮,延时南北黄灯闪烁,东西红灯亮,延时南北红灯亮,东西绿灯亮,延时南北红灯亮,东西黄灯闪烁,延时开始图4.1软件设计流程图5.结论本论文介绍了一种基于AT89C52单片机的交通灯的设计方法,本论文完成了系统的硬件设计与制作,详细介绍了系统硬件设计的过程,并结合软件系统完成了整个系统的软、硬件联调,系统工作良好,实现了基本功能。通过这样的设计,加强了我的所学专业知识,也从我的理论和实践上相结合了真正意义行使与互联网的帮助下,收集,查阅相关资料,并组织材料的综合能力,从中我也认识到自己的不足之处,我将得到改善,并在学习的未来扩展。经过这次设计后,我觉得我收获还是蛮多的,因为之前做这方面的内容还是比较少的,大学生活主要还是将时间花在课外活动上,所以我觉得以后我还是要多进行这方面的课题研究和总结啊,不仅让我学习到了很多知识,还让我增加了很多我跟同学之前的交流,在设计的过程中,如有不懂的地方,我们可以毫不吝啬的去分享和交流我们个人的看法,所以我觉得我还是受益匪浅啊,以后我要更多的针对性学习,不断提高我的能力。

参考文献[1]刘勇.数字电路[M].电子工业出版社.2004[2]杨子文.单片机原理及应用[M].西安电子科技大学出版社.2006[3]刘华东.单片机原理与应用(第2版)[M].电子工业出版社.2006.8[4]胡汉才.单片机原理及其接口技术[M].清华大学出版社,2006.[5]沈精虎.电路设计与制版Protel99入门与提高[M].人民邮电出版社,2004.[6]范风强,兰婵丽.单片机语言C51应用实战集锦[M].电子工业出版社.,2001.[7]顾曙敏.单片机与串行时钟DS1307的接口设计[J].现代电子技术,2003,26(14)85-87.[8]孙晓燕.基于8051单片机的交通灯控制系统设计与模拟[J].南宁职业技术学院学报,2007年03期.[9]陈毅,许飞,王学飞.基于单片机的交通灯智能控制系统[J].中国高新技术企业,2009年第15期.致谢本论文在谭刚林老师的细心指导和严格要求下已完成,选择特定的精神和内容的课题,体现了老师的心血和汗水,这种特别是老师严格的教学要求和精神,一丝不苟的工作,让我佩服。在大学三年的学习和生活中,也总能感觉到精心培育的导师和无私的关怀,使我学到了很多东西,并向你们表达我最真心的感谢。谢谢你们,我可爱的老师们。所取得的经验,使我受益终身,我确实感觉到这次是真的很难做一件事,因为这是一个克服苦难的过程,过程中碰到了很多意想不到的问题和麻烦,我觉得这种经历肯定会让我在以后的学习激励我继续,进展。这么多天以来,该设计能够顺利完成,也多亏了同学和老师,认真负责,这样我可以是一个很好的把握和利用我们的专长在设计和得到体现。正是有了他们的帮助和支持,使我的学位论文工作顺利完成前仔细阅读。老师们的辛勤努力工作,我们感到非常荣幸和尊重,在未来的道路上后,我会继续努力工作,不会绝对不辜负一丝一豪的期望,在这里衷心感谢您,我一直勇于向前。在此,我还要特别感谢我的同学们,由于你们的帮助和支持,我才能克服一个一个的困难和疑惑,原谅我是一个专业基础知识掌握不是很牢固的人,有了你们的帮助,我才能得以这样顺利的完成课题,谢谢你们,接近毕业了,能够认识你们这样一群朋友,相识,相知,相助,相舍,我很高兴和自豪哈哈哈,爱你们,真的谢谢你们!

附录#include<reg52.h>#include"eeprom.h"00#defineucharunsignedchar#defineuintunsignedintsbitwei1=P2^1; //数码管位选sbitwei2=P2^2;sbitwei3=P2^3;sbitwei4=P2^4;sbitDQ=P1^0; //温度sbitk1=P3^1; //功能按键sbitk2=P3^2; //增加键sbitk3=P3^3; //减少建ucharTL,TH,TN,TD;sbitbeep=P2^0;ucharcount,num,m,s1num=0; //温度值ucharhtemp=33,ltemp=15; //温度上下线初始化floatf_temp;intkey_delay=0;constintkey_count=200;bityyp=1,halarm=0,lalarm=0;ucharcodeTAB[]={0xc0,0xcf,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};ucharcodeTAB1[]={0xbf,0x89,0xc7,0xa7}; //三个依次是-HL 后面两个是温度符号/****毫秒级延时函数*****/voiddelay(uintx){uinti,j;for(i=x;i>0;i--)for(j=110;j>0;j--);}voiddelay1(uchari){ucharj=100; for(i;i>0;i--) for(j;j>0;j--) {;}}voiddi(){ beep=0; delay(100); beep=1;}/***********ds18b20延迟子函数(晶振12MHz)*******////////////////////////////////////////////////////voiddelay_18B20(unsignedinti){ while(i--);}////////////////////////////////////////////////////**********ds18b20初始化函数**********************/////////////////////////////////////////////////////voidInit_DS18B20(void){ unsignedcharx=0; DQ=1; //DQ复位 delay_18B20(8); //稍做延时 DQ=0; //单片机将DQ拉低 delay_18B20(80); //精确延时大于480us DQ=1; //拉高总线 delay_18B20(14); x=DQ; //稍做延时后如果x=0则初始化成功x=1则初始化失败 delay_18B20(20);}/////////////////////////////////////////////***********ds18b20读一个字节**************////////////////////////////////////////////unsignedcharReadOneChar(void){ uchari=0; uchardat=0; for(i=8;i>0;i--) { DQ=0; //给脉冲信号 dat>>=1; DQ=1; //给脉冲信号 if(DQ) dat|=0x80; delay_18B20(4); } return(dat);}///////////////////////////////////////////////////*************ds18b20写一个字节****************///////////////////////////////////////////////////voidWriteOneChar(uchardat){ unsignedchari=0; for(i=8;i>0;i--) { DQ=0; DQ=dat&0x01; delay_18B20(5); DQ=1; dat>>=1;}}/**************读取ds18b20当前温度************///////////////////////////////////////////////voidReadTemp(){ Init_DS18B20(); WriteOneChar(0xCC); //跳过读序号列号的操作 WriteOneChar(0x44); //启动温度转换 Init_DS18B20(); delay(1); WriteOneChar(0xCC); //跳过读序号列号的操作 WriteOneChar(0xBE); //读取温度寄存器等(共可读9个寄存器)前两个就是温度 TL=ReadOneChar();//先读的是温度值低位 TH=ReadOneChar();//接着读的是温度值高位 TN=TH*16+TL/16;//实际温度值=(TH*256+TL)/16,即:TH*16+TL/16 //这样得出的是温度的整数部分,小数部分被丢弃了 TD=(TL%16)*10/16;//计算温度的小数部分,将余数乘以10再除以16取整, //这样得到的是温度小数部分的第一位数字(保留1位小数) }////////////////////////////////////////////////voidget_wendu(ucharm){ ucharws,wg; ws=m/10; wg=m%10; wei2=0; //读取温度的十位和个位 P0=TAB[ws]; delay(5); wei2=1; P0=0xff; wei3=0; P0=TAB[wg]&0x7f; delay(5); wei3=1; P0=0xff; }voidget_wendu2(ucharm){ wei4=0; P0=TAB[m]; delay(5); wei4=1; P0=0xff; }/////////调最高温度调用的函数//////voidhdisplay(uchardat) { ucharfs,fg; wei1=0; //读取最高温度符号“H-” P0=TAB1[1]; delay(5); wei1=1; P0=0xff; wei2=0; P0=TAB1[0]; delay(5); wei2=1; P0=0xff; fs=dat/10; fg=dat%10; wei3=0; P0=TAB[fs]; delay(5); wei3=1; P0=0xff; wei4=0; P0=TAB[fg]; delay(5); wei4=1; P0=0xff;}/////////调最低温度调用的函数//////voidldisplay(uchardat) { ucharfs,fg; wei1=0; //读取最低温度符号“L=” P0=TAB1[2]; delay(2); wei1=1; P0=0xff; wei2=0; P0=TAB1[0]; delay(2); wei2=1; P0=0xff; fs=dat/10; fg=dat%10; wei3=0; P0=TAB[fs]; delay(2); wei3=1; P0=0xff; wei4=0; P0=TAB[fg]; delay(2); wei4=1; P0=0xff; }/****按键扫描******/voidkeyscan(){ if(k1==0) { delay(10); if(k1==0) { yyp=0; s1num++; while(!k1); //等待按键释放 di(); htemp=byte_read(0x2200); ltemp=byte_read(0x2000); switch(s1num) { case1:break; case2:break; case3:if(s1num==3)s1num=0;yyp=1; break; } } } if(s1num!=0) { if(k2==0) { delay(10); if(k2==0) { do { delay1(10); } while((!k2)&(key_delay++<key_count)); ///等待按键释放 di(); switch(s1num) { case1:htemp++; if(htemp==99)htemp=0; hdisplay(htemp); SectorErase(0x2200);//擦除扇区 byte_write(0x2200,htemp);//重新写入数据 break; case2:ltemp++;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论