《毕业设计论文基于单片机的交通灯模拟控制设计.doc》由会员分享,可在线阅读,更多相关《毕业设计论文基于单片机的交通灯模拟控制设计.doc(41页珍藏版)》请在三一办公上搜索。
1、SHANDONG毕业设计说明书基于单片机的交通灯模拟控制设计学 院: 理学院 专 业: 光信息科学与技术 学生姓名: 学 号: 指导教师: 2012 年 6 月II摘要现代交通中交通灯作为一个组成部分是非常重要的,好的交通灯设计系统对城市有至关重要的影响,它可大大提升城市交通运输效率,降低事故发生率。该设计的控制系统我选用单片机,原因是考虑到了单片机的通用性和廉价性,在此基础上再扩展设计基本的外围电路,利用C语言编写程序代码,然后利用KEIL生成可用文件,再利用Proteus进行仿真设计。目前存在很多单独功能的设计,所以我的工作重点是将各个功能程序的有机结合及各功能电路的整体连接使这些独自的设
2、计能整合在一起并正常运行,仿真成功后即可进行实物设计。本系统除了可实现最基本的交通灯功能以外,还设计了高低峰分时段控制方案从而可应对不同时段的不同交通状况,城市的交通车流量往往能够在早晚时段达到最大,分时控制对于提高城市的交通效率有非常重要的作用。关键词: 单片机;交通灯;模拟控制;倒计时ABSTRACTAbstract Traffic lights as an integral part of Modern transportation is very important, a good traffic light design system has a crucial impact on
3、the city ,it can greatly enhance the efficiency of urban transport and can reduce the accident rate. I chose to use the microcontroller as the control system in this design for taking into account the versatility and affordability of the microcontroller. On this basis, we expanded to design a basic
4、peripheral circuits, using C language code and then use KEIL to generated available files, using the Proteus to make simulation design. There are many individual features of the design currently, so my focus is to combine various functional program and connect each functional circuit together. Only
5、on this way they could run well. If the simulation is successfully made, we can make a physical design. In addition to basic traffic lights, we also designed the control program of high and low peak time periods in order to respond to different periods of different traffic conditions, the citys traf
6、fic often reaches the maximum in the morning and evening hours, time-sharing control for improving the transport efficiency of the city has a very important role.Keyword: Microcontroller; Traffic lights; Analog control; CountdownII目录目录摘要IABSTRACTII目录III第一章 概述11.1 课题的目的意义11.2 国内外研制状况11.3 任务要求2第二章 设计方
7、案分类及选择32.1 基于CPLD法交通灯设计32.2 基于PLC法交通灯设计32.3 基于单片法交通设计42.4 中规模数字集成电路法4第三章 硬件系统设计73.1 设计思路及硬件框图73.2 单片机最小系统83.3 倒计时显示电路113.4 LED指示电路123.5 强通强断电路143.6 4.5V稳压工作电源14第四章 软件设计154.1 主程序流程图154.2 子程序框图(中断程序)16第五章 系统仿真与调试175.1 Proteus系统仿真175.2 仿真结果185.3 测试及结果分析19第六章 总结20致谢21参考文献22附录24III第一章 概述第一章 概述1.1 课题的目的意义
8、交通灯控制系统的出现是人类发展历史上的一次重大进步,对人类的聚居生活,产生了重要而深远的影响,它使交通得以有效管制。对于交通流量的疏导,道路通行能力的提升,交通事故的减少具有显著效果。交通灯主要采用超高亮度红、绿、黄色LED灯, 这因为采用LED信号灯既可靠性高又节能,所以在全国范围内,它使得交通信号灯正在得以快速更替,也因此市场需求量很大,具有很好的市场机会。目前我国经济迅速发展,汽车数量也迅速上增,城市道路日渐拥挤,交通拥塞已发展成为一个国际性的问题。在这种境况下,当前的主要任务便是能够开发出真正适合我国自身特点的智能信号灯控制系统。交通控制工程的重要研究课题之一便是对交叉口实行科学的管理
9、与控制,这是保障交叉口的交通安全和充分发挥交叉口良好通行能力的重要措施,是解决城市交通运输问题的最有效途径。所以,设计和完善我国现有的交通灯控制系统已成为当务之急。1.2 国内外研制状况目前交通灯的设计方案有很多。有应用CPLD设计实现交通信号灯控制器方法、有应用PLC实现对交通灯控制系统的设计、有应用单片机实现对交通信号灯设计的方法。目前,国内的交通灯设计一般是在十字路处的醒目位置用红、绿、黄3个三种颜色的指示灯,再加上一个显示倒计时的计时器模块来控制车行。对于一般情况下的行车安全,车辆分流具有重大作用,但根据实际行车过程中出现的情况,还存在以下缺点:(1)两车道的车辆轮流放行时间不应该或不
10、应一直相同,在十字路口,经常在某些时刻一个车道车辆较多设为主干道,放行时间应该长些;另一车道车辆较少为副干道,放行时间应该短些。(2)两条干道的红绿时间不能随时间的改变而修改。针对这些问题,国内外经长时间的课题研究设计发展了智能交通灯,并且国外智能交通灯的发展已相当成熟。图1-1 交通灯示意图1.3 任务要求目前随着单片机技术的飞速发展,目前广泛采用的方法是利用单片机技术对交通灯进行智能化管理。本设计就是采用AT89S52单片机以及其它芯片和外围功能电路来设计交通灯控制器,实现了根据实际车流量分时段控制红、绿灯点亮的功能,以及倒计时现实的功能。具体功能说明如下:(1): 基本功能(主功能)。选
11、用AT89S52单片机来实现,交通信号灯控制器件的外部输出信号为东西两个方向通行红、黄、绿灯共6个驱动信号;编程使得十字路口的红、绿灯交替点亮;在两个方向通行交换时,黄灯提醒。用八段数码管器件作为时间显示。(2): 紧急状况。在发生突发事件的时候启动紧急状态,全部红灯亮。这种状态主要适用于例如救护车,军车执行任务时候使用。(3): 分时段控制,基于一天中存在有得时间端南北和东西车流量差别较大,放行时间应有区别,所以设计控制电路。- 36 -第二章 设计方案分类及选择2.1 基于CPLD法交通灯设计基于CPLD芯片进行十字路口的交通灯的控制,是用CPLD作为交通灯控制系统的主控芯片,采用VHDL
12、语言编写控制程序。CPLD具有的可重复编程和在动态系统的重构特性,对于数字系统设计的灵活性和通用性具有重大的提高,但它的处理复杂,造价较高。红、绿、黄灯主控制器定时计数器置数器译码器显示器特殊情况红、绿、黄灯图2-1 CPLD法交通灯控制系统2.2 基于PLC法交通灯设计PLC可编程序控制器是以微处理器为基础,综合了计算机技术,自动控制技术和通讯技术发展而来的,具有结构简单、编程方便、可靠性高等优点。但造价较高,适用于复杂大面积网络应用。输入接口部件中央处理单元CPU板电源部件输出接口部件现场信号受控单元图2-2 PLC法交通灯控制系统 第二章 设计方案分类及选择2.3 基于单片法交通设计近年
13、来随着科技的飞速发展,单片机的应用正不断深入,同时带动传统检测控制技术日益更新,在实时检测和自动控制的单片机应用系统中它往往作为核心部件来使用,利用单片机设计交通灯具有设计周期短、可靠性强、操作简单、维护方便、扩展功能强等优点。急停按键重启按键AT89S52单片机锁存电路指示灯电路倒计时显示电路图2-3 单片机法交通灯系统2.4 中规模数字集成电路法利用中规模数字集成电路实现:交通灯定时控制器的原理框图:由状态控制器、状态译码器、减法计数器、秒信号发生器等组成。信号发生器主干道信号灯状态译码器状态控制器译码,显示减法计数器置数控制支干道信号灯红灯闪烁控制图2-4 中规模数字集成电路状态控制器主
14、要用于记录十字路口交通灯的工作状态,通过状态译码器分别点亮相应状态的信号灯。秒信号发生器产生整个定时系统的时基脉冲,通过减法计数器实现减计数,控制每一种工作状态的持续时间。减法计数器的回零脉冲使状态控制器完成状态转换,同时状态译码器根据系统下一个工作状态决定减法计数器下一次减计数的初始值。减法计数器的状态由BCD译码器译码、数码管显示。在黄灯亮期间,状态译码器将秒脉冲引入红灯闪烁控制电路,红灯闪烁。方案选择及设计:本设计在实现相应功能的时候主要是考虑到现有的条件及应用范围,采用高度成熟的AT89S52单片机作为CPU的解决方案,同时采用用性能优良的LED灯和双位数码管作为显示模块,软件则使用了
15、移植性好的C语言进行编程。从现实功能需求上来看,已经可以满足实际需要。单片机作为已经发展了30多年的成熟产品,虽然很多优势正在逐渐弱化,让位于更加先进的芯片系统。但是它作为一个成熟的设计方案还是在很多领域能够发挥重大作用的。因此我选择方案四作为设计方向,并做出了如下工作。现规定如下状态:(1):基本状态。S1:南北方向车辆通行,东西方向、南左转到西、北左转到东、西左转北、东左转南禁行,东西方向人行道通行、南北方向人行道禁行。S2:东西方向车辆通行,南北方向、南左转到西、北左转到东、西左转北、东左转南禁行,南北方向人行道通行、东西方向人行道禁行。S3:南左转西、北左转东车辆通行,南北方向、东西方
16、向、西左转北、东左转南车辆禁行,南北方向、东西方向人行道禁行。S4:西左转北、东左转南车辆通行,南北方向、东西方向、南左转西、北左转东车辆禁行,南北方向、东西方向人行道禁行。(2):故障或紧急状态。分别用黄、红、绿色灯的不同组合来表示。设计有紧急车辆通过时,全部道强制全红灯,紧急事件状态。(3):高低峰分时管理机制:本设计为提升交通灯系统效率,设置了高低峰分时管理机制。高低峰分时定义如下:高峰时段:8点到10点,一般为上班上学出行的高峰期,18点到20点,一般为下班放学出行高峰期,此时主干道车流量高于次干道的车流量;低峰时段:除高峰时段的其他时段。在高峰时段,采取增加主干道绿灯通行时间,减少次
17、干道绿灯通行时间以最大限度的通过车辆。在低峰时段,采取减少主干道绿灯通行时间,增加次干道绿灯通行时间以平衡通过车辆。高低峰时段状态如表2-1所示。表2-1 高低峰时段状态表S1S2S3S4低峰时段高峰时段南北向车行道绿灯时长20s南北向车行道绿灯时长25s东西向车行道绿灯时长15s东西向车行道绿灯时长10s南左转西,北转东绿灯时长10s南左转西,北转东绿灯时长10s东左转南,西左转北绿灯时长10s东左转南,西左转北绿灯时长10s在高低峰两个时段中,全部车行道绿灯的总和都为55秒,即相位都为55s。状态转换图如图2-5所示。图2-5 状态转化图第三章 硬件系统设计第三章 硬件系统设计3.1 设计
18、思路及硬件框图本设计采用了两组红、绿、黄三个不同的发光二极管分别代表东西和南北两个方向的交通指示灯,运用AT89S52单片机的P2口驱动来控制两组发光二极管的亮与灭,在软件程序中对P2口进行相应设置就可实现控制东西或南北方向的指示状态,本设计对十字路口状态预分为两种,一种是正常状态,另一种是故障或紧急状态,分别用黄、红、绿色灯的不同组合来表示。倒计时显示电路通过设置单片机的定时器T0口的初始值来产生一秒钟的延时,然后利用循环的方式产生通行时间和剩余等待时间,控制交通信号灯来控制路口的通行时间;软件程序中采用外部中断请求方式来实现急车强通功能;倒计时显示电路采用串行口驱动显示,利用八段数码管器件
19、产生时间显示;为了充分利用单片机控制灵活的优点,发挥它的优势功能,可根据不同时段通行量来调节通行时间,从而提高通行效率,此外还设置了急车强通功能。选用AT89S52单片机来实现基本功能,交通信号灯的控制器件的外部输出信号为东西和南北四个方向通行红、黄、绿灯共6个驱动信号;编程使相应位置实现信号灯的亮/灭控制,使得十字路口的红、绿灯按需交替点亮;当两个通行方向交换时,黄灯闪烁提醒。设当有紧急车辆通过时,强制所有红灯临时行点亮,待紧急车辆通过后恢复。我们可以通过软件中断控制来完成此设计,定义单片机的INT0和INT1端口的中断为下降沿触发,编写对应中断向量子程序和中断服务程序,完成该中断处理。设计
20、中这些功能主要是依赖在硬件电路基础上结合软件程序来实现,是要靠程序的设计来完成预定功能的设定。在程序设计中涉及的倒计时精确定时,应该用计数器加以控制,这样会使硬件实现复杂度增加。但考虑到该设计对时间精确度要求不高,所以可采用软件延时的方法来实现,这将大大简化电路。首先计算出程序单步执行的时间,然后设置循环参数从而完成程序定时控制。整个设计以AT89S52单片机为核心,由LED指示灯电路、数码管显示电路、晶振电路、复位电路等组成。如图3-1倒计时电路按键电路AT89S52单片机复位电路LED信号灯晶振电路图3-1 交通灯控制方框图3.2 单片机最小系统单片机是由运算器、控制器、存储器、输入设备以
21、及输出设备工五个基部分组成的。单片机是把包括运算器、控制器、少量的存储器、最基本的输入输出口电路、串行口电路、中断和定时电路等都集成在一个尺寸有限的芯片上。单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、存储器和I/O接口电路等。因此,单片机只需要和适合的软件及外部设备相结合, 一个单片机控制系统。 单片机经过1、2、3代的发展,目前单片机正朝着高性能和多品种方向发展,它们的CPU功能在增强,内部资源在增多,引脚的多功能化,以及低电
22、压低功耗。本设计应用AT89S52单片机,下面具体说明。 AT89S52引脚图如3-2-1所示:图3-2 单片机管脚结构图AT89S52是一种低功耗、高性能CMOS、 8位微控制器,具有8K在系统可编程 Flash存储器。使用Atmel公司高密度非 易失性存储器技术制造,与工业80C51 产品指令和引脚完 全兼容。片上Flash允许程序存储器在系统可编程,亦适于 常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得 AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案,AT89S52 具有以下标准功能:8k 字节Flash,256 字节RAM,32位I/O口
23、线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。各管脚功能介绍:VCC: 电源 GND: 地P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL 逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。 当访问外部程序和数据存储器时,P0口也被作为低8位地址
24、/数据复用。在这种模式下,P0具有内部上拉电阻。在 flash 编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1口:P1 口是一个具有内部上拉电阻的8位双向I/O口,P1 输出缓冲器能驱动 4 个TTL逻辑电平。对 P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和 P1.2 分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表所示。在 flash 编程和校验时,P1口接收低
25、8位地址字节。P2口:P2 口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 在访问外部程序存储器或用 16 位地址读取外部数据存储器(例如执行 MOVX DPTR)时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送 1。在使用8位地址(如 MOVX RI)访问外部数据存储器时,P2 口输出 P2 锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3 口:P3
26、口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动 4 个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 P3 口亦作为 AT89S52 特殊功能(第二功能)使用。RST:复位输入。晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。看门 狗计时完成后,RST脚输出96个晶振周期的高电平。特殊寄存器 AUXR(地址 8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器
27、时,锁存低8位地址 的输出脉冲。在 flash 编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或 时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE 脉冲将会跳过。 如果需要,通过将地址为 8EH 的SFR的第0位置 “1”,ALE 操作将无效。这一位置“1”,ALE仅在执行MOVX或MOVC指令时有效。否则,ALE将被微弱拉高。这个 ALE 使 能标志位(地址为 8EH 的 SFR 的第 0 位)的设置对微控制器处于外部执行模式下无效。PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。
28、当 AT89S52 从外部程序存储器执行外部代码时,PSEN 在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。EA/VPP:访问外部程序存储器控制信号。为使能从0000H 到FFFFH 的外部程序存储器读取指令,EA必须接 GND。为了执行内部程序指令,EA应该接VCC。 在 flash 编程期间,EA也接12V电压。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。晶振模块:图3-3 晶振电路选用2个30Pf电容及12KHZ晶振组成,晶振在电路中的作用主要是提供频率稳定的时钟信号,对控制电路来说极其重要。复位模块:图3-4
29、复位电路由一个10K电阻一个1K电阻,10uf电容及一个按键开关组成,主要作用是复位,让系统恢复到初始状态。3.3 倒计时显示电路倒计时显示电路是用来显示东西和南北方向上红绿灯持续的剩余时间的,这样可使电路显示具有清晰直观的特点,比较有实用价值。利用AT89S52单片机内部的串行口RXD和TXD与外部电路来实现串行通信,其数据由RXD端口串行输出或输入;而同步移位时钟由TXD端口串行输出,在同步脉冲的作用下,实现由串行到并行的数据通信功能,我们利用它来控制倒计时电路。其电路图如图3-5所示:图3-5 倒计时显示电路数码管显示块是由发光二极管显示字段的显示器件,在单片机应用系统中通常使用的是七段
30、LED数码管。这种显示块有共阳极与共阴极两种。共阳极LED显示块的发光二极管阳极并接。当某个发光二极管的阳极为高电平时,发光二极管点亮;而共阴极LED显示块的发光二极管阴极共地。如图3-6所示:图3-6 LED阴极与阳极的驱动电路以共阴极的七段显示器为例,若想要显示数字7时,就要使数码管的a、b与c端点亮,用74HC573锁存器来控制数码管,在电路结构上我们会把共同点接到电源上,标示a、b与c的地方接上限流电阻,便就可以显示数字7。如果是单个的数码管,七段显示器是直接点亮的,亦即用8位去推动一个七段显示器。如果有多位数字要显示时,可以用扫描的方式显示,以节省控制脚位。七段显示块与单片机接口非常
31、容易。只要将一个8位并行输出门与显示块的发光二极管引脚相连即可。8位并行输出门输出不同的字节数据即可获得不同的数字或字符,其段形码如表2所示。通常将控制发光二极管的8位字节数据称为段形码。表3-1 软件控制端口指令字符段形码软件设计段形编码字符段形码软件设计段形编码 0 3FH 80H 5 79H 11H 1 12H E3H 6 7DH 10H 2 4FH 48H 7 13H 0CH 3 5BH 41H 8 7FH 00H 4 72H 23H 9 73H 03H软件程序中用以下几条指令实现启动定时器:MOV TMOD,#01H CLR TF0MOV TH0,#3CH SETB TR0MOV T
32、L0,#0B0H3.4 LED指示电路本设计中信号指示系统采用LED灯指示电路,用红、绿、黄两组LED灯分分别显示控制东西和南北方向的通行指示情况。指示电路用共阳极方式连接,将所有LED灯正极连接在一起并与电源相连接,故而当AT89S52的P2口输出为低电平才有效。指示电路与单片机的联接时采用并行输出方式,将所有位的段选线并联在一起,由P2口的6位I/O口控制。电路图如图3-7所示在交通中,当东西方向绿灯亮的时候,南北方向的红灯则必须同时点亮,倒计时最后5秒绿灯灭的同时东西方向黄灯闪亮作为提示,南北方向的红灯依旧亮。相反,当南北方向的绿灯亮的时候,东西方向的红灯必须点亮,然后是南北方向的黄灯闪
33、亮和东西方向上的红灯亮。这样的过程无限循环下去便可实现道路交通的有序控制。该指示电路清晰直观,可使道路通行井然有序。本设计中不同颜色的发光二极管代表交通信号灯,由于二极管是共阳极,所以只有当P2端口输出低电平时才亮,输出为高电平时灭。为了实现上述控制要求,P2端口输出情况共4种,信号灯指示状态控制码如表3-2所示。图3-7 LED指示电路状态东西方向南北方向P2口输出(十六进制)红(P2.1)绿(P2.2)黄(P2.3)红(P2.4)绿(P2.5)黄(P2)1灭亮灭亮灭灭EBH2灭灭亮亮灭灭E7H3亮灭灭灭亮灭DDH4亮灭灭灭灭亮BDH表3-2 信号灯状态控制码3.5 强通强断电路考虑到紧急情
34、况和具体现场的情况,在做设计时考虑了两种方案:方案一:采用8155扩展I/O 口及键盘,显示电路等。该设计方案的优点是使用灵活可编程,并且有RAM及计数器。若使用该方案,可提供较多I/O 口,但操作起来稍显复杂。方案二: 直接在I/O口线上接上按键开关。该方案优点是编程更加简洁,使用更加简单,且成本更低。缺点就是功能有限如图3-8综合考虑本设计的实际需要,在使用输入的时候不需要过于复杂的功能,故采用方案二。紧急状态如图3-9所示: 图3-8 强通强断电路 图3-9 紧急状态3.6 5V稳压工作电源图 3-10 电源电路该设计由两部分组成,主体为一个交直流转换装置,稳定输出直流电流,获得一个稳定
35、的电压。辅助装置为由3个一号电池组成的直流电源,防止在断电情况下出现的故障。设计简单、方便,便于实现。第四章 软件设计在本次设计中,我采用了C语言作为程序编程的语言。相比较于C语言,虽然汇编语言的机器代码生成效率很高但可读性却并不强,稍复杂一点的程序就更是难读懂,而C 语言也虽然在大多数情况下其机器代码生成效率和汇编语言相当,但其可读性和可移植性却远远高于汇编语言,而且C 语言还可以嵌入汇编来解决高时效性的代码编写问题。所以考虑到开发周期来说,大中型的软件编写用C 语言的开发其周期通常要远小于汇编语言。综合以上C 语言的优点,本设计在编程的时候选择了C 语言。本设计在编译软件选择上使用了Kei
36、l uVision 3.0。这款软件支持众多不同公司的MCS51架构芯片,它集编辑、编译、仿真为一体,同时还支持PLM、汇编和C语言的程序设计,它的界面友好、简单易学,在程序调试、软件仿真方面都有很强的功能。在初期的软件调试阶段,Keil uVision3.0能够为我们提供非常便利的环境。4.1 主程序流程图开始设置中断工作方式、触发方式、初始化是否有中断运行过程执行中断YN中断结束返回图4-1 程序框图4.2 子程序框图(中断程序)T0中断定时计数初值50ms计数(count)加1判断1S(count=20?)到否count清0Time_SN-;Time_EW-恢复现场中断返回NY图4-2
37、TO中断框图图4-3 INTTO中断框图第五章 系统仿真与调试第五章 系统仿真与调试5.1 Proteus系统仿真将Proteus仿真软件安装完成。打开软件后,新建文件并保存。在元件列表中,单击要放置的元件,再在编辑窗口中单击就放置了一个元件,也可以在按下左键的同时,移动鼠标,再适合的位置释放。如果需要修改元件的名称、参数和符号,只需双击元件对对应项目进行修改就可以了。如果需要调整方向,只需右键选择旋转的角度即可。如果需要删除元件,只需选中后点键盘上的Delete键删除。根据上面的方法,在元件库中把所需的元件都找出来按照仿真总图连接起来。由于原理图中的单片机仅是硬件,需要相应的软件配合才能完成
38、相应的功能。所以需要双击单片机浏览到编译好的HEX文件,将其调入,然后点击“OK”即可。最后,点击Proteus编辑器界面左下角的运行键即可,如果想在Proteus中调试软件,只需点击Debug中对应的器件名称即可。图5-1整体仿真原理图5.2 仿真结果 图5-2 东西通行状态 图5-3 南北通行状态 图5-4 紧急工作状态 图5-5 时段1工作状态图5-6 时段2工作状态从仿真原理图上可看出,该交通灯设计实现了红绿灯显示、主副干道倒计时显示、人行道指示、电路复位控制、分时控制等多种功能。5.3 测试及结果分析首先,使用万用表检查所有元器件的好坏和参数值是否满足要求。根据电路原理图先将元器器件
39、摆在万用板上,预测一下布线情况。然后进行焊接,焊接时,首先要保证焊点的饱满且不要虚焊,最好保持板子清洁。同时还要注意安全,避免烫伤。完成焊接后,仔细检查是否有短路和断路的地方,确保每个管脚的焊点牢固,电源和接地连接正确。(1):断电调试为了安全起见,防止硬件烧坏,首先要进行断电调试,用万用表检测电路板上是否有短路现象,再检查严设计原理是否正确,各个线路的电压是否正常。(2):通电调试a:确认无短路后给电路板接上直流电源,观察是否工作正常,结果有一个数码管不能正常工作,经检查是由于虚焊造成,已进行改正。b: 检查时钟系统是否工作正常,用万用表直流电压档测量单片机各管口及锁存器等器件的各管口电压变
40、化是否正常。c: 检查复位电路是否正常工作。d: 检测分时段电路是否工作正常。e: 检测中断系统是否工作正常。f: 长时间供电,检查数码管显示和LED灯是否正常。图5-3-1实际电路示意图致谢总 结本文研究了在当今智能交通方面单片机的应用。相对于其他功能器件来说,单片机具有很多优势比如,成本低廉,通用性高,维护简单,软件灵活,成熟度高等。但是,单片机发展到现在也有不少局限性如存储空间较小、下游方案较少等。这次设计在实现预计功能的时候主要是考虑到现有的设备及经济条件,采用了成熟度较高的AT89S52单片机作为CPU,同时利用红绿黄三色LED灯和双位数码管作为显示模块,软件则使用了移植性好的C语言
41、进行编程。我的工作是将各个功能程序连接起来,并从电路上实现其正常工作。从功能需要上来看,我们实现了基本交通灯指示、倒计时指示、车辆左右转指示、及人行道指示功能,并且采用了双电源模式在一定程度上解决了实际应用中可能出现的电路故障问题。为提高交通运输系统的运行效率我们采用了高低峰分时管理方案作为灵活的交通灯状态方案。单片机作为已经发展了30多年的成熟产品,很多优势正在逐渐失去,让位于更加先进的芯片解决方案,正因如此我在设计实物电路时由于连线复杂,附属电路较多而出现许许多多的问题,从而使实物电路制作不成功。如今的交通灯设计还要考虑盲人、儿童等社会群体,用单片机难以实现这些设计。并且各个城市的加速发展
42、,要求各城市实现联网控制并监控。这就更加难以实现。因此,我决定以后要更加关注并学习这方面的知识,利用更加先进的芯片设计方案来实现这些功能要求。致 谢通过本的次毕业设计,让我对所学知识进行了一次系统的整理和应用,感觉收获很大,既锻炼了自己独立思考的能力,还学会了怎样分析问题,解决问题。为自己今后不论是走向工作岗位还是继续学习深造都打下一个坚实的基础,使自己又掌握了一个有利工具,为以后激烈的社会竞争增强了实力。同时在这次论文设计中,也发现自己不论在专业知识学习上还是实际动手能力上都存在很多很多的不足,不过这也是发展自己的重大契机这将会是我以后改进和学习的方向。经过一个学期的努力奋斗,设计成果终于出
43、来了,我通过资料采集、并进行了实际考察后,做出了以上的设计的方案。本文是在王立刚老师指导下完成的,王老师为论文课题的研究提出了很多指导性的意见,为论文的撰写、修改提供了许多具体的指导和帮助。王老师严谨的治学风格、敏锐深邃的学术洞察力、不断探索的科研作风、孜孜不倦的敬业精神,都给我留下了深刻的印象,使我受益良多。在本文结束之际,特向我敬爱的王老师致以深深的感谢和崇高的敬意!参考文献1 皮大能。单片机课程设计指导书。北京:北京理工大学出版社。2010.2 杨居义。单片机课程设计指导。北京:清华大学出版社。20093 华成英。模拟电子技术基础(第四版)。北京:高等教育出版社。2006.4 陈永真。全
44、国大学生电子设计竞赛硬件电路设计精解。北京:电子工业出版社。2009.5 康万新。毕业设计指导及案例剖析。北京:清华大学出版社。20076 李朝青。单片机原理及接口技术。北京:北京航空航天大学出版社。1999.7 严天峰。单片机应用系统设计与仿真调试。北京:北京航空航天大学出版社。2005.8 林志琦。基于PROTEUS的单片机可视化软硬件仿真。北京:北京航空航天大学出版社。2006.9 胡汉才。单片机原理及接口技术.北京:清华大学出版社。 1996.9 周美珍、江志华。单片机控制交通灯的硬件与软件设计.家庭电子,9(20):20-21。2005.10 蒋汝根、钱丹浩。基于AT89C51单片机的交通灯模拟控制系统.无锡商业职业技术学院。2006.11 8-bit Microcontroller With 4K Bytes Flash AT89C51.ATMEL,2000.12 8-bit Microcontroller With 4K Bytes in-system programble Flash AT89S51.ATMEL,2001.附录 附 录1.源程序/*本交通灯实现的功能:1、正常时可以分时段车流高峰与低峰进行控制2、可以紧急控制,让某些车通过3、可以人为设置为车流高峰区状态*/#include r