基于单片机的汽车转向灯设计说明

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于单片机的汽车转向灯设计
摘要
本设计采用单片机控制,在控制系统中,选择了6个开关、1个AT89C51单片机、6只发光二极管(用来模拟信号灯发光)。

其中AT89C51单片机做为控制核心,当6个开关的状态发生改变后,单片机检测到开关信号后就通过软件输出相关信号,来驱动6个汽车信号灯根据开关的相应状态闪烁或长亮。

信号灯由发光二极管模拟替代。

通过这些,本控制系统能够很好的达到控制汽车转弯信号灯的目的,同时,所采用的单片机及其他元件的成本不高,还能很好的达到控制要求,不会增加汽车的制造成本。

对生产厂家和消费者来说是非常好的选择。

关键词:单片机汽车转弯信号灯 AT89C51
Abstract
This design uses the microcontroller in the control system, select the six switches, AT89C51 microcontroller, eight light-emitting diode (LED lights to simulate). AT89C51 microcontroller as a control center which, when the six switch changes state, the microcontroller detects the signal after switching the output correlation signal through software, to drive the eight car lights flash according to the state corresponding to the switch or long light. Analog signal from the light-emitting diodes instead. Through these, the control system can turn a good signal to control the car's purpose, the same time, the microcontroller and other components used in the cost is not high, but also good to control demand will not increase the manufacturing cost of the car. On manufacturers and consumers is a very good choice.
Key words: SCM Automotive turn signal lights AT89C51
1引言
在当今社会,科技与工业高度发达,汽车的数量逐年增多,街上的每一个角落都充斥它们的身影,但凡事都有两面性,汽车在方便了人们的生活也对交通方面和人身安全构成了威胁,为此我们应该采取有效的方法来减少事故的发生概率和提高车辆的运行效率。

因此汽车转向灯便成为每一辆汽车必不可少的装置设备。

汽车转向灯是行车安全的必备条件,除了具有照明作用,对行人和其他车辆还具有转向、会车、刹车等警示作用。

传统的汽车转向灯由于自身条件的限制,可靠性低,定时时间不够精确,使用寿命较短,且继电器受温度影响较大,对于温度
变化较大的环境往往不能满足要求。

所以本文中汽车转向灯设计是用单片机来实现的,单片机控制系统不仅可避免传统的缺点,还具有功能强、使用灵活、可靠性高、成本低、体积小、面向控制、具有智能化功能等优点。

2设计方案及原理
本设计要求在汽车进行左转弯、右转弯、刹车、合紧急开关、停靠、倒车等操作时,实现对各种信号指示灯的控制。

根据设计要求,制定总体的设计思想。

汽车转向灯电路是由单片机AT89C51、复位、警报、LED显示电路、按键电路等几部分构成。

2.1系统设计
以单片机AT89C51为核心芯片通过控制LED的显示来模拟汽车转向灯,即用开关1-6的闭合分别模拟刹车、紧急、停靠、左转、右转、倒车操作;用LED发光二极管D1-D8的亮灭显示来模拟汽车的故障指示灯、左头灯、右头灯、左转弯信号灯、右转弯信号灯、左尾灯、右尾灯、倒车灯的显示情况。

转向时,规定左右尾灯、左右头灯仪表板上2个指示灯相应地发出闪烁信号;应急开关合上时, 6个信号灯都应闪烁;汽车刹车时,2个尾灯发出稳定亮信号;如正当转向时刹车,转向时原应闪烁的信号仍应闪烁。

它们都是低频闪烁,任何上述之外的开关组合,都将出现故障指示灯闪烁,闪烁频率为高频且发出警报声,按下相应复位键警报声与指示灯解除,之后可及时排查电路问题。

系统组成框图如图1所示。

图1 系统组成框图
2.2单片机系统的工作原理
2.2.1开关状态检测
开关状态检测,对AT89C51来说是输入关系,可轮流检测每个开关状态,以每
个开关的状态让相应的发光二极管指示;也可以一次性检测六路开关状态,即用MOV A, P2 指令一次性把P2 端口的状态全部读入,取低6位的状态来指示,根据此选择分支。

2.2.2输出控制
发光二极管由D1-D8来指示,设计用指令MOV P1, #111XXXXXB方法来实现选择。

2.2.3定时器
信号的控制是定时器得以实现的结果。

在汽车转弯灯的控制中主要利用AT89C51单片机的可编程定时器来实现灯闪烁的延时,即通过对系统时钟脉冲的计数来实现的,计数值由程序设定。

利用定时器,产生高频闪烁功能。

2.2.4循环系统
通过语句的反复调用和循环来达到主程序循环,并产生低频闪烁功能。

