您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 带数码管显示的交通灯
-1-系别:电子工程系班级:应用电子0901学号:0503090136姓名:邵景荣指导老师:刘彦华带数码管显示的交通灯大型作业实习报告-2-前言当前,在世界范围内,一个以微电子技术,计算机和通信技术为先导的,以信息技术和信息产业为中心的信息革命方兴未艾。而计算机技术怎样与实际应用更有效地结合并有效地发挥其作用是科学界最热门的话题,也是当今计算机应用中空前活跃的领域。交通信号灯的出现,是交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。随着中国加入WTO,我们不但要在经济、文化、科技等各方面与国际接轨,在交通控制方面也应与国际接轨。俗话说“要想富,先修路”,但路修好了如果在交通控制方面做不好道路还是无法保障畅通安全。作为交通控制的重要组成部分的交通信号灯也应国际化,随着社会经济的发展,城市交通问题越来越引起人们的关注。人、车、路三者关系的协调,已成为交通管理部门需要解决的重要问题之一。交通控制系统是用于城市交通数据监测、交通信号灯控制与交通疏导的计算机综合管理系统,它是现在城市交通监控指挥系统中最重要的组成部分。随着城市机动车量的不断增加,许多大城市如北京、上海、南京等出现了交通超负荷运行的情况,因此,自80年代后期,这些城市纷纷修建城市高速道路,在高速道路建设完成的初期,它们也曾有效的改善了交通情况。然而,随着交通量的快速增长和缺乏对高速道路的系统研究和控制,高速道路的交通状况必然受高速道路与普通道路耦合处交通情况的制约。所以,如何采用合适的控制方法,最大限度利用好耗费巨资修建的城市高速道路,缓解主干道与匝道、城区同周边地区的交通拥堵状况,越来越成为交通运输管理和城市规划部门亟待解决的主要问题。本文主要从单片机的应用上来实现十字路口交通灯智能化的管理,用以控制过往车辆的正常运作。这次设计的主要任务是设计一个单片机控制的交通灯控制系统的设计。首先设计出各个功能模块、在搭建出完整的硬件系统,选好合适的单片机型号并依照硬件链接图设计出相应的软件系统,通过编译软件编译出可执行的目标文件,最后做出原理图并在仿真软件上仿真出设计结果。-3-河南工业职业技术学院大型作业任务书类别:三年制高职专业:应用电子技术班级:姓名:大型作业题目:带数码显示的交通灯指导教师姓名:刘彦华负责人签字:刘明黎2011年5月15日-4-一、项目功能:设计十字路口红、黄、绿灯指示与倒计时数码管显示的硬件原理图,并进行硬件制作。编程实现十字路口红、黄、绿灯指示与倒计时数码管显示,具体参数到独山大道与光武路交叉口观察确定。二、设计要求:1.总体设计;2.硬件设计;3.软件设计与调试;4.Proteus仿真;5.硬件制作与测试;三、大型作业说明书要求:1.封面、前言、目录2.大型作业任务书3.系统总体设计4.硬件设计5.软件设计(包括软件流程图及源程序清单)6.设计心得7.参考资料指导教师(签字):刘彦华2011年5月15日-5-系统总体设计一、总体设计方案设计基本要求:设计十字路口红、黄、绿灯指示与倒计时数码管显示的硬件原理图,并运行硬件制作。编程实现十字路口红、黄、绿灯指示与倒计时数码管显示,具体参数到独山大道与光武路交叉口观察确定。实现功能:1.正常情况;东西车道和南北车道上的车辆交替运行,每次通行时间为60s;东西向和南北向转换时黄灯闪烁3s。东西南北四个方向,东西绿灯亮60S,再黄灯闪烁3S,最后红灯亮60S,同时东西绿灯亮时,南北红灯亮60S,绿灯亮60S,黄灯闪亮3S。用LED数码管作为模拟交通灯亮与灭的时间延迟控制的倒计时显示;2.紧急情况:有紧急通道,即按压“东西紧急键”,则东西方向绿灯,南北方向红灯;松开“东西紧急键”,5s后解除东西紧急通行状态。按压“南北紧急键”,则南北方向绿灯,东西方向红灯;松开“南北紧急键”,5s后解除南北紧急通状态。交通灯显示状态:东西方向(简称A方向)南北方向(简称B方向)状态说明红灯黄灯绿灯红灯黄灯绿灯灭灭亮亮灭灭A方向通行,B方向截止灭灭闪烁亮灭灭A方向警告,B方向禁行灭亮灭亮灭灭A方向警告,B方向禁行亮灭灭灭灭亮A方向禁行,B方向通行亮灭灭灭灭闪烁A方向禁行,B方向警告亮灭灭灭亮灭A方向禁行,B方向警告-6-二、总体设计方案的框图图一框图说明:电源提供方案:采用单片机控制模块提供电源。改方案的优点是系统简明扼要,节约成本;缺点是输出功率不高。计时控制方案:利用89C51内部的定时/计数器进行定时,配合软件延时实现倒计时。.显示控制方案:采用数码管与LED相结合的方法因为设计既要求倒计时数字输出,又要求有状态灯输出等,为方便观看并考虑到现实情况,用数码管与LED灯分别显示时间与提示信息。紧急情况下:采用外部中断0来控制东西紧急情况,用外部中断1来控制南北紧急情况。三、落实实施:用C语言编程并用PROTEUS进行仿真测试,看软件功能是否齐全,最后用实物图连接看能否实现预定功能。单片机最小系统单片机STC89C51芯片LED显示部分数码管显示部分紧急情况控制部分-7-硬件电路原理与分析一、原器件清单交通灯控制电路原器件清单元器件名称参数数量元器件名称参数数量IC插座单片机晶体振荡器瓷片电容发光二极管DIP4089C5112MHZ30pF111212电阻电解电容弹性按键电阻LED数码管12KΩ22uF300Ω313204二、主电路原理本次本次设计的交通灯控制器采用单片机最小应用系统作为控制器,由数码管显示红灯与绿灯时间,并用LED发光二极管作为红、黄、绿三色指示信号灯,且,红灯亮30S,黄灯亮5S,绿灯亮25S。其电路原图二-8-二、单元电路设计:1.单片机最小应用系统(1)单片机89C51引脚图89C51引脚图下图:图三(2)时钟电路和复位电路单片机是一种时序电路,必须供给脉冲信号才能正常工作,在单片机内部已集成了振荡电路,只需要使用18、19脚连接晶体振荡器,并外用两个33PF电容,帮助晶振起振,并使其频率稳定。其工作原理如图所示。MCS-51系列单片机的有效复位信号为两个周期以上的高电平。其复位的实现通常可以采用开机上电复位和外部手动复位两种方式。加电瞬间RST端的电位与VCC相同,随着RC电路充电电流的减小,RST端的点位逐渐下降。只要保持10ms以上的高电平就能使单片机有效复位。它们的工作原理图如下图:123456ABCD654321DCBATitleNumberRevisionSizeBDate:30-Aug-2009SheetofFile:F:\产品2\Mini_51DIY系列产品\DIY组合基础实验电路图\DIY组合基础实验电路图.ddbDrawnBy:Y112MHZC110UFC230PC330P+5VR210KR1200ΩKRSTLEDR3560ΩP1.0VCCP1.1P0.0P1.2P0.1P1.3P0.2P1.4P0.3P1.5P0.4P1.6P0.5P1.7P0.6RSTP0.7P3.0EA^P3.1ALEP3.2PSEN^P3.3P2.7P3.4P2.6P3.5P2.5P3.6P2.4P3.7P2.3XTAL2P2.2XTAL1P2.1GNDP2.0AT89S51-9-2.数码管显示电路(1)驱动电路本文采用PN[P三极管作为驱动器驱动数码管的显示,由于每个发光二极管额定电流3-10UA,故在电路中加限流电阻,经计算取该电阻为300Ω。其显示电路如图五:图五(2)数码管显示方式因此根据数码管的驱动方式不同,可以分为静态显示和动态显示两类。本次设计采用的是动态显示驱动,数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔段同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通有各自独立的I/O线控制,当单片机输出字型码时,所有数码管都接收到相同的字型码,但究竟是哪个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,改为就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的点亮时间为1~2毫秒,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上个位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态是一样的,能够节省大量的I/O端口,而且功耗更低,-10-软件设计一、程序设计流程图开始A绿灯,B红灯延时55秒A绿灯闪烁三次A黄灯,B红灯延时2秒A红灯B绿灯延时55秒B绿灯闪烁三次A红灯、B黄灯延时2秒主程序流程图-11-1.中断东西流程图中断响应关中断保护现场开中断A绿灯,B红灯延时5秒关中断恢复现场开中断返回-12-2.中断南北流程图中断响应关中断保护现场开中断B绿灯,A红灯延时5秒关中断恢复现场开中断返回-13-二、原程序清单#includereg52.h#defineuintunsignedint#defineucharunsignedcharsbitdx_green=P1^0;//东西方向的绿灯sbitdx_yellow=P1^1;//东西方向的黄灯sbitdx_red=P1^2;//东西方向的红灯sbitnb_green=P1^5;//南北方向的绿灯sbitnb_yellow=P1^6;//南北方向的黄灯sbitnb_red=P1^7;//南北方向的红灯uintcount_down=30;//注意必须是char型而不能是uchar型ucharsign;uchark=0,i=0;uchardisp[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xc0};uchartime[]={0,0,0,0};ucharwei[]={0xfe,0xfd,0xf7,0xfb};//数码管位选voidCountdown()interrupt1//倒计时及红绿灯控制函数{TH0=0x3c;TL0=0xb0;i++;if(i==20){i=0;count_down--;if(count_down0){count_down=30;-14-}if(count_down=7){if(sign)//东西方绿灯亮/南北方红灯亮{dx_green=0;dx_yellow=1;dx_red=1;nb_green=1;nb_yellow=1;nb_red=0;}else//东西方红灯亮/南北方绿灯亮{dx_green=1;dx_yellow=1;dx_red=0;nb_green=0;nb_yellow=1;nb_red=1;}}elseif(count_down7&&count_down3){if(sign)//东西方绿灯闪烁/南北方红灯亮{dx_green=!dx_green;nb_red=0;}-15-else//东西方红灯亮/南北方绿灯闪烁{dx_red=0;nb_green=!nb_green;}}elseif(count_down=3&&count_down=0){if(sign)//东西方黄灯亮/南北方红灯亮{dx_green=1;dx_yellow=0;nb_red=0;}else//东西方红灯亮/南北方黄灯亮{dx_red=0;nb_green=1;nb_yellow=0;}}if(count_down==0){sign=!sign;}}}voidtime_disp()interrupt3//数码管显示中断函数{-16-TH1=(65536-10000)/256;TL1=(65536-10000)%256;k++;if(k3){k=0;}time[0]=count_down/10;time[1]=count_down%10;time[2]=count_down/10;time[3]=(count_down%10)-1;P2=wei[k];P0=disp[time[k]];}voiddx_key()interrupt0{TR0=!TR0;dx_green=0;dx_red=1;dx_y
本文标题:带数码管显示的交通灯
链接地址:https://www.777doc.com/doc-4236537 .html