基于msp430的交通灯控制系统设计论文说明书_第1页
基于msp430的交通灯控制系统设计论文说明书_第2页
基于msp430的交通灯控制系统设计论文说明书_第3页
基于msp430的交通灯控制系统设计论文说明书_第4页
基于msp430的交通灯控制系统设计论文说明书_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

**大学课程设计说明书题目:智能仪器仪表课程设计姓名:***院(系):电气信息工程学院专业班级:自动化09-2班学号:540901010204指导教师:李银华毋媛媛成绩:时间:2013年1月2日至2013年1月18日基于MSP430单片机的交通信号灯控制系统说明1、课程设计进行期间,学生应按教学计划,将每天的学习情况(包括学习内容、遇到问题及解决办法、心得体会等)如实进行记录。2、结束时,根据课程设计内容和学习记录书写报告。3、指导教师应综合考虑学生的学习态度、报告内容和实际操作情况等,给出评语和成绩。课程设计报告撰写格式1、课程设计说明书用纸一律采用16开幅面,有条件最好打印。打印正文用宋体小四号字;版面页边距:上2.5cm,下2.5cm,左3cm,右2cm;页码用小五号字底端居中;左边装订。2、课程设计报告一般由以下几部分组成:A.任务书;B.目录;C.正文;D.参考文献;E.附录。3、报告正文撰写的题序层次格式:第一种第二种第一章(居中、小二号黑体字)1.(居中、小二号黑体字、)第一节(顶格、小三号黑体字)1.1(顶格、小三号黑体字)一(顶格、四号黑体字)1.1.1(顶格、四号黑体字)(一)(顶格、小四号黑体字)**大学课程设计任务书题目交通信号灯控制系统专业、班级自动化09-2班学号04姓名***主要内容、基本要求、主要参考资料等:主要内容:设计内容参见附件基本要求:明确课程设计任务,复习与查阅有关资料。按要求对设计进行简要说明,总体设计方案,设计电路,使用计算机绘图,画出详细的电路接线图,列出元器件清单。电路图要求工整、清楚、正确,并标明管脚。软件编程必须有流程图,程序必须加注释,各程序段的开始要注明该段功能和作用。写出体会和总结。要求使用B5打印稿或16开纸手写,不少于5000字。格式遵照学校规定。主要参考资料:“单片机与控制技术”杨宁主编,北京航空航天大学出版社。“单片机应用程序设计技术”(修订版)周航慈主编,北京航空航天大学出版社。“电子技术应用”、“电子设计应用”、“单片机与嵌入式系统应用”等期刊(单片机和元器件资料)www.ICBASE.com(元器件资料)(电子产品世界)完成期限:2012年1月6日指导教师签名:课程负责人签名:2011年12月16日基于MSP320单片机的交通信号灯控制器设计摘要一个好的交通灯控制系统,将给道路拥挤、违章控制等方面给予技术革新。随着大规模集成电路及计算机技术的迅速发展,以及人工智能在控制技术方面的广泛运用,智能设备有了很大的发展,是现代科技发展的主流方向。基于MSP430单片机的交通控制系统以MSP430F149单片机为路口控制核心、LED作为显示、驱动电路与部分模拟器件构成的一种电子产品。MSP430F149单片机为控制核心,能实时的进行控制;由于LED有高节能、安全性高、寿命长、快速响应、运行成本低等优点,所以用作显示很合理;74HC573驱动电路用于对LED的驱动;此系统可以长时间稳定的运行,可用于各种十字路口,进行自动的交通控制,由于留有其它接口,可以很方便的进行升级扩展。在本设计中充分利用了单片机内部资源,涉及到了键盘控制、数码管显示、中断系统、定时/计数器、串口通信等。关键字交通灯MSP430单片机数码管目录TOC\o"1-3"\h\u摘要 41.系统设计 61.1硬件系统框图 61.2软件系统设计 61.2.1软件系统主流程 61.2.2程序设计 72.硬件系统单元电路设计 82.1MSP430最小系统 82.2电源电路 92.3数码管显示电路 92.4LED显示电路 103.软件系统单元设计 103.1protel99概述 103.2IARFOR430简介 113.3子任务流程 114.系统测试 125.结论 12参考文献 14附录 151.系统设计1.1硬件系统框图该系统由MSP430单片机最小系统、电源电路、按键电路、数码管显示电路、红绿灯显示电路组成。强大的处理能力MSP430系列单片机是一个16位的单片机,采用了精简指令集(RISC)结构,具有丰富的寻址方式(7种源操作数寻址、4种目的操作数寻址)、简洁的27条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储都可以参加多种运算;还有高效的查表处理指令;有较高的处理速度,在8MHZ晶体驱动下指令周期为125ns。这些特点保证了可编制出高效率的源程序,完全可以满足本系统的需要;与其他控制方法相比,所用器件可以说是比较简单经济的。电源电路主要负责对整个系统进行供电,让系统能够正常运行。按键电路实现对一些时间和工作模式的转换,很好的实现了人机交互的功能。数码管显示电路实现对倒计时间的显示功能,红绿灯显示电路实现十字路口红黄绿之间的转换。系统框图如图1所示,复位电路复位电路时钟电路MSP430单片机红绿灯显示电路2位LED数码管显示电路电源电路按键输入电路图1硬件系统框图1.2软件系统设计1.2.1软件系统主流程如图2所示为软件系统主流程图:开始初始化调用LED显示子程序开始初始化调用LED显示子程序开中断返回调用时间显示子程序1.2.2程序设计道口交通控制系统程序主要分为以下几个模块:初始化程序、主程序、键盘显示和延时。(1)初始化程序初始化程序主要完成的是对显示初值以及定时器初值。(2)主程序主程序要负责总体程序管理功能,实现人机交换设定。由于采用动态扫描方式显示时间,因此主程序大部分时间要调用扫描显示程序。键盘也加在主程序中了。(3)延时服务程序 主要是在整个电路中,在动态显示时间得用延时来保证数码管亮足够的时间。(4)显示主要是对数码管的显示,让人们能更准确的看清时间,可以什么时间通过。在整个程序流程图中,提高了系统的灵活性中断任务主要进行紧急情况处理,并保护当前的现场,以便于恢复。2.硬件系统单元电路设计2.1MSP430最小系统图3MSP430单片机最小系统如图3所示,MSP430最小系统由复位电路、晶振电路、JTAG等组成。MSP430单片机的64个引脚大致可分为4类:电源、时钟、控制和I/O引脚。MSP430系列单片机的中断源较多,并且可以任意嵌套,使用时灵活方便。当系统处于省电的备用状态时,用中断请求讲它唤醒只有6us。超低功耗MSP430单片机之所以有超低的功耗,是因为其在降低芯片的电源电压及灵活而可控的运行时钟方面都有其独到之处。首先,MSP430系列单片机的电源电压采用的是1.8~3.6V电压。因而可使其在1MHz的时钟条件下运行时,芯片的电流会在200~400uA左右,时钟关断模式的最低功耗只有0.1uA。其次,独特的时钟系统设计,在MSP430系列中有两个不同的系统时钟系统:基本时钟系统和锁频(FLL和FLL+)时钟系统或DCO数字振荡器时钟系统。有的使用一个晶体振荡器(32768Hz),有的使用两个晶体振荡器。由系统时钟系统产生CPU和各功能所需的时钟,并且这些时钟可以在指令的控制下,打开和关闭,从而实现对总体功耗的控制。2.2电源电路图4电源电路接入电路时(如图5),P1为DC5V输入接头,D1二极管防止电源接反,对电路具有保护作用,ASM1117-3.3电源管理芯片输出稳定的+3.3V电压。C6、C3、C5为滤波电容,实现高频和低频滤波。D2的发光二极管是电源指示灯。2.3数码管显示电路图5数码管显示电路采用74HC573数据锁存器,对数码管进行驱动,同时还具有数据所存作用,方便程序设计。采用两个独立的共阳极数码管实现倒计时间的显示。两PNP三极管实习对数码管的为控制还具有驱动功能。C9和C10两个电容实现对电源高频和低频的滤波作用,保证锁存器的电源稳定。2.4LED显示电路图6红绿灯显示电路由于LED有高节能、安全性高、寿命长、快速响应、运行成本低等优点,所以用作显示很合理,特别是室外运作,LED更有优势。采用灌电流的输出方式,提高了了电流驱动能力,保证了LED灯的亮度。3.软件系统单元设计3.1protel99概述(1)将电原理图编辑(SchematicEdit)、印制电路板设计(PCB)、可编程逻辑器件PLD设计、自动布线(Route)、电路模拟/仿真(Sim)等功能有机地结合在一起,是真正意义上的EDA软件,智能化、自动化程度高。(2)支持由上到下或由下到上的层次电路设计,使Protel98能够完成大型、复杂的电路设计。(3)当电原理图中的元件来自仿真元件库时,可以直接对电原理图中的电路进行仿真测试。(4)提供ERC(电气法则检查)和DRC(设计规则检查),最大限度地减少设计差错.(5)库元件的管理、编辑功能完善,操作非常方便。通过基本的作图工具,即可完成原理图用元件电气图形符号以及PCB用元件封装图形的编辑、制作。(6)全面兼容TANGO及ProtelforDOS,即在Protel98中可以使用、编辑TANGO或低版本Protel建立的文件,并提供了与OrCAD格式文件转换功能。(7)Schematic和PCB之间具有动态链接功能,保证了原理图与印制板的一致性,以便相互检查、校验。(8)具有连续操作功能,可以快速地放置同类型元件、连线等。3.2IARFOR430简介IARSystems是全球领先的嵌入式系统开发工具和服务的供应商。公司成立于1983年,迄今已有27年,提供的产品和服务涉及到嵌入式系统的设计、开发和测试的每一个阶段,包括:带有C/C++编译器和调试器的集成开发环境、实时操作系统和中间件、开发套件、硬件仿真器以及状态机建模工具。国内普及的MSP430开发软件种类不多,主要有IAR公司的EmbeddedWorkbenchforMSP430(简称EW430)和AQ430。目前IAR的用户居多。IAREW430软件提供了工程管理,程序编辑,代码下载,调试等所有功能,并且软件界面和操作方法与IAREWforARM等开发软件一致,因此,学会了IAREW430,就可以很顺利的过度到另一种新处理器的开发工作。3.3子任务流程在本设计中有两个任务和一个中断,任务0创建了两个任务,任务1用于对红绿灯的驱动控制与计时;任务2用于LED显示驱动器。两个任务同时进行,相互渗透;任务1计时改变当前的倒计时Time,而任务2进行当前Time的显示;同时还进行中断控制,提高了系统的灵活性,在本系统中,中断与两个任务实时进行,并行执行。中断任务主要进行紧急情况处理,并保护当前的现场,以便于恢复。在处理紧急情况时,所有方向的红灯都亮10S。处理结束时,恢复到处理之前的状态,并继续执行交通控制。任务1初始化任务1初始化模式0南北绿灯,东西红灯模式0南北绿灯,东西红灯南北黄灯闪烁,东西红灯模式1南北黄灯闪烁,东西红灯模式1南北红灯,东西绿灯模式2南北红灯,东西绿灯模式2南北红灯,东西黄灯闪烁模式3南北红灯,东西黄灯闪烁模式3中断进入 恢复现场 模式4模式4图7任务1流程任务1用于对红绿灯的驱动控制与计时,改变当前的倒计时Time(如图7)。任务2主要进行LED显示,通过动态扫描的方法进行2位LED显示。4.系统测试基于MSP430单片机的交通控制系统测试,实现了:(1)南北绿灯时,东西红灯(30S);(2)南北黄灯闪烁(3S),东西红灯;(3)南北红灯,东西绿灯(30S);(4)南北红灯,东西黄灯闪烁(3S);倒计时显示用2位LED显示;有紧急情况处理机制,当紧急情况触发时,所有方向亮红灯(10S);紧急情况处理后,可以恢复到紧急情况处理这前的状态,即现场保护。在整个测试中,运行正常无异常。5.结论经过几个月的努力,我终于完成了这次的毕业设计《基于MSP430单片机的交通信号灯控制系统》。从接受到这个课题到逐步的完成,每一步的完成对我来说都有着新的体会。在大学期间,这是给我的最大的一个挑战。从拿到这个题目开始,到收集这方面的资料,一步一步的逐步完善自己的方案设计,在这个过程中可以说自己收获了很多,同时也发现了自身知识的不足,我们必须具备一定的专业基础知识,才能成功的设计出一件合格的东西。当然最重要的是学到了关于基本MSP430的一些基本应用,同时也加深了对一些常用电路的了解及设计方法。但是其中遇到的问题也不少,因为我们之前学的都是51单片机,现在着手做MSP430的芯片,这是一个很有难度和挑战性的设计,所以很多的内容都是需要自己去自学的,比如有些MSP430的芯片和引脚问题不懂的时候就可以试着去参考51单片机的,两者相比较一下,一些问题就能迎刃而解,这也是一种很好的学习方法。通过这一阶段的毕业设计,我受益匪浅,不仅锻炼了良好的逻辑思维能力,而且培养了弃而不舍的求学精神和严谨作风。回顾此次毕业设计,是大学三年所学知识很好的总结。参考文献[1]姜志海.单片机原理及应用[M].北京:电子工业出版社,2005.7.27-71[2]龙脉工作室.51单片机C语言应用开发技术大全[M].北京:人民邮政出版社,2008.9.240-500[3]彭为黄科雷道仲.单片机典型系统设计[M].北京:电子工业出版社,2006.5.246-273[4]谢维成.单片机原理及应用[M].北京:清华大学出版社,2009.2.11-26附录部分程序源码***********************************************************************设计者:***设计时间:2013年1月7日***********************************************/typedefunsignedcharuchar;typedefunsignedintuint;//宏定义#defineDUAN_OFFP5OUT|=BIT2#defineDUAN_ONP5OUT&=~BIT2#defineSHI_OFFP5OUT|=BIT0#defineSHI_ONP5OUT&=~BIT0#defineGE_OFFP5OUT|=BIT1#defineGE_ONP5OUT&=~BIT1#definekeyin(P1IN&0x0f)#include<msp430x14x.h>//数码管7位段码:0--fucharscandata[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};/********************设置全局变量********************/ucharnum,numx,shi,ge,state;/********************子函数声明********************/voiddisplay_shu(ucharshi,ucharge);voiddisplay_led();voiddelayms(uintxms);/********************主函数********************/voidmain(void){WDTCTL=WDT_ADLY_1000;//设置内部看门狗工作在定时器模式,1s中断一次IE1|=WDTIE;//使能看门狗中断TACCR0=50000;//设置定时器初值,设定黄灯闪烁频率为2HzTBCCR0=50000;TACTL=TASSEL_2+MC_1;//设置定时器时钟为SMCLK,递增方式为连续方式TBCTL=TBSSEL_2+MC_1;P1IES=0x01;//设置P1.0为下降沿中断P1IE=0x0f;//打开PI口外部中断使能P2DIR=0xff;//设置P2、P4、P3、P5的IO方向为输出P3DIR=0xff;P4DIR=0xff;P5DIR=0xff;P2OUT=0xff;//设置P4,P5的输出初值,关闭数码管和交通灯P3OUT=0xff;P4OUT=0xff;P5OUT=0xff;_EINT();//打开全局中断while(1)//循环{display_shu(shi,ge);display_led();}}/*******************************************函数名称:display_shu功能:让数码管显示倒计时间参数:shi,ge返回值:无********************************************/voiddisplay_shu(ucharshi,ucharge){DUAN_ON;//打开锁存器,送入十位段选信号P5OUT=scandata[shi];GE_OFF;//关闭个位数据,显示十位数据SHI_ON;delayms(5);//延时DUAN_ON;//打开锁存器,送入个位段选信号P5OUT=scandata[ge];DUAN_OFF;SHI_OFF;//关闭十位数据,显示个位数据GE_ON;delayms(5);//延时}/*******************************************函数名称:display_led功能:让数码管显示倒计时间参数:无返回值:无********************************************/voiddispay_led(){if(num==0&&state==0){P2OUT&=~(BIT4+BIT5+BIT6+BIT7);//东西方向绿灯,南北方向红灯P2OUT|=BIT0+BIT1+BIT2+BIT3;state++;}if(num==5&&state==1){P2OUT&=~(BIT4+BIT5);//东西方向黄灯,南北方向红灯P2OUT|=BIT0+BIT1+BIT2+BIT3+BIT6+BIT7;TACCTL0=CCIE;//打开定时器A中断,东西方向黄灯闪烁state++;}if(num==0&&state==2){P2OUT&=~(BIT0+BIT1+BIT2+BIT3);//东西方向红灯,南北方向绿灯P2OUT|=BIT4+BIT5+BIT6+BIT7;state++;}if(num==5&&state==3){P2OUT&=~(BIT0+BIT1);//东西方向红灯,南北方向黄灯P2OUT|=BIT2+BIT3+BIT4+BIT5+BIT6+BIT7;TBCCTL0=CCIE;//打开定时器B中断,南北方向黄灯闪烁state=0;}}/*******************************************函数名称:delayms功能:实现毫秒延时参数:xms返回值:无********************************************/voiddelayms(uintxms){uinttmp;for(tmp=1000*xms;tmp>0;tmp--);}/*******************************************函数名称:watchdog_timer功能:看门狗中断服务函数,设置显示时间和位数参数:无返回值:无********************************************/#pragmavector=WDT_VECTOR__interruptvoidwatchdog_timer(void){num--;if(num==0)num=numx;shi=num/10;ge=num%10;}/*******************************************函数名称:TIMERA0_VECTOR功能:定时器A中断服务函数,实现东西方向黄灯闪烁参数:无返回值:无********************************************/#pragmavector=TIMERA0_VECTOR__interruptvoidTimer_A(void){P3OUT^=BIT0+BIT1;//东西方向黄灯闪烁}/*******************************************函数名称:TIMERB0_VECTOR功能:定时器B中断服务函数,实现南北方向黄灯闪烁参数:无返回值:无********************************************/#pragmavector=TIMERB0_VECTOR__interruptvoidTimer_B(void){P3OUT^=BIT2+BIT3;//南北方向黄灯闪烁}/*********************

温馨提示

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

最新文档

评论

0/150

提交评论