51单片机交通灯设计报告_第1页
51单片机交通灯设计报告_第2页
51单片机交通灯设计报告_第3页
51单片机交通灯设计报告_第4页
51单片机交通灯设计报告_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、课 程 设 计 说 明 书课程名称: 单片机技术 设计题目: 交通灯设计 学 院: 电子信息与电气工程学院 学生姓名: 学 号: 专业班级: 指导教师: 2017年 4 月20日课 程 设 计 任 务 书设计题目交通灯电路设计学生姓名 所在学院电子信息与电气工程学院 专业、年级、班 设计要求:1、设计制作一个给予单片机的交通灯设计; 2、能够根据时钟芯片提供的时间指标控制电路; 3、能够按照程序要求进行工作; 4、系统能够正常工作。学生应完成的工作: 参考文献阅读:1李建忠.单片机原理及应用M.西安电子科技大学出版社,20082胡辉.单片机原理及应用设计M.中国水利水电出版社,20063徐爱钧

2、.8051单片机实践教程M.北京电子工业出版社,20054楼然苗,李光飞.51系列单片机设计实例M.北京航空航天大学出版社,20065邱关源.电路M.北京:北京高等教育出版社,20066 张毅刚. 单片机原理及接口技术.哈尔滨:哈尔滨工业大学出版社,19997全国大学生电子设计竞赛组委会.北京:北京理工大学出版社,2004年8月. 工作计划:4月1号 4号完成原理图的设计;4月5号 7号进行PCB设计;4月 8号 10号制作PCB板;4月11号14号电路板安装与调试,提交课程设计报告。 任务下达日期:2017 年4月 1 日 任务完成日期:2017 年4月 14日指导教师(签名): 学生(签名

3、): 交通灯设计摘 要:近年来随着科技的发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面的知识是不够的,还应该根据具体硬件结构软硬结合,加以完善。十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊,那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本系统采用51系列单片机ATMEL89C51为核心控制器件来设计交通信号灯控制器,实现亮绿灯通行,亮黄灯闪烁并发声警示,亮红灯禁止通行的功能,并显示通行或禁止通行倒计时,紧急按键信号灯加时和紧急按键南北、

4、东西红绿灯跳变。本系统使用性强,操作简单,容易实现,扩展功能强,可自行修改程序扩展自己想要实现的功能。 关键词:交通灯,单片机,复位电路目 录1. 设计背景11.1设计原因11.2个人意义12.设计方案12.1总体方案提出12.2稳压电源方案设计与分析12.3复位电路方案设计与分析23. 方案实施23.1总体设计框图23.2硬件设计33.3软件设计63.4电路仿真103.5制板子与安装过程113.6软硬件调试114. 结果与结论125 收获与致谢126. 参考文献127. 附件137.1硬件电路图137.2元器件清单147.3作品实物图157.4源程序:161. 设计背景1.1设计原因随着社会

5、的进步,交通的高速发展,红绿灯已经成为了我们生活中不可或缺的一部分,如今,红绿灯已经安装在各个道路的交接口处,已经成为疏导交通车辆最常见和最有效的手段。根据单片机具有物美价廉、功能强、使用方便灵活、可靠性高等特点,不少人提出了一种用S-51单片机自动控制交通信号灯及时间显示的方法,同时给出了软硬件的实现方法,为交通指挥自动化提供了一种新的廉价手段,具有一定的推广意义。1.2个人意义本设计是由单片机控制的交通信号灯,运用89S51单片机实现交通灯的控制,实现红绿灯自动跳变,倒计时显示,黄灯蜂鸣器警示灯功能。在这次设计作品中,不仅可以增加对整套系统运行的合理安排,为未来做大的项目打下基础,也可以增

6、加对软硬件的在系统中的作用的了解,同时也培养了我们团队的合作能力。 2.设计方案2.1总体方案提出实现一种系统功能或者技术指标都具有多种可行的设计方案,每一种设计方案针对不同的应用场合都具有它自己的缺点。在设计的过程中要考虑到其功能,系统稳定性,技术指标,成本和所需要的技术条件等方面的因素。 方案一:PLC控制交通灯 PLC主要应用于强电方面的工业控制,或者整条流水线的控制。虽然比较稳定,但是功耗要大,成本也比较高。方案二:单片机控制交通灯单片机具有结构简单、编程方便、经济、易于连接等优点,特别是其内部定时器计数器、中断系统资源丰富可对交通灯进行精确的控制,有应用价值,可扩展功能多,灵活性比较

