基于单片机的汽车组合仪表设计

(整期优先)网络出版时间:2023-11-01
/ 2

基于单片机的汽车组合仪表设计

蔡光跃

510215197605207133

摘要

随着智能化信息化的发展,GPS和网络系统也被引进在智能化仪表当中,为满足车主对各项功能的需要,电子数字化和智能化的仪表是未来必然的发展趋势。本论文以现代汽车自带电源产生的电信号为基础,选用了功能性较强的单片机STC89C52,根据实际功能需要搭配了霍尔测速传感器以及温度传感器DS18B20,并配以显示功能较为完善的LCD12864液晶显示器,设计了一款数字式的汽车组合仪表。该系统能够实现对车速、转速、液位,温度、里程的数字化显示,具有一定的理论研究与现实意义。

关键词:单片机;传感器;LCD12864;组合仪表

1  总体方案设计

1.1  硬件设计方案

本次的设计方案中,通过单片机来对系统进行控制,单片机中也包含了最小系统,还需要外界温度模块、测速模块、液位模块等等。其中霍尔测速模块会对车辆当前的行驶速度进行检测,这些信息都会传递给单片机进行识别。然后通过显示屏显示出来,如果速度超过一定值或液位处于低液位或温度超过一定温度值时,则声光报警,否则声光不报警。设置三种不同的液位来测量油量的多少,通过传感器检测液位,设置液位的不同档位。在不同的状态下,可以根据使用的需要来判断是否需要加油等。

1.2  软件设计方案

软件设计主要以源程序的形式根据功能需要进行编写。通过AD绘图软件,描绘主体的设计原理图,表达出各个模块的连接关系。通过Visual studio 2013软件编写各个模块的子程序,来实现各个部分的信号的分析、控制和传输。再通过单片机的主程序来控制分析处理各个模块送来的信号,最后通过显示模块显示出来。

1.3  单片机编程语言的选择

本文的程序设计主要由软件完成,采用C语言进行编写,C语言具有高效性、灵活性、多功能性等特点。C语言对问题处理能力比汇编语言迅速,本设计工作量小、需要反复的调试、修改,C语言可完全满足需求,C语言的运算符极其丰富,包括的范围广,拥有多种运算符,表达方式丰富多样,可实现复杂的运算。

2  硬件系统设计

2.1  系统总体设计

该设计以单片机为核心,由单片机最小系统、霍尔测速模块、液位模块、温度模块以及报警模块和显示模块组成。速度和里程通过霍尔测速模块测量,将采集到的信号发送到单片机进行信息处理,然后通过显示屏显示,液位则需要液位传感器采集信号,通过输出端口将信号输入到单片机,经过处理后由显示屏显示,温度模块通过DS18B20温度传感器测温,将受到的模拟信号转化成温度信号,再由单片机进行处理,最后由显示器进行显示。如果霍尔传感器采集到的信号速度超过1.5km/h或液位传感器检测到液位处于低液位或温度传感器采集的温度超过40℃时,则发出声光报警,否则声光不报警。设置三种不同的液位来测量油量的多少,通过传感器检测液位,设置液位的不同档位。

2.2  主控单元

根据本设计的功能要求,要实现车速、里程、液位、报警以及通过液晶显示屏显示数据,需要一款功能丰富,低成本高效率的核心单元,为满足需要故采用STC89C52单片机为控制核心,完成对数据的采集分析与输送。在此型号单片机中包括单片机的最小系统。主控单元为此次设计的核心,也是对其功能性和实用性的验证。

STC89C52单片机的工作电压在5V到3.3V之间,正常工作状态时采用5V电源即可。单片机的运行速度直接影响到数据的处理,时钟频率的大小是单片机各部分功能运行的基准。并且在工作过程中直接影响到单片机的稳定性和速度。因此为保证单片机的运行速度,单片机最高的运行频率为35MHz。

单片机中的VCC引脚需要在5伏电源的供电状态下才能征程工作,时钟上的XTAL1引脚作为输入端口使用,XTAL2引脚作为输入端口使用,此外,这两个引脚都需要连接石英振,借助晶体振荡器的频率,才能计算具体的时间信息。

