河北建筑工程学院课程设计任务书课程名称:单片机技术及应用系别:专业:班级:学号:学生姓名:指导教师:2012年2月25日目录1概述1.1课题名称……………………………………………………………………41.2设计要求……………………………………………………………………41.3设计意义……………………………………………………………………42系统总体方案及硬件设计2.1系统方框图…………………………………………………………………72.2工作原理……………………………………………………………………72.3电路原理图…………………………………………………………………82.4单片机最小系统……………………………………………………………92.5时间显示电路……………………………………………………………102.6交通灯电路………………………………………………………………103软件设计3.1单片机交通控制系统总体设计…………………………………………53.2相关参数计算……………………………………………………………113.3程序流程图………………………………………………………………124Proteus软件仿真4.1系统仿真电路图…………………………………………………………134.2仿真结果分析……………………………………………………………155系统软件程序的设计.............................................105.1程序主体设计流程.............................................105.2理论基础知识.................................................115.2.1定时器原理................................................115.2.2软件延时原理..............................................125.2.3中断原理...................................................125.3子程序模块设计...............................................125.3.1状态灯显示及判断..........................................125.3.2LED倒计时显示...........................................135.3.3紧停及调整时间中断子程序................................135.3.4红绿灯时间调整程序.......................................145.4系统软件调试................................................165.4.1TKS仿真器................................................165.4.2集成开发环境KEIL.........................................16参考文献附1:系统原理图附2:源程序代码1概述1.1课题名称单片机控制的交通灯控制系统设计1.2设计任务1)完成交通灯的变化规律,即一个十字路口为东西向和南北向,四个路口均有红黄绿三灯和两个LED数码显示管。2)交通灯上电后进入初始状态即东西红灯,南北红灯。5s后转状态1:南北绿灯亮通车,东西红灯亮,禁止通行,持续30s;30s后转状态2:南北绿灯灭转黄灯闪亮,延时5s,东西仍然红灯;5s后转状态3:东西绿灯亮通车,南北转红灯,持续30s;30s后转状态4:东西绿灯灭转黄灯闪亮,延时5s,南北仍然红灯。最后循环至状态1。3)用8个LED数码管(各个方向均有两个LED数码管,分别表示个位和十位)显示倒计时。倒计时用于提醒驾驶员和行人信号灯发生变化的时间,以便他们在“停止”和“通行”两者作出合适的选择。4)一道有车而另一道无车(实验时用开关K0和K1控制),交通灯控制系统能立即让有车道放行;5)有紧急车辆要求通过时,系统要能禁止普通车辆通行,A、B道均为红灯,紧急车由K2开关模拟。1.3设计意义国内的交通灯一般设在十字路门,在醒目位置用红、绿、黄三种颜色的指示灯。加上一个倒计时的显示计时器来控制行车。对于一般情况下的安全行车,车辆分流尚能发挥作用,但根据实际行车过程中出现的情况,还存在以下缺点:1.两车道的车辆轮流放行时间相同且固定,在十字路口,经常一个车道为主干道,车辆较多,放行时间应该长些;另一车道为副干道,车辆较少,放行时间应该短些。2.没有考虑紧急车通过时,两车道应采取的措施,臂如,消防车执行紧急任务通过时,两车道的车都应停止,让紧急车通过。基于传统交通灯控制系统设计过于死板,红绿灯交替是间过于程式化的缺点,智能交通灯控制系统的设计就更显示出了它的研究意义,它能根据道路交通拥护,交叉路口经常出现拥堵的情况。利用单片机控制技术.提出了软件和硬件设计方案,能够实现道路的最大通行效率。2系统总体方案及硬件设计2.1系统方框图2.2工作原理由软件设置交通灯的初始时间,南北方向通行35秒,东西方向通行35秒,数码管采用动态显示,P0口送字形码,P2口送字位选通信号,通过单片机的P1口控制各种信号灯的燃亮与熄灭。采用中断方式实现按键的功能。电源交通灯AT89S51交通灯时间显示部分时钟电路复位电路东西方向EWGYR南北方向NSGYR系统控制电路车辆检测紧急转换2.3电路原理图XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51D1LED-GREEND2LED-GREEND3LED-GREEND4LED-GREEND5LED-REDD6LED-REDD7LED-REDD8LED-REDD9LED-YELLOWD10LED-YELLOWD11LED-YELLOWD12LED-YELLOWR1470RR2470RR3470RR4470RR5470RR6470RR7470RR8470RR9470RR10470RR11470RR12470RC1100nR13220RR141kX1CRYSTALC233pC333pK4K2K1K0K3234567891RP1RESPACK-8主干道通行支干道通行返回紧急情况时间设定2.4单片机最小系统单片机最小系统以89S51为核心,外加时钟和复位电路,电路结构简单,抗干扰能力强,成本相对较低,非常符合本设计的所有要求。89C51单片机系列是MCS-51系列的基础上发展起来的,是当前8位单片机的典型代表,采用CHMOS工艺,即互补金属氧化物的HMOS工艺,CHMOS是CMOS和HMOS的结合,具有HMOS高速度和高密度的特点,还具有CMOS低功耗的特点。时钟电路在单片机的外部通过XTAL1,XTAL2这两个引脚跨接晶体振荡器和微调电容,构成稳定的自激振荡器.本系统采用的为12MHz的晶振,一个机器周期为1us,C2,C3为30pF。复位电路分为上电自动复位和按键手动复位,RST引脚是复位信号的输入端,复位信号是高电平有效.上电自动复位通过电容C1和电阻R4来实现,按键手动复位是图中复位键来实现的。2.5时间显示电路因为系统要求南北和东西方向的信号灯时间不一样,所以就利用单片机的P0口送出数据的段码,位选信号用P2口送出,用动态扫描的方法显示东西、南北的倒计时间(如图-4所示)。数码管使用共阴数码管,需要接上470欧上拉电阻以提供足够大的电流来驱动数码管,数码管的每段的电流是约10毫安。2.6交通灯电路本设计利用单片机的p1口来驱动和控制各种信号灯的燃亮和燃亮时间,在实际中,交通灯的信号灯需要用高电压控制,在这里我们只是模拟一下它的控制信号,所以我们就只用单片机的信号引脚直接来控制发光二极管(如图-5所示)3软件设计3.1单片机交通控制系统总体设计(1)单片机交通控制系统的通行方案设计十字路口分为东西向和南北向,在任一时刻只有一个方向通行,另一方向禁行,持续一定时间,经过短暂的过渡时间,将通行禁行方向对换。其具体状态如下图所示。说明:黑色表示亮,白色表示灭。交通状态从状态1开始变换,直至状态4然后循环至状态1,周而复始,即如图2.1所示:图1交通状态通过具体的路口交通灯状态的演示分析我们可以把这四个状态归纳如下:◆东西方向红灯灭,同时绿灯亮,南北方向黄灯灭,同时红灯亮,倒计时30秒。此状态下,东西向禁止通行,南北向允许通行。◆东西方向绿灯灭,同时黄灯亮,南北方向红灯亮,倒计时5秒。此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。◆南北方向红灯灭,同时绿灯亮,东西方向黄灯灭,同时红灯亮,倒计时30秒。此状态下,东西向允许通行,南北向禁止通行。◆南北方向绿灯灭,同时黄灯亮,东西方向红灯亮,倒计时5秒。此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。下面我们可以用图表表示灯状态和行止状态的关系如下:表1交通状态及红绿灯状态状态1状态2状态3状态4东西向禁行等待变换通行等待变换南北向通行等待变换禁行等待变换东西红灯1100东西黄灯0001东西绿灯0010南北红灯0011南北绿灯1000南北黄灯0100东西南北四个路口均有红绿黄3灯和数码显示管2个,在任一个路口,遇红灯禁止通行,转绿灯允许通行,之后黄灯亮警告行止状态将变换。状态及红绿灯状态如表1所示。说明:0表示灭,1表示亮。(2)单片机交通控制系统的功能要求本设计能模拟基本的交通控制系统,用红绿黄灯表示禁行,通行和等待的信号发生,还能进行倒计时显示,通行时间调整和紧急处理等功能。(1)倒计时显示倒计时显示可以提醒驾驶员在信号灯灯色发生改变的时间、在“停止”和“通过”两者间作出合适的选择。驾驶员和行人普遍都愿意选择有倒计时显示的信号控制方式,并且认为有倒计时显示的路口更安全。倒计时显示是用来减少驾驶员在信号灯色改变的关键时刻做出复杂判断的1种方法,它可以提醒驾驶员灯色发生改变的时间,帮助驾驶员在“停止”和“通过”两者间作出合适的选择。(2)时间的设置本设计中可通过键盘对时间进行手动设置,增加了人为的可控性,避免自动故障和意外发生,并再紧急状态下,可设置所有灯变为红灯。键盘是单片机系统中最常用的人机接口,一般情况下有独立式和行列式两种。前者软件编写简单,但在按键数量较多时特别浪费I/0口资源,一般用于按键数量少的系统。后者适用于按键数量较多的场合,但是在单片机I/0口资源相对较少而需要较多按键时,此方法仍不能满足设计要求。本系统要求的按键控制不多,且I/0口足够,可直接采用独立式。(3)紧急处理交通路口出现紧急状况在所难免,如特大事件发生,救护车等急行车通过等,我们都必须尽量允许其畅通无阻,毕竟在这种情况下是分秒必争的,时时刻刻关系着公共财产安全,个人生死攸关等。由此在交通控制中增设禁停按键,就可达到想此目的。3.2相关参数计算T0的计数初值:X=216-12*50*1000/12=15536=3CB0H3.3程序流程图4Proteus软件仿真4.1系统仿真电路图4.2仿真结果分析仿真实验实现南北方向车道和东西方向车道两条交叉道路的车辆交替运行,南北