《基于单片机的智能交通红绿灯控制系统设计.doc》由会员分享,可在线阅读,更多相关《基于单片机的智能交通红绿灯控制系统设计.doc(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、课题名称指导教师(职称) 执行时间20122013 学年第 2 学期 第 9 周学生姓名学号承担任务Protel制作格式调制内容设计内容收集设计目的设计要求设计基于单片机的智能交通红绿灯控制系统,要求能通过按键或遥控器设置系统参数,系统运行时,“倒计时等信息”能通过数码管或点阵发光管显示,设计时应考虑交通红绿灯控制的易操作性及智能性。以单片机的最小系统为基础设计硬件,用汇编语言、或C语言设计软件。通过本设计可以培养学生分析问题和解决问题的能力,掌握Mcs51单片机的硬件与软件设计方法,从而将学到的理论知识应用于实践中,为将来走向社会奠定良好的基础。主干道(A)、支干道(B)两干道交于一个十字路
2、口,各干道有一组红、黄、绿三个指示灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行,黄灯亮时车辆及行人小心通过。主干道每次放行45S,支干道每次放行25S,黄灯每次亮5S智能红绿灯控制器的设计引 言 红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。在交通中管理引入单片机交通灯控制代替交管人员在交叉路口服务,有助于提高交通运输的安全性、提高交通管理的服务质量。并在一定程度上尽可能的降低由道路拥挤造成的经济损失,同时也减小了工作人员的劳动强度。在交通红绿灯设计控制上,通过采用智
3、能系统应用模式,尤其是基于单机片的智能控制系统,对于有效管制、疏导交通流量等方面具有明显的效果。本文旨在探索设计基于单机片的智能交通控制系统,通过按键或者遥控的设置等方式,进行技术参数的全面应用。 。目录第一章 选题背景3第二章 方案论证42.1 方案介绍42.2 方案比较:4第三章 系统硬件设计53.1 总体电路框图53.2 系统构成53.3显示电路的介绍53.3.1 89C51芯片53.3.2 7448芯片介绍63.3.3 红绿LED信号显示灯及七段数码显示管73.3.4 交通灯控制线路图8第四章 交通灯软件设计84.1 程序设计流程图84.2延时的设定94.3子程序的实现9第五章 部分模
4、块实现程序12第六章 结 论17第七章 参 考 文 献17第八章 答辩记录及评分表17第一章 选题背景今天,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。在交通中管理引入单片机交通灯控制代替交管人员在交叉路口服务,有助于提高交通运输的安全性、提高交通管理的服务质量。并在一定程度上尽可能的降低由道路拥挤造成的经济损失,同时也减小了工作人员的劳动强度。关键词:AT89C51; 7448,LED第二章 方案论证2.1 方案介绍方案1设计思想:采用分模块设计的思想,程序设计实现的基本思想是
5、一个计数器 , 选择一个单片机,其内部为一个计数,是十六进制计数器,模块化后,通过设置或程序清除来实现状态的转换, 由于每一个模块的计数多不是相同, 这里的各模块是以预置数和计数器计数共同来实现的,所以要考虑增加一个置数模块,其主要功能细分为,对不同的状态输入要产生相应状态的下一个状态的预置数, 如图中A道和B道,分别为次干道的置数选择和主干道的置数选择。方案2 设计思想: 由两个传感器监视主干道方向即A道与支干道方向即B道的车辆来往情况,设开关K=1为有车通过,K=0为没有车通过。则有以下四种情况:Ka=1时:Kb=0,表示A有车B没有车,则仅通行B道; Kb=1,表示A有车B有车,则优先通
6、行A道;Ka=0时:Kb=0表示A没有车B也没有车,同样优先通行A道; Kb=1表示A没有车B有车,则仅通行B道。2.2 方案比较:方案1:用了模块设计,而方案2采用逻辑设计,相比之下1有较强的可读性和较强的可修改性,而2则在设计上显得较简单,设计纯朴,便于测试,它的优势则在于提供了一条较为便捷的解决方案。2首先将许多逻辑关系简化到极点,而后将其一起集成用较少的芯片去完成所需功能。我们最终的设计应该尽量使用模块化设计。对工程设计人员来说,将来的产品无论从修改还是升级考虑对有好处,但另外我们又需将设计简单化,因此我觉得在设计初期尽可能的简单化设计,而一旦设计的各项测试通过了,在有可能的条件下将设
7、计模块化,所以本设计以第一方案为主进行。 我们最终的设计应该尽量使用模块化设计。对工程设计人员来说,将来的产品无论从修改还是升级考虑对有好处,但另外我们又需将设计简单化,因此我觉得在设计初期尽可能的简单化设计,而一旦设计的各项测试通过了,在有可能的条件下将设计模块化,所以本设计以第一方案为主进行。第三章 系统硬件设计3.1 总体电路框图3.2 系统构成电路板一块,AT89S51单片机一片,7448芯片2片,七段数码管八个。发光二极管20个(8个绿的,8个红的,4个黄的用于交通控制),100欧姆电阻20个,2个按键,2个开关,51K欧姆电阻2个,5V稳定电源1个,3个电容2个单刀单掷开关等。系统
8、工作流程:(1)程序初始,通过两个传感器来判断南北与东西方向车辆通行情况。 (2) 情况判定后由AT89S51单片机p1口及部分p2口输出二进制信号控制红绿黄灯亮的情况。 (3) 确定那些灯亮后,由对应的七段数码管来进行到计时显示。由p0口输出来控制七段数码管的显示,而p2口的高四位则用来控制数码管显示时的个位和十位(4)系统是否需要紧急工作状态,而此任务由外部中断来实现。(5)LED采用5V的直流电来驱动,低电平。3.3显示电路的介绍3.3.1 89C51芯片选用的AT89S51与同系列的AT89C51在功能上有明显的提高,最突出是的可以实现在线的编程。用于实现系统的总的控制。其主要功能列举
9、如下:1) 为一般控制应用的 8 位单片机2) 晶片内部具有时钟振荡器(传统最高工作频率可至 33MHz) 3) 内部程式存储器(ROM)为 4KB4) 内部数据存储器(RAM)为 128B5) 外部程序存储器可扩充至 64KB6) 外部数据存储器可扩充至 64KB 7) 32条双向输入输出线,且每条均可以单独做 I/O 的控制8) 6 个中断向量源9) 2 组独立的 16 位定时器10) 1 个全双工串行通信端口11) 8751 及 8752 单芯片具有数据保密的功能12) 单芯片提供位逻辑运算指令 图3-1 AT89C51芯片3.3.2 7448芯片介绍7448七段显示译码器输出高电平有效
10、,用以驱动共阴极显示器。该集成显示译码器设有多个辅助控制端,以增强器件的功能,可将单片机输出的四位二进制数转换成10进制数与七段数码管显示对应,用于显示09的数字。 图3-2 7448芯片其中LT 为测试输入。3.3.3 红绿LED信号显示灯及七段数码显示管LED 灯的显示原理:通过同名管脚上所加电平的高低来控制发光二极管是否点亮。如下图: 图3-3红绿LED信号显示灯而七段数码管的显示不同的字形如 SP,g,f,e,d,c,b,a 管角上加上OFE所以SP上为伏,不亮其余为TTL高电平,全亮则显示为。采用共阴极连接:、表3-4 七段数码管的显示显示数值a b c d e f g dop 驱动
11、代码(16进制)01 1 1 1 1 1 1 1 0FCH1 0 0 0 0 0 1 1 060H2 1 1 0 1 1 0 1 00DAH3 1 1 1 1 0 0 1 00F2H4 0 1 1 0 0 1 1 066H5 1 0 1 1 0 1 1 00B6H6 1 0 1 1 1 1 1 00BEH7 1 1 1 0 0 0 0 00E0H8 1 1 1 1 1 1 1 00FEH9 1 1 1 1 0 1 1 00F6H3.3.4 交通灯控制线路图 图3-5 原理图第四章 交通灯软件设计4.1 程序设计流程图程序设计框图 图4-1 程序设计框图4.2延时的设定延时方法可以有两种一种是利
12、用AT89S51内部定时器的溢出中断来确定1秒的时间,另一种是采用软件延时的方法.实现1ms秒的方法:我们采用在主程序中设定一个初值为0的软件计数器和使T1定时1毫秒相应程序代码:D1MS: MOV R7,#250 ;1MS延时程序DJNZ R7,$RET4.3子程序的实现A道通车情况:START1: MOV TEMP, #25MOV P1, #0F3HLOOP1: ACALL DELAYDEC TEMPMOV A,TEMPMOV P0, TEMPJNB P1.6,START3JNB P1.7,START11CJNE A,#0, NEXT1LJMP START2NEXT1: LJMP LOOP
13、1START11: MOV TEMP, #65MOV P1, #0F3HLOOP11: ACALL DELAYDEC TEMPMOV A,TEMPMOV P0, TEMPJNB P1.6,START33JNB P1.7,START1CJNE A,#0, NEXT11LJMP START11NEXT11: LJMP LOOP11START2: MOV P1, #0F5HMOV TEMN,#05LOOP2: ACALL DELAY1DEC TEMNMOV A,TEMNCJNE A, #0,NEXT2LJMP START3NEXT2: LJMP LOOP2B道通车情况:START3: MOV TEM
14、P, #25MOV P1,#0DEHLOOP3: ACALL DELAYDEC TEMPMOV A,TEMP MOV P0, TEMPJNB P1.6,START1JNB P1.7,START33 CJNE A, #0,NEXT3LJMP START4NEXT3: LJMP LOOP3START33: MOV TEMP, #65MOV P1,#0DEH LOOP33: ACALL DELAYDEC TEMPMOV A,TEMP MOV P0, TEMPJNB P1.6,START11JNB P1.7,START3 CJNE A, #0,NEXT33LJMP START4NEXT33: LJMP
15、 LOOP33START4: MOV P1, #0EEHMOV TEMN,#05 LOOP4: ACALL DELAY1中断情况即紧急情况:ORG 0000H TEMP EQU 24HTEMN EQU 25HLJMP MAIN ORG 0003HLJMP T0_INTORG 0013HLJMP TI_INTT0_INT: MOV A, P1PUSH ACCMOV P1, #0FFHMOV P1, #0F3HMOV P0, #00HJNB P3.2,$ POP ACCMOV P1, ACCRETITI_INT: MOV A, P1PUSH ACC MOV P1, #0FFHMOV P1, #0D
16、EHMOV P0,#00HJNB P3.3,$ POP ACCMOV P1, ARETI第五章 部分模块实现程序程序代码分为几个模块:中断模块,循环模块,延时模块。 原程序实现:ORG 0000H TEMP EQU 24HTEMN EQU 25HLJMP MAIN ORG 0003HLJMP T0_INTORG 0013HLJMP TI_INTT0_INT: MOV A, P1PUSH ACCMOV P1, #0FFHMOV P1, #0F3HMOV P0, #00HJNB P3.2,$ POP ACCMOV P1, ACCRETITI_INT: MOV A, P1PUSH ACC MOV P
17、1, #0FFHMOV P1, #0DEHMOV P0,#00HJNB P3.3,$ POP ACCMOV P1, ARETIMAIN: SETB EASETB EX0SETB EX1CLR F0START1: MOV TEMP, #25MOV P1, #0F3HLOOP1: ACALL DELAYDEC TEMPMOV A,TEMPMOV P0, TEMPJNB P1.6,START3JNB P1.7,START11CJNE A,#0, NEXT1LJMP START2NEXT1: LJMP LOOP1START11: MOV TEMP, #65MOV P1, #0F3HLOOP11: AC
18、ALL DELAYDEC TEMPMOV A,TEMPMOV P0, TEMPJNB P1.6,START33JNB P1.7,START1CJNE A,#0, NEXT11LJMP START11NEXT11: LJMP LOOP11START2: MOV P1, #0F5HMOV TEMN,#05LOOP2: ACALL DELAY1DEC TEMNMOV A,TEMNCJNE A, #0,NEXT2LJMP START3NEXT2: LJMP LOOP2START3: MOV TEMP, #25MOV P1,#0DEHLOOP3: ACALL DELAYDEC TEMPMOV A,TEM
19、P MOV P0, TEMPJNB P1.6,START1JNB P1.7,START33 CJNE A, #0,NEXT3LJMP START4NEXT3: LJMP LOOP3START33: MOV TEMP, #65MOV P1,#0DEHLOOP33: ACALL DELAYDEC TEMPMOV A,TEMP MOV P0, TEMPJNB P1.6,START11JNB P1.7,START3 CJNE A, #0,NEXT33LJMP START4NEXT33: LJMP LOOP33START4: MOV P1, #0EEHMOV TEMN,#05 LOOP4: ACALL
20、DELAY1DEC TEMNMOV A, TEMNCJNE A,#0,NEXT4LJMP START1NEXT4: LJMP LOOP4RETIDELAY: MOV A,TEMPMOV B, #10DIV ABMOV R5, AMOV R6, BMOV R0, #10L0: MOV R1, #250L1:MOV A,R5MOV P0, ACLR P2.4ACALL DIMSSETB P2.4MOV A,R6MOV P0,R6CLR P2.5ACALL DIMSSETB P2.5DEC R1DJNZ R1,L1DEC R0DJNZ R0,L0RETIDELAY1: MOV A,TEMNMOV B
21、, #10DIV ABMOV R5, AMOV R6, BMOV R2, #10L2: MOV R3, #250L3:MOV A,R5MOV P0, ACLR P2.4ACALL DIMSSETB P2.4MOV A,R6MOV P0,R6CLR P2.5ACALL DIMSSETB P2.5DEC R3DJNZ R3,L3DEC R2DJNZ R2,L2RETIDELAY11:MOV A,TEMPMOV B, #10DIV ABMOV R5, AMOV R6, BMOV R0, #10Y0: MOV R1, #250Y1:MOV A,R5MOV P2, ACLR P2.6ACALL DIMS
22、SETB P2.6MOV A,R6MOV P2,R6CLR P2.7ACALL DIMSSETB P2.7DEC R1DJNZ R1,Y1DEC R0DJNZ R0,Y0RETIDIMS: MOV R7,#250DJNZ R7,$RET END第六章 结 论本系统就是利用了AT89C51芯片的I/O引脚。系统采用单片机AT89C51,以及其它芯片来设计交通灯控制器,实现了红灯亮45秒,绿灯亮40秒。并通过AT89C51来控制7448芯片的输出口控制七段数码管上的时间显示;系统设计简便、实用性强、操作简单、程序设计简便。 系统不足:时间设定中没有黄灯的等待闪烁时间,以及自动根据车流改变红绿灯时间
23、,使城市的交通管理更加人性化。使人们远离目前的交通拥塞的现象。第七章 参 考 文 献1胡汉才.单片机原理及其接口技术.清华大学出版.19962蔡美琴.MCS-51系列单片机系统及其应用.高等教育出版社.2004.23蒋万君.在论循环时序电路的简便设计.机电一体化.2005.5 4何立民.MCS-51系列单片机应用系统设计.北京航空航天大学出版社.1995.5李华.MCS -51系列单片机实用接口技术.北京航空航天大学出版社.19936周航慈.单片机应用程序设计技术.北京航空航天大学出版社.1991. 7张志良等.单片机原理与控制技术.机械工业出版社.2001 8陆坤.电子设计技术.电子科技大学出版社.1997第八章 答辩记录及评分表课题名称智能红绿灯控制器的设计答辩教师(职称) 答辩时间 学年第 学期 第 周答辩记录 评 分 表学生姓名学号评分