汽车转弯信号灯.doc

上传人:本田雅阁 文档编号:2526232 上传时间:2019-04-05 格式:DOC 页数:15 大小:381.02KB
返回 下载 相关 举报
汽车转弯信号灯.doc_第1页
第1页 / 共15页
汽车转弯信号灯.doc_第2页
第2页 / 共15页
汽车转弯信号灯.doc_第3页
第3页 / 共15页
汽车转弯信号灯.doc_第4页
第4页 / 共15页
汽车转弯信号灯.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《汽车转弯信号灯.doc》由会员分享,可在线阅读,更多相关《汽车转弯信号灯.doc(15页珍藏版)》请在三一文库上搜索。

1、1 引言 车灯是行车安全的必备件,除了具有照明作用,对行人和其他车辆还具有转向、 刹车等警示作用。汽车转向和故障信号灯是汽车运动方向和车身状态的表示信号, 关系着汽车的安全问题,因此基于单片机的汽车转向灯控制器一直以来都是汽车电 子设计中的一个十分重要的领域。本设计是设计一个单片机控制系统,在汽车进行 左转弯、右转弯、刹车、合紧急开关、停靠、倒车等操作时,实现对各种信号指示 灯的控制。它主要是对单片机的并行输入/输出口电路的应用,通过 I/O 口控制发光 二极管的亮灭闪烁,加上一些串口电路按键电路驱动电路来模拟汽车尾灯 的功能并在 PC 机上显示此时的汽车行进状态。 汽车转弯或停靠时,相应的信

2、号灯要发出闪烁的灯光信号,目前国内广泛使用 电热式闪光器产生闪光信号。闪烁频率在 50110 次/分,但是一般控制在 6095 次/分之间。闪光器是通过调节镍铬丝的拉力和触点的间隙来满足频率要求的,灯泡 功率的大小也会影响闪烁频率,因此在更换闪光器或灯泡时调整比较困难。同时, 系统没有故检测,驾驶员无法知道车外的转向灯及故障指示灯是否点亮,从而影响 行车安全。到目前为止,我们还没有发现能检测灯丝断这种故障的有效方法。针对 上述问题,我们用 AT89C51 单片机设计了一套汽车转向灯控制系统。用 LED 产生闪 光信号,同时能自动检测信号灯故障。 2 目 录 引言引言 I I 1.目的和要求 1

3、 2.2.设计方案设计方案 1 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.3.硬件电路设计硬件电路设计 2 2 2.1 按键电路.2 2.2 时钟电路.3 2.3 复位电路.4 2.4 LED 显示电路.4 4.4.软件设计软件设计 4 4 5 5系统测试与结果分析系统测试与结果分析 6 6 6 6结论结论 8 8 附录附录 1 1、程序清单、程序清单1010 3 1. 目的要求 设计汽车转弯时的模拟信号灯控制系统并掌握定时器

4、外部中断技术等使用方法 2.设计方案 汽车转弯灯单片机控制系统电路是由单片机 AT89C51、复位、时钟、LED 显示电 路、按键电路构成等几部分组成。 2.1 系统设计 本设计要求在汽车进行左转弯、右转弯、刹车、合紧急开关、停靠、倒车等操 作时,实现对各种信号指示灯的控制。根据设计要求,制定总体的设计思想: 以单片机 AT89C51 为核心芯片通过控制 LED 的显示来模拟汽车转向灯,即用开关 K1-K6 的闭合分别模拟刹车、紧急、停靠、左转、右转、倒车操作;用 LED 发光二 极管 D1-D8 的亮灭显示来模拟汽车的故障指示灯、左头灯、右头灯、左转弯信号灯、 右转弯信号灯、左尾灯、右尾灯、

5、倒车灯的显示情况。转向时,规定左右尾灯、左 右头灯仪表板上 2 个指示灯相应地发出闪烁信号;应急开关合上时, 6 个信号灯都 应闪烁;汽车刹车时,2 个尾灯发出稳定亮信号;如正当转向时刹车,转向时原应 闪烁的信号仍应闪烁。它们都是频率为 1Hz 低频闪烁,在汽车停靠而停靠开关合上 时,左头灯、右头灯、左尾灯、右尾灯按频率为 30Hz 的高频闪烁。任何上述之外的 开关组合,都将出现故障指示灯闪烁,闪烁频率为 30Hz。 2.2 单片机系统的工作原理 2.2.1 开关状态检测 开关状态检测,对 AT89C51 来说是输入关系,可轮流检测每个开关状态,以每 个开关的状态让相应的发光二极管指示;也可以

6、一次性检测六路开关状态,即用 MOV A, P2 指令一次性把 P2 端口的状态全部读入,取低 6 位的状态来指示。 4 2.2.2 输出控制 以 LED 发光二极管 D1-D8 来指示,此设计用指令 MOV P1, #111XXXXXB 方法来 实现。 2.2.3 定时器和计数器 信号的控制是定时器与中断系统的联合使用得以实现的结果。在汽车转弯灯的 控制中主要利用 AT89C51 单片机的可编程定时/计数器、中断系统来实现灯闪烁的延 时和故障检测,即通过对系统时钟脉冲的计数来实现的,计数值由程序设定。 设计中利用定时器/计数器 0,一个软件计数器产生低频(1Hz)闪烁功能。利用 定时器/计数

