《单片机系统设计十字路口红绿灯控制本科学位论文.doc》由会员分享,可在线阅读,更多相关《单片机系统设计十字路口红绿灯控制本科学位论文.doc(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、浙江理工大学单片机系统设计及应用实验设计报告题 目:十字路口红绿灯控制专 业:机械电子工程 班 级:13机电(3)班 姓 名:茆慧敏 学 号:2013330300227 指导教师:袁嫣红 机械与自动控制学院2016年07月08日1.引言1.1课程设计背景随着世界范围内城市化和机动化进程的加快,城市交通越来越成为一个全球化的问题。城市交通基础设施供给滞后于高速机动化增长需求,道路阻塞日趋加重,交通事故频繁,环境污染加剧等问题普遍存在。目前,全国大中城市普遍存在着道路拥挤、车辆堵塞、交通秩序混乱的现象,交通事故频发,这给人民的生命财产安全带来了极大的损失。如何解决城市交通问题已成为全社会关注的焦点
2、和大众的迫切呼声。为了确保十字路口的行人和车辆顺利、畅通地通过,往往采用电子控制的交通信号来进行指挥。1.2本文设计任务设计一个能够控制十二盏交通信号灯的模拟系统。利用单片机的定时器定时,令十字路口的红绿灯交替点亮和熄火,并用LED灯显示倒计时间。假设一个十字路口为东南西北走向。初始状态0为东西南北都红灯亮。然后转状态1南北绿灯通车,东西红灯亮。过一段时间后,转状态2,南北绿灯灭,黄灯闪几下,东西还是红灯。再转状态3,南北红灯亮,东西绿灯通车。过一段时间后转状态4,东西绿灯灭,闪几个黄灯,南北还是为红灯亮,一段时间后,又循环至状态1。通过对发光二极管的控制,来模拟交通信号灯的管理。每延时一段时
3、间,灯的显示情况都会按交通灯的显示规律进行状态转换,并添加其倒计时间的显示功能。1.3本课程设计目的(1)掌握十字路口交通灯控制的设计原理,并能够运用VHDL编程语言编写出实验程序,进一步对所学的知识进行掌握与实际应用。(2)学会在MAX+plus软件环境中仿真,熟悉软件的基本操作的运行环境。(3)锻炼自己获取信息的能力,以及能够独立自主地思考和解决问题的能力。2.系统方案设计与原理2.1设计思路在交通灯控制系统中,东西南北四个方向各有红黄绿三种颜色的指示灯各一盏,共计12盏指示灯,用以来指挥车辆和行人交通安全通行。当红色指示灯亮的时候表示禁止该方向的车辆和行人通行,当黄色指示灯亮的时候提示人
4、们红、绿灯的状态即将切换。并且黄灯燃亮时为东西和南北两干道的公共停车时间。初始状态0为东西南北都红灯亮。然后转为状态1南北绿灯通车,东西红灯亮。过一段时间后,转为状态2,南北绿灯灭,黄灯闪几下,东西还是红灯。再转为状态3,南北红灯亮,东西绿灯通车。过一段时间后转为状态4,东西绿灯灭,闪几个黄灯,南北还是为红灯亮,一段时间后,又循环至状态1。为了达到上述设计要求,可以用一片AT89C51单片机实现。可以用一个AT89C51的P0口(P0.0-P0.5)分别接上垂直两个道口的6盏信号灯,由AT89C51单片机的定时器每秒钟通过P0口输送交通信号信息,在我的这个系统中采取的是共阳极发光二极管,所以当
5、P0口的各引脚输出为低电平时,显示红、绿、黄、灯的燃亮情况。用AT89C51的P1、P2口显示每个灯的燃亮的倒计时时间,时间由定时器来控制,由P1口的输出作为倒计时时间的十位数码,P2口输出作为倒计时时间的个位数码,用四个数码管的显示用动态显示方法实现。P3口用来接应急开关K2、K3,用来实现对特殊情况的处理,当按下开关时交通显示灯全变为红灯,是特殊车辆通过。2.2 设计系统的运行过程一般十字路口的交通灯控制系统的工作过程如下:(1)图中南北车道绿灯亮,东西车道红灯亮。表示南北车道上的车辆允许通行,东西车道禁止通行。绿灯亮足25s时,控制器发出状态信号,转到下一工作状态。(2)南北车道黄灯亮,
6、东西车道红灯亮。表示南北车道上未过停车线的车止通行,已过停车线的车辆继续通行,东西车道禁止通行。黄灯亮足5s时,控制器发出状态转换信号,转到下一工作状态。(3)南北车道红灯亮,东西车道绿灯亮。表示南北车道禁止通行,东西车道上的车辆允许通行。绿灯亮足25s时,控制器发出状态转换信号,转到下一工作状态。(4)南北车道红灯亮,东西车道黄灯亮。表示南北车道禁止通行,东西车道上未过停车线的车辆停止通行,已过停车线的车辆继续通行。黄灯亮足5s时,控制器发出状态转换信号,系统又转到第(1)种工作状态,就这样依次循环的进行运行。在实际中,东西和南北两方向车道交通灯的4种运行状态的具体显示,如图2-1所示图2-
7、1 四种状态的交通灯显示3.硬件设计3.1十字路口交通灯控制系统的硬件电路设计图根据以上的设计思路分析,可以得到十字路口交通灯控制系统的硬件电路设计图如3-1所示图3-1十字路口交通灯控制系统的硬件电路设计图3.2硬件的功能分析AT89C51单片机是交通灯控制系统的核心,主要用来驱动数码显示管、实现晶振电路和发光二极管等部件的控制,本设计中用到了P0,P1和P2口,用89C51的P0口(P0.0-P0.5)分别接上垂直两个道口的6盏信号灯,P1口的输出作为倒计时时间的十位数码,P2口输出作为倒计时时间的个位数码,所以其实现了对整个系统的控制。十字路口要有数字显示装置,作为时间提示,以便人们更直
8、观地把握时间。具体要求为:当某方向绿灯亮时,置定时器为某一个数值,然后以每秒减1的计数方式工作,直至减到数为0,十字路口红、绿灯交换,一次工作循环结束,进入另一个方向的工作循环。数码显示管就是用来显示东西和南北两个道口的红黄绿三种颜色的灯的倒计时时间。通过89C51单片机的RESET位来控制系统是工作或设置初值,当复位信号为1时就对系统进行初始化,系统就开始工作,复位开关K1就是用来实现对整个系统的初始化和复位工作。在东西和南北两方向垂直的十字路口上,共有12盏交通灯,但有东西整个道上的分析一样,南北整个道上的分析一样,所以在设计时可用6盏灯来完成整个道路的设计,所以用3盏灯来显示南北方向红黄
9、绿,用三盏灯来显示东西方向的红黄绿。应急开关K2、K3借用P3口,用来实现对特殊情况的处理,当按下开关时交通显示灯全变为红灯时特殊车辆通过。整个设计满足了任务要求,即完成了四个状态的转换,完成了倒计时数码管的显示,所以这个系统的设计足以控制十字路口的交通灯正常变换,保证各道车辆的畅通运行。4.软件设计4.1主流程图通过设计思路的分析,得到主流程如图4-1所示。图4-1 主程序流程图4.2倒计时显示流程图在整个交通灯的设计过程中,LED显示是主要设计的内容之一,在这个系统中,用到30S和25s两个时间段,用定时器0的工作方式1的时候,其最大设定时间只能为131ms( 216-0210-6=131
10、07210-6s131ms )的时间,所以我用到了定时器和计数器来完成这一功能,为了计算的方便,选择定时时间为125ms,即满8次为1s,依此循环使其计够30s或25s,其中R6和R7就是存储30s和25s的倒计时时间 的寄存器,整个运行过程是个比较复杂的内容,故将其流程图列画如下图所示。图4-2 倒计时显示流程图4.3状态地址分配设计任务中描述了十字路口交通灯的四种不同的状态,在整个的运行过程中要求四个状态进行切换,因此在程序设计中必须给四个状态分配不同的地址来进行驱动,由于P0上的灯用低电平“0”来驱动点亮,所以其具体点的状态地址分配如表4-1所示。表4-1 状态地址分配表4.4LED的字
11、形代码表LED显示器的发光二极管用共阴极连接时,其十六进制数字形代码表如表4-2所示。表4-2 LED的字形代码表4.5程序清单ORG 0000HMOV P0,#00H ;确保P0为低电位LJMP MAIN0ORG 0030HMAIN0: MOV 30H,#08HMOV R6,#00HMOV R7,#00HMOV DPTR,#TABLE ;取数码管的译码MOV TMOD,#01H ;设计定时方式为定时器0的方1MOV TL0,#0CDH ;定时时间为125msMOV TH0,#0BHSETB TR0 ;启动定时器SETB EA ;开总中断SETB EX0 ;允许外部中断0SETB EX1CLR
12、 IT0 MAIN: MOV P0,#0F3H ;南北绿灯,东西红灯MOV R6,#1EH ;红灯30s倒计时MOV R7,#19H ;绿灯25s倒计时MAIN1: CALL DELAY ;1s延时子程序CJNE R7,#00H,MAIN1 ;判断绿灯25s是否倒计完MOV P0,#0F5H ;南北黄灯,东西红灯MAIN2: CALL DELAYMOV R7,#00H ;红灯继续倒计时,黄灯闪烁CPL P0.1 ;黄灯闪烁CJNE R6,#00H,MAIN2 ;判断红灯是否倒计时完MOV P0,#0DEH ;南北红灯,东西绿灯MOV R7,#1EHMOV R6,#19HMAIN3: CALL
13、DELAYCJNE R6,#00H,MAIN3MOV P0,#EEHMAIN4: CALL DELAYMOV R7,#00HCPL P0.4CJNE R6,#00H,MAIN4JMP MAINDELAY: MOV A,R6 ;进行南北方向倒计时时间的十进制调整MOV B,#0AHDIV ABMOVC A,A+DPTR ;找寻相应的数码管代码MOV P1,A ;输出个位MOV R4,#4 ;降低动态显示频率LOOP2 : MOV R3,#125LOOP3 : DJNZ R3,LOOP3 DJNZ R4,LOOP2MOV A,BMOVC A,A+DPTRMOV P2,A ;输出十位MOV R4,#
14、4LOOP4 : MOV R3,#125LOOP5 : DJNZ R3,LOOP5DJNZ R4,LOOP4MOV A,R7 ;进行东西方向倒计时时间的十进制调整MOV B,#0AHDIV ABMOVC A,A+DPTRMOV P1,AMOV R4,#4LOOP6 : MOV R3,#125LOOP7 : DJNZ R3,LOOP7DJNZ R4,LOOP6MOV A,BMOVC A,A+DPTRMOV P2,AMOV R4,#4LOOP8 : MOV R3,#125LOOP9 : DJNZ R3,LOOP9 DJNZ R4,LOOP8 JBC TF0,LOOP ;判断是否计满125ms AJ
15、MP DELAYLOOP: MOV TL0,#0CDH ;计满125ms重新给定时器赋值 MOV TH0,#0BHMOV A,30HDEC AMOV 30H,AJNZ DELAY ;判断是否计满8次125ms,即1sDEC R7MOV 30H,#08H ;重新1s次数,重新计时RETTABLE : DB 03FH,06H,05BH,04FH,66H;相应数值的数码管代码 DB 6DH,7DH,07H,7FH,6FH,00HEND5.运行与调试在单片机仿真软件Proteus.Professional.7.1.SP2中进行仿真,在初始状态下的情况如图5-1所示。图5-1 十字路口初始状态的交通灯图
16、经过编译后,在得到状态1(东西红,南北绿)情况下的仿真结果如图5-2所示。图5-2 状态1情况下的仿真结果经过编译后,运行一段时间后,我们得到状态3(东西绿,南北红)情况下的仿真结果如图5-3所示。图5-3 状态3情况下的仿真结果设计完成后,由于各种原因,在实验室的硬件上未能正确的完成模拟,但在单片机仿真软件Proteus.Professional.7.1.SP2上我通过画外部接线图,装载程序等步骤进行了仿真,最终仿真结果能按照设计的四种状态依次循环的进行运行,当按下复位键时其重新开始仿真,当按下应急键时南北东西的红灯全亮,禁止车辆运行,仿真结果令人满意。6.心得体会本次设计任务巩固和加深了单
17、片机原理与应用以及嵌入式系统设计课程中所学的理论知识和实验能力,基本掌握单片机应用电路的一般设计方法,提高电子电路的设计和实验能力,加深对单片机软硬知识的理解,获得初步的应用经验,为以后工作打下一定的基础。在今天,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。通过这次任务的实践过程,我对单片机的结构和功能已有了大体的了解和认识。单片机在交通控制中起到了举足轻重的作用,掌握了单片机的工作原理也就基本了解了交通灯的运作原理。在做课程设计的过程中,我通过图书和上网查阅资料,不仅了解了
18、很多单片机的知识,而且锻炼了我自学和独立思考的能力。我们先通过题目的要求构思出大体的思路,画出主程序的流程图和细节的复杂过程流程图,如倒计时显示的流程图,然后根据四个不同状态逐个编写程序,在编程时加入了适当的注释,以防止长时间遗忘,或者防止别人看不懂,同时也可以在调试的过程中程序出错时便于检查。根据所设计的程序,画出外部硬件的接线图是主要完成的内容之一。顺利完成这次课程设计给了我很大的信心,但我感觉到自己很多的不足和对知识理解的不全面,但我始终相信发现问题,面对问题,才可能解决问题。今后的学习中,我将更加的努力,使自己更上一层楼。相信凡事踏踏实实做好做扎实,我们一定会随后收获很多,因为“千里之行,始于足下”是至高无上的真理。