7、强,线路也非常简单,成本也是比较低的。由于此次课程设计是单片机设计,还有结合从各方面优缺点来看,以及简便方面,成本方面,和结构、控制方面来看。为了同时满足课程设计要求,综上所述,选择了方案二,做为本设计的方案选择。2.2稳压电源方案设计与分析方案一:采用电源变压器,整流滤波电路和稳压电路,其中稳压电路是使用分立元件,通过取样,放大,比较和调整四个环节,晶体管选用3DD或3DG等型号方案二:采用电源变压器,整流滤波电路和稳压电路,其中稳压电路时使用集成电路LM7805三端稳压器,该电路能输出固定的正5V的直流电压,方案一一般来说比较复杂,而且验证过程也比较麻烦且所有用到的分立元件较多且误差较多,

8、因此不采用这种方案制作电源,方案二的电源设计较方案一结构简单,所用元器件比较少,且容易调试,因此,本次电源设计采用方案二。2.3复位电路方案设计与分析方案一:根据复位原理,只需要在复位引脚提供两个机器周期以上的高电平信号,单片机便会从地址零开始运行。对此,可以在复位引脚通过按键连接到电源正极,当按键按下的时候,复位引脚即可获得高电平信号,实现电路的复位。方案二:通过RC电路实现复位功能,当按键没有按下的时候,复位引脚时低电平,电容充满电,当按键按下的时候,电容放电,直至电容两端电压为零时,复位引脚才会达到5V的高电平信号。方案一通过按键直接使复位引脚接收高电平信号,由于按键会产生机械震动,使得

9、信号产生不稳定,电平信号宽度达不到两个机器周期以上,使得电路复位发生错位,方案二,利用电容两端电压不突变的特性,实现消除抖动,而且还有复位延时作用,消除了复位信号不稳定的因素,因此,该设计采用方案二的复位电路设计。3. 方案实施3.1总体设计框图交通灯组成框图,如图3-1所示图3-1 系统总体框图据此,本设计系统以单片机为控制核心,连接成最小系统,和按键设置模块等产生输入,信号灯状态模块,LED倒计时模块和接受输出。3.2硬件设计3.2.1电源设计 电源电路采用拨动开关。原理图部分如下:图3.2.1电源电路3.2.2复位电路设计单片机在可靠的复位之后,才会从0000H地址开始有序的执行应用程序

10、。同时,复位电路也是容易受到外部噪 声干扰的敏感部分之一。因此,复位电路应该具有两个主要的功能:1.必须保证系统可靠的进行复位;2.必须具有一定的抗干扰的能力;复位电路部分原理图如下:图3.2.2 复位电路3.2.3时钟震荡电路设计如下图3.2.3所示,晶振是给单片机提供工作信号脉冲的,这个脉冲就是单片机的工作速度,比如该系统采用的12M晶振,单片机工作速度就是每秒12M 当然,单片机的工作频率是有范围的,不能太大,一般24M就不上去了,不然不稳定。晶振与单片机的脚XTAL0和脚XTAL1构成的振荡电路中会产生偕波(也就是不希望存在的其他频率的波) 这个波对电路的影响不大,但会降低电路的时钟振

11、荡器的稳定性 为了电路的稳定性起见 ATMEL公司只是建议在晶振的两引脚处接入两个10pf-50pf的瓷片电容接地来削减偕波对电路的稳定性的影响,所以晶振所配的电容在10pf-50pf之间都可以。图3.2.3 时钟震荡电路3.2.4数码管显示电路设计数码管显示电路,通过P0口和P2口的控制输出,其中P0口要加多上拉电阻才能使用,由于其内部无上拉电阻,作为I/O用时候要加上拉电阻。P0口作为显示倒计时的输出端口控制2个2位的数码管,其中还需要用到P3.7,P3.6,P3.5,P3.4来进行控制位选。J2是东西显示数码管,J5是南北显示数码管,REDCC是流量显示数码管,P2口接流量显示数据。电路

12、接线图如下3.2.4所示:图3.2.4 数码管显示电路3.2.5红绿灯显示电路设计红绿灯电路设计主要是由12盏灯进行控制,东西6转盏灯,南北6盏灯,分别由单片机的6个I/O进行控制。电路图如3.2.5所示:图3.2.5 红绿灯显示电路3.3软件设计3.3.1程序设计流程图对于单片机的控制系统来说,软件系统的设计是必不可少的,这是采用KEIL软件为开发平台,C语言为程序设计语言,以模块化结构进行程序设计,建立工程,设置工程,接着编译程序,最后调试与下载,不过这里KEIL软件不包含STC系列单片机,因此,在程序编译成功后,要通过STC系列单片机专用的下载软件将程序写入单片机的FLASH程序存储器。

