新交通规则指示系统设计(版本4)_第1页
新交通规则指示系统设计(版本4)_第2页
新交通规则指示系统设计(版本4)_第3页
新交通规则指示系统设计(版本4)_第4页
新交通规则指示系统设计(版本4)_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

目录第一章:摘要.3第二章:任务分析与设计思路.32.1任务分析:.32.2设计思路.4第三章:总体设计.53.1单片机内部资源分布图:.53.2硬件原理框图:.53.3软件结构框图:.63.4软硬件分工.6第四章:详细设计.64.1设计所需芯片及其特性.64.2设计电路:.74.3交通灯电路:.74.4倒计时显示电路:.8第五章:仿真电路及效果图.95.1仿真电路.95.2仿真效果.9效果1.9效果2.10效果3.11效果4.12第六章:软件框图.136.1主程序流程图:.13第七章:交通灯的设计程序说明.147.1部分程序.147.2延时函数.147.3延时函数.157.4显示函数.167.5定时器0中断函数.167.6源程序代码.17第八章:调试与运行.208.1调试过程.20第九章:心得体会.21第十章:设计资料及参考文献.212第一章:摘要在日常生活中,交通灯作为管理交通、调协车辆的一个便捷的手段,起着很大的作用。各种交通工具、行人都要根据交通灯的变化来决定是否前行,通行的时间的规定协调了它们的步伐,极大的减少了由于交通混乱引起的各种事故的发生。因此,一个完善的交通系统中,交通灯是必不可少的设备,一个完善的交通灯程序会更有效的管理当前道路中出现的实际情况,使车辆、行人的行进变得更顺畅、更和谐。随着我国国民经济的快速发展,我国机动车辆发展迅速,而城镇道路建设由于历史等各种原因相对滞后,交通拥挤和堵塞现象时常出现。如何利用当今计算机和自动控制技术,有效地疏导交通,提高城镇交通路口的通行能力,减少交通事故是很值得研究的一个课题。目前,国内的交通灯一般设在十字路口,在醒目位置用红、绿、黄三种颜色的指示灯加上一个倒计时的显示器来控制行车。第二章:任务分析与设计思路2.1任务分析:本次设计要求:运用所学单片机原理、模拟和数字电路等方面的知识,设计出一台交通信号灯,模拟路口交通信号。交通灯要求如下:1)交通信号灯能够控制东西、南北两个方向的交通,红绿黄灯用对应颜色的发光二极管代替;2)用四个2位数码管分别显示东、南、西、北方向的通行时间,东西或南北通行时间为25秒,红绿灯切换中间黄灯闪烁5秒。目前,我们接触到的交通灯都位于十字路口,假设实际情况为东西南北走向的十字路口,如下图:图13东西南北各三盏灯,每三盏分别为红、黄、绿三种颜色,总共十二盏灯,而实际情况下,东西方向灯亮灭一致,南北方向灯亮灭一致,故只需要按东西为一组,南北为一组,两组交错亮灭来设计控制系统,即可达到交通灯系统的控制目的。根据以上分析那么只需要控制东南或者西北六盏灯亮灭规律就能实现控制,另外两组对应一致就行了。根据设计要求,要求东西或者南北通行25秒,红绿灯切换中间黄灯闪烁5秒。那么要求绿灯亮放行,放行线,绿灯持续亮(通行时间)25秒,黄灯亮(警告提醒时间)5秒,红灯亮禁止通行,禁止线,为了简化设计,也为25秒。切换过程东西南北均为黄灯闪烁。2.2设计思路基于完成以上任务分析,结合所学有关知识,尤其是大二所学关于单片机的中断系统和定时/计数器的相关知识及应用,我们知道对于红、绿、黄两组各三盏灯的控制,可以通过把这六盏灯分别接到单片机的六个输出引脚,若用P1口进行输出,则分配如下:图2通过对P1口P0P5编程从而实现控制。而时间的各盏灯的熄灭时间的延时情况,则用定时/计数和中断结合应用实现控制。而输出的时间显示则每个方向分别用两个发光二极管显示,十位接在P0口,个位接在P2口,对P0口P2口编程即可实现控制。AT89C51P1.0P1.1P1.2P1.3P1.4P1.5L1L2L3L4L5L6(东西红)(东西黄)(东西绿)(南北红)(南北黄)(南北绿)LED显示分布4第三章:总体设计3.1单片机内部资源分布图:图33.2硬件原理框图:时钟电路振荡电路上电复位电路AT89C51交通灯LED数码管53.3软件结构框图:图43.4软硬件分工硬件实现实物连接,软件与硬件连接相对应,通过编写程序,使硬件实现期望的功能。说的形象些,软件相当于其内在本质功能,而硬件是将该功能表现出来,让人们可见罢了。第四章:详细设计4.1设计所需芯片及其特性本设计使用的单片机为AT89C51。AT89C51是带有4K字节闪存的低电压高性能微处理器。其主要特性:1、与MCS-51兼容4K字节可编程FLASH存储器。2、寿命:1000写/擦循环。3、数据保留时间:10年。4、全静态工作:0Hz-24MHz。5、三级程序存储器锁定。6、1288位内部RAM。主程序显示子程序调用实现功能模块67、32可编程I/O线。8、两个16位定时器/计数器。9、5个中断源。10、可编程串行通道。11、低功耗的闲置和掉电模式。12、片内振荡器和时钟电路。4.2设计电路:设计电路主要由两部分组成,一部分为P1口与十二个发光二极管连接电路,另一部分是P0、P2口与八个七段显示器相连的电路,下面分别详细说明。4.3交通灯电路:设计中采用发光二极管作为交通灯来使用,单片机的I/O接口直接和交通灯(发光二极管)连接。在十字路口的四组红、黄、绿三色交通灯中,东西方向道路上的两组同色灯连接在一起,南北方向道路上的两组同色的灯也彼此连接在,受单片机P1.0P1.5控制。单片机的I/O接口与交通灯电路的具体连接方式为:P1.0P1.2分别接东西方向的红、黄、绿共6个放光二极管,P1.3P1.5分别接南北方向的红、黄、绿共6个发光二极管。12个发光二极管采用了共阳极的连接方式,因此I/O口输出低电平时,与之相连的发光二极管会亮,I/O口输出高电平时,相应的发光二极管会灭。交通灯电路如图所示7图54.4倒计时显示电路:该显示装置选用七段数码管来显示交通灯转换的剩余时间,根据控制要求,每个路口需要两个数码管,这样四个路口就要求八个数码管。有序AT89C51单片机的I/O作为输出时,具有较强吸收电流能力,因此我们可以选用共阳型数码管,这样由单片机的I/O就可以直接驱动,从而简化硬件电路的设计。四个路口倒计时显示被置在同一时刻显示相同的数字,期中P0口用来显示时间的十位,P2口用来显示时间的个位。电路如下图所示12345678abcdefgh12345678abcdefgh12345678hgfedcbaP85P86R510kR610kP83P84R310kR410k图68第五章:仿真电路及效果图5.1仿真电路A1BC1DE1FD1F1E1B1C1A112345678abcdefgh12345678abcdefgh12345678abcdefgh12345678abcdefgh12345678hgfedcbaA1C1B1D1F1E1XTAL218XTAL119ALE301PSN29RST9P0./AD039.1/18P0.2/AD237.3/36P0.4/AD435.5/54P0.6/AD63.7/72P1.0.2P1.23.34P1.45.56P1.67.78P3.0/RXD10.1/TP3.2/IN012./IT13P3.4/014P3.7/RD17.6/W6.5/T15P2.7/A1528P2.0/A821.1/9P2./A023.3/14P2.4/A225.5/136.6/47U1AT89C51PROGRAM=G:新建文件夹程序J.HEXX1CRYSTALC12pfC22pfGNDP85P86R510kR610kR10kC310uFGNDD4LED-REDD5LED-REDD6LE-REDD7LE-RED8LED-GREND9LE-GREND10LE-GREND1LE-GREN12LED-YELOWD13LE-YELOWD14LE-YEOWD15LE-YELOWP83P84R310kR410kP81P82R110kR210kP87P8R710kR810kGND图75.2仿真效果效果1东西黄灯5s,南北黄灯5s9FILENAME:BY:DATE:PAGE:交通灯1.DSN201/12/19I:课程设计交通灯1.DSNPATH:1of1REV:TIME:7:03:26DESIGNTILE:I课程设计交通灯1.DSNA1BC1DE1FD1F1E1B1C1A112345678abcdefgh12345678abcdefgh12345678abcdefgh12345678abcdefgh12345678hgfedcbaA1C1B1D1F1E1XTAL218XTAL119ALE301PSN29RST9P0./AD039.1/180.2/237P.3/AD360.4/435.5/54P0.6/AD63.7/72P1.0.21.23P.341.45.56P1.67.78P3.0/RXD10.1/T3.2/IN012P./IT133.4/014P3.7/RD17.6/W6.5/T152.7/A1528P2.0/A821.1/92./023P.3/A142.4/225.5/136P.6/47U1AT89C51PROGRAM=G:新建文件夹程序J.HEXX1CRYSTALC12pfC22pfGNDP85P86R510kR610kR1kC310uFGNDD4LED-REDD5LED-REDD6LE-REDD7LE-RED8LED-GREND9LE-GREND10LE-GREND1LE-GREN12LED-YELOWD13LE-YELOWD14LE-YEOWD15LE-YELOWP83P84R310kR410kP81P82R110kR210kP87P8R710kR810kGND图8效果2东西红灯25s,南北绿灯25sFILENAME:BY:DATE:PAGE:交通灯1.DSN201/12/19I:课程设计交通灯1.DSNPATH:1of1REV:TIME:17:03:26DESIGNTILE:I课程设计交通灯1.DSNA1BC1DE1FD1F1E1B1C1A112345678abcdefgh12345678abcdefgh12345678abcdefgh12345678abcdefgh12345678hgfedcbaA1C1B1D1F1E1XTAL218XTAL119ALE301PSN29RST9P0./AD039.1/18P0.2/AD237.3/36P0.4/AD435.5/54P0.6/AD63.7/72P1.0.2P1.23.34P1.45.56P1.67.78P3.0/RXD10.1/TP3.2/IN012./IT13P3.4/014P3.7/RD17.6/W6.5/T15P2.7/A1528P2.0/A821.1/9P2./A023.3/14P2.4/A225.5/136.6/47U1AT89C51PROGRAM=G:新建文件夹程序J.HEXX1CRYSTALC12pfC22pfGNDP85P86R510kR610kR10kC310uFGNDD4LED-REDD5LED-REDD6LE-REDD7LE-RED8LED-GREND9LE-GREND10LE-GREND1LE-GREN12LED-YELOWD13LE-YELOWD14LE-YEOWD15LE-YELOWP83P84R310kR410kP81P82R110kR210kP87P8R710kR810kGND图910效果3东西黄灯5s,南北黄灯5sFILENAME:BY:DATE:PAGE:交通灯1.DSN201/12/19I:课程设计交通灯1.DSNPATH:1of1REV:TIME:17:14:01DESIGNTILE:I课程设计交通灯1.DSNA1BC1DE1FD1F1E1B1C1A112345678abcdefgh12345678abcdefgh12345678abcdefgh12345678abcdefgh12345678hgfedcbaA1C1B1D1F1E1XTAL218XTAL119ALE301PSN29RST9P0./AD039.1/18P0.2/AD237.3/36P0.4/AD435.5/54P0.6/AD63.7/72P1.0.2P1.23.34P1.45.56P1.67.78P3.0/RXD10.1/TP3.2/IN012./IT13P3.4/014P3.7/RD17.6/W6.5/T15P2.7/A1528P2.0/A821.1/9P2./A023.3/14P2.4/A225.5/136.6/47U1AT89C51PROGRAM=G:新建文件夹程序J.HEXX1CRYSTALC12pfC22pfGNDP85P86R510kR610kR10kC310uFGNDD4LED-REDD5LED-REDD6LE-REDD7LE-RED8LED-GREND9LE-GREND10LE-GREND1LE-GREN12LED-YELOWD13LE-YELOWD14LE-YEOWD15LE-YELOWP83P84R310kR410kP81P82R110kR210kP87P8R710kR810kGND图1011效果4东西红灯25s,南北绿灯25sFILENAME:BY:DATE:PAGE:交通灯1.DSN201/2/19I:课程设计交通灯1.DSNPATH:1of1REV:TIME:17:4:01DESIGNTILE:I课程设计交通灯1.DSNA1B1C1D1E1F1D1F1E1B1C1A112345678abcdefgh12345678abcdefgh12345678abcdefgh12345678abcdefgh12345678hgfedcbaA1C1B1D1F1E1XTAL218XTAL119ALE3031PSN29RST9P0./AD0390.1/138P0.2/AD2370.3/336P0.4/AD4350.5/534P0.6/AD630.7/732P1.01.2P1.231.34P1.451.56P1.671.78P3.0/RXD103.1/T1P3.2/IN0123./IT113P3.4/014P3.7/RD173.6/W163.5/T115P2.7/A1528P2.0/A8212.1/92P2./A10232.3/124P2.4/A12252.5/13262.6/1427U1AT89C51PROGRAM=G:新建文件夹程序J.HEXX1CRYSTALC12pfC22pfGNDP85P86R510kR610kR910kC310uFGNDD4LED-REDD5LED-REDD6LE-REDD7LE-RED8LED-GREND9LED-GREND10LE-GREND1LE-GREND12LED-YELOWD13LED-YELOWD14LE-YEOWD15LE-YELOWP83P84R310kR410kP81P82R110kR210kP87P8R710kR810kGND图115.3元件清单:名称件数参数选择理由电阻810K限流,以免烧坏数码管发光二极管123色便于仿真显示AT89C5114K闪存低电压,高性能八位微处理器七段显示数码管8常用数字显示,便于仿真开关3特殊情况使用12第六章:软件框图6.1主程序流程图:开始初始化,全部为黄灯并按照初始化运行东西红灯亮,南北绿灯亮调用显示程序,将时间送显示东西黄灯闪烁,南北黄灯烁调用显示程序,将时间送显示东西绿灯亮,南北红灯亮调用显示程序,将时间送显示东西黄灯闪烁,南北黄灯闪烁13第七章:交通灯的设计程序说明7.1部分程序这部分中定义了一些全局变量的数组和变量以及位标志,只是些定义的东西不需要画流程图了。这部分程序如下:#include#defineucharunsignedchar#defineuintunsignedintsbitnom=P37;ucharcodeled_table10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/显示数码表ucharcodelight_state=0x21,0x12,0x0c,0x12;/交通灯状态存储表ucharcodeem_state3=0x24,0x21,0x0c;/紧急灯状态显示表ucharlight_time2=0,4,0,1,0,5,0,1;/显示时间存储表ucharstatebef,time1s=100,state=0;/存储紧急灯状态,定时基数,状态基数uinttime;/显示时间变量bitmd_flag,state_flag=1,red;/显示时间更改状态,状态切换标志位,红绿切换标志位7.2延时函数延时函数的流程图如图3-4-1。延时程序如下:/*-延时函数-*/voiddelay(void)调用显示程序,将时间送显示14uchari,j;for(i=100;i0;i-)for(j=100;j0;j-);/循环10000次延时函数的流程图7.3延时函数读状态函数的流程图如图3-5-1。读状态函数如下:/*-读状态函数:判断是否有紧急灯状况出现-*/ucharrd_emstate(void)ucharvalue;value=P3;value=4;valueif(value!=statebef)statebef=value;return1;/判断是否有紧急灯状况发生,/保存按键值,置返回标志为115elsereturn0;7.4显示函数显示函数如下:voiddisplay(void)if(md_flag=1)/显示更改时间状态if(1=red)/南北方向红灯时间显示P2=0xf6;P0=led_tablelight_time00;delay();/分钟P2=0xed;P0=led_tablelight_time01/10;delay();/秒的十位P2=0xdb;P0=led_tablelight_time01%10;delay();/秒的个位else/正常状态,显示时间P2=0xf6;P0=led_tabletime/100;delay();/分钟P2=0xed;P0=led_tabletime/10%10;delay();/秒的十位P2=0xdb;P0=led_tabletime%10;delay();/秒的个位7.5定时器0中断函数定时器0中断函数如下:voidTime0int(void)interrupt1EA=0;TH0=-10000/256;TL0=-10000%256;time1s-;if(time1s=0)/一秒中到,重新置数time1s=100;time-;/显示时间自减if(time=0)/显示时间减到0时切换显示时间状态state+;/四个状态轮流切换if(state=4)state=0;state_flag=1;/置状态切换标志位EA=1;167.6源程序代码#include#defineucharunsignedchar#defineuintunsignedintsbitnom=P37;ucharcodeled_table10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/显示数码表ucharcodelight_state=0x21,0x12,0x0c,0x12;/交通灯状态存储表ucharcodeem_state3=0x24,0x21,0x0c;/紧急灯状态显示表ucharlight_time2=0,4,0,1,0,5,0,1;/显示时间存储表ucharstatebef,time1s=100,state=0;/存储紧急灯状态,定时基数,状态基数uinttime;/显示时间变量bitmd_flag,state_flag=1,red;/显示时间更改状态,状态切换标志位,红绿切换标志位/*-延时函数-*/voiddelay(void)uchari,j;for(i=100;i0;i-)for(j=100;j0;j-);/*-读状态函数:判断是否有紧急灯状况出现-*/ucharrd_emstate(void)ucharvalue;value=P3;value=4;valueif(value!=statebef)statebef=value;return1;/判断是否有紧急灯状况发生,保存按键值,置返回标志为1elsereturn0;/*-显示函数-*/voiddisplay(void)17if(md_flag=1)/显示更改时间状态if(1=red)/南北方向红灯时间显示P2=0xf6;P0=led_tablelight_time00;delay();/分钟P2=0xed;P0=led_tablelight_time01/10;delay();/秒的十位P2=0xdb;P0=led_tablelight_time01%10;delay();/秒的个位else/南北绿灯东西红灯亮时间显示P2=0xf6;P0=led_tablelight_time20;delay();/分钟P2=0xed;P0=led_tablelight_time21/10;delay();/秒的十位P2=0xdb;P0=led_tablelight_time21%10;delay();/秒的个位else/正常状态,显示时间P2=0xf6;P0=led_tabletime/100;delay();/分钟P2=0xed;P0=led_tabletime/10%10;delay();/秒的十位P2=0xdb;P0=led_tabletime%10;delay();/秒的个位/*-主函数-*/voidmain()/初始化定时器0,外部中断1EA=1;EX1=1;IT1=1;ET0=1;TMOD=0x01;TH0=-10000/256;TL0=-10000%256;TR0=1;while(1)if(rd_emstate()/如果有紧急灯按下,进行如下紧急处理switch(statebef)case0x04:P1=em_state0;TR0=0;break;/紧急灯亮case0x02:P1=em_state1;TR0=0;break;/东西应急灯亮18case0x01:P1=em_state2;TR0=0;break;/南北应急灯亮case0x00:TR0=1;break;default:break;if(state_flag)/正常状态下时间切换,如果状态标志为1,进行如下处理,进行状态间切换switch(state)case0:time=light_time00*60+light_time01;P1=light_state0;break;/南北红灯亮时间case1:time=light_time10*60+light_time11;P1=light_state1;break;/黄灯亮时间case2:time=light_time20*60+light_time21;P1=light_state2;break;/南北绿灯亮时间case3:time=light_time10*60+light_time11;P1=light_state1;break;/黄灯亮时间default:break;state_flag=0;/清标志位if(nom=0)md_flag=0;/恢复时间状态,更改为最近更改的值display();/*-定时器0-*/voidTime0int(void)interrupt1EA=0;TH0=-10000/256;TL0=-10000%256;time1s-;if(time1s=0)/一秒中到,重新置数time1s=100;time-;/显示时间自减if(time=0)/显示时间减到0时切换显示时间状态state+;/四个状态轮流切换if(state=4)state=0;state_flag=1;/置状态切换标志位19EA=1;/*-外部中断1-*/voidExint1(void)interrupt2EA=0;md_flag=1;/置更改时间标志位if(red)switch(P3&0X07)case6:light_time01+;if(light_time01=60)light_time01=0;break;/南北方向绿灯时间秒加小于60scase5:light_time00+;if(light_time00=10)lig

温馨提示

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

评论

0/150

提交评论