RST/VPP这两个引脚都作为给系统复位的时候输入信号使用,当振荡器进入工作状态,RST引脚就会连续输出两个周期的高电平信号,此时就会让单片机进入自动初始化状态。ALE引脚一般用于访问外部的存储器,可以保存地址信息,最长可以保存低8位字节的地址,所以,这个引脚可以对外输出时钟信号,也可以起到定时的作用。对FLASH存储器输入编程记录时,需要给该引脚输入12伏以上的电源,该单片机上一共有32个I/O口。

其中P0.0-0.7接口作为开关接口使用,也可以作为通用接口使用,但使用时需要有上拉电阻,P1.0-1.7接口作为准8位双向接口使用,P2.0-2.7接口也需要和上拉电阻一起使用,同样可以作为8位准双向端口使用。具体的引脚分布情况见下图所示。

3  软件系统设计

系统供电主程序启动,单片机时钟电路内部初始化为0,霍尔传感器检测到转动信号,如果检测到信号,则系统调入转速里程子程序,无论是否检测到信号,DS18B20再对温度信号进行检测,如果检测到温度信号,则系统调入温度子程序,无论是否检测到信号,再对液位信号进行检测,如果液位传感器检测到液位信号,则系统调入液位子程序,无论是否检测到信号,将所得到的所有信号与事先设定的阈值进行对比,如果各个模块测量到的数值大于或小于阈值,则调入报警系统子程序进行报警,最后将检测到的信息由LCD12864液晶显示器显示。

3.1  测液位子程序的设计

在液位子程序中,要实现将两个液位传感器摆放在油箱的高低不同位置,当油量处于最下面的第一块传感器时,则处于中液位,当油量处于上面第二块液位传感器时则处于高液位,若油量在两块传感器上都无接接触,则油量处于最低液位,此时声光报警器报警。

液位的信号主要由传感器进行采集,将模拟信号通过转换成数字信号后经过AO输出。在具体的应用中,为获得液位的具体数值,并设置三种不同的液位档位(高中低),这需要精确的测量,通过液位传感器来检测当前的油量,传感器通电以后,电源的指示灯就会常亮,如果传感器检测到油位较低,就会从DO端口输出高电平信号,此时指示灯也会熄灭,如果车辆重新加满油,传感器就会重新检测,此时就会通过DO端口输出低电平信号,指示灯会回到常亮的状态,输出的信号需要通过AD转换器进行转换,单片机可以通过这些信号来预测油量的高低。

3.2  测速子程序设计

测速时,当传感器感应到磁场时,将模拟信号转换成数字信号进行输出,输出低电平,LED指示灯亮;如若没有感应到磁场,则输出数字信号为高电平,LED指示灯不亮,输出信号为0和1。磁体的运动会使磁场中的磁通量发生变化,每变化一次,则获得一个脉冲信号,此时单片机则需要对脉冲信号累加,再通过与实践进行运算测出实际速度。

3.3  测里程子程序设计

里程根据每次收集到的脉冲信号累计成的转数,再轮胎周长相乘就是里程。测里程子程序流程图如4-4所示。

图4-4测量里程子程序

4  结束语

本次的设计方案以52单片机为操控中心,设计了一套汽车的仪表盘系统,需要外接温度传感模块、液位传感模块、测速模块等等,对汽车的运行状态进行检测,也能提前得知车辆外部的温度等等,最终这些结果都会通过显示屏展示出来。如果温度超过40℃、液位处于低液位、则声光报警。

参考文献

[1] 李雪梅.汽车组合仪表氛围灯结构设计与开发[J].汽车实用技术,2022,47(16):48-52.

[2] 朱海艺.基于单片机技术与CAN总线结合的汽车仪表设计[J].信息与电脑(理论版),2020,32(24):1-4.

[3] 林琦.基于CAN总线的汽车组合仪表综合系统设计研究[J].时代汽车,2020(19):109-110.

[4] 李奇佩.汽车全液晶组合仪表的电磁兼容性设计与实现[D].重庆大学,2020.