《智能交通灯控制系统设计课程设计.doc》由会员分享,可在线阅读,更多相关《智能交通灯控制系统设计课程设计.doc(28页珍藏版)》请在三一办公上搜索。
1、等级:湖南工程学院等级:等级:课 程 设 计课程名称 单片机原理及应用 课题名称 智能交通灯控制系统设计 专 业 自动化 班 级 1191 学 号 201101029118 姓 名 徐瑞先 指导教师 王迎旭 李晓秀 2013年 12 月 13 日湖南工程学院课 程 设 计 任 务 书课程名称 单片机原理及应用 课 题 智能交通灯控制系统设计 专业班级 自动化1191 学生姓名 徐瑞先 学 号 201101029118 指导老师 王迎旭 李晓秀 审 批 任务书下达日期 2013 年 12 月 02 日任务完成日期 2013年 12 月 13日设计内容与设计要求设计内容:本课题要求以单片机核心,设
2、计一个智能交通灯控制系统。使其能模拟城市十字路口的交通灯功能,并能满足控制的特殊要求(有三个按键输入),以便处理特殊事件。 设计要求:1)分析开发系统的硬件构成; 2)进行系统的硬件设计;3)完成必要的参数计算与元器件选择;4)完成应用程序设计;5)进行单元电路及应用程序的调试;6)写出使用说明书。主 要 设 计 条 件1.控制十字路口四个方向的红、黄、绿型号灯的正常工作,规则应符合我国交通法规的规定;2.南北方向的准行基本时间均为60秒(可在线调整);3.在交通状况发生特殊情况时,可进行特殊处理:1)消防车、救护车通过时,按下K1建,关闭倒计时器,四个路口同时黄色灯闪烁5秒然后,转为红灯亮,
3、只允许紧急车辆通过,K1建松开,交通控制回复正常;2)K2、K3键分别为南北和东西方向车辆多时的特殊处理,功能自行定义。说 明 书 格 式封面课程设计任务书目录第1章 概述(课题设计的要求、目的及意义)第2章 系统总体方案选择与说明(系统硬件电路设计框图与工作原理)第3章 硬件电路设计(各部分电路设计、原理、参数计算、I/O分配等)第4章 应用软件设计(流程图、算法等)第5章 系统仿真调试第6章 硬件调试与结果分析(开发板焊接、性能测试、结果、操作说明)总结致谢参考文献 附录A 系统硬件电路原理图附录B 程序清单进 度 安 排设计时间为两周第一周星期一、上午:布置课题任务,讲课及课题介绍 下午
4、:借阅有关资料,总体方案讨论星期二、确定总体设计方案星期三、硬件模块方案设计星期四、软件模块方案设计星期五 小系统焊接与调试;第二周星期一、各硬件模块设计星期二、各软件模块设计星期三、各软件模块设计星期四、写说明书星期五、上午:写说明书,整理资料下午:交设计资料,答辩参 考 文 献参考文献1 王迎旭等.单片机原理及及应用M.机械工业出版社.2012年2 胡汉才:单片机原理及接口技术M,清华大学出版社,20093 蔡伟智:LED道路交通灯的研制M,液晶与显示,第20卷第五期20074 张友德:单片机原理与应用M,复旦大学出版社,2010目 录第1章 概述 1.1课题设计的要求及目的 1.2课题设
5、计的意义第2章 系统总体方案选择与说明 2.1系统硬件设计框图 2.2系统硬件电路工作原理 2.3设计方案第3章 硬件电路设计 3.1 LED数码管设计 3.2实际信号显示电路 3.3按键电路 3.4 I/O口的分配 3.5复位电路 3.6时钟电路的设计第4章 应用软件设计第5章 硬件调试和硬件结果总结致谢参考文献 附录A 程序清单 第1章 概述1.1课题设计的要求及目的 本课题要求以单片机核心,设计一个智能交通灯控制系统。使其能模拟城市十字路口的交通灯功能,并能满足控制的特殊要求,以便处理特殊事件。 设计要求: (1) 控制十字路口四个方向的红、黄、绿型号灯的正常工作,规则应符合我国交通法规
6、的规定; (2) 南北方向的准行基本时间均为60秒(可在线调整); (3) 在交通状况发生特殊情况时,可按实际情况进行处理。 1.2课题设计的意义由于我国经济的快速发展从而导致了汽车数量的猛增,日常的交通堵塞成为人们司空见惯而又不得不忍受的问题,在这种背景下,结合我国城市道路交通的实际情况,开发出真正适合我们自身特点的智能信号灯控制系统已经成为当前的主要任务。随着电子技术的发展,利用单片机技术对交通灯进行智能化管理,已成为目前广泛采用的方法。 第2章 系统总体方案选择与说明 2.1系统硬件设计框图 整个设计以89C52单片机为核心,由数码管显示,LED数码管显示,复位电路等组成。AT89C52
7、单片机复位电路晶振电路LED数码管显示数码管显示 图2-1 设计框图 2.2系统硬件电路工作原理 以单片机89C52为核心,工作频率在12MHz(机械周期是1us),有数码管显示时间,LED灯显示各路口通行状态,复位电路控制初始状态等,采用独立按键,模拟三种交通状况正常行驶,紧急情况行驶,及高峰期行驶。每种情况通行时间不同,红绿灯的转换也不同。 2.3设计方案 设在十字路口,分为东西向和南北向,在任一时刻只有一个方向通行,另一方向禁行,持续一定时间,经过短暂的过渡时间,将通行禁行方向对换。其具体状态如下图所示。说明:黑色表示亮,白色表示灭。交通状态从状态1开始变换,直至状态6然后循环至状1,周
8、而复始,即如图(图2-2)所示:直至状态6然后循环至状态1,通过具体的路口交通灯状态的演示分析我们可以把这四个状态归纳如下。 图2-2 交通状态图 东西方向红灯灭,同时绿灯亮,南北方向黄灯灭,同时红灯亮,倒计时25秒。此状态下,东西向禁止通行,南北向允许通行。 东西方向绿灯灭,同时黄灯亮,南北方向红灯亮,倒计时5秒。此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。南北方向红灯灭,同时绿灯亮,东西方向黄灯灭,同时红灯亮,倒计时30秒。此状态下,东西向允许通行,南北向禁止通行。南北方向绿灯灭,同时黄灯亮,东西方向红灯亮,倒计时5秒。此状态下,除了已下面我们可以用图表表示灯状态和行止状态
9、的关系如下。表2-1交通状态及红绿灯状态状态1状态3状态4状态6东西向禁行等待变换通行等待变换南北向通行等待变换禁行等待变换东西红灯1100东西黄灯0001东西绿灯0010南北红灯0011南北绿灯1000南北黄灯0100东西南北四个路口均有红绿黄3灯和数码显示管2个,在任一个路口,遇红灯禁止通行,转绿灯允许通行,之后黄灯亮警告行止状态将变换。状态及红绿灯状态如表2.1所示。说明:0表示灭,1表示亮。特殊情况: 消防车、救护车通过时,按下K1建,关闭倒计时器,四个路口同时黄色灯闪烁5秒然后,转为红灯亮,只允许紧急车辆通过,K1建松开,交通控制回复正常。K2、K3键分别为南北和东西方向车辆多时的特
10、殊处理,功能自行定义。 第3章 硬件电路设计 3.1 LED数码管设计 数码管的段选为P0.0-P0.7,位选为P2.0-P2.3,且都串一个1K的电阻。 图3-1 四个数码管接线图 3.2实际信号显示电路根据本设计的特点,红绿灯的显示不可少,每个方向上设置红绿黄灯,总共4组。如果东西红灯亮,那南北方向就是绿灯亮,反之亦然。本系统的交通信号显示电路是6个LED灯组成P1.0,P1.1,P1.2,P1.3,P1.4,P1.5,P1.6分别对应为东西红绿黄和南北红绿黄。每一个LED灯上串一个1K的电阻,对LED灯过流保护。 图3-2 实际指示灯图 3.3 按键电路由于只有两种特殊情况,考虑实际应用
11、中的资源浪费问题,此设计只用到两个按键,分别为紧急情况K1和高峰情况K2。 图3-3 按键显示图3.4 I/O接线 表3-1 单片机I/O口接线分配表 P0.0 数码管a段 P1.0东西红灯 P0.1数码管b段 P1.1东西绿灯 P0.2数码管c段 P1.2东西黄灯 P0.3数码管d段 P1.3南北红灯 P0.4数码管e段 P1.4南北绿灯 P0.5数码管f段 P1.5 南北黄灯 P0.6数码管g段 P1.6空置 P0.7数码管dp段 P1.7空置 P2.6紧急情况K1 P2.7紧急情况K2 3.5复位电路手动按钮复位需要人为在复位输入端RST上加入高电平,此处采用的办法是在RST端和正电源V
12、cc之间接一个按钮。当人为按下按钮时,则Vcc的+5V电平就会直接加到RST端。由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。 图3-4 复位电路图 3.6 时钟电路的设计 该设计中选择与负载电容值相等的并联电容,就可以得到晶振的谐振频率,产生的频率是 12MHz。因为晶振与单片机的脚XTAL0和脚XTAL1构成的振荡电路中会产生偕波,为了电路的稳定性起见,所以晶振所配的瓷片电容为30pf的。 图3-5 时钟电路图 第4章 应用软件设计一开始就就先声明,然后定义,这些都是初始化,之后调用显示,扫描是否有键按下,分三种情况,即正常情况,紧急情况,高峰情况,执行完
13、后回到正常情况。图4-1 主程序图 进入case1后即进入正常通行,通过判断zc的状态来确定东西和南北的红黄绿灯的情况。开始(1)正常情况流程图Nnum1|num2=0Y zc+ 状态zccase4case3case2case1a=1NYzc=2YNdh取反zc=4Ynh取反NNnum1-num2-Y开始(2)紧急情况流程图Na=1复位Yb+b5b=0NY红灯初始化nh-dh-a=0 图4-2正常情况和紧急情况图(3)高峰期情况,考虑到此情况与正常情况类似,只是南北,东西时间做了些许调整,在这里就不再重复。第5章 硬件调试与硬件结果 用硬件调试,观察到正常行驶时,东西红灯亮30秒,南北路灯亮2
14、5秒,东西红灯最后5秒时,南北变为黄灯,之后东西变为绿灯,南北变为红灯,情况跟上次一样。紧急情况行驶时,都为黄灯闪烁。高峰期行驶时,东西为35秒,南北为40秒,增加了时间缓冲,缓解了交通压力。东西红灯,南北绿灯的情形。图5-1 东西红,南北绿的实物结果东西红灯,南北黄灯并闪烁的情形。 图5-2 东西红,南北黄的实物结果东西绿灯,南北红灯情形。 图5-3 东西绿,南北红的实物结果总 结 交通灯是我们生活中非常常见的一种东西,在这里我们设计的交通灯仅仅只是模拟现实中的情况。此设计最大的优点就是实现智能化控制,不需要人为。同时,它的缺点是系统稳定性不是很好。通过这次交通灯的课程设计,使我得到了一次用
15、专业知识、专业技能分析和解决现实问题的能力,使我在单片机的基本原理、单片机应用学习过程中,以及在常用编程设计思路技巧的掌握方面都能向前迈了一大步。希望能为以后的工作学习打下基础。致谢 由于自身能力有限,在课程设计中碰到了很多的问题,我通过查阅相关书籍、资料以及和周围同学交流得到解决。最后,对在这个两周帮助我的所有同学和各位指导老师再次表示衷心的感谢!参考文献1王迎旭等.单片机原理及及应用M.机械工业出版社.20122胡汉才:单片机原理及接口技术M,清华大学出版社,20093蔡伟智:LED道路交通灯的研制M,液晶与显示,第20卷第五期20074张友德:单片机原理与应用M,复旦大学出版社,2010
16、附录A 程序清单#include#define uint unsigned int #define uchar unsigned char sbit p10=P10; / 东西红灯sbit p11=P11; / 东西绿灯sbit dh=P12; / 东西黄灯sbit p13=P13; / 南北红灯sbit p14=P14; / 南北绿灯sbit nh=P15; / 南北黄灯sbit p16=P16; / 始终置为1sbit p17=P17; / 始终置为1uchar num1,num2,num3d;num3n;tt,zc;gf;key;a;b;c; /东西时间num1;南北时间num2;时间中
17、断次数tt;uchar led0,led1,led2,led3; /数码管显示缓冲区域unsigned char code led_code=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xbf; /*共阳字型段码表,0-F,-*/void delay(uint z);void display(uchar led0,led1,led2,led3);uchar keyscan(void); /键盘扫描void main()num1=30;num2=25;tt=0; TMOD=0x1
18、1; /设置定时器0为工作方式1TH0=(65536-50000)/256; /定时器0设50毫秒TL0=(65536-50000)%256;EA=1; /开总中断ET0=1; /开定时器0中断TR0=1; /启动定时器0zc=1; / 正常情况初始化key=0x7e;P1=0xf5;num1=25;num2=30; gf=1; / 高峰期初始化c=1; num3d=35;num3n=40;display(led0,led1,led2,led3);while(1) display(led0,led1,led2,led3); /*调显示*/ key=keyscan( ); /调用键盘扫描 swi
19、tch(key) /*正常情况通行*/ case 0x7e: switch(zc) /用于对灯的初始状态复原,因为紧急状况改变灯的状态 case 1: p10=1; / 东西红灯 p11=1;/ 东西绿灯 p13=0;/ 南北红灯 p14=1;/ 南北绿灯 nh=1;/ 南北黄灯 p16=1;/ 始终置为1 p17=1;/ 始终置为1 break; case 2: P1=0xee;break; case 3: p10=0; / 东西红灯 p11=1; / 东西绿灯 dh= 1;/ 东西黄灯 p13=1;/ 南北红灯 p14=1;/ 南北绿灯 p16=1;/ 始终置为1 p17=1;/ 始终置为
20、1 break; case 4: P1=0xf5;break; ; display(led0,led1,led2,led3); if (num1=0|num2=0) zc+;/时间到0后 switch(zc) case 1:num1=5;P1=0xf3;break; case 2:num1=30,num2=25;P1=0xee;break; case 3:num2=5;P1=0xde;break; case 4:zc=1;num1=25;num2=30;P1=0xf5;break; else if(a=1) a=0; num1-; num2-; led0=num1/10; led1=num1%
21、10; led2=num2/10; led3=num2%10; if(zc=2) dh=dh; if(zc=4) nh=nh; ; b=0; c=1; break;/*紧急情况*/ case 0x7d: if(a=1) b+; if(b0;x-)for(y=110;y0;y-);void time0() interrupt 1 /定时器中断为1,0是外部中断。 EA=0;TH0=(65536-50000)/256;TL0=(65536-50000)%256;tt+;if(tt=20) a=1; tt=0; EA=1;void display(uchar led0,led1,led2,led3)
22、 P3=0xfe;P0=led_codeled0;delay(5);P3=0xfd;P0=led_codeled1;delay(5);P3=0xfb;P0=led_codeled2;delay(5);P3=0xf7;P0=led_codeled3;delay(5); uchar keyscan(void) /键盘扫描函数 P2=0xff; /行线输出全为0 if(P2!=0xff) /先检测有无按键按下 if(p27=0)return(0x7d); if(p26=0)return(0x7b); display(led0,led1,led2,led3); /*调显示*/ return(0x7e); /无键按下返回值电气信息学院课程设计评分表项 目评 价优良中及格差设计方案合理性与创造性(10%)开发板焊接及其调试完成情况*(10%)硬件设计或软件编程完成情况(20%)硬件测试或软件调试结果*(10%)设计说明书质量(20%)答辩情况(10%)完成任务情况(10%)独立工作能力(10%)出勤情况(10%)综 合 评 分 指导教师签名:_ 日 期:_ 注:表中标*号项目是硬件制作或软件编程类课题必填内容; 此表装订在课程设计说明书的最后一页。课程设计说明书装订顺序:封面、任务书、目录、正文、评分表、附件(非16K大小的图纸及程序清单)。