收藏 分销(赏)

汽车转弯 信号灯.doc

上传人:xrp****65 文档编号:5903983 上传时间:2024-11-23 格式:DOC 页数:15 大小:381KB 下载积分:10 金币
下载 相关 举报
汽车转弯 信号灯.doc_第1页
第1页 / 共15页
汽车转弯 信号灯.doc_第2页
第2页 / 共15页


点击查看更多>>
资源描述
引言 车灯是行车安全的必备件,除了具有照明作用,对行人和其他车辆还具有转向、刹车等警示作用。汽车转向和故障信号灯是汽车运动方向和车身状态的表示信号,关系着汽车的安全问题,因此基于单片机的汽车转向灯控制器一直以来都是汽车电子设计中的一个十分重要的领域。本设计是设计一个单片机控制系统,在汽车进行左转弯、右转弯、刹车、合紧急开关、停靠、倒车等操作时,实现对各种信号指示灯的控制。它主要是对单片机的并行输入/输出口电路的应用,通过I/O口控制发光二极管的亮﹑灭﹑闪烁,加上一些串口电路﹑按键电路﹑驱动电路来模拟汽车尾灯的功能并在PC机上显示此时的汽车行进状态。 汽车转弯或停靠时,相应的信号灯要发出闪烁的灯光信号,目前国内广泛使用电热式闪光器产生闪光信号。闪烁频率在 50~110 次/分,但是一般控制在 60~95 次/分之间。闪光器是通过调节镍铬丝的拉力和触点的间隙来满足频率要求的,灯泡功率的大小也会影响闪烁频率,因此在更换闪光器或灯泡时调整比较困难。同时,系统没有故检测,驾驶员无法知道车外的转向灯及故障指示灯是否点亮,从而影响行车安全。到目前为止,我们还没有发现能检测灯丝断这种故障的有效方法。针对上述问题,我们用AT89C51单片机设计了一套汽车转向灯控制系统。用LED产生闪光信号,同时能自动检测信号灯故障。 目 录 引言 I 1.目的和要求 1 2.设计方案 1 1.1系统设计 1 1.2 单片机系统的工作原理 1 1.2.1开关状态检测 1 1.2.2输出控制 1 1.2.3定时器和计数器 2 1.2.4中断系统 2 1.2.5汽车转向灯控制 2 3.硬件电路设计 2 2.1按键电路 2 2.2时钟电路 3 2.3复位电路 4 2.4 LED显示电路 4 4.软件设计 4 5.系统测试与结果分析 6 6.结论 8 附录1、程序清单 10 1. 目的要求 设计汽车转弯时的模拟信号灯控制系统并掌握定时器 外部中断技术等使用方法 2.设计方案 汽车转弯灯单片机控制系统电路是由单片机AT89C51、复位、时钟、LED显示电路、按键电路构成等几部分组成。 2.1系统设计 本设计要求在汽车进行左转弯、右转弯、刹车、合紧急开关、停靠、倒车等操作时,实现对各种信号指示灯的控制。根据设计要求,制定总体的设计思想: 以单片机AT89C51为核心芯片通过控制LED的显示来模拟汽车转向灯,即用开关K1-K6的闭合分别模拟刹车、紧急、停靠、左转、右转、倒车操作;用LED发光二极管D1-D8的亮灭显示来模拟汽车的故障指示灯、左头灯、右头灯、左转弯信号灯、右转弯信号灯、左尾灯、右尾灯、倒车灯的显示情况。转向时,规定左右尾灯、左右头灯仪表板上2个指示灯相应地发出闪烁信号;应急开关合上时, 6个信号灯都应闪烁;汽车刹车时,2个尾灯发出稳定亮信号;如正当转向时刹车,转向时原应闪烁的信号仍应闪烁。它们都是频率为1Hz低频闪烁,在汽车停靠而停靠开关合上时,左头灯、右头灯、左尾灯、右尾灯按频率为30Hz的高频闪烁。任何上述之外的开关组合,都将出现故障指示灯闪烁,闪烁频率为30Hz。 2.2 单片机系统的工作原理 2.2.1开关状态检测 开关状态检测,对AT89C51来说是输入关系,可轮流检测每个开关状态,以每个开关的状态让相应的发光二极管指示;也可以一次性检测六路开关状态,即用MOV A, P2 指令一次性把P2 端口的状态全部读入,取低6位的状态来指示。 2.2.2输出控制 以LED发光二极管D1--D8 来指示,此设计用指令MOV P1, #111XXXXXB 方法来实现。 2.2.3定时器和计数器 信号的控制是定时器与中断系统的联合使用得以实现的结果。在汽车转弯灯的控制中主要利用AT89C51单片机的可编程定时/计数器、中断系统来实现灯闪烁的延时和故障检测,即通过对系统时钟脉冲的计数来实现的,计数值由程序设定。 设计中利用定时器/计数器0,一个软件计数器产生低频(1Hz)闪烁功能。利用定时器/计数器0来产生为时30ms的定时信号,以实现高频(30Hz)闪烁功能。 2.2.4中断系统 通过C51的软件编程实现对中断系统的处理。利用MCS-51系列单片机的可编程定时/计数器、中断系统来实现灯闪烁的延时和故障检测。当检测到操作错误,可以利用中断系统请求CPU及时处理这些故障,实现对系统的实时控制,同时操作人员可以利用键盘等实现中断,完成人工介入,实现人机联系。 2.2.5汽车转向灯控制 在汽车转弯或应急状态下,外部信号灯和仪表板它们指示灯的闪烁频率为1Hz,称低频信号。当停靠开关合上时,外部信号灯以30Hz频率闪烁此时为高频信号。汽车转弯灯设计6个按键控制信号灯的转向、停靠、应急等。按键安排为:K1键为刹车开关;K2键为紧急开关;K3键为停靠开关;K4键为左转弯开关;K5键为右转弯开关;K6键为倒车开关。 3.硬件电路设计 3.1按键电路 根据设计的要求,本设计选用独立式键盘。其工作原理为,单片机引脚作为输入使用,首先置“1”。当键没有被按下时,单片机引脚上为高电平;而当键被按下去后,引脚接地,单片机引脚上为低电平。是否有键按下,以及被按下的是哪一个可以通过单片机引脚电平显示出来。图1是电路板上按键的接法,6个按键分别接到P2.0、P2.1、P2.2、P2.3、P2.4和P2.5。对于这种接法,各程序可以采用不断查询的方法,其功能就是:检测是否有键闭合,判断键号并转入相应的键处理。 图1 按键控制电路 3.2时钟电路 采用单片机内部晶振。如图2所示,在MCS-51系列单片机内部有一个高增益反向放大器,其输入端为芯片引脚XTAL1,输出端为引脚XTAL2。而在芯片外部XTAL1和 XTAL2之间跨接晶体振荡器和微调电容,形成反馈电路,就构成了一个稳定的自激振荡器。外接晶体振荡器以及电容C6和C7构成并联谐振电路,接在放大器的反馈回路中,C6和C7的大小会对振荡器频率的高低、振荡器的稳定性、起振的快速性和温度特性有一定的影响。 图2 时钟电路 3.3复位电路 上电复位电路如图3所示,是利用外部复位电路实现。 振荡器启动时间不超过10ms,在加电情况下,可以使单片机复位。电平复位将复位端通过电阻与Vcc相连,按键脉冲复位是利用RC分电路产生正脉冲来达到复位的。在按键电平复位和按键脉冲复位两种简单的复位电路中,干扰易串入复位端,会引起内部寄存器错误复位,故可在复位端引脚上接一个去耦电容C8。 图3 复位电路 3.4 LED显示电路 本设计单片机的P1口输出与LED发光二极管相连,当AT89C51单片机的P1引脚是高电平时,LED不亮,当P1引脚是低电平时,LED亮。但是在汽车转向灯里要根据汽车方向来控制信号灯,而实现LED的亮与灭。 4.软件设计 汽车转向灯控制系统主程序流程图如图4所示,系统中断服务程序流程图如图5所示,键功能程序流程图如图6所示。 主程序中完成对汽车转向灯控制系统的初始化工作,判断是否有键被按下,当开关没有动作时无输出,调用延时程序,延时1s,当判断有开关被按下时,进入中断。中断程序主要完成各开关按下时汽车转向灯信号的相应显示,其中也在各分支中调用了延时程序,以使LED在不同的分支以相应的频率闪烁。 原理图按键连线: P2.0=刹车;P2.1=紧急; P2.2=停靠;P2.3=左转; P2.4=右转;P2.5=倒车; 说明:键值是根据P2的状态来确定的。 例:P2=00111110,表明刹车键按下,它的键值是3EH(只看后面六位)。 汽车转向灯控制系统软件设计程序清单见附录二所示。 图4 汽车转向灯控制系统主程序流程图 图5系统中断服务程序流程图 图6 汽车转向灯控制系统键功能程序流程图 5.系统测试与结果分析 在Proteus软件中,找到所需要的元器件,调入后,连线,下载程序到AT89C51芯片中,运行可看到相应的信号灯亮或闪烁,具体仿真图见附录三。操作说明如下: (1)按K1刹车键,D6、D7相应信号灯亮; (2)按K2紧急键,D2、D3、D4、D5、D6、D7相应信号灯闪烁; (3)按K3停靠键,D2、D3、 D6、D7闪烁; (4)按K4左转弯键,D2、D4、D6闪烁; (5)按K5右转弯键,D3、D5、D7闪烁; (6)按K6倒车键,D8闪烁; (7)按K1刹车、K2紧急键,D2、D3、D4、D5闪烁;D6、D7亮; (8)按K4左转弯、K1刹车键,D2、D4、D7闪烁;D6亮; (9)按K5右转弯、K1刹车键,D3、D5、D6闪烁;D7亮; (10)按K4左转弯、K1刹车、K2紧急键,D2、D3、D4、D5、D7闪烁;D6亮; (11)按K5右转弯、K1刹车、K2紧急键,D2、D3、D5、D6、D8闪烁,D7亮。 (12)除上述情况以外的其他操作,D1闪烁。 图7汽车转向灯控制系统仿真图 6.结论 我本次课程设计的题目为“基于单片机的汽车转向灯控制系统”,选定题目之后我首先去图书馆查阅了相关资料,又在网上搜集了一些与本次设计相关的知识点,最终按着老师的要求设计出相关控制电路和程序。在设计的过程中也遇到了很多的问题。首先是在程序的设计上,由于所控制的分支太多,所以花了很长时间才整理出程序,在三个不同时间的延时的设计过程中,由于自己忽略了定时器选择的定时模式,导致了延时计算的错误,在经过同学指点后多次计算终于实现了LED以10Hz和30Hz频率闪烁;其次在软件的安装方面,这次课设需要用到Visio画图软件,Proteus、Keil仿真软件等一系列软件,因为电脑的问题致使安装的时候出现了各种状况,但在同学的帮助下最后还是安装成功;最后就是在仿真时,由于对软件环境不熟悉,不过在请教老师之后最终完成仿真。 通过这次课设,我不仅进一步熟悉掌握了一些常用的软件,而且对以前所学单片机的知识有了更深层次的理解和巩固,同时跟老师和同学学到的很多知识也使我受益匪浅。 15 附录1、程序清单 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,#76H ;右转弯紧急刹车分支 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 Y1s MOV P1,#00H LCALL Y1s 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 R7,#66H ;延时 Y100ms1:MOV R6,#0FFH Y100ms2:DJNZ R6,Y100ms2 DJNZ R7,Y100ms1 RET END
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 环境建筑 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服