版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、微机原理与接口技术课程考核项目设计报告项目名称: 基于单片机的交通控制系统模拟设计 学号: 姓名: 1 设计任务与要求1.1应用背景自从1858年英国人,发明了原始的机械扳手交通灯之后,随后的一百多年 里,交通灯改变了交通路况,也在人们日常生活中占据了重要地位,随着人们社会活动日益增加,经济发展,汽车数量急剧增加,城市道路日渐拥挤,交通灯更加显示出了它的功能,使得交通得到有效管制,对于交通疏导,提高道路导通能力,减少交通事故有显著的效果。近年来,随着科技的飞速发展,电子器件也随之广泛应用,其中单片机也不断深入人民的生活当中。本模拟交通灯系统利用单片机AT89C51作为核心元件,实现了通过信号灯
2、对路面状况的智能控制。从一定程度上解决了交通路口堵塞、车辆停车等待时间不合理、急车强通等问题。系统具有结构简单、可靠性高、成本低、实时性好、安装维护方便等优点,有广泛的应用前景。本模拟系统由单片机硬/软件系统,两位8段数码管和LED灯显示系统。和复位电路控制电路等组成,较好的模拟了交通路面的控制。1.2 系统功能设计在城镇街道的十字交叉路口,为了保证交通秩序和行人安全,一般在每条道路上各有一组红黄绿信号灯。其中红灯亮,表示该条道路禁止;黄灯亮表示该条道路上未过停车线的车辆停止通行,已过停车线的车辆继续通行;绿灯亮表示该条道路允许通行。交通灯控制电路自动控制十字路口红黄绿交通灯的状态转换,指挥各
3、种车辆和行人安全通行,实现十字路口交通管理的自动化。1.3 系统工作过程本设计利用8051单片机片内定时器T0的中断来实现数字时钟的功能,T0定时时间设置为50ms,每隔50ms产生一次定时中断,如果中断20次即达到1秒钟。程序设计时,预先安排时、分、秒内存单元,在中断服务程序中根据中断次数来决定秒单元是否加1,当秒单元达到60时分单元加1,同时秒单元清零,分单元达到60时,时单元加1,同时分单元清零,时单元达到24时,时、分、秒单元清零,又从头开始计时。2 总体方案设计 2.1 方案比较2.1.1 电源提供方案为使模块稳定工作,须有可靠电源。因此考虑了两种电源方案:方案一:采用独立的稳压电源
4、。此方案的优点是稳定可靠,且有各种成熟电路可供选用;缺点是各模块都采用独立电源,会使系统复杂,且可能影响电路电平。方案二:采用单片机控制模块提供电源。改方案的优点是系统简明扼要,节约成本;缺点是输出功率不高。综上所述,我选择第二种方案。2.1.2 显示界面方案该系统要求完成倒计时功能。基于上述原因,我考虑了二种方案:方案一:采用数码管显示。这种方案只显示有限的符号和数码字符,简单,方便。方案二:采用点阵式LED 显示。这种方案虽然功能强大,并可方便的显示各种英文字符,汉字,图形等,但实现复杂,且须完成大量的软件工作。综上所述,我选择第一种方案。2.1.3 输入方案:题目要求系统能调节灯亮时间,
5、并可处理紧急情况,我研究了两种方案:方案一:采用8155扩展I/O 口及键盘,显示等。该方案的优点是:使用灵活可编程,并且有RAM及计数器。若用该方案,可提供较多I/O 口,但操作起来稍显复杂。方案二: 直接在I/O口线上接上按键开关。由于该系统对于交通灯及数码管的控制,只用单片机本身的I/O 口就可实现,且本身的计数器及RAM已经够用,故选择方案二。2.2 系统框图按键控制电路LED数码管显示最小系统外围接口电路单片机红黄绿信号灯2.3 设计方案:2.3.1单片机交通控制系统的通行方案设计设在十字路口,分为东西向和南北向,在任一时刻只有一个方向通行,另一方向禁行。共有8种状态,这8种状态如下
6、,周而复始,循环变化。8个状态归纳如下:1. 东西方向红灯亮,同时南北方向绿灯亮,倒计时15S,此状态下,南北方向直行,东西方向禁止通行。2. 东西方向黄灯亮,同时南北方向黄灯亮,倒计时5S,此状态下,除了已经正常在通行的车辆外其他车辆禁止通行。23. 东西方向红灯亮,同时南北方向两个绿灯亮,倒计时15S,此状态下,南北方向车辆可以直行,左右拐,行人禁止通行,倒计时15S。4. 东西方向黄灯亮,同时南北方向黄灯亮,倒计时5S,此状态下,除了已经正常在通行的车辆外其他车辆禁止通行。5. 东西方向绿灯亮,同时南北方向红灯亮,倒计时15S,此状态下,东西方向直行,南北方向禁止通行。6. 东西方向黄灯
7、亮,同时南北方向黄灯亮,倒计时5S,此状态下,除了已经正常在通行的车辆外其他车辆禁止通行。7. 东西方向两绿灯灯亮,同时南北方向红灯亮,倒计时15S,此状态下,东西方向车辆可以直行,左右拐,行人禁止通行,倒计时15S。8. 东西方向黄灯亮,同时南北方向黄灯亮,倒计时5S,此状态下,除了已经正常在通行的车辆外其他车辆禁止通行。即:时间 15S 5S 15S 5S 15S 5S 15S 5S 东西 红 黄 红 黄 绿 黄 两绿 黄 南北 绿 黄 两绿 黄 红 黄 红 黄2.3.2 单片机交通控制系统的功能要求本设计能模拟基本的交通控制系统,用红绿黄灯表示禁行,通行和等待的信号发生,还能进行倒计时显
8、示,通行时间调整和紧急处理等功能。(1)倒计时显示倒计时显示可以提醒驾驶员在信号灯灯色发生改变的时间、在“停止”和“通过”两者间作出合适的选择。驾驶员和行人普遍都愿意选择有倒计时显示的信号控制方式,并且认为有倒计时显示的路口更安全。倒计时显示是用来减少驾驶员在信号灯色改变的关键时刻做出复杂判断的1种方法,它可以提醒驾驶员灯色发生改变的时间,帮助驾驶员在“停止”和“通过”两者间作出合适的选择 。(2)时间的设置可通过键盘对时间进行手动设置,增加了人为的可控性,避免自动故障和意外发生,并再紧急状态下,可设置所有灯变为红灯。键盘是单片机系统中最常用的人机接口,一般情况下有独立式和行列式两种。前者软件
9、编写简单,但在按键数量较多时特别浪费I0口资源,一般用于按键数量少的系统。后者适用于按键数量较多的场合,但是在单片机I0 口资源相对较少而需要较多按键时,此方法仍不能满足设计要求。本系统要求的按键控制不多,且I0口足够,可直接采用独立式。(3)紧急处理 交通路口出现紧急状况在所难免,如特大事件发生,救护车等急行车通过等,我们都必须尽量允许其畅通无阻,毕竟在这种情况下是分秒必争的,时时刻刻关系着公共财产安全,个人生死攸关等。由此在交通控制中增设禁停按键,就可达到想此目的。2.3.3 单片机交通控制系统的基本构成及原理单片机设计交通灯控制系统,可用单片机直接控制信号灯的状态变化,基本上可以指挥交通
10、的具体通行,当然,接入LED数码管就可以显示倒计时以提醒行使者,更具人性化。本系统在此基础上,加入了紧急情况处理与时间调整功能。据此,本设计系统以单片机为控制核心,连接成最小系统,由按键设置模块产生输入,信号灯状态模块,LED倒计时模块模块接受输出。系统的总体框图如上所示。单片机上电后,系统进入正常工作状态,执行交通灯状态显示控制,同时将时间数据倒计时输入到LED数码管上实时显示。在此过程中随时调用急停按键和时间调节中断。3 系统硬件设计3.1 I/O分配表结合电路图,现将所设计电路中所涉及I/O口分配情况统计如下,信息包括引脚号、引脚功能、输入输出类型。引脚号引脚功能输入输出类型U1-EA外
11、部程序存储器选择输入、编程电压输入引脚InputU1-RST复位信号/备用电源引脚InputU1-P0地址/数据总线复用口I/OU1-P1地址/数据总线复用口I/OU1-P2地址/数据总线复用口I/OU1-P3地址/数据总线复用口I/OU1-XTAL1振荡器反相放大器及内部时钟发生器的输入端InputU1-XTAL2振荡器反相放大器的输出端Output3.2 交通灯中的中断处理流程()现场保护和现场恢复:有特殊车辆要通过时就要进行中断,在中断之前,先将交通灯中断前情况保护好,当中断执行后再恢复现场,包括信号灯和时间显示电路。()中断打开和中断关闭:为了使特殊车辆通行按一下打开中断开关就可以打开
12、中断,关闭中断开关就关闭中断。()中断服务程序:有中断产生,就必然有其具体的需执行的任务,中断服务程序就是执行中断处理的具体内容:即如果南北方向有特殊车辆要求通过,南北方向转换为绿灯,东西方向为红灯;如果东西方向有特殊车辆要求通过,东西方向转换为绿灯,南北方向为红灯。()中断返回:执行完中断服务程序后,必然要返回,即回交通灯信号回到中断前状态,显示时间也和中断前一样。3.3 系统硬件总电路构成及原理实现本设计要求的具体功能,可以选用AT89C51单片机及外围器件构成最小控制系统,16个发光二极管分成4组红绿黄三色灯构成信号灯指示模块,8个LED东西南北各两个构成倒计时显示模块,若干按键组成时间
13、设置和紧急按钮。(进行硬件搭建时,只用8个灯和4个数码管模拟,即东西两个方向只模拟一个,南北也只模拟一个)3.4 系统硬件电路构成本系统以单片机为核心,系统硬件电路由状态灯,LED显示,按键,组成。其具体的硬件电路总图如下图所示。其中P0用于送显两片LED数码管,P1,P2.4,P2.5用于控制红绿黄发光二极管,XTAL1和XTAL2接入晶振时钟电路,REST引脚接上复位电路,P1.6,P1.7,P2.0,P2.1对数码管进行片选,P3.2即INT0紧急情况处理按键,P3.3即INT1接时间调整中断按键。3.5 系统工作原理系统上电或手动复位之后,系统先显示状态灯及LED数码管,将状态码值送显
14、P1口以及P2.4,P2.5口,将要显示的时间值的个位和十位分别送显P0口,在此同时用软件方法计时1秒,到达1s就要将时间值减1,刷新LED数码管。时间到达一个状态所要全部时间,则要进行下一状态判断及衔接,并装入次状态的相应状态码值以及时间值,当然,还要开启两个外部中断,其一为紧急情况处理中断,一旦信号有效,即P3.2为低电平时进入中断服务子程序,东西南北路口的红灯全亮禁止全部通行,再使P3.2为无效高电平,中断结束返回。其二为通行时间调整中断,若P3.3为低电平进入相应的中断子程序,对时间进行调整,再使P3.3为无效高电平,中断结束返回。 基于单片机的交通灯控制系统电路图3.6 其它硬件介绍
15、3.6.1 八段LED数码管LED显示屏作为大型显示设备的一种,具有亮度高、价格低、寿命长、维护简便等优点。LED数码管的结构简单,分为七段和八段两种形式,也有共阳和共阴之分。以八段共阴管为例,它有8个发光二极管(比七段多一个发光二极管,用来显示dP,即点),每个发光二极管的阴极连在一起,如下图所示。这样,一个LED数码管就有1根位选线和8根段选线,要想显示一个数值,就要分别对它们的高低电平来加以控制。为方便起见,本文主要讨论共阴八段LED数码显示管,其他类形的显示管与其类似。LED 灯的显示原理:通过同名管脚上所加电平的高低来控制发光二极管是否点亮而显示不同的字形,如 dp,g,f,e,d,
16、c,b,a全亮显示为,采用共阴极连接驱动代码,代码表如下表所示驱动代码表显示数值dp,g,f,e,d,c,b,a驱动代码0001111113FH10000011006H2010110115BH3 010011114FH40110011066H5011011016DH6011111097DH70000011107H801111111 7FH9011011116FH相应在程序软件上,可以通过调用程序给定的秒值经过特定计算算出需要显示的个位和十位,然后用IPTR调取LEDMAP的代码。3.6.2 发光二极管根据本设计的特点,红绿灯的显示不可少,红绿灯的显示采用普通的发光二极管。每个方向上设置红绿黄灯
17、(绿灯为2个),总共4组。3.6.3 按键控制本设计设置了4个键:K1键P3.0,K2键P3.1,K3键P3.2,K4键P3.3,每个按键一端接地,另一端接对应的P3端口,低电平有效,当按键下端口接地,单片机捕获到低电平,从而知道相应的输入信息。4 系统软件设计4.1 程序主体设计流程全部控制程序实际上分为若干模块:键盘设置处理程序,状态灯控制程序,LED显示程序紧停程序,中断服务子程序,红绿灯时间调整程序等。整个软件程序方面主要分两大部分:主程序部分和中断处理程序。流程图如下图所示。 9 4.2子程序模块设计4.2.1状态灯显示及判断在本设计中,实际控制的灯只有8个,即:东西红灯,东西黄灯,
18、东西绿灯(2个),南北红灯,南北黄灯,南北绿灯(2个)。定义IO端口如下,其中均是高电平有效。共有8种状态:东西绿灯亮,南北红灯亮;东西黄灯亮,南北黄灯亮;东西两绿灯灯亮,南北红灯亮;东西黄灯亮,南北黄灯亮;东西红灯亮,南北绿灯亮;东西黄灯亮,南北黄灯亮;东西红灯亮,南北两绿灯亮;东西黄灯亮,南北黄灯亮。用于显示发光二极管时,部分程序如下: ;东西红,南北绿,计时时间为15S MOV P1,#0CH MOV 60H,#15HA1: MOV R1,#50A2: ACALL BCD ACALL DISPCLK DJNZ R1,A2 MOV A,60HMOV R0,60H ADD A,#99H DA
19、 A MOV 60H,A CJNE R0,#05H,A14.2.2 LED倒计时显示LED计时每1秒都要刷新1次,采用的是动态显示,首先将R4除以10H,整数即十位放在50H中,余数即个位放在51H中,设置7段LED显示数据的数据表,用数据指针寄存器DPTR指向数据表的首地址,再加上A中的偏移量,就可以指向十位数字,然后送显即可,个位显示同理。具体程序如下:BCD: ;将十位数送到(51H),个位数送到(50H) MOV A,60H;60H单元放的是倒计时值MOV B,#10HDIV ABMOV 51H,AMOV A,BMOV 50H,ARETDISPCLK: ;显示部分 MOV DPTR,#
20、TABMOV A,50HMOVC A,A+DPTR MOV P0,A CLR P1.6 LCALL DELAY SETB P1.6 CLR P2.0 LCALL DELAY SETB P2.0 MOV A,51H MOVC A,A+DPTR MOV P0,A CLR P1.7 LCALL DELAY SETB P1.7 CLR P2.1 LCALL DELAY SETB P2.1 RET 4.2.3 紧停及调整时间中断子程序紧停按键连接到外部中断引脚P3.2,即INT0捕获到一个低电平,则进入该中断进行相关处理。程序如下:IINT0: ;紧急情况处理 MOV 08H,P1 MOV 09H,P2
21、 CLR EA JB P3.2,$ PUSH 60HB0: JNB P3.0,NH JNB P3.1,DHA9: MOV P1,#09H ;全红 SETB P1.6 SETB P1.7 SETB P2.0 SETB P2.1 ACALL DELAY JNB P3.2,B0 SJMP JENH: MOV P1,#21H ;只允许东西方向车辆通行 SETB P1.6 SETB P1.7 SETB P2.0 SETB P2.1 ACALL DELAY JNB P3.2,B0 SJMP JEDH: MOV P1,#0CH ;只允许南北方向车辆通行 SETB P1.6 SETB P1.7 SETB P2
22、.0 SETB P2.1 ACALL DELAY JNB P3.2,B0 SJMP JEJE: MOV P1,08H MOV P2,09H POP 60H SETB EA RETI4.2.4 红绿灯时间调整程序时间调整按键连接到外部中断引脚P3.3,即INT1捕获到一个低电平,则进入该中断进行相关处理。程序如下:;加减程序IINT1: CLR EA JB P3.3,$ PUSH P1 PUSH P2B1: JNB P3.1,DDECZINC: ;加1程序 MOV R0,#15A10: ACALL BCD ACALL DISPCLK DJNZ R0,A10 MOV A,60H ADD A,#01
23、H DA A MOV 60H,A JNB P3.3,B1 JMP JSDDEC: ;减1程序DDEC: MOV R4,#15A12: ACALL BCD ACALL DISPCLK DJNZ R4,A12 MOV A,60H ADD A,#99H DA A MOV 60H,A JB P3.3,JS JMP B1JS: MOV 61H,60H POP P2 POP P1 SETB EA RETI 4.3 重要参数计算及说明4.3.1 定时器初值计算在定时器使用过程中,需要结合实际需要对定时器进行初值计算,则计算初值X的公式如下:计数方式:X=M要求的计数值定时方式:X=M要求的定时值/(12/f
24、osc)结合题目要求,本次过程中需要定时50ms,并重复20次来实现1s的计时。带入相关数值,可得:X =216 -(50*10-3)/(1*10-6)=15536D=3CB0H5 系统调试及仿真结果本课题从理论到实际应用,用AT89C51单片等电路,需要较强的逻辑分析能力,并设计出了一个交通红绿灯。而且所设计的红绿灯设计也按当初要求的能够在PROTEUS中进行仿真,并且能够很精确的显示时间,并可由按钮操控进行调节。可以说该红绿灯具有很高的实用价值。在软件设计的过程中,利用了Keil这个软件在程序录入和调试的时候的优越性,让我能够在编写软件的时候很方便的发现软件中的错误,现在已经能够使用Kei
25、l对所设计的程序进行调试。对于PROTEUS这款软件,也能熟练掌握电路设计仿真。本次设计的红绿灯也存在的不足的地方,在实际调试过程中由于对终端状态的存储处理不当,造成初始状态未能及时恢复,经长达半天的调试,终于得以解决,但在其中获益匪浅。 6 参考资料1 苏平.单片机的原理与接口技术M.北京:电子工业出版社,2006:1-113.2 张斌武.单片机系统Proteus设计与仿真M. 北京:电子工业出版社,2005:52-89.1. 仿真电路图caoshuai.DSN;2. 程序清单及注释caoshuai.asmORG 0000H LJMP START ORG 0003H LJMP IINT0 O
26、RG 0013H LJMP IINT1 ORG 0030HSTART: MOV SP,#6FH ;系统初始化LIGHT: SETB EA SETB EX0 SETB EX1 CLR IT1 CLR IT0 CLR P2.4 CLR P2.5 MOV P1,#0CH ;东西红,南北绿,禁止拐弯,计时时间为15s MOV 60H,#15HA1: MOV R1,#50A2: ACALL BCD ACALL DISPCLK DJNZ R1,A2 MOV A,60H MOV R0,60H ADD A,#99H DA A MOV 60H,A CJNE R0,#00H,A1 MOV 60H,#05H MOV
27、 P1,#12H ; 东西黄,南北黄灯闪烁5s MOV R2,#5A3: MOV R1,#50A4: ACALL BCD ACALL DISPCLK DJNZ R1,A4 CPL P1.1 CPL P1.4 MOV A,60H ADD A,#99H DA A MOV 60H,A DJNZ R2,A3 MOV P1,#0CH SETB P2.4 CLR P2.5 ;南北左右转弯,车辆直行,禁止人行,倒计时15S MOV 60H,#15HD1: MOV R1,#50D2: ACALL BCD ACALL DISPCLK DJNZ R1,D2 MOV A,60H MOV R0,60H ADD A,#
28、99H DA A MOV 60H,A CJNE R0,#00H,D1 MOV 60H,#05H MOV P1,#12H CLR P2.4 CLR P2.5 ;东西黄,南北黄灯闪烁5s MOV R2,#5D3: MOV R1,#50 SETB P2.3D4: ACALL BCD ACALL DISPCLK DJNZ R1,D4 CPL P1.1 CPL P1.4 MOV A,60H ADD A,#99H DA A MOV 60H,A DJNZ R2,D3 MOV P1,#21H ;东西绿,南北红,禁止转弯,计时时间15s MOV 60H,#15HA5: MOV R1,#50A6: ACALL B
29、CD ACALL DISPCLK DJNZ R1,A6 MOV R0,60H MOV A,60H ADD A,#99H DA A MOV 60H,A CJNE R0,#00H,A5 MOV 60H,#05H ;南北黄,东西黄灯闪烁5s MOV P1,#12H MOV R2,#5A7: MOV R1,#50A8: ACALL BCD ACALL DISPCLK DJNZ R1,A8 CPL P1.4 CPL P1.1 MOV A,60H ADD A,#99H DA A MOV 60H,A DJNZ R2,A7 MOV P1,#21H SETB P2.5 CLR P2.4 ;东西左右拐弯,车辆直行
30、,禁止人行,计时时间15s MOV 60H,#15HD5: MOV R1,#50D6: ACALL BCD ACALL DISPCLK DJNZ R1,D6 MOV R0,60H MOV A,60H ADD A,#99H DA A MOV 60H,A CJNE R0,#00H,D5 MOV 60H,#05H ;南北黄,东西黄灯闪烁5s CLR P2.5 CLR P2.5 MOV P1,#12H MOV R2,#5D7: MOV R1,#50D8: ACALL BCD ACALL DISPCLK DJNZ R1,D8 CPL P1.4 CPL P1.1 MOV A,60H ADD A,#99H DA A MOV 60H,A DJNZ R2,D7 LJMP LIGHT ;连续运行返回部分DISPCLK: ;显示部分 MOV DPTR,#TABMOV A,50H MOVC A,A+DPTR MOV P0,A CLR P1.6 LCALL DELAY SETB P1.6 CLR P2.0 LCALL DELAY SETB P2.0 MOV A,51H MOVC A,A+DPTR MOV P
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 稀土磁性材料成型工岗前保密意识考核试卷含答案
- 成品矿运送工创新方法强化考核试卷含答案
- 焦化装置操作工安全培训效果测试考核试卷含答案
- 选煤工班组评比知识考核试卷含答案
- 营造林技术员安全知识竞赛水平考核试卷含答案
- 黄酒酿造工岗前安全生产知识考核试卷含答案
- 2024年朝阳职工工学院辅导员考试笔试真题汇编附答案
- 固体饮料喷雾造粒工测试验证知识考核试卷含答案
- 淀粉及淀粉糖制造工达标测试考核试卷含答案
- 2024年齐齐哈尔医学院辅导员考试笔试题库附答案
- 2026年药店培训计划试题及答案
- DB32T3916-2020建筑地基基础检测规程
- 换电柜维护培训课件
- GB/T 15153.1-2024远动设备及系统第2部分:工作条件第1篇:电源和电磁兼容性
- 初中语文 送别诗练习题(含答案)
- 企业标准-格式模板
- 五年级上册道德与法治期末测试卷新版
- 2022年医学专题-石家庄中国鲍曼不动杆菌感染诊治与防控专家共识
- YY/T 1543-2017鼻氧管
- YS/T 903.1-2013铟废料化学分析方法第1部分:铟量的测定EDTA滴定法
- FZ/T 70010-2006针织物平方米干燥重量的测定
评论
0/150
提交评论