交通信号灯设计报告(含程序)_第1页
交通信号灯设计报告(含程序)_第2页
交通信号灯设计报告(含程序)_第3页
交通信号灯设计报告(含程序)_第4页
交通信号灯设计报告(含程序)_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、武汉纺织大学电子设计竞赛交通信号灯自动控制系统设计报告学院:电子与电气工程学院班级:电子093班成员: 2011年5月1日目 录交通信号灯自动控制系统设计概要1第一部分:系统方案1第二部分:电路与程序设计 4第三部分:测试方案与测试结果 6参考文献6附录一 主程序流程图 7附录二 元器件清单 8附录三 程序清单9附录四 仿真电路图交通信号灯自动控制系统设计概要一、设计要求要求1系统基本功能要求(1)以秒为计时单位,两位数码管以十进制递减计数形式作定时显示,在递减计数回零瞬间完成换灯操作。(2)通过键盘红、黄、绿三色信号灯所亮时间在099秒内任意设定。(3)十字路口的通行起始状态可人工设定,运行

2、中可通过人工干预使十字路口通行状况固定于任何一种工作模式。(4)具有时间控制功能,交通信号灯工作时间:05:0023:00;其余时间两个干道上的黄色信号灯闪烁显示;(4)绿色信号灯倒计时最后3秒和黄色信号灯显示时闪烁显示。(闪烁频率:1Hz);二、设计思路 为了完成本题目的设计要求,即倒计时及时间控制功能,采用单片机内部定时器进行时间的控制,为了实现调整工作倒计时时间、系统工作时间及工作状态,采用5个键盘分别对上面内容进行设置。交通信号采用发光二极管,排布参照下面布局,数码管显示倒计时时间及系统时间。第一部分 系统方案一、 总体电路构成 本系统由主控制器STC89c52单片机芯片、基本复位电路

3、、时钟振荡电路、电源、按键扫描电路、七段数码管驱动及显示电路、发光二极管控制显示电路组成。电源复位电路按键扫描电路时钟振荡电路七段数码管驱动及显示电路发光二极管控制显示电路主控制器STC89C52单片机芯片图一 总体电路框图二、各单元电路设计1.复位电路复位电路的作用:在上电或复位过程中,控制CPU的复位状态:这段时间内让CPU保持复位状态,而不是一上电或刚复位完毕就工作,防止CPU发出错误的指令、执行错误操作,也可以提高电磁兼容性能。 基本的复位方式:单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。89系列单片机的复位信号是从RST引脚输入到芯片内的施密

4、特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。单片机系统的复位方式有:手动按钮复位和上电复位 (1)手动按钮复位 手动按钮复位需要人为在复位输入端RST上加入高电平(图2)。一般采用的办法是在RST端和正电源Vcc之间接一个按钮。当人为按下按钮时,则Vcc的+5V电平就会直接加到RST端。手动按钮复位的电路如所示。由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。(2)上电复位AT89C51的上电复位电路如图3所示,只要在RST复位输入引脚上接一电容至V

5、cc端,下接一个电阻到地即可。上电复位的工作过程是在加电时,复位电路通过电容加给RST端一个短暂的高电平信号,此高电平信号随着Vcc对电容的充电过程而逐渐回落,即RST端的高电平持续时间取决于电容的充电时间。为了保证系统能够可靠地复位,RST端的高电平信号必须维持足够长的时间。通过以上分析可知手动按键复位要比上电复位方便,所以电路采用手动按键复位。图2图3 通过以上分析在此次交通信号灯设计时由于其可操作性和灵活性,我们选择的是按键复位方式.,这样可以及时的控制单片机,使其CPU及系统各部件处于确定的初始状态,并从初态开始工作。2.时钟振荡电路由于AT89C52单片机内部有一个用于构成振荡器的高

