产品知识

单片机汽车转向灯设计

来源:未知作者:幸运飞艇 日期:2019-12-12 点击:

  单片机汽车转向灯设计_电子/电路_工程科技_专业资料。单片机课程设计 题 目: 汽车转向灯控制 电气 073 班 刘赓然 200708902 苟军年 2009.12.31 班 级: 姓 名: 学 号: 指导教师: 设计时间: 评语: 成绩 中文摘

  单片机课程设计 题 目: 汽车转向灯控制 电气 073 班 刘赓然 200708902 苟军年 2009.12.31 班 级: 姓 名: 学 号: 指导教师: 设计时间: 评语: 成绩 中文摘要 随着社会的不断发展, 汽车逐渐成为现代社会的一种重要交通工具。车灯是 行车安全的必备件,●△▪️▲□△除了具有照明作用,还具有转向、刹车等警示作用。汽车转 向和报警信号灯是汽车运动方向和车身状态的表示信号, 关系着汽车的安全问题, 因此基于单片机的汽车转向灯控制器的设计一直以来都是汽车电子设计中的一 个十分重要的领域。 本设计采用微控制器对转向灯进行控制, 微控制器可靠性高, 定时时间精确,还可以承受一定的温度变化,基本不受周围环境的影响,不仅可 以达到精确控制的目的, 而且使用寿命也大大延长。本文详细阐述了汽车转向灯 控制器的硬件设计和软件设计过程, 其中包括功率驱动和故障检测等主要硬件设 计电路,绘制软件流程图等。 关键词:汽车电子;微控制器;功率驱动;故障检测 1. 绪论 1.1 引言 车灯是行车安全的必备件, 除了具有照明作用,口▲=○▼对行人和其他车辆还具有转 向、会车、刹车等警示作用。其中汽车转向灯的控制就是一例。汽车转向和报警 信号灯是汽车运动方向和车身状态的表示信号,关系着汽车的安全问题,因此基 于单片机的汽车转向灯控制器的一直以来都是汽车电子设计中的一个十分重要 的领域。 汽车灯光除照明外. 还有一些是信号灯,作为对其它车辆或行人的灯光信号 标志。常用的信号灯有转向灯、转向辅助灯、故障警告灯、转向指示灯以及倒车 报警灯等。 传统的汽车闪光器结构简单体积小、闪光频率稳定、监控作用明显,故被广 泛使用。但这样的继电器由于自身条件的限制,可靠性低,定时时间不够精确, 使用寿命较短, 继电器受温度影响较大,对于温度变化较大的环境往往不能满足 要求,而采用 MCU(微控制器)控制的转向灯控制器可避免此类问题的出现, 此类控制器具有较高的可靠性, 定时时间精确度高, 还可以承受一定的温度变化。 此类控制器采用电子控制原理, 基本不受周围环境的影响,不仅可以达到精确控 制的目的,而且使用寿命也大大延长。MCU(微控制器)是整个控制系统的核心 部分,它的选择决定了系统的软件开发环境以及硬件连接方式等一系列的问题。 1.2 设计内容 模拟汽车在驾驶中的左转弯、右转弯、刹车、合紧急开关、停靠等操作。在 左转弯或右转弯时, 通过转弯操作杆使左转弯或右转弯开关合上,▼▲从而使左头信 号灯、仪表板的左转弯灯、左尾信号灯或右头信号灯、仪表板的右转弯信号灯、 右尾信号灯闪烁;闭合紧急开关时以上六个信号灯全部闪烁;汽车刹车时,左右 两个尾信号灯点亮;若正当转弯时刹车,则转弯时原闪烁的信号灯继续闪烁,同 时另一个尾信号灯点亮, 以上闪烁的信号灯以 1Hz 频率慢速闪烁;在汽车停靠开 关合上时左头信号灯、右头信号灯、左尾信号灯、右尾信号灯以 10Hz 频率快速 闪烁。 任何在下表中未出现的组合都将出现故障指示灯闪烁, 闪烁频率为 10Hz。 表 1.1 模拟驾驶开关作用时信号灯输出的信号表 输出信号 驾驶操作 左转 弯灯 左转弯 (合上左转弯开关) 闪烁 右转弯 (合上右转弯开关) 合紧急开关 刹车(合刹车开关) 左转弯时刹车 右转弯时刹车 刹车时合紧急开关 左转弯时刹车合紧急开关 右转弯时刹车合紧急开关 停靠(合停靠开关) 灭 闪烁 灭 闪烁 灭 闪烁 闪烁 闪烁 灭 右转 弯灯 灭 闪烁 闪烁 灭 灭 闪烁 闪烁 闪烁 闪烁 灭 闪烁 灭 闪烁 灭 闪烁 灭 闪烁 闪烁 闪烁 闪烁 10Hz 灭 闪烁 闪烁 灭 灭 闪烁 闪烁 闪烁 闪烁 闪烁 10Hz 闪烁 灭 闪烁 亮 闪烁 亮 亮 闪烁 亮 闪烁 10Hz 灭 闪烁 闪烁 亮 亮 闪烁 亮 亮 闪烁 闪烁 10Hz 左头灯 右头灯 左尾灯 右尾灯 2. 系统硬件设计 2.1 系统功能要求 在该系统中,★-●△▪️▲□△▽ 汽车转弯或紧急状态下,外部信号灯和仪表板指示灯的闪烁频 率为 1Hz,称为低频信号。当停靠开关合上时,外部信号以高频(约 10Hz)频率 闪烁,以适应低亮度背景的使用场合,不需要附加灯丝。◆▼ 上面所述的汽车转弯信号灯控制系统的功能可以用数字逻辑电路来实现, 系 统中应有高低频信号发生电路和输出驱动电路。 这种系统的缺点是: 灵活性较差, 一旦系统的功能有所改动,电路也要随之变动;缺少必要的智能,如故障监测功 能,在此不再赘述。 2.2 系统硬件 图 1-1 是基于单片机的汽车转弯信号灯控制系统的基本电路。汽车中常用 12V 的蓄电池供电,故除单片机外,其它电路采用+12V 电源供电。★△◁◁▽▼闪烁频率信号 有单片机内部定时器产生。 在该系统中, 可以采用余度技术和故障监控技术来提高系统的可靠性两根灯 丝并行使用, 以增加系统的冗余度, 在一根灯丝出现故障时, 系统仍能正常工作。 即使采用了余度技术, 信号灯也难免会偶然烧坏,或因发生线路故障而不能 正常工作。因此还希望系统具有故障监控功能,一旦返现故障能自动报警。 +5V +12V Vcc XTAL1 Vss P1.5 左前 XTAL2 +5V RST EA P1.6 右前 P1.7 左仪表板 +5V 8051 P2.0 右仪表板 刹车板 紧急开关 P1.0 P2.1 左后 P1.1 P2.2 右后 停靠灯 P1.2 左 转弯开关 右 P1.3 P1.4 图 1-1 基于 8051 单片机的汽车转向灯控制电路 设汽车上有一转弯控制杆。此控制杆有三个位置:中间位置时汽车不转弯; 向上时,汽车左转;向下时,汽车右转。汽车转弯时,要求左右尾灯、左右头灯 和仪表板上的两个指示灯相应地发出闪烁信号。当应急开关合上时,所有六个信 号灯都应闪烁。汽车刹车时,两个尾灯发出不闪烁的信号。如刹车时正在转弯, 则相应地转弯闪烁信号不受影响。上述功能的真值表见下表。 除下表所示功能之外, 还需说明一点:通常汽车外部转弯信号灯中除普遍的 白炽灯丝外还有一个短焦距灯丝作为停靠汽车时的灯光。幸运飞艇软件 表 1.2 转弯信号灯工作的真值表 输入信号 刹车 开关 0 0 0 0 0 0 1 1 1 1 1 1 应急 开关 0 0 0 1 1 1 0 0 0 1 1 1 左转 开关 0 0 1 0 0 1 0 0 1 0 0 1 右转 开关 0 1 0 0 1 0 0 1 0 0 1 0 左头灯 和仪表板 断 断 闪烁 闪烁 闪烁 闪烁 断 断 闪烁 闪烁 闪烁 闪烁 输出信号 右头灯 和仪表板 断 闪烁 断 闪烁 闪烁 闪烁 断 闪烁 断 闪烁 闪烁 闪烁 断 断 闪烁 闪烁 闪烁 闪烁 通 通 闪烁 通 通 闪烁 断 闪烁 断 闪烁 闪烁 闪烁 通 闪烁 通 通 闪烁 通 左尾灯 右尾灯 图 1-2 是这类故障监控电路的可能方案之一,它利用 T0 作监测输入,只增 加一个晶体管和几个电阻。 假定其中一个信号灯是受控断开的(输出口线送高电 平) ,而其余信号灯都受控接通。 +5V Vcc XTAL1 Vss P1.5 导线.6 右前 P1.7 左仪表板 +5V 8051 P2.0 右仪表板 刹车板 紧急开关 停靠灯 转弯开关 左 右 P1.0 P2.1 左后 P1.1 P2.2 P1.2 右后 P1.3 P2.3 P1.4 +5V 1K Q7 图 1-2 汽车转向的故障监控电路 这时晶体管 Q7 的 6 个输入端中有 5 个是低电平,与受控断开的信号灯的那 个输入端的电平则决定于这一路线V 电源经过灯泡, 连接器, 控制线和印制板都是导通的, 这一路驱动晶体管也没有发生基极与地短路的现象, 则该输入端应保持高电平,使 Q7 导通测试口 T0 是高电平,说明相应的线路出现 了故障。 现在让点偏激发出控制使所有信号灯都接通,则 Q7 应截止,测试口 T0 应呈 高电平,如果这是存在控制线V 电源短路或驱动晶体管断路灯故障,则 Q7 仍导通,T0 呈低电平,表示线路中存在着另一类故障。这种故障监控功能很容 易靠软件来实现。 2.3 系统软件 系统软件用汇编语言编写, 程序清单列于末尾附录部分,程序清单分为三部 分, 第一部分是输入, 输出口线说明和变量定义, 第二部分是背景程序 (主程序) , 第三部分是中断服务程序。 1.口线说明和变量定义 程序清单中有说明和定义部分,在图中输入输出口线已经初步拟定好,但在 程序中我们不直接使用 P1.0P1.1 等这类的口线名称,而是采用符号地址,即用 户自定义的有助记意义的名称,对于一些字节变量和布尔变量也采用了助记名。 这样做给程序设计带来了方便, 提高了程序的可读性和可维护性,一旦要改变具 体的引脚或变量单元(或位) ,只要在说明和定义部分略作修改,而不必把程序 中所有有关的部分一一修改。 2.背景程序(主程序) 程序清单中的背景程序流程图如图 1-3。 系统中利用定时器、 计数器 0 和一个软件计数器 SUB_DIV 来产生为时一秒的 定时信号,以实现低频(1Hz)闪烁功能。☆△◆▲■ 对 T0 置初值 D1H,使定时器 0 每隔 0.011905 秒(采用 12MHz 晶体,计数频 率为 1MHz)溢出中断一次,每次中断后重置 T0,并使软件计数器 SUB_DIV 的值 减 1,SUB_DIV 的初值为 84,当此值减为 0 时,历经的时间为 84×0.011905× =1.00002 秒。■□ 3.中断服务程序 定时器 0 溢出中断服务程序是整个程序的实际主体部分, 其程序流程图见图 1-4,现对中断服务程序作几点说明: 1)故障监控测试过程参见图 1-2 的说明,发现故障时,转而执行一条指令 CPL S_FAIL,FAIL 是 P2.3 引脚的符号地址。若故障一直存在,则 P2.3 的状态 每隔 1 秒转换一次,如在此引脚处接一个指示灯(硬件图中未表示) ,则告警时 指示灯以 10Hz 的频率闪烁。 2)关于低频振荡信号(1Hz)的产生 SUB_DIV 的初值为 84(01010100)由 84 变到 0,历经 1.00002 秒,其中 SUB_DIV.7 为 1 的时间约占 117/244 秒, 为 0 的时间占 127/244 秒, 故从 SUB_DIV.7 (LO_FREQ)获得的就是占空比接近于 50%低频信号。 3)关于高频振荡信号(10Hz)的产生 由指令形成占空比为 62.5%的 10Hz 高频信号。 我们知道, 软件计数器 SUB_DIV 的值,由 84 变为 0 时,SUB_DIV 的低三位可以构成 8 种状态,如表 3 的左半部 所示。在 1.00002 秒中这 8 种状态的重复次数=01010B=10.故把低 3 位的状态以 某种方式组合起来,▪️•★就可以形成一定的占空比 10Hz 信号。 表 1.3 占空比 SUB_DIV 位 7 6 5 4 3 2 0 0 0 0 1 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × 断 断 断 断 断 断 断 通 断 断 断 断 断 断 通 通 占 断 断 断 断 断 通 通 通 空 断 断 断 断 通 通 通 通 断 断 断 通 通 通 通 通 比 断 断 通 通 通 通 通 通 断 通 通 通 通 通 通 通 12.5% 25.0% 37.5% 50.0% 62.5% 75.0% 87.5% 表 1.3 的右半部表示不同占空比的信号作用下, 在每个周期的 8 个状态时刻 中信号灯通断情况。在 50%占空比下白炽灯泡灯丝发的光不够亮,故本系统采用 62.5%的占空比。上述几条指令的执行结果使 PARK=1(汽车正在停靠)的状态下 DIM=SUB_DIV.2 OR(SUB_DIV.1 AND SUB_DIV.0),由表 1.3 可以看出,在 8 个状态 时刻中,前 3 个状态信号灯断开(DIM=0),后 5 个状态信号灯接通(DIM=1) ,形 成占空比为 62.5%的 10Hz 高频信号。 调节闪烁信号的亮度可以靠对 SUB_DIV 的低 3 位进行不同的逻辑操作来实现, 例 如 ( SUB_DIV.1 OR SUB_DIV.2 ) 的 结 果 得 占 空 比 为 75% , ( SUB_DIV.0 OR SUB_DIV.1 OR SUB_DIV.2)的结果得占空比为 87.5%等等。但要注意,在这 8 个 状态中,▼▼▽●▽●信号灯只能通断各一次,否则闪烁频率就变了。 4)关于各种信号的形成 背景程序(主程序)中的第 102 行至 113 行是程序的基本部分,▲●它们根据系 统的输入状态(各开关的位置)来计算送给各个指示灯的信号。该段程序由布尔 处理机实现相应的逻辑功能(亦可由数字逻辑电路实现) 。 开始 中断响应 设置定时器0的初 值 对TH0重置初值 设置定时器0为模 式1 PSW入栈 设置软件计数器初 值 1秒到否? YES 对软件计数器 SUB_DIV重置84 允许定时器0中断 NO 故障监控测试 NO 总允许中断 有故障吗? YES 故障报警处理 启动定时器0 形成占空比为 62.5%的30Hz信号 等待 图 1-3 主程序流程图 计算并输出给左仪 表板指示灯、左前 灯和左尾灯 计算并输出给右仪 表板指示灯、右前 灯和右尾灯 PSW出栈 返回 图 1-4 中断服务程序流程图 3 总结 本设计实现了对汽车转向灯的电子控制, 并且可以对发生的故障进行诊断如 车灯的短路、 断路等进行故障诊断并进行报警, 这是传统车身控制所无法实现的。 本次设计虽然取得了一些成果,但是由于时间和能力有限,很多环节可能考 虑不周或者被遗漏, 并且还有一些很重要的后续工作,如没能在实验室搭建平台 对软硬件进行调试,相信在实际工况下进一步实验,将会发现更多实际问题,使 设计更加完善。 在做本设计期间,通过查阅相关的控制技术、检测技术的资料,扩大了我在 相关专业技术上的知识面,开拓了视野,也掌握了一定的专业技能。在整个系统 的调试过程中, 增加了一定的工程实践经验,这必将为以后的科研和工作起到了 积极的作用。 课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题, 锻炼实践能力的重要环节 ,是对学生实际工作能力的具体训练和考察过程 .随着 科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,○▲ 在生活中可以说得是无处不在。 因此作为二十一世纪的大学生来说掌握单片机的 开发技术是十分重要的。 回顾起此次单片机课程设计,我仍感慨颇多,的确,从选题到定稿,◆●△▼●从理论 到实践,在整整一星期的日子里,可以说得是苦多于甜,但是可以学到很多很多 的东西, 同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没 有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的, 只有理论知识是远远不够的, 只有把所学的理论知识与实践相结合起来,从理论 中得出结论, 才能真正为社会服务,从而提高自己的实际动手能力和独立思考的 能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难 免会遇到过各种各样的问题, 同时在设计的过程中发现了自己的不足之处,对以 前所学过的知识理解得不够深刻,掌握得不够牢固,比如说不懂一些元器件的使 用方法,对单片机汇编语言掌握得不好等等。通过这次课程设计之后,一定把以 前所学过的知识重新温习。 这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在老师 的辛勤指导下,都得到了一一解答,我也学到了很多实用的知识。最后,对给过 我帮助的指导老师和同学们表示忠心的感谢! 4 参考文献 [1] 孙涵芳. 单片机原理及应用[M].北京: 北京航空航天大学出版社, 1988 [2] 孙余凯. 新型汽车电子电器原理与故障检修方法[M].北京:人民邮电 出版社,2002 附录 主程序及中断程序 BRAKE EMERG PARK L_TURN R_TURN L_FRNT R_FRNT L_DASH R_DASH L_REAR R_REAR S_FAIL SUB_DIV HI_FREQ LO_FREQ DIM ORG LJMP ORG MOV MOV PUSH AJAMP ORG EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU 0000H INIT 000BH TH0, #D1H TL0, #7FH PSW UPDATE 0040H ;保护现场 ;T0 中断 ;设置定时器 T0 初值 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P2.0 P2.1 P2.2 P2.3 20H SUB_DIV.0 SUB_DIV.7 PSW.1 ; 刹车 ; 应急 ; 停靠 ; 左转 ; 右转 ; 左前灯 ; 右前灯 ; 左仪表板 ; 右仪表板 ; 左后灯 ; 右后灯 ; 故障信号 ; 软件计数器 ; 高频信号 ; 低频信号 ; 位操作数暂存位 主程序 INIT: MOV MOV MOV MOV SETB 断 TL0, #7FH TH0, #D1H TMOD, #01100001B SUB_DIV, #54H ET0 ;定时器 T0 工作方式 1 ;软件计数器置初值 ; 定时器/计数器 0 允许中 ;重新置初值 SETB SETB SIMP UPDATE: DJNZ MOV ORL ORL 中断服务程序 CLR JB SETB CLR JB SETB CLR JB SETB CLR JB SETB CLR JB SETB CLR JB SETB JB FAULT: CPL EA TR0 $ SUB_DIV, T0SERV SUB_DIV, #54H P1, #11100000B P2, #00000111B ;CPU 开中断 ;启动定时器 0 ;判断定时到否 ;P1.5,P1.6,P1.7 置 1 ;P2.0,P2.1,P2.2 置 L_FRNT T0, FAULT L_FRNT L_DASH T0, FAULT L_DASH L_REAR T0, FAULT L_REAR R_FRNT T0, FAULT R_FRNT R_DASH T0, FAULT R_DASH R_REAR T0, FAULT R_REAR T0,T0SERV S_FAIL ; 关左前灯 ; T0 输入 1,有故障 ; 开左前灯 ; 关左仪表灯 ; T0 输入 1,有故障 ; 开左仪表灯 ; 下面与前类似 ; T0 输入 1,有故障 ; 开左后灯 ; 关右前灯 ; T0 输入 1,有故障 ; 开右前灯 ; 关右仪表 ; T0 输入 1,有故障 ; 开右仪表 ; 关右后灯 ; T0 输入 1,有故障 ; 开右后灯 ; T0 输入 1,有故障 ; 故障 高频信号的实现 T0SERV: MOV ANL ORL ANL C, SUB_DIV.1 C, SUB_DIV.0 C, SUB_DIV.2 C, PARK ; 形成占空比为 ; 62.5%的 10Hz ; 信号 ; 判断是否停靠 MOV MOV ORL ANL MOV MOV ORL MOV MOV ANL ORL ORL MOV MOV ORL ANL MOV MOV ORL MOV MOV ANL ORL ORL MOV POP RETI END DIM, C C, L_TURN C, EMERG C, LO_FREQ L_DASH, C F0, C C, DIM L_FRNT, C C, BRAKE C, L_TURN C, F0 C, DIM L_REAR, C C, R_TURN C, EMERG C, LO_FREQ R_DASH, C F0, C C, DIM R_ FRNT, C C, BRAKE C, R_TURN C, F0 C, DIM R_REAR, C PSW ; 返回现场 ;中断返回 ;刹车/右转/停靠 右后灯亮或闪烁 ;右转/紧急 右前灯 1HZ 闪烁, ;停靠右前灯 10HZ 闪烁 ;右转弯/紧急 右转弯灯 1HZ 闪烁 ;左转/紧急,左前灯 1HZ 闪烁,停靠 10HZ 闪烁 ;刹车/左转/停靠 左后灯亮或闪烁 ; 左转/紧急,左转弯灯 ; 以 1HZ 闪烁