当前位置:首页 > 汽车自适应前照灯系统的设计(毕业论文) - 图文
第4章 系统软件设计
在系统的硬件设计完成后,需要编写源代码程序来控制硬件电路完成系统的设计功能。系统性能的高效与否,不仅取决于合理的硬件电路设计,同时也需要优秀的软件程序编写。通常的编程语言有汇编语言和高级语言两种,但是由于使用汇编语言会遇到很多问题,首先它的可读性和可维护性不强,特别是当程序没有很好标注的时候;其次是代码的可重用性不强。为提高程序的可移植性与开发效率,现在很多单片机的开发应用都使用高级语言进行。本系统所使用的C51语言就是高级语言中的一种。应用C51语言进行编写具有以下优点:不需要了解系统的硬件结构;编程时寄存器的分配和寻址由编译器自动完成而不需再考虑存储器的寻址;所使用的操作函数与汇编语言相比更接近人的思维:可直接调用C51语言中库文件的标注函数;通过C语言的模块化编程技术,可直接将已编制好的程序运用到到新的程序之中。
§4.1程序思路
系统的总体构思如下图4-1:
图4-1程序总体构思图
20
主程序是整个汽车自适应前照明系统功能的骨架,它体现了整个系统的逻辑关系。在本系统中,主程序包括系统初始化子程序、前照灯水平偏转子程序、前照灯车身上下垂直调整子程序3个功能模块。系统初始化模块对之后系统所使用的各变量进行定义,同时将内存清零、设置计数器等。前照灯水平偏转子程序、前照灯车身俯仰垂直调整子程序这两个个模块则是在不同的行驶环境中对灯头照射方向进行调整来辅助驾驶员的驾驶任务。
§4.2系统分块程序设计
图4-2 系统主程序设计流程图
21
§4.2.1 随动转弯程序
在汽车驾驶员进行转弯操作时,系统先通过汽车传感器采集的数据判断是否启动此子程序,当采集到转角信号时,启动子程序,否则不启动。再通过转角传感器采集的数据判断是否需要进行前照灯的水平偏转及前照灯水平偏转的方向。当采集到的方向盘转角大于系统设定值时,则需要进行前照灯水平偏转。
开始 采集转角信N 大于设定值 Y 采集转角数据 确定方向 执行电机动作 结束 图4-3 随动程序流程图22
§4.2.2 倾角转动程序
汽车在直线路况行驶时,系统通过汽车倾角传感器采集的数据来判断是否需要进行车身俯仰前照灯垂直调整以及垂直调整的方向。当采集到的倾角数大于系统设定值时,则需要进行车身俯仰前照灯垂直调整。由于前照灯垂直调整不包含模糊控制器设计,所以只需要根据步进电机的步进角和灯头的偏转关系计算出输出的脉冲数,驱动步进电机使灯头偏转到系统设定的角度即可。如果采集到的车高数据小于系统设定值,则无需进行车身俯仰前照灯垂直调整,只需要将储存在寄存器中上次的脉冲数取反直接作为最后输出的脉冲数,使得前照灯回复到初始位置即可。车身俯仰调整子程序如下图所示
开始
倾角数据采集 需要调整
N Y 车身倾角
输出控制脉冲 步进电机执行动作 结束 图4-4 前照灯倾角流程图
23
共分享92篇相关文档