7、器 0 来产生为时 30ms 的定时信号,以实现高频(30Hz)闪烁功能。 2.2.4 中断系统 通过 C51 的软件编程实现对中断系统的处理。利用 MCS-51 系列单片机的可编程 定时/计数器、中断系统来实现灯闪烁的延时和故障检测。当检测到操作错误,可以 利用中断系统请求 CPU 及时处理这些故障,实现对系统的实时控制,同时操作人员 可以利用键盘等实现中断,完成人工介入,实现人机联系。 2.2.5 汽车转向灯控制 在汽车转弯或应急状态下,外部信号灯和仪表板它们指示灯的闪烁频率为 1Hz,称低频信号。当停靠开关合上时,外部信号灯以 30Hz 频率闪烁此时为高频信 号。汽车转弯灯设计 6 个按

8、键控制信号灯的转向、停靠、应急等。按键安排为:K1 键为刹车开关;K2 键为紧急开关;K3 键为停靠开关;K4 键为左转弯开关;K5 键为 右转弯开关;K6 键为倒车开关。 3.硬件电路设计 3.1 按键电路 根据设计的要求,本设计选用独立式键盘。其工作原理为,单片机引脚作为输 入使用,首先置“1” 。当键没有被按下时,单片机引脚上为高电平;而当键被按下 去后,引脚接地,单片机引脚上为低电平。是否有键按下,以及被按下的是哪一个 5 可以通过单片机引脚电平显示出来。图 1 是电路板上按键的接法,6 个按键分别接 到 P2.0、P2.1、P2.2、P2.3、P2.4 和 P2.5。对于这种接法,各

9、程序可以采用不断 查询的方法,其功能就是:检测是否有键闭合,判断键号并转入相应的键处理。 图 1 按键控制电路 3.2 时钟电路 采用单片机内部晶振。如图 2 所示,在 MCS-51 系列单片机内部有一个高增益反 向放大器,其输入端为芯片引脚 XTAL1,输出端为引脚 XTAL2。而在芯片外部 XTAL1 和 XTAL2 之间跨接晶体振荡器和微调电容,形成反馈电路,就构成了一个稳定的自 激振荡器。外接晶体振荡器以及电容 C6 和 C7 构成并联谐振电路,接在放大器的反 馈回路中,C6 和 C7 的大小会对振荡器频率的高低、振荡器的稳定性、起振的快速 性和温度特性有一定的影响。 6 图 2 时钟

10、电路 3.3 复位电路 上电复位电路如图 3 所示,是利用外部复位电路实现。 振荡器启动时间不超过 10ms,在加电情况下,可以使单片机复位。电平复位将复位端通过电阻与 Vcc 相连, 按键脉冲复位是利用 RC 分电路产生正脉冲来达到复位的。在按键电平复位和按键脉 冲复位两种简单的复位电路中,干扰易串入复位端,会引起内部寄存器错误复位, 故可在复位端引脚上接一个去耦电容 C8。 图 3 复位电路 3.4 LED 显示电路 本设计单片机的 P1 口输出与 LED 发光二极管相连,当 AT89C51 单片机的 P1 引 脚是高电平时,LED 不亮,当 P1 引脚是低电平时,LED 亮。但是在汽车转

11、向灯里要 根据汽车方向来控制信号灯,而实现 LED 的亮与灭。 7 4.软件设计 汽车转向灯控制系统主程序流程图如图 4 所示,系统中断服务程序流程图如图 5 所示,键功能程序流程图如图 6 所示。 主程序中完成对汽车转向灯控制系统的初始化工作,判断是否有键被按下,当 开关没有动作时无输出,调用延时程序,延时 1s,当判断有开关被按下时,进入中 断。中断程序主要完成各开关按下时汽车转向灯信号的相应显示,其中也在各分支 中调用了延时程序,以使 LED 在不同的分支以相应的频率闪烁。 原理图按键连线: P2.0=刹车;P2.1=紧急; P2.2=停靠;P2.3=左转; P2.4=右转;P2.5=倒

12、车; 说明:键值是根据 P2 的状态来确定的。 例:P2=00111110,表明刹车键按下,它的键值是 3EH(只看后面六位) 。 汽车转向灯控制系统软件设计程序清单见附录二所示。 开始 定时器0赋初值 定时器0开中断 开总中断 启动定时器 有键按下? 等待 Y 无灯闪烁 N 开始 定时器0赋初值 键功能程序产生相应控制信号 返回 图 4 汽车转向灯控制系统主程序流程图 图 5 系统中断服务程序流程图 8 图 开始 是否有键值 读取键值 左 转 紧 急 刹 车 左 转 时 刹 车 左 转 紧 急 刹 车 刹 车 紧 急 停 靠 倒 车 故 障 信 号 左转开 关按下 P2.3=0 ? 刹车开