13、全部控制程序实际上分为若干模块:键盘设置处理程序,状态灯控制程序,LED显示程序,消抖动延时程序,次状态判断及处理程序,紧停或违规判断程序,中断服务子程序,车流量计数程序,红绿灯时间调整程序等。整个软件程序方面主要分两大部分:按键处理程序和50ms扫描程序。流程图如图3.3.1所示:宏定义I/O初始化定义共阴极字型编码表定义函数变量并初始化定义状态数组定义字位码函数进入主函数main()定时器0初始化初始化外部中断进入while(1)循环调用显示控制函数void display()调用Buzzer()函数设置字型码和字位码,完成显示返回while(1)函数图3.3.1 系统程序流程图3.3.2

14、 子程序模块按键模块的控制是调用中断来实现控制的,独立式键盘的实现方法是利用单片机I/O口读取口的电平高低来判断是否有键按下。将常开按键的一端接地,另一端接一个I/O 口,程序开始时将此I/O口置于高电平,平时无键按下时I/O口保护高电平。当有键按下时,此I/O 口与地短路迫使I/O 口为低电平。按键释放后,单片机内部的上拉电阻使I/O口仍然保持高电平。我们所要做的就是在程序中查寻此I/O口的电平状态就可以了解我们是否有按键动作了。INT1INT0 南北通行东西通行东西绿灯亮南北红灯亮东西绿灯亮南北红灯亮保持中断保持中断中断返回中断返回 图3.3.2中断子程序参考程序:unsigned cha

15、r key()if(key1=0) delayms(10); if(key1=0) while(key1=0) dis(); return 1; if(key2=0) delayms(10); if(key2=0) while(key2=0) dis();return 2; return 0;定时中断子程序是本设计的重点,定时器一但启动,它便在原来的数值上开始加1计数,若在程序开始时,我们没有设置TH0和TL0,它们的默认值都是0,假设时钟频率为12MHz,12个时钟周期为一个机器周期,那么此时机器周期为1us,记满TH0和TL0就需要216 -1个数,再来一个脉冲计数器溢出,随即向CPU申请

16、中断。因此溢出一次共需65536us,约等于65.6ms,如果我们要定时50ms的话,那么就需要先给TH0和TL0装一个初值,在这个初值的基础上记50000个数后,定时器溢出,此时刚好就是50ms中断一次,当需要定时1s时,我们写程序时当产生20次50ms的定时器中断后便认为是1s,这样便可精确控制定时时间啦负责完成数码管输出数据刷新和各个状态的处理切换。中断子程序包括数码管输出数据刷新程序和各状态处理程序。中断程序的流程图如图所示。定义1s定时中断入口设置字型码和字位码,完成数码管倒计时显示启动定时器中断 关闭定时器0初始化定时器0 计数变量自加1 图3.3.3 定时中断流程图参考程序:vo

17、id main()/unsigned char num;TMOD |=0X11;TH1=0X3c;TL1=0xb0;TH0=0XF0;TL0=0XF0;EA=1;IP=0X08;ET0=1;TR0=1;ET1=1;TR1=1;shuju0=duanmashu/10;shuju1=duanmashu%10;while(1) sxpass();zjzj=1; while(flag); flag=1;sxpassHU();zjzj=2; while(flag); flag=1;zypass();zjzj=3; while(flag); flag=1;zypassHU();zjzj=4; while(

18、flag); flag=1;复位参考程序:void timer1_help(void) interrupt 3static unsigned char zj=0;TH1=0X3c; /50ms 一个周期TL1=0Xb0;if(zj=20)zj=0; shuju0=duanmashu/10;shuju1=duanmashu%10; if(shu=0) shu=31;flag=0; /复位标志位shu-;zj+;3.4电路仿真一、电路仿真步骤如下:1.在PROTEUS中找到相应的电子元器件。2.在PROTEUS中新建原理图,选择A4大小的纸张规格,按照设计原理排放元器件,画好能用于仿真的线路图,为