2.2.5汽车转向灯控制
在汽车转弯、停靠或应急状态下,外部信号灯和仪表板它们指示灯的闪烁频率为低频信号。

当发生错误时,信号灯频率闪烁此时为高频信号。

汽车转弯灯设计6个按键控制信号灯的转向、停靠、应急等。

按键安排为:1键为刹车开关;2键为紧急开关;3键为停靠开关;4键为左转弯开关;5键为右转弯开关;6键为倒车开关。

2.3 汽车转向灯控制系统的硬件设计
2.3.1按键电路
本设计选用拨动开关,单片机引脚作为输入使用,首先置“1”。

当键没有被按下时,单片机引脚上为高电平;而当键被按下去后,引脚接地,单片机引脚上为低电平。

是否有键按下,以及被按下的是哪一个可以通过单片机引脚电平显示出来。

图1是电路板上按键的接法,6个按键分别接到P2.0、P2.1、P2.2、P2.3、P2.4和P2.5。

对于这种接法,各程序可以采用不断查询的方法,检测是否有键闭合,判断键号并转入相应的键处理。

其电路图如图2所示。

图2按键控制电路
2.3.2蜂鸣器电路
当控制系统系统进入错误分支时,单片机P1.0产生信号,警报灯闪亮,信号经过放大器放大后蜂鸣器运作,发出警报声,警示他人系统出错。

之后按下复位按钮,可将单片机P1.0发出的高电平信号钳制在低电平,使警报声和警报灯解除,之后工作人员可及时检查系统的错误原因。

其电路图如图3所示。

图3蜂鸣器电路
2.3.3指示灯电路
芯片ULN2803有功率放大的驱动和反相的功能。

当单片机P2.0-P2.7发出高电平时,通过ULN2803反相器变为低电平,使指示灯发亮。

其电路图如图4所示。

图4指示灯电路
2.4 汽车转向灯总电路原理图
汽车转向灯原理图如附录一所示。

2.5 汽车转向灯控制系统的软件设计
2.5.1程序主旨思想
主程序中完成对汽车转向灯控制系统的初始化工作,判断是否有键被按下,当开关没有动作时无输出,调用延时程序,当判断有开关被按下时,通过逐位比较判断进入各分支,其中也在各分支中调用了延时程序和定时器,以使LED在不同的分支以相应的频率闪烁。

P2.0=刹车;P2.1=紧急;P2.2=停靠;P2.3=左转;P2.4=右转;P2.5=倒车。

键值是根据P2的状态来确定的。

例:P2=00111110,表明刹车键按下,它的键值是3EH(只看后面六位)。

汽车转向灯设计程序清单如附录二所示。

2.5.2指示灯电路流程图
流程图主要为选择分支和判断分支。

汽车转向灯流程图如附录三所示。

3仿真结果
操作说明如下:按1刹车键,D6、D7相应信号灯亮;按2紧急键,D2、D3、D4、D5、D6、D7信号灯闪烁;按3停靠键,D2、D3、D6、D7闪烁;按4左转弯键,D2、D4、D6闪烁;按5右转弯键,D3、D5、D7闪烁;按6倒车键,D8闪烁;按1刹车、2紧急键,D2、D3、D4、D5闪烁;D6、D7亮;按4左转弯、1刹车键,D2、D4、D7闪烁;D6亮;按5右转弯、1刹车键,D3、D5、D6闪烁;D7亮;按4左转弯、1刹车、2紧急键,D2、D3、D4、D5、D7闪烁;D6亮;按5右转弯、1刹车、2紧急键,D2、D3、D5、D6、D8闪烁,D7亮。

除上述情况以外的其他操作,发生错误,蜂鸣器响,D1闪烁,按复位键停止。

以刹车状态仿真为例如附录四所示。

4 总结
我本次课程设计的题目为“汽车转向灯”,选题之后我从网上查阅了相关资料,参考了许多前辈的设计,体会了其中的思想。

最终按着老师的要求设计出相关控制电路和程序。

在设计的过程中也遇到了很多的问题。

首先是在程序的设计上,在延时程序中为了到达预期的闪烁频率测试修改了多次,花了很长时间,最终采取定时器和指令循环两种延时方式最终实现了LED以分别以高频和低频闪烁。

在硬件方面我在基本功能的基础上加上了警报功能,复习了模电与数电的知识。

这次课设Visio、Proteus、Keil等一系列软件,加强了自己的操作水平。

总而言之,通过这次课设,我不仅进一步熟悉掌握了单片机和其他电路方面的知识,同时跟老师和同学学到的很多知识也使我受益匪浅。

