1、编 号: 桂林理工大学博文管理学院实习实训课程指导教程 单片机应用实践电子设计与应用实践基于单片机的简易交通信号灯设计与实现 2015年9月摘 要本文介绍了一种基于单片机控制的交通信号灯的控制系统。该系统采用MSP430G2553单片机为核心,以LED灯作为交通灯红、黄、绿三色灯用发光二极管作为模拟交通信号灯,可以模拟各种道路交通灯控制情况。关键词: 交通信号灯;单片机;LED灯目录1 项目要求32 项目分析和系统设计33 硬件设计33.1单片机选型模块33.2 LED流水灯模块43.3功能模式选择模块54 软件设计64.1主程序64.2子程序75 系统调试85.1硬件调试85.2程序调试85
2、.3联合调试96 外延117 项目演练138 项目总结13附录1电路设计原理图(参考)14附录2 PCB设计原理图(参考)14附录3 关键程序(参考)1519基于单片机的简易交通信号灯设计与实现1 项目要求本项目花样流水灯采用MSP430单片机为控制器件,用于交通信号的输出,此交通信号灯共有12盏灯,分3盏灯一组分别控制四个路口。(1)设计一个交通信号灯控制器,由两条主干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。(2)在每次由绿灯亮到红灯亮的转换过程中,要亮5秒黄灯作为过渡,使行驶中的车辆有时间停到禁行线外
3、。2 项目分析和系统设计本系统分为硬件和软件模块。硬件上我们打算在单片机的不同的i/o中装上一个LED灯来进行对信号灯进行控制。在程序方面,首先对msp430的i/o口进行的定义和设置,然后在去定义了一个delay进行延时功能,在用一个switch循环来使得流水灯不断的循环亮灭。3 硬件设计本系统采用MSP430单片机为控制核心进行设计,该LED灯系统共可分为两个模块:单片机选型模块和交通信号灯模块。 图3-1 系统原理框图3.1单片机选型模块MSP430单片机是16位的单片机,采用了精简指令集(RISC)结构,只有简洁的27条内核指令,大量的指令则是模拟指令;众多的寄存器以及片内数据存储器都
4、可参加多种运算。这些内核指令均为单周期指令,功能强,运行的速度快。图3-2 单片机选型模块3.2 交通信号灯模块要实现流水灯功能,我们只要将发光二极管LED1LED8 依次按照交通信号规则点亮、熄灭,12盏灯就可以按照交通信号灯的方式进行闪烁了。在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到其效果了。且每一个LED灯于一个电阻串联。电阻的作用就是对通过LED灯的电流进行一定的限制起到去LED灯进行的保护作用。使得其在高电压的时候使得LED在电阻的保护下不会烧坏。图3-3 LED灯接线原理此图为共阴极接法
5、,因此当LED_RED给高电平“1”时LED_RED亮;当LED_RED给低电平“0”时,LED_RED灭。图3-4 交通信号灯模块图如图3可知此原理图的LED灯为共阴极的接法,因此我们只要给它一个高电平就能点亮此LED灯。3.3功能模式选择模块此设计有6种功能模式可以选择:(1)初始化后,执行8个LED灯从右至左逐次点亮,每隔0.2s亮一个LED灯,直到8个LED灯全亮,再从左至右依次熄灭直到全灭,以此循环;(2)当按下按键后,执行8个LED灯从右至左每隔0.2s逐一亮灭,直到点亮最左边一个灯后再从左至右每隔0.2s逐一亮灭,以此循环;功能(1): 功能(2):南北通行: 东西通行: 功能(
6、3): 路口警示 图3-5 交通信号灯的功能示意图4 软件设计4.1主程序本系统整体工作主要由单片机程序控制实现,其工作过程为:对端口进行初始化,在主程序中用不同的端口定义分别来点亮LED灯。再用延时程序来实现每一个LED的亮灭。程序整体框架如下图5所示。 图4-1 程序整体框架图4.2子程序一个完整的程序是由一个主程序和若干个子程序组成。在一个加工程序中,如果其中有些加工内容完全相同或相似,为了简化程序,可以把这些重复的程序段单独列出,并按一定的格式编写成子程序。主程序在执行过程中如果需要某一子程序,通过调用指令来调用该子程序,子程序执行完后又返回到主程序,继续执行后面的程序段。本系统中所使
7、用的子程序都是比较简单的,用for语句实现循环之后再使用延时函数进行延时。5 系统调试本单片机的交通信号灯系统的设计分为硬件电路设计和软件设计两个部分,因此调试也分成两部分进行调试。5.1硬件调试主要根据系统框图和硬件原理设计进行原理的绘制、各参数的设置、电路板的制作,以及元器件的焊接等。具体如下:5.1.1 各单元电路,确认各单元电路链接无误,尤其是关键元器件,一定要接保护电阻。(1)选择合适规格的元器件,在放置期间前一定要检查规格;(2)关键器件放置:在器件布置方面与其它逻辑电路一样,应把相互有关的器件尽量放靠近些,这样可以减少材料,更加美观。5.1.2 PCB设计原则:在进行PCB设计时
8、,必须遵守PCB设计的一般原则,并应符合要实现的效果设计的要求。(1)尽量采用印制电路板,印制电路板不像万用板一样会有一定的接触不好或者焊盘不稳和线路连接有问题的情况,印制电路板的制作可防止产生地电位差和元件之间的耦合。(2)元件面和焊接面应采用相互垂直、斜交、或者弯曲走线,避免相互平 导线尽量短,使用45或者圆弧折线布线,不要使用90折线,以减小高频信号的发射。5.2程序调试在本系统中,主要分为主程序部分、中断程序、子程序等。在调试过程中,按照程序功能一项项进行调试,首先确认主程序正确,在确认其他程序。调试方法主要跟踪调试、断点调试等等,可以参考相关专业书籍。5.1.1 CCSV5的打开步骤
9、(1) 右键Code Composer Studio v5快捷方式,左键打开。会出现如图6所示界面:图5-1 Code Composer Studio v5软件加载界面(2)加载完毕之后会有如图7所示界面出现:图5-2 Code Composer Studio v5软件打开界面(3)选择Project-Import Existing CCS Eclipse Project,导入程序文件夹中的工程;具体操作如图8:图5-3 Code Composer Studio v5程序导入步骤图5.3联合调试整个系统的软硬件都完成后,需要进行联合调试,主要是针对系统设定的功能能否完成和完善进行调试。调试步骤
10、:(1) 将PC和硬件电路通过USB线相连;(2) 选择对该工程进行编译链接,生成.out文件。然后选择,将程序下载到实验板中。程序下载完毕之后,可以选择 全速运行程序,也可以选择单步调试程序,选择F3查看具体函数。也可以程序下载之后,按下,软件界面恢复到原编辑程序的画面。再按下实验板的复位键,运行程序。(调试方式下的全速运行和直接上电运行程序在时序有少许差别,建议上电运行程序)图 5-4 联合调试效果图6 外延除交通信号灯的显示方式之外,我们在以上功能基础上,还能将其加上语音提示以及时间显示的效果。电源信号灯显示MSP430G2553单片机DAC转换语音提示信号灯替换时间显示8项目总结基于单
11、片机的交通信号灯系统设计与实现,充分运用了LED灯通过MSP430单片机为控制核心,多个中断程序控制其亮灭来实现对道路交通的控制,从而使单一的LED灯变得多元化。主要利用的知识点有中断操作、单片机原理知识等,并利用C语言编程,最后制作出一个完善的作品,该作品再经过一定的功能完善和外观制作,符合现代化商场和各市场的装饰,更有利于推广。附录1电路设计原理图(参考)附录2 PCB设计原理图(参考)附录3 关键程序(参考)void main() WDTCTL = WDTPW + WDTHOLD; / Stop WDT BCSCTL1 = CALBC1_1MHZ; DCOCTL = CALDCO_1MH
12、Z; led_init(); timer_init(); _BIS_SR(GIE); /开总中断 while(1) if(flag1=0)&(flag110)&(flag112)&(flag122)&(flag1=25) flag1=0;目 录第一章 总 论1第一节 项目名称及承办单位1第二节 研究工作的依据与范围2第三节 简要研究结论3第四节 主要经济技术指标5第二章 项目提出的背景及必要性7第一节 项目提出的背景7第二节 项目建设的必要性13第三章 市场预测与需求分析19第一节 车用生物燃气市场发展分析19第二节 有机肥市场分析23第四章 建设规模与产品方案29第一节 建设规模29第二节
13、产品方案29第五章 厂址选择与建设条件31第一节 厂址方案31第二节 建设条件32第六章 工艺技术方案40第一节 项目组成40第二节 生产技术方案40第三节 生产设备53第七章 原辅材料供应56第一节 原辅材料供应56第二节 公用设施58第八章 工程建设方案59第一节 总图运输59第二节 建筑结构工程62第三节 公用工程70第九章 环境保护、劳动安全卫生75第一节 环境保护75第二节 劳动安全卫生77第十章 节能与消防84第一节 节 能84第二节 消 防89第十一章 企业组织与劳动定员92第一节 企业组织92第二节 劳动定员92第三节 人员培训93第十二章 项目实施进度计划94第十三章 建设项目招标方案95第十四章 投资估算与资金筹措97第一节 投资估算97第二节 资金筹措98第十五章 财 务 评 价100第十六章 社会影响分析105第一节 社会效益分析105第二节 社会风险分析106