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

下载本文档

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

文档简介

.制作实物。5.人员分组,两人一组,选择同一课题的电路相同,但课程设计报告不能完全相同。4设计方案与论证4.1电路设计图4-1电路原理图东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行。黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯燃亮时间为东西、南北两干道的公共停车时间、指示灯燃亮的方案如表4-1。红绿灯状态转换:S1:南北绿灯亮,东西红灯亮。S2:南北黄灯亮,东西红灯亮。S3:南北红灯亮,东西绿灯亮。S4:南北红灯亮,东西黄灯亮。状态S1S2S3S4时间15s5s15s5s东西道红灯亮红灯亮绿灯亮黄灯亮南北道绿灯亮黄灯亮红灯亮红灯亮表4-1

十字路口指示灯燃亮方案4.2仿真图4-2S1仿真图图4-3S2仿真图图4-4S3仿真图图4-5S4仿真图5设计原理及功能说明5.1设计原理根据十字路口交通灯的要求,可将本系统分为三个模块,第一模块是控制模块,主要负责整个系统的控制和运算,从而使各模块正常工作,第二个模块式显示模块包括LED灯和数码管;第三是电源模块,给各模块提供电源,让各模块工作。采用单片机AT89C51作为控制器。单片机运算能力强,软件编程灵活,自由度大。在指令系统、硬件结构和片内资源上与标准8052单片机完全兼容,使用时容易掌握;采用AT89C51单片机稳定可靠、应用广泛、通用性强。采用全数码管显示。这种方案只显示有限的符号和数码字符,简单,方便。该系统要求完成状态灯显示的功能。求于要求简单,我们把各个路口的红灯、绿灯和黄灯设成直行和左拐两个通行方式所共有,也就是说,一个路口只需三个状态灯,一个共有的绿灯,一个共有的红灯,一个共有的黄灯。5.2功能说明东西(A)、南北(B)两干道交于一个十字路口,各干道有一组红、左转绿、绿三个指示灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行。红灯的设计时间为15秒,绿灯为15秒,黄灯5秒。6硬件的制作与调试6.1硬件制作焊接时注意烙铁的使用方法,先使烙铁预热,一定时间后再焊接,把烙铁放在电路板的小铜片上使铜片预热,再把锡丝放在铜片上,让锡丝融化,再抽去焊锡丝,移开烙铁。连接导线时最好使导线中间留一层绝缘皮,就不容易短路。最后用胶棒再对电路板进行密封,以进一步防止短路现象发生。三极管的极性一定不能接错,元件排列整齐美观。本设计以单片机为控制核心,采用模块化设计,共分以下几个功能模块:单片机控制系统、状态显示模块、倒计时模块、电源模块。经上述各模块的方案选择与论证,十字路口交通灯控制系统的控制芯片选用单片机作为整个系统的核心控制器件,主要负责整个系统工作的控制和运算,从而使各模块正常工作;采用七段LED数码管和LED灯作为显示器件,用七段LED数码管完成倒计时显示,用LED灯作为状态灯指示功能;以电池供电作为系统电源部分,可对各个模块供电并便于演示。

单片机作为整个硬件系统的核心,它既是协调整机工作的控制器,又是数据处理器。它由单片机振荡电路、复位电路等组成。STC89C52RC是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K字节系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能:8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。1.增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051.[1]

2.工作电压:5.5V~3.3V(5V单片机)/3.8V~2.0V(3V单片机)3.工作频率范围:0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz4.用户应用程序空间为8K字节5.片上集成512字节RAM6.通用I/O口(32个),复位后为:P1/P2/P3是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。7.ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一片8.具有EEPROM功能9.共3个16位定时器/计数器。即定时器T0、T1、T210.外部中断4路,下降沿中断或低电平触发电路,PowerDown模式可由外部中断低电平触发中断方式唤醒11.通用异步串行口(UART),还可用定时器软件实现多个UART12.工作温度范围:-40~+85℃(工业级)/0~75℃(商业级)13.PDIP封装6.2实物调试为安全起见,防止硬件烧坏,首先进行断电调试,用万用表检测系统是否有短路现象,再检查严原理是否正确,各个线路的电平是否正常。经检测,未出现短路现象以及各个电平都正常。

1关掉交流电源开关,用万用表直流电压档测量稳压输出电压,测量结果只有4.2V,用12V电源直接接入7805输入端,测量输出电压达到4.99V。经检查分析为稳压芯片7805输入端电容没有接入,输入电压变化太大,造成7805无法稳压。经处理问题解决。

2

检查系统时钟是否正常工作,用万用表直流电压档测量XTAL1与AXTAL2两端间的电压,检测到电压若为2.5V左右,则视为正常工作。

3

检查复位电路是否正常工作。

4检查数码管显示和LED灯是否正常。

5.3

基本要求部分的测试与分析

5系统上电后,显示交通灯基本状态,按中断按键,中断正常,直接进入S5状态,按复位按键,整个系统复位成功。

6

按高低峰切换按键,系统即时切换到高峰时段方案,再按下高低峰切换按键,系统即时切换到低峰时段方案,最后按下高低峰按键,系统重新进入预定流程。