参考文献
[1] 王思明.单片机原理及应用系统设计[M].:科学,2012.
[2] 封志存.模拟电子技术[M].:大学,2003.
[3] 积英.数字电子技术[M].:中国电力,2011.
附录一汽车转向灯总电路图
附录二汽车转向灯设计程序清单
ORG 0000H
AJMP START1
ORG 0030H
SAME EQU 4EH
START1: MOV P1,#00H ;无输入时输出
START: MOV A,P2 ;读P2口数据
ANL A,#3FH ;取P2口低6位数据
CJNE A,#3FH,SHIY ;对P2口低6位数据判断
AJMP START1
SHIY: MOV SAME,A
LCALL YS ;调用延时程序
MOV A,P2 ;读P2口数据
ANL A,#3FH ;取P2口低6位数据
CJNE A,#3FH,SHIY1 ;对P2口低6位数据判断
AJMP START1 ;开关无动作时无输出
SHIY1: CJNE A,SAME,START1
CJNE A,#37H,NEXT1 ;P2.3=0时进入左转弯分支
AJMP LEFT
NEXT1: CJNE A,#2FH,NEXT2 ;P2.4=0时进入右转弯分支
AJMP RIGHT
NEXT2: CJNE A,#3DH,NEXT3 ;P2.1=0时进入紧急分支
AJMP EARGE
NEXT3: CJNE A,#3EH,NEXT4 ;P2.0=0时进入刹车分支
AJMP BRAKE
NEXT4: CJNE A,#36H,NEXT5 ;P2.0=P2.3=0时进入左转弯刹车分支AJMP LEBR
NEXT5: CJNE A,#2EH,NEXT6 ;p2.0=P2.4=0时进入右转弯刹车分支AJMP RIBR
NEXT6: CJNE A,#3CH,NEXT7 ;P2.0=P2.1=0时进入紧急刹车分支ァ
AJMP BRER
NEXT7: CJNE A,#34H,NEXT8 ;P2.0=P2.1=P2.3=0时进入左转紧急刹车分支AJMP LBE
NEXT8: CJNE A,#2CH,NEXT9 ;P2.0=P2.1=P2.4=0时进入右转紧急刹车分支AJMP RBE
NEXT9: CJNE A,#3BH,NEXT10 ;P2.2=0时进入停靠分支
AJMP STOP
NEXT10: CJNE A,#1FH,NEXT11 ;p2.5=0时启动倒车
AJMP BACK
NEXT11: AJMP ERROR ;其他情况进入错误分支
LEFT: MOV P1,#2AH ;左转弯分支
LCALL Y1s
MOV P1,#00H
LCALL Y1s
AJMP START
RIGHT: MOV P1,#54H ;右转弯分支
LCALL Y1s
MOV P1,#00H
LCALL Y1s
AJMP START
EARGE: MOV P1,#7EH ;紧急分支
LCALL Y1s
MOV P1,#00H
LCALL Y1s
AJMP START
BRAKE: MOV P1,#60H ;刹车分支
AJMP START
LEBR: MOV P1,#6AH ;左转弯刹车分支
LCALL Y1s
MOV P1,#20H
LCALL Y1s
AJMP START
RIBR: MOV P1,#74H ;右转弯刹车分支
LCALL Y1s
MOV P1,#40H
LCALL Y1s
AJMP START
BRER: MOV P1,#7EH ;紧急刹车分支
LCALL Y1s
MOV P1,#60H
LCALL Y1s
AJMP START
LBE: MOV P1,#7EH ;左转紧急刹车分支LCALL Y1s
MOV P1,#20H
LCALL Y1s
AJMP START
RBE: MOV P1,#7EH ;右转紧急刹车分支LCALL Y1s
MOV P1,#40H
LCALL Y1s
AJMP START
STOP: MOV P1,#66H ;停靠分支
LCALL Y1s
MOV P1,#00H
LCALL Y1s
AJMP START
BACK: MOV P1,#80H ;倒车分支
LCALL Y1s
MOV P1,#00H
LCALL Y1s
AJMP START
ERROR: MOV P1,#01H ;错误分支
LCALL Y100ms
MOV P1,#00H
LCALL Y100ms
AJMP START
YS: MOV R7,#20H ;延时
YS0: MOV R6,#0FFH
YS1: DJNZ R6,YS1
DJNZ R7,YS0
RET
Y1s: MOV R7,#04H ;循环语句延时Y1s1: MOV R6,#0FFH
Y1s2: MOV R5,#0FFH
DJNZ R5,$
DJNZ R6,Y1s2
DJNZ R7,Y1s1
RET
Y100ms: MOV TMOD,#01H ;定时器延时
MOV TH1,#00H
MOV TL1,#00H
MOV IE,#00H
SETB TR1
Y100ms1: JBC TF1,Y100ms2
AJMP Y100ms1
Y100ms2: CLR TR1
RET
END
附录三主程序流程图
附录四汽车转向灯仿真图。

相关文档
最新文档