19、避免元器件之间的连接带来原理图的可读性变差,在此采用编号连接的方式,似的原理图模块坏,便于分析,即所用的元件都应有仿真模型,保存后就可以仿真了! 3.编制相应的单片机程序,可以在PROTEUS中编译,也可以在相应的单片机开发平台中编译(不同厂家的单片机的开发平台不同)。 a) 如在PROTEUS中编译,要在“源程序”-“定义生成代码工具”中设定,不同的单片机设定不同,然后可以调入源程序;编译,把编译后的代码插入单片机中(在单片机属性中设定),接着就可以仿真,如果仿真结果不对,修改程序,重新编译、运行,直到正确为止; b) 如在单片机平台下编译,则进入单片机开发平台,编译正确后(指语法没问题),

20、再到PROTEUS平台中把生成的代码调入,仿真运行。如果仿真有问题,回到单片机开发平台,重新编译,再进到PROTEUS中仿真,直到正确为止。 有时在仿真时可能会发现PROTEUS图有问题,就直接改图,直到正确为止。由于软件的原因,只能在软件内部编辑,而无法进行编译,而且外部编译比较方便,因此,此时设计采用单片机程序编译选择外部KEIL软件单独编译,不采用内部集成的编译环境,4.查看仿真结果。3.5制板子与安装过程(1)用Altium Designer画出原理图(见附录),PCB图(见附录)。(2)图纸打印。将画好的PCB图利用打印机把图形打印在“专用转印机”的亚光面。(3)图纸转印。按实际尺寸

21、裁切覆铜板,覆铜板去油污锈渍,图纸与覆铜板的铜箔面对正贴实,并固定好,以防止转印时图纸脱落。启动转印机进行图纸转印,待自然冷却到室温后揭去转印纸。(4)修板。用“油性”签字笔或用“酒精松香溶液”(助焊剂)修复转印中形成的“砂眼”“断线”。(5)蚀刻。溶液量基本淹没过电路板为宜,用长矛软刷轻刷印制板或晃动腐蚀液,(5-10分钟)即可蚀刻完毕,从腐蚀液中取出,用清水冲洗。腐蚀液妥善存放,以备后用,如失效,倒入回收桶中保存。(6)钻孔。压住印制板,钻孔过程中不得移动,以防钻头折断,钻头进刀速度适中,以防毛刺过大。 (7)表面处理。用少许棉丝式碎布,蘸去污粉用力擦拭,直至焊盘与线条光亮无污渍,再用清水

22、清洗。按照自己设计的电路,在在通用板上焊接。焊接完毕后,应对照电路图仔细检查,看是否有错接、漏接、虚焊的现象。对安装完成的电路板的参数及工作状态进行测量,以便提供调整电路的依据。经过反复的调整和测量,使电路的性能达到要求。3.6软硬件调试3.6.1硬件调试:(1)观察板子,焊接状况,确认单片机电源正负极是否连接正常,确定单片机最小系统是否连接正常。(2)给单片机提供5V电源,观察电源指示灯是否正常发光,(3)用万用表测试发光二极管从单片机IO口到电源地是否导通。3.6.2软件测试(1)根据元器件的连接,分别写出相应的程序,下载到单片机观察电路工作,(2)确认子电路可以在程序的引导下成功工作后,

23、进行总体程序设计,下载后,观察电路总体运行情况。4. 结果与结论在本次设计中,本小组成员尽心尽力的设计,共同合作,完成了前期的原理图设计,在PCB板布线设计的时候遇到了问题,幸好在最后小组成员的共同努力下还是完成了工作,其他环节都还算顺利。不过很遗憾的是,尽管我们按照预先设计好的方案进行了交通灯的设计,并且在遇到问题的时候也努力的去解决了,可在所有的工作都完成后,我们的交通灯还是无法按照预先的设计进行工作。LED灯也只是可以工作却无法是按照程序那样像交通灯一样的工作。5 收获与致谢在设计的过程中,我们深深体会到,理论与现实的差距,实践的重要性,在调试的过程中遇到了很多问题,这些问题往往是自己理

24、论认为是可以行的通,但是实际并非如此,给我调试带来了很多不解的困惑,我们小组的成员也都努力的完成自己的分工,尽心尽力的去配合工作,想要得到一个好的结果。然而到了最后我们还是未能完成这次课程设计的要求,使我们的交通灯作品进行工作。虽然这次课程设计没能够顺利完成,但是我却感觉我收获了很多。这次课程设计,不仅有团队的共同努力,而且还有指导老师的细心指导,关心和教诲。在此,我要感谢关心我的单片机课程老师,传授我们专业知识,教会了做技术的严谨与认真的重要性,让我们在今后的工作和生活中收益无穷,还有我们的小组成员,让我明白了团结合作的重要性,明白了学习探索过程中也可以十分有趣。6. 参考文献1李建忠.单片

