基于单片机的汽车转向灯设计文档格式.docx
《基于单片机的汽车转向灯设计文档格式.docx》由会员分享,可在线阅读,更多相关《基于单片机的汽车转向灯设计文档格式.docx(12页珍藏版)》请在冰点文库上搜索。
![基于单片机的汽车转向灯设计文档格式.docx](https://file1.bingdoc.com/fileroot1/2023-5/9/271491a1-e64f-4580-8ac0-30164382139e/271491a1-e64f-4580-8ac0-30164382139e1.gif)
转向时,规定左右尾灯、左右头灯仪表板上2个指示灯相应地发出闪烁信号;
应急开关合上时,6个信号灯都应闪烁;
汽车刹车时,2个尾灯发出稳定亮信号;
如正当转向时刹车,转向时原应闪烁的信号仍应闪烁。
它们都是低频闪烁,任何上述之外的开关组合,都将出现故障指示灯闪烁,闪烁频率为高频且发出警报声,按下相应复位键警报声与指示灯解除,之后可及时排查电路问题。
系统组成框图如图1所示。
图1系统组成框图
2.2单片机系统的工作原理
2.2.1开关状态检测
开关状态检测,对AT89C51来说是输入关系,可轮流检测每个开关状态,以每个开关的状态让相应的发光二极管指示;
也可以一次性检测六路开关状态,即用MOVA,P2指令一次性把P2端口的状态全部读入,取低6位的状态来指示,根据此选择分支。
2.2.2输出控制
发光二极管由D1-D8来指示,设计用指令MOVP1,#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闪烁;
按5右转弯、1刹车、2紧急键,D2、D3、D5、D6、D8闪烁,D7亮。
除上述情况以外的其他操作,发生错误,蜂鸣器响,D1闪烁,按复位键停止。
以刹车状态仿真为例如附录四所示。
4总结
我本次课程设计的题目为“汽车转向灯”,选题之后我从网上查阅了相关资料,参考了许多前辈的设计,体会了其中的思想。
最终按着老师的要求设计出相关控制电路和程序。
在设计的过程中也遇到了很多的问题。
首先是在程序的设计上,在延时程序中为了到达预期的闪烁频率测试修改了多次,花了很长时间,最终采取定时器和指令循环两种延时方式最终实现了LED以分别以高频和低频闪烁。
在硬件方面我在基本功能的基础上加上了警报功能,复习了模电与数电的知识。
这次课设Visio、Proteus、Keil等一系列软件,加强了自己的操作水平。
总而言之,通过这次课设,我不仅进一步熟悉掌握了单片机和其他电路方面的知识,同时跟老师和同学学到的很多知识也使我受益匪浅。
参考文献
[1]王思明.单片机原理及应用系统设计[M].北京:
科学出版社,2012.
[2]封志存.模拟电子技术[M].兰州:
兰州大学出版社,2003.
[3]李积英.数字电子技术[M].北京:
中国电力出版社,2011.
附录一汽车转向灯总电路图
附录二汽车转向灯设计程序清单
ORG0000H
AJMPSTART1
ORG0030H
SAMEEQU4EH
START1:
MOVP1,#00H;
无输入时输出
START:
MOVA,P2;
读P2口数据
ANLA,#3FH;
取P2口低6位数据
CJNEA,#3FH,SHIY;
对P2口低6位数据判断
SHIY:
MOVSAME,A
LCALLYS;
调用延时程序
CJNEA,#3FH,SHIY1;
AJMPSTART1;
开关无动作时无输出
SHIY1:
CJNEA,SAME,START1
CJNEA,#37H,NEXT1;
P2.3=0时进入左转弯分支
AJMPLEFT
NEXT1:
CJNEA,#2FH,NEXT2;
P2.4=0时进入右转弯分支
AJMPRIGHT
NEXT2:
CJNEA,#3DH,NEXT3;
P2.1=0时进入紧急分支
AJMPEARGE
NEXT3:
CJNEA,#3EH,NEXT4;
P2.0=0时进入刹车分支
AJMPBRAKE
NEXT4:
CJNEA,#36H,NEXT5;
P2.0=P2.3=0时进入左转弯刹车分支
AJMPLEBR
NEXT5:
CJNEA,#2EH,NEXT6;
p2.0=P2.4=0时进入右转弯刹车分支
AJMPRIBR
NEXT6:
CJNEA,#3CH,NEXT7;
P2.0=P2.1=0时进入紧急刹车分支?
AJMPBRER
NEXT7:
CJNEA,#34H,NEXT8;
P2.0=P2.1=P2.3=0时进入左转紧急刹车分支
AJMPLBE
NEXT8:
CJNEA,#2CH,NEXT9;
P2.0=P2.1=P2.4=0时进入右转紧急刹车分支
AJMPRBE
NEXT9:
CJNEA,#3BH,NEXT10;
P2.2=0时进入停靠分支
AJMPSTOP
NEXT10:
CJNEA,#1FH,NEXT11;
p2.5=0时启动倒车
AJMPBACK
NEXT11:
AJMPERROR;
其他情况进入错误分支
LEFT:
MOVP1,#2AH;
左转弯分支
LCALLY1s
MOVP1,#00H
AJMPSTART
RIGHT:
MOVP1,#54H;
右转弯分支
EARGE:
MOVP1,#7EH;
紧急分支
BRAKE:
MOVP1,#60H;
刹车分支
LEBR:
MOVP1,#6AH;
左转弯刹车分支
MOVP1,#20H
RIBR:
MOVP1,#74H;
右转弯刹车分支
MOVP1,#40H
BRER:
MOVP1,#7EH;
紧急刹车分支
MOVP1,#60H
LBE:
左转紧急刹车分支
RBE:
右转紧急刹车分支
STOP:
MOVP1,#66H;
停靠分支
BACK:
MOVP1,#80H;
倒车分支
ERROR:
MOVP1,#01H;
错误分支
LCALLY100ms
YS:
MOVR7,#20H;
延时
YS0:
MOVR6,#0FFH
YS1:
DJNZR6,YS1
DJNZR7,YS0
RET
Y1s:
MOVR7,#04H;
循环语句延时
Y1s1:
Y1s2:
MOVR5,#0FFH
DJNZR5,$
DJNZR6,Y1s2
DJNZR7,Y1s1
Y100ms:
MOVTMOD,#01H;
定时器延时
MOVTH1,#00H
MOVTL1,#00H
MOVIE,#00H
SETBTR1
Y100ms1:
JBCTF1,Y100ms2
AJMPY100ms1
Y100ms2:
CLRTR1
RET
END
附录三主程序流程图
附录四汽车转向灯仿真图