7在未进行任何的中断和复位操作时,交通灯按照预定流程进行,在高低峰两个设定时段内变化。7结论经过一个星期的课程设计,留给我印象最深的是设计一个成功的电路,必须要有扎实的知识基础。本产品能通过声音的频率来控制灯的闪烁,个人感觉其功能还算比较完善。此次的设计并不奢望十全十美,当中不完美的地方有:所设计的电路比较简单,但这也让我有更多的时间对所学的专业知识运用到一些细微的方面,我们组每个人也都做了一个成品,还一块做了一个上交上去;答辩时准备不是太充分,让我明白了演讲前一定要有所准备和演讲时一定要摆正好自己的心态。做设计的目的是希望能检查下对所学知识的运用能力的好坏,并对以后的课程学习打好基础,提高自己的动手能力,并且开始慢慢走上电子产品创新的道路。在焊接的过程中,焊接技术对我们来讲是一个考验,焊接的过程中尽管我们已经很认真的焊接了,可是仍然出现了虚焊的问题,而且后来的排查过程也非常的麻烦,所以这让我们懂得,做技术还是做工程,要脚踏实地,每一个环节都要做好,做到位。俗话说:"磨刀不误砍柴工",这句话应该是我以后在做设计时应该牢记的。首先,应该对电路的布局有一个整体的考虑,做到元件的布置合理,避免出现短路,断路情况,而且应尽量使元件均匀地分布在整个电路板上,注意对称。其次在焊接过程要谨慎,避免出现接点之间的粘连和虚焊等情况。最后,要认真检查电路在确认准确无误后,接通电源进行调试在调试过程中,会遇到许多麻烦,我发现三极管的焊接有问题,原来是引脚焊接反了。还有,应该接在同一个点的线没有接在一起,但是这样还是不行经过仔细检查后发现,问题是两排接地线没有连在一起。但是,结果还是没有想象中的那么完美。通过我们不懈的尽力与切实寻求,终于做完了课程设计。在这次课程设计进程中,我也碰到了良多问题。在做本次课程设计的过程中,我感触最深的当属查阅了很多次设计书和指导书。但是问题并没有得到根本性的解决。首先,我只是知道此次的课程设计任务需要的一些新的元器件,例如驻级话筒,三极管等。但是并不知道如何把它们组合起来,组成一个系统的,模块清晰,能够很好完成功能的整体。于是我们上网搜,图书馆查阅资料,看书,问老师。终于能够从整体上来把握。思路也逐渐的清晰了起来,整体的框架在我的脑海里慢慢的显现。很快,便有了整体的方案。接下来分别考虑了电路的细节,最后如期的完成了初步的设计雏形。为了让自己的设计更加完善,更加符合工艺标准,一次次翻阅热处理方面的书籍是十分必要的,同时也是必不可少的。通过这次课程设计我也发现了自身存在的不足之处,虽然感觉理论上已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。通过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力,这将为自己今后的学习和工作铺展了道路。另外,课堂上也有部分知识不太清楚,于是我又不得不边学边用,时刻巩固所学知识,这也是我作本次课程设计的一大收获。整个设计我基本上还满意,由于水平有限,难免会有错误,还望老师批评指正。这次课程设计让我学到了许多,不仅是坚固了先前学的模电、数电的实践常识,而且也培育了我的着手才能,更令我的发明性思维得到拓展。参考文献[1]李海滨.片春媛.许瑞雪编.《单片机技术课程设计与项目实例》,中国电力出版社,2009

[2]

王静霞主编.《单片机应用技术》.电子工业出版社,2009

[3]

雄建云主编.《Protel99

se

EDA技术及应用》.北京机械工业出版社,2007

。[4]

曹天汉主编.《单片机原理与接口技术》,电子工业出版社,2009

[5]何立民主编.《单片机高等教程》.北京航空航天大学出版社,2000

[6]

何立民主编.《单片机应用系统设计系统配置与接口技术》,北京航空航天大学出版社,200附录一:总体电路原理图附录二:元器件清单序号名称型号数量1单片机STC89C5212双位数码管共阳极13LED灯红黄绿124电阻220欧85电阻4.7k26电阻1k127三极管PNP28电容22pf29晶振11.0592110电解电容10uf111按键普通1附录三:运行程序#include<reg51.h>//我们对51单片机编程,要引用头函数#include<intrins.h>sbitled_A=P3^5;//数码管位sbitled_B=P3^4;//数码管位//***************led指示灯引脚定义*****************//sbitdx_R=P2^0;sbitdx_Y=P2^1;sbitdx_G=P2^2;sbitnb_R=P2^3;sbitnb_Y=P2^4;sbitnb_G=P2^5;bitflag=0;sbitkey_stop=P3^3;charN=25; //初始时间是25chartab_disp[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};//共阳极码表/*延时子函数*/voiddelay(intt){while(t--);}/*显示子函数*/voiddisplay(chardat){ led_A=1; //先位灭显 led_A= P1=0XFF;//再段灭显 P1=tab_disp[dat/10];//赋显示的数 if(dat/10)led_B=0; delay(1000); //延时 led_B=1;//段灭显 位灭显 led_B= P1=0XFF; P1=tab_disp[dat%10];//赋显示的数 led_A=0; delay(1000);//延时}//这个是循环显示60遍显示的函数voiddeal(charm){ intt=30; while(t--)display(m);//循环显示60遍显示的函数}voidKEY(){ unsignedcharsave; if(key_stop==0) { delay(20); if(key_stop==0) { flag=1; save=P0; P0=0x84; while(key_stop==0); while(flag==1) { if(key_stop==0) { delay(50); if(key_stop==0) { flag=0; P0=save; while(key_stop==0); } } } } }}/*主函数*/voidmain(void){ unsignedchari; while(1) { N=15;//初始时间是25 dx_R=0;dx_Y=1;dx_G=1; //指示灯0是亮,1是灭 nb_R=1;nb

温馨提示

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

评论

0/150

提交评论