25、机原理及应用M.西安电子科技大学出版社,20082胡辉.单片机原理及应用设计M.中国水利水电出版社,20063徐爱钧.8051 单片机实践教程M.北京电子工业出版社,20054楼然苗,李光飞.51 系列单片机设计实例M.北京航空航天大学出版社,20065邱关源.电路M.北京:北京高等教育出版社,20066全国大学生电子设计竞赛组委会.北京:北京理工大学出版社,2004 年 8 月.7韩全立.赵德申编著.微机控制技术M.北京:机械工业出版社,20088王守中,聂元铭. 51 单片机开发入门与典型实例M. 北京:人民邮电出版社,20099钟富昭,张晨. 8051 单片机典型模块设计与应用M. 北京

26、:人民邮电出版社,200710胡学海. 单片机及应用系统设计M. 北京:北京电子工业出版社,200111陈小忠,黄宁.单片机接口技术实用子程序M,北京:北京人民邮电出版社,200512李广弟.单片机基础.北京:北京航空航天大学出版社,1992.13何立民.单片机应用技术大全.北京:北京航空航天大学出版社,1994.14张毅刚. 单片机原理及接口技术.哈尔滨:哈尔滨工业大学出版社,19997. 附件7.1硬件电路图图7.1 系统原理图图7.1.2 PCB电路图7.2元器件清单名称规格数量主要功能或作用按钮6*6*52分别控制黄灯常亮(深夜模式)、禁行(紧急模式)、东西通行、南北通行、时间加、时间

27、减、切换、确定。电容30P2单片机时钟振荡电容10UF1单片机复位电阻2203限流排阻10K2单片机单片机AT89S511CPU晶体12M1单片机时钟振荡三极管90121驱动蜂鸣器蜂鸣器12*9.5MM1信号灯切换时报警两位一体共阴数码0.364倒计显示芯片底座40脚1保护引脚芯片底座20脚1保护引脚发光二极管(红)5MM4交通灯路口显示发光二极管(绿)5MM4交通灯路口显示发光二极管(黄)5MM4交通灯路口显示发光二极管3MM1电源显示自锁开关8*8MM1控制VCCUSB电源线60MM1连接USB口DC座3.5*1.3MM1直流电源插座插针2外接电源接线PCB板155MMX100MM17.3

28、作品实物图图7.37.4源程序:#includesbit wei1=P10;sbit wei2=P11;sbit wei3=P15;sbit wei4=P16;unsigned char code duanma=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;#define weima1 wei1=1;wei2=0;wei3=1;wei4=0;#define weima2 wei1=0;wei2=1;wei3=0;wei4=1;sbit led1=P27;sbit led11=P26

29、;sbit led111=P25;sbit led1111=P24;sbit led2=P23;sbit led22=P22;sbit led222=P21;sbit led2222=P20;sbit led3=P37;sbit led33=P36;sbit led333=P35;sbit led3333=P34;sbit led4=P13;sbit led44=P14;sbit led444=P31;sbit led4444=P12;sbit key1=P33;sbit key2=P32;unsigned char shuju2;unsigned char shu=30; /全局变量 30s

30、unsigned char shu1=60;/全局变说量 60Sunsigned char shu2=10;/全局变量 5sunsigned char flag=1;unsigned char zjzj=0;void delayms(unsigned int dat);void delayus(unsigned int dat);void dis();void sxpass();void sxpassHU();void zypass();void zypassHU();unsigned char key();void main()/unsigned char num;TMOD |=0X11;T

31、H1=0X3c;TL1=0xb0;TH0=0XF0;TL0=0XF0;EA=1;IP=0X08;ET0=1;TR0=1;ET1=1;TR1=1;shuju0=duanmashu/10;shuju1=duanmashu%10;while(1) sxpass();zjzj=1; while(flag); flag=1;sxpassHU();zjzj=2; while(flag); flag=1;zypass();zjzj=3; while(flag); flag=1;zypassHU();zjzj=4; while(flag); flag=1;unsigned char key()if(key1=

32、0) delayms(10); if(key1=0) while(key1=0) dis(); return 1; if(key2=0) delayms(10); if(key2=0) while(key2=0) dis();return 2; return 0;void sxpass()shu=30;led1=led11=led1111=1;led111=0;led3=led33=led3333=1;led333=0;led222=led22=1;led2=led2222=0;led444=led44=1;led4=led4444=0; void sxpassHU()shu=10;led1=led111=led1111=1;led11=

温馨提示

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

评论

0/150

提交评论