6、增益反向放大器,此放大器的输入和输出端分别是引脚XTAL1和XTAL2,在XTAL1和XTAL2上外接时钟源即可构成时钟电路,该电路采用的是内部方式,如图4所示:图4在XTAL1和XTAL2的两端接石英晶体振荡器,与内部反向器构成稳定的自激振荡器,发出的时钟脉冲直接进入片内定时定时控制部件。用以提供交通灯时钟信号。3.电源 单片机及其他芯片所需要的电源电压为5V,可以采用直流稳压电源给该系统供电。4.数码管驱动及显示电路 电路采用4个两位的共阳极7段数码管(如图5)动态扫面显示,为了使数码管显示较亮,采用两个锁存器进行驱动。图35.按键扫描电路6.发光二极管控制显示电路采用普通的反光二极管(红

7、、黄、绿)利用单片机p1口进行控制显示。7锁存器锁存器(Latch)是一种对脉冲电平敏感的存储单元电路,它们可以在特定输入脉冲电平作用下改变状态。锁存,就是把信号暂存以维持某种电平状态。锁存器的最主要作用是缓存,其次完成高速的控制其与慢速的外设的不同步问题,再其次是解决驱动的问题,最后是解决一个 I/O 口既能输出也能输入的问题。第二部分 电路与程序设计复位电路 采用手动按键复位电路,实际电路及其参数为电解电容10uf,电阻为10k(图中电源为+5v):时钟振荡电路 采用12MHz晶振,3033pf电容即可。在此设计中我们选用30pf的电容。电源如下图所示,为串联式直流稳压电源输出电压范围为4

8、V15V该电源为模电课程设计时制作,在这里可直接用作5V电源。4.数码管驱动及显示电路数码管用来显示交通灯倒计时,小时、分钟、秒的显示,以及倒计时与时间的调节。5.按键扫描电路电路采用了5个按键k0k4,k0、k1、k2用来对倒计时总时间的调节,k4、k1、k2用于对系统时间的调节,k3用于对工作状态的调节。 K0每按下一次,con加1,当con=3时,使con=0,重新判断k0是否按下,如果con=1,k1键实现对倒计时总时间加1,k2键实现对倒计时总时间减1,当con=2时,k1键实现对黄灯显示时间加1,k2键实现对黄灯显示时间减1。 K4每按下一次,对con2加1,当con2=4时,使c

9、on2=0,重新判断k4键是否按下,当con2=1时,显示系统时间,当con2=2时,k0、k1实现对小时的加减,当con2=3时,k0、k1实现对分钟的加减。 通过K3按下的次数使电路工作在不同的5个状态。6.发光二极管控制显示电路发光二极管由单片机通过p0口进行控制显示。先对p0口的值进行编码,再将编码按要求赋给p0口。7.锁存器我们使用的是两个SN74hC573AN型号的锁存器,由单片机的p1和p3端口通过锁存器来控制数码管的动态显示。第三部分 调试与仿真1、软件调试:程序编好以后,先自己检查是否有逻辑错误,保证正确后利用伟福仿真软件对所编写的程序进行编译,检查是否有语法错误,出现错误时

10、伟福系统会自动提示有错误产生,并会指定错误的语句,这时我们需要认真检查程序,修改编译中出现的错误。程序修改无误后,利用仿真软件,我们可以监视程序PC指针、P0、P1、P2口的变化、以及存储单元的值的变化来检查程序是否运行正常,是否能够实现预定的控制功能。2、硬件调试:按照已经设计好的电路设计图,在proteus中进行调试与仿真,确保电路无误,在万能印刷电路板上焊接各个元件。电路板制作完成以后,利用万用表检查硬件是否焊接正常以及是否出现短路和断路的情况,并修改焊接中的错误,直到硬件电路可以正常工作为止。在第一次进行检测时发现显示管不会显示数据,经过进一步检查才发现是电源线没有焊接。如此反复操作,

11、直到硬件可以正常运行。参考文献谢维成.单片机原理与应用及C51程序设计(第二版).北京:清华大学出版社.2011阎石.数字电子技术基础(第五版).北京:高等教育出版社.20103.童诗白.模拟电子技术基础(第四版)北京:高等教育出版社.2010.附录一主程序软件流程图开始给定系统初始时间5:01:00时间是否在5点到23点之间Y黄灯闪烁显示,时间显示N调用键盘显示程序判断是否有键按下?调用key()根据按键情况进行显示用led(),display(uchar x )进行显示YN附录二原器件清单制作交通信号灯所需元件清单名称数量元件说明单片机 (底座)1STC89C52型号电路板1单面两位数码管

12、4共阳极LED灯 12 红黄绿各四个锁存器(底座)2SN74HC573AN型号按键开关6四个脚石英晶体振荡器112M振荡频率电阻131K1个,上拉1K6个,10K5个,200欧1个电容330Pf 2个,10Uf1个铜柱4普通焊锡导线若干普通制作5V直流电源所需器件名称数量元件说明整流二极管41n4001电解电容21000u/25V三极管59013大功率三极管13A/50V红色发光二极管1普通大电阻12.7/1W1/4W电阻6510,1.5K,2K ,5.6K,10K, 12K瓷片电容20.01变压器115V/220V 5W电路板180100mm2二芯带插头电源线1普通开关1普通导线焊锡若干普通

