您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 汽车理论 > 基于单片机的汽车水温表设计
I基于单片机的汽车水温表设计作者张旭覃庆环摘要随着汽车工业的迅速发展和人们生活水平及需要的不断提高,越来越多的汽车走入了大众的生活,而在汽车的发展过程中对汽车水温表的设计和实现技术要求又尤为重要本论文是主要介绍基于51单片机汽车水温表的设计思路、流程及应用;论文结合并参考各类有关汽车水温表书籍,主要阐述汽车水温表的总体原理设计、硬件设计与软件设计,以及水温表显示调试方法。关键词:单片机,汽车,DS18B20,水温表;目录1前言.............................................................-0-2汽车水温表简介......................................................-1-2.1汽车水温表概述.................................................-2-2.2常见汽车水温表的工作原理.......................................-2-3水温表总体原理及设计................................................-4-3.1硬件的总体设计.................................................-4-3.1.1硬件系统子模块...........................................-4-3.2软件的总体设计.................................................-4-4水温表的硬件设计.....................................................-5-4.1单片机最小系统电路...............................................-5-4.2数码管显示电路....................................................-5-4.3温度采集电路...................................................-6-5水温表的软件设计....................................................-10-5.1主流程图.......................................................-11-5.2读取温度DS18B20模块的流程....................................-11-6水温表的调试......................................................-13-6.1硬件电路调试.................................................-13-6.2软件调试.....................................................-13-7总结..............................................................-14-8参考文献...........................................................-15-附录一水温表程序前言从第一辆汽车诞生到现在已有一百多年的历史,随着社会和科学技术的发展,如今汽车已经走进了寻常百姓家,成为人们必备的交通工具之一;而且我国经济发展水平与汽车产业发展水平有着密切的关系,汽车产业是衡量我国经济发展水平的重要指标,汽车工业在我国已经占着举足轻重的地位。随着汽车电子技术和计算机控制技术的发展,各类汽车公司厂商都运用大量的电子技术和计算机技术,从而改善汽车经济性、安全性和舒适性,并且提高了汽车技术性能。然而汽车水温表测量准确、显示正确,对汽车发动机来说尤为重要。2汽车水温表简介2.1汽车水温表概述汽车水温表是用来指示汽车发动机冷却水的工作温度,并向司乘人员显示发动机工作水温是否工作正常。它由装在气缸盖上的温度传感器和转在仪表盘上的水温表组成。2.2常见汽车水温表的工作原理常见的汽车水温表有电热式、电磁式和蒸气压力是三类,它们与不同的感应器相配合,进行水温测定。2.2.1电热式水温表工作原理当汽车发动机水温升高使双金属片向离开固定触点的方向弯曲,使触点彼此接触的压力减弱;通过压力的减弱增加打开的时间,使通过加热线圈的电流平均值减小,水温表指针指向高温。水温降低时,触电压力增大,平均电流增大,水温表的双金属片弯曲怎大,指针指向低温。如图2-1所示;图2-1电热式水温表2.2.2电磁式水温表工作原理电磁式水温表内有两个铁芯式线圈,在线圈交叉位置上,装有小磁片、配重和指针等组成的转子,传感器为温度系数热敏电阻。低温时,传感器热敏电阻阻值为1000Ω,此时,线圈L2和大电阻串联,通过的电流,大部分流入L1,在综合电场是指针停在刻度32℃处。当温度升高时,传感器受温度的影响,热敏电阻阻值变小(约为150Ω),L2所通过电流,L1相对减少,磁场的综合作用是指针向高温100℃刻度移动。如图2-2所示;图2-2电磁式水温表3.1.1蒸气压力式水温表工作原理当水温表的感温包受热时,充灌在其中的介质(氯乙烷或乙醚等)受热蒸发(乙醚液体在大气压力下的沸点是34℃),蒸气压力通过毛细管进入弹簧管,压力迫使弹簧向外扩张,弹簧管的自由端与连杆的一头销钉连接,连杆的另一端与扇形齿轮固定。传动机构中,扇形齿轮与中心齿轮啮合传动,并使装在中心齿轮轴上的指针在刻度盘上指出被测介质温度值。感温包内液体体积受感温包与弹簧管相对位置影响。如图2-3所示;图2-3蒸气压力式水温表3水温表总体原理及设计3.1硬件总体设计设计并制作一个基于单片机的汽车水温表的电路,其结构框图如图2-1:图3-1系统结构框图3.1.1硬件系统子模块(1)单片机最小系统电路部分(2)温度采集电路部分(3)数码管温度显示电路部分3.2软件总体设计良好的设计方案可以减少软件设计的工作量,提高软件的通用性,扩展性和可读性。本系统的设计方案和步骤如下:(1)根据需求按照系统的功能要求,逐级划分模块。(2)明确各模块之间的数据流传递关系,力求数据传递少,以增强各模块的独立性,便于软件编制和调试。(3)确定软件开发环境,选择设计语言,完成模块功能设计,并分别调试通过。(4)按照开发式软件设计结构,将各模块有机的结合起来,即成一个较完善的系统。首先接通电源系统开始工作,系统开始工作后,通过温度传感器开始实时检测,调用显示子程序显示检测结果。单片机AT89S51数码管显示温度传感器DS18B204水温表硬件设4.1单片机最小系统电路因为89S52单片机内部自带8K的ROM和256字节的RAM,因此不必构建单片机系统的扩展电路。如图3-1,单片机最小系统有复位电路和振荡器电路。值得注意的一点是单片机的31脚VPEA/必须接高电平,否则系统将不能运行。因为该脚不接时为低电平,单片机将直接读取外部程序存储器,而系统没有外部程序存储器,所以VPEA/必须接VCC。在按键两端并联一个电解电容,滤除交流干扰,增加系统抗干扰能力。C230PFC330PF晶振112MEA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10U2+C410UFVCCR310KVCCAT89S52VCC112234SW5SW-PB(双)图4-1单片机最小系统图4.2数码管显示电路(1)数码管显示说明各个数码管的段码都是单片机的数据口输出,即各个数码管输入的段码都是一样的,为了使其分别显示不同的数字,可采用动态显示的方式,即先只让最低位显示0(含点),经过一段延时,再只让次低位显示1,如此类推。由视觉暂留,只要我们的延时时间足够短,就能够使得数码的显示看起来非常的稳定清楚,过程如表3-1。表4-1数码管编码表段码位码显示器状态08H01H□□□□□□□0abH02H□□□□□□1□12H04H□□□□□2□□22H08H□□□□3□□□a1H10H□□□4□□□□24H20H□□5□□□□□04H40H□6□□□□□□aaH80H7□□□□□□□本论文中使用了3个数码管,其中前两位使用动态扫描显示实测温度,在设置加热温度的时候,两个数码管是闪烁,以提示目前处在温度设置状态。第三位数码管静态显示符号“℃”。4.3温度采集电路(1)DS18B20介绍Dallas最新单线数字温度传感器DS18B20简介新的“一线器件”体积更小、适用电压更宽、更经济。Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持“一线总线”接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。DS18B20、DS1822“一线总线”数字化温度传感器同DS18B20一样,DS18B20也支持“一线总线”接口,测量温度范围为-55℃~+125℃,在-10℃~+85℃范围内,精度为±0.5℃。DS1822的精度较差为±2℃。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。其DS18B20的管脚配置和封装结构如图3-4所示。图4-2DS18B20封装引脚定义:①DQ为数字信号输入/输出端;②GND为电源地;③VDD为外接供电电源输入端(在寄生电源接线方式时接地)。(2)DS18B20的单线(1-wirebus)系统单线总线结构是DS18B20的突出特点,也是理解和编程的难点。从两个角度来理解单线总线:第一,单线总线只定义了一个信号线,而且DS18B20智能程度较低(这点可以与微控制器和SPI器件间的通信做一个比较),所以DS18B20和处理器之间的通信必然要通过严格的时序控制来完成。第二,DS18B20的输出口是漏级开路输出,这里给出一个微控制器和DS18B20连接原理图。这种设计使总线上的器件在合适的时间驱动它。显然,总线上的器件与(wiredAND)关系。这就决定:(1)微控制器不能单方面控制总线状态。之所以提出这点,是因为相当多的文献资料上认为,微控制器在读取总线上数据之前的I/O口的置1操作是为了给DS18B20一个发送数据的信号。这是一个错误的观点。如果当前DS18b20发送0,即使微控制器I/O口置1,总线状态还是0;置1操作是为了是I/O口截止(cutoff),以确保微控制器正确读取数据。(2)除了DS18B20发送0的时间段,其他时间其输出口自动截止。自动截止是为确保:1时,在总线操作的间隙总线处于空闲状态,即高态。2时,确保微控制器在写1的时候DS18B20可以正确读入。由于DS18B20采用的是1-Wire总线协议方式,即在一根数据线实现数据的双向传输,而对AT89S52单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。①DS18B20的复位时序,如图3-5图4-3DS18B20的复位时序图②DS18B20的读时序对于DS18B20的读时序分为读0时序和读1时序两个过程。对于DS18B20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。DS18B20在完成一个读时序过程,至少需要60us才能完成。DS18B20的读时序图如图3-6所示。图4-4DS18B20的读时序③DS18B20的写时序对于DS18B20的写
本文标题:基于单片机的汽车水温表设计
链接地址:https://www.777doc.com/doc-293270 .html