13、关按下 P2.0=0 ? 刹车开 关按下 P2.0=0 ? 紧急开 关按下 P2.1=0 ? 停靠开 关按下 P2.2=0 ? 倒车开 关按下 P2.5=0 ? 紧急开 关按下 P2.1=0 ? Y N Y N 右 转 紧 急 刹 车 右 转 时 刹 车 右 转 右转开 关按下 P2.4=0 ? 刹车开 关按下 P2.0=0 ? 紧急开 关按下 P2.1=0 ? Y N Y N 紧急开 关按下 P2.1=0 ? Y Y N NNNNNN Y N YYY Y 产生各自不同的LED显示信号 结束 Y 6 汽车转向灯控制系统键功能程序流程图 9 5系统测试与结果分析 在 Proteus 软件中,找到

14、所需要的元器件,调入后,连线,下载程序到 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、

15、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 汽车转向灯控制系统仿真图 10 6结论 我本次课程设计的题目为“基于单片机的汽车转向灯控制系统” ,选定题目之后 我首先去图书馆查阅了相关资料,又在网上搜集了一些与本次设计相关的知识点, 最终按着老师的要求设计出相关控制电路和程序。在设计的过程中

16、也遇到了很多的 问题。首先是在程序的设计上,由于所控制的分支太多,所以花了很长时间才整理 出程序,在三个不同时间的延时的设计过程中,由于自己忽略了定时器选择的定时 模式,导致了延时计算的错误,在经过同学指点后多次计算终于实现了 LED 以 10Hz 和 30Hz 频率闪烁;其次在软件的安装方面,这次课设需要用到 Visio 画图软件, Proteus、Keil 仿真软件等一系列软件,因为电脑的问题致使安装的时候出现了各 种状况,但在同学的帮助下最后还是安装成功;最后就是在仿真时,由于对软件环 境不熟悉,不过在请教老师之后最终完成仿真。 通过这次课设,我不仅进一步熟悉掌握了一些常用的软件,而且对

17、以前所学单 片机的知识有了更深层次的理解和巩固,同时跟老师和同学学到的很多知识也使我 受益匪浅。 11 附录 1、程序清单 ORG 0000H AJMPSTART1 ORG 0030H SAME EQU4EH START1:MOVP1,#00H;无输入时输出 START:MOVA,P2;读 P2 口数据 ANLA,#3FH;取用 P2 口的低 6 位数据 CJNEA,#3FH,SHIY;对 P2 口低 6 位数据进行判断 AJMPSTART1 SHIY:MOVSAME,A LCALL YS;延时 MOVA,P2;读 P2 口的数据 ANLA,#3FH;取用 P2 口的低 6 位数据 CJNEA

18、,#3FH,SHIY1 ;对 P2 口低 6 位数据进行判断 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.

19、3=0 时进入左转弯刹车分支 AJMPLEBR 12 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 时进入停靠分支

20、 AJMPSTOP NEXT10:CJNE A,#1FH,NEXT11 ;p2.5=0 时启动倒车 AJMP BACK NEXT11:AJMP ERROR ;其他情况进入错误分支 LEFT:MOVP1,#2AH;左转弯分支 LCALL Y1s MOVP1,#00H LCALL Y1s AJMPSTART RIGHT:MOVP1,#54H;右转弯分支 LCALL Y1s MOVP1,#00H LCALL Y1s AJMPSTART EARGE:MOVP1,#7EH;紧急分支 LCALL Y1s MOVP1,#00H LCALL Y1s AJMPSTART BRAKE:MOVP1,#60H;刹车分

21、支 13 AJMPSTART LEBR: MOV P1,#6AH ;左转弯刹车分支 LCALL Y1s MOVP1,#20H LCALL Y1s AJMPSTART RIBR:MOVP1,#74H ;右转弯刹车分支 LCALL Y1s MOVP1,#40H LCALL Y1s AJMPSTART BRER: MOVP1,#7EH ;紧急刹车分支 LCALL Y1s MOVP1,#60H LCALL Y1s AJMPSTART LBE:MOVP1,#7EH ;左转弯紧急刹车分支 LCALL Y1s MOVP1,#20H LCALL Y1s AJMPSTART RBE:MOVP1,#76H;右转弯

22、紧急刹车分支 LCALL Y1s MOVP1,#40H LCALL Y1s AJMPSTART STOP: MOVP1,#66H;停靠分支 LCALL Y1s MOVP1,#00H 14 LCALL Y1s AJMPSTART BACK: MOV P1,#80H LCALL Y1s MOV P1,#00H LCALL Y1s AJMP START ERROR:MOVP1,#01H LCALL Y1s MOVP1,#00H LCALL Y1s AJMPSTART YS:MOVR7,#20H;延时 YS0:MOVR6,#0FFH YS1:DJNZR6,YS1 DJNZR7,YS0 RET Y1s: MOVR7,#04H;延时 Y1s1:MOVR6,#0FFH Y1s2:MOVR5,#0FFH DJNZR5,$ DJNZR6,Y1s2 DJNZR7,Y1s1 RET Y100ms:MOVR7,#66H ;延时 Y100ms1:MOV R6,#0FFH Y100ms2:DJNZ R6,Y100ms2 DJNZR7,Y100ms1 RET 15 END

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1