13、附件三程序清单#include#define uchar unsigned char char code dis_712=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92, 0 x82,0 xf8,0 x80,0 x90,0 xff,0 xbf;/数码管位选char code scan_con8=0 x40,0 x80,0 x10,0 x20,0 x04,0 x08,0 x01,0 x02;/数码管段选char data dis8=0 x00,0 x00,0 x0b,0 x00,0 x00,0 x0b,0 x00,0 x00;/显示缓冲区,时、分、秒uchar time=

14、30,timedata=60,timedata1=30,timeo=5, flagkey3=0,flagkey0,flagkey4=0,tt=0,a,con=0,con1=0,con2=0;uchar timeclk3=0 x00,0 x01,0 x05;/时间初始值sbit key0=P20;sbit key1=P21;sbit key2=P22;sbit key3=P23;sbit key4=P24;delay1ms(int t)/延时一秒函数int i,j; for(i=0;it;i+) for(j=0;j120;j+);display(uchar x )/数码管倒计时函数P1=dis_

15、7x/10;P3=0 xaa;delay1ms(1);P3=0 x00; P1=dis_7x%10;P3=0 x55;delay1ms(1);P3=0 x00;displayt()/时间显示函数char k;dis0=timeclk0%10; dis1=timeclk0/10;dis3=timeclk1%10;dis4=timeclk1/10;dis6=timeclk2%10;dis7=timeclk2/10;for(k=0;k=10&tt20) P0=0 x48; displayt(); displayt(); P0=0 x00; if(con1=6)/退出设定con1=0;flagkey3

16、=0;timedata1=time; timedata=2*time; if(key4=0)/用于显示调整系统时间 delay1ms(10);while(key4=0);flagkey4=1;con2+; if(con2=1)displayt();if(con2=2) display(timeclk2); if(key1=0) delay1ms(10); while(key1=0); timeclk2+; if(timeclk2=24) timeclk2=0; if(key2=0) delay1ms(10); while(key2=0); timeclk2-; if(timeclk2=0) t

17、imeclk2=24; if(con2=3) display(timeclk1);if(key1=0) delay1ms(10); while(key1=0); +timeclk1; if(timeclk1=60) timeo=0; if(key2=0) delay1ms(10); while(key2=0); -timeclk1; if(timeclk1=0) timeclk1=59;timeclk2-; if(con2=4)/退出时间调整 con2=0;flagkey3=0;flagkey0=0;flagkey4=0; led()/l二极管显示程序if(timedatatime+timeo

18、+3) P0=0 x84; if(time+timeotimedata&timedata=10&tt20) P0=0 x84;display(timedata1);P0=0 x04; if(timedatatime) while(tt=10&tt20) P0=0 x44;display(timedata1);P0=0 x04; if(timedata=(timeo+3) P0=0 x30; if(timedatatimeo) while(tt=10&tt20) P0=0 x30; display(timedata1);P0=0 x20;if(timedata=10&tt=23&timeclk1

19、0)|(timeclk25&timeclk1=10&tt20) P0=0 x48; key(); P0=0 x00; key(); if(flagkey3=0&flagkey0=0&flagkey4=0)led();if(flagkey4=0)if(flagkey0=0&flagkey3=0)display(timedata1);else elsedisplayt(); key();void time0() interrupt 1/定时器T0中断ET0=0;TH0=0 x3c;TL0=0 xb0;tt+;if(tt=20) tt=0; timedata-;timedata1-;timeclk0

20、+;if(timedata1=0) timedata1=time; if(timedata=0) timedata=2*time; if(timeclk0=60) timeclk0=0; timeclk1+;if(timeclk1=60) timeclk1=0; timeclk2+;if(timeclk2=24)timeclk2=0; ET0=1;附录四 仿真电路图fedcbaabcdefabcdefd1d2d3d4d5d6d7d8w1w0d1d2d3d4d5d6d7d8w3w2d1d2d3d4d5d6d7d8w5d1d2d3d4d5d6d7d8w7w6k1k2k3k4w4k0d1d2d3d4d5d6d7d8w0w1w2w3w4w5w6w7XT

温馨提示

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

评论

0/150

提交评论