1、- -单片机原理及系统课程设计评语:考勤10分守纪10分过程30分设计报告30分辩论20分总成绩100分基于单片机的汽车转向灯设计1引言在当今社会,科技与工业高度兴旺,汽车的数量逐年增多,街上的每一个角落都充满它们的身影,但凡事都有两面性,汽车在方便了人们的生活也对交通方面和人身平安构成了威胁,为此我们应该采取有效的方法来减少事故的发生概率和提高车辆的运行效率。因此汽车转向灯便成为每一辆汽车必不可少的装置设备。汽车转向灯是行车平安的必备条件,除了具有照明作用,对行人和其他车辆还具有转向、会车、刹车等警示作用。传统的汽车转向灯由于自身条件的限制,可靠性低,定时时间不够准确,使用寿命较短,且继电器
2、受温度影响较大,对于温度变化较大的环境往往不能满足要求。所以本文中汽车转向灯设计是用单片机来实现的,单片机控制系统不仅可防止传统的缺点,还具有功能强、使用灵活、可靠性高、本钱低、体积小、面向控制、具有智能化功能等优点。2设计方案及原理本设计要求在汽车进展左转弯、右转弯、刹车、合紧急开关、停靠、倒车等操作时,实现对各种信号指示灯的控制。根据设计要求,制定总体的设计思想。汽车转向灯电路是由单片机AT89C51、复位、警报、LED显示电路、按键电路等几局部构成。2.1系统设计以单片机AT89C51为核心芯片通过控制LED的显示来模拟汽车转向灯,即用开关1-6的闭合分别模拟刹车、紧急、停靠、左转、右转
3、、倒车操作;用LED发光二极管D1-D8的亮灭显示来模拟汽车的故障指示灯、左头灯、右头灯、左转弯信号灯、右转弯信号灯、左尾灯、右尾灯、倒车灯的显示情况。转向时,规定左右尾灯、左右头灯仪表板上2个指示灯相应地发出闪烁信号;应急开关合上时,6个信号灯都应闪烁;汽车刹车时,2个尾灯发出稳定亮信号;如正当转向时刹车,转向时原应闪烁的信号仍应闪烁。它们都是低频闪烁,任何上述之外的开关组合,都将出现故障指示灯闪烁,闪烁频率为高频且发出警报声,按下相应复位键警报声与指示灯解除,之后可及时排查电路问题。系统组成框图如图1所示。图1系统组成框图2.2单片机系统的工作原理2.2.1开关状态检测开关状态检测,对AT
4、89C51来说是输入关系,可轮流检测每个开关状态,以每个开关的状态让相应的发光二极管指示;也可以一次性检测六路开关状态,即用MOV A, P2指令一次性把P2端口的状态全部读入,取低6位的状态来指示,根据此选择分支。2.2.2输出控制发光二极管由D1-D8来指示,设计用指令MOV P1,#111XXXXXB方法来实现选择。2.2.3定时器信号的控制是定时器得以实现的结果。在汽车转弯灯的控制中主要利用AT89C51单片机的可编程定时器来实现灯闪烁的延时,即通过对系统时钟脉冲的计数来实现的,计数值由程序设定。利用定时器,产生高频闪烁功能。2.2.4循环系统通过语句的反复调用和循环来到达主程序循环,
5、并产生低频闪烁功能。2.2.5汽车转向灯控制在汽车转弯、停靠或应急状态下,外部信号灯和仪表板它们指示灯的闪烁频率为低频信号。当发生错误时,信号灯频率闪烁此时为高频信号。汽车转弯灯设计6个按键控制信号灯的转向、停靠、应急等。按键安排为:1键为刹车开关;2键为紧急开关;3键为停靠开关;4键为左转弯开关;5键为右转弯开关;6键为倒车开关。2.3 汽车转向灯控制系统的硬件设计2.3.1按键电路本设计选用拨动开关,单片机引脚作为输入使用,首先置“1。当键没有被按下时,单片机引脚上为高电平;而当键被按下去后,引脚接地,单片机引脚上为低电平。是否有键按下,以及被按下的是哪一个可以通过单片机引脚电平显示出来。
6、图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有功率放大的驱动和反相的功
7、能。当单片机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的状态来确
8、定的。例:P2=00111110,说明刹车键按下,它的键值是3EH只看后面六位。汽车转向灯设计程序清单如附录二所示。2.5.2指示灯电路流程图图5指示灯电路流程图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
9、紧急键,D2、D3、D4、D5、D7闪烁;D6亮;按5右转弯、1刹车、2紧急键,D2、D3、D5、D6、D8闪烁,D7亮。除上述情况以外的其他操作,发生错误,蜂鸣器响,D1闪烁,按复位键停顿。以刹车状态仿真为例如附录四所示。4总结我本次课程设计的题目为“汽车转向灯,选题之后我从网上查阅了相关资料,参考了许多前辈的设计,体会了其中的思想。最终按着教师的要求设计出相关控制电路和程序。在设计的过程中也遇到了很多的问题。首先是在程序的设计上,在延时程序中为了到达预期的闪烁频率测试修改了屡次,花了很长时间,最终采取定时器和指令循环两种延时方式最终实现了LED以分别以高频和低频闪烁。在硬件方面我在根本功能
10、的根底上加上了警报功能,复习了模电与数电的知识。这次课设Visio、Proteus、Keil等一系列软件,加强了自己的操作水平。总而言之,通过这次课设,我不仅进一步熟悉掌握了单片机和其他电路方面的知识,同时跟教师和同学学到的很多知识也使我受益匪浅。参考文献1 王思明.单片机原理及应用系统设计M.:科学,2021.2 封志存.模拟电子技术M.:大学,2003.3 积英.数字电子技术M.:中国电力,2021.附录一汽车转向灯总电路图附录二汽车转向灯设计程序清单ORG0000HAJMPSTART1ORG 0030HSAMEEQU4EHSTART1:MOVP1,#00H ;无输入时输出START:MO
11、V A,P2;读P2口数据ANL A,#3FH;取P2口低6位数据CJNE A,#3FH,SHIY;对P2口低6位数据判断AJMPSTART1SHIY:MOV SAME,ALCALL YS;调用延时程序MOVA,P2;读P2口数据ANLA,#3FH;取P2口低6位数据CJNEA,#3FH,SHIY1;对P2口低6位数据判断AJMPSTART1;开关无动作时无输出SHIY1:CJNEA,SAME,START1CJNEA,#37H,NEXT1;P2.3=0时进入左转弯分支AJMPLEFTNEXT1: CJNEA,#2FH,NEXT2;P2.4=0时进入右转弯分支AJMPRIGHTNEXT2:CJN
12、EA,#3DH,NEXT3;P2.1=0时进入紧急分支AJMPEARGENEXT3:CJNEA,#3EH,NEXT4;P2.0=0时进入刹车分支AJMPBRAKENEXT4:CJNEA,#36H,NEXT5;P2.0=P2.3=0时进入左转弯刹车分支AJMPLEBRNEXT5:CJNEA,#2EH,NEXT6;p2.0=P2.4=0时进入右转弯刹车分支AJMPRIBRNEXT6:CJNEA,#3CH,NEXT7;P2.0=P2.1=0时进入紧急刹车分支AJMPBRERNEXT7:CJNEA,#34H,NEXT8;P2.0=P2.1=P2.3=0时进入左转紧急刹车分支AJMPLBENEXT8:C
13、JNEA,#2CH,NEXT9;P2.0=P2.1=P2.4=0时进入右转紧急刹车分支AJMPRBENEXT9:CJNEA,#3BH,NEXT10;P2.2=0时进入停靠分支AJMPSTOPNEXT10:CJNE A,#1FH,NEXT11 ;p2.5=0时启动倒车AJMP BACKNEXT11:AJMP ERROR ;其他情况进入错误分支 LEFT:MOVP1,#2AH;左转弯分支LCALLY1sMOVP1,#00HLCALLY1sAJMPSTARTRIGHT:MOVP1,#54H;右转弯分支LCALLY1sMOVP1,#00HLCALLY1sAJMPSTARTEARGE:MOVP1,#7E
14、H;紧急分支LCALLY1sMOVP1,#00HLCALLY1sAJMPSTARTBRAKE:MOVP1,#60H;刹车分支AJMPSTARTLEBR:MOV P1,#6AH ;左转弯刹车分支LCALLY1sMOVP1,#20HLCALLY1sAJMPSTARTRIBR:MOVP1,#74H ;右转弯刹车分支LCALLY1sMOVP1,#40HLCALLY1sAJMPSTARTBRER:MOVP1,#7EH;紧急刹车分支LCALLY1sMOVP1,#60HLCALLY1sAJMPSTARTLBE:MOVP1,#7EH;左转紧急刹车分支LCALLY1sMOVP1,#20HLCALLY1sAJMP
15、STARTRBE:MOVP1,#7EH;右转紧急刹车分支LCALLY1sMOVP1,#40HLCALLY1sAJMPSTARTSTOP:MOVP1,#66H;停靠分支LCALLY1sMOVP1,#00HLCALLY1sAJMPSTARTBACK: MOV P1,#80H ;倒车分支LCALL Y1sMOV P1,#00HLCALL Y1sAJMP STARTERROR:MOVP1,#01H ;错误分支LCALLY100msMOVP1,#00HLCALLY100msAJMPSTARTYS:MOVR7,#20H;延时YS0:MOVR6,#0FFHYS1:DJNZR6,YS1DJNZR7,YS0RETY1s:MOVR7,#04H;循环语句延时Y1s1:MOVR6,#0FFHY1s2:MOVR5,#0FFHDJNZR5,$DJNZR6,Y1s2DJNZR7,Y1s1RETY100ms:MOV TMOD,#01H ;定时器延时MOV TH1,#00H MOV TL1,#00HMOV IE,#00HSETB TR1Y100ms1:C TF1,Y100ms2AJMP Y100ms1Y100ms2:CLR TR1RETEND附录三主程序流程图附录四汽车转向灯仿真图- word.zl