版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、济南大学泉城学院毕 业 设 计题 目 汽车胎压监测系统设计 学 院 工学院 专 业 机械设计制造及其自动化(专升本)班 级 1501班 学 生 刘立兵 学 号 2015040113 指导教师 张兴达 武华 二一七年五月十六日摘 要随着时代发展和科技进步汽车已成为了人们常用的且离不开的交通工具。随着汽车数量的增多交通事故发生的数量也越来越多,而其中汽车轮胎压力异常成为重要诱因。针对这一问题,本文提出了一种基于单片机的汽车胎压监测系统。实现了测试汽车轮胎压力的功能,由三种不同的计量单位通过LCD显示给用户,如果超出预设阈值就会发出警报提醒司机安全行驶。本设计主要包含硬件设计与软件设计两部分。硬件部
2、分主要包含气压传感器BMP085、STC89C52单片机和1602LCD等。通过气压传感器BMP085获取与汽车胎压相对的模拟电压值,经过V/F变换输入到单片机进行处理,最终由通过LCD显示电路显示相应气压值。软件部分采用C语言作为开发工具软件,在Keil C环境下进行了对单片机各个端口以及定时器工作方式和串行口工作方式进行设置,并对定时器和串行口进行初始化用以实现对单片机和各个功能模块芯片之间通讯和联络的设定,以及分配地址空间交代程序中各个变量等的设计和编码。通过软件仿真及实物之作运行调试,完成了系统的可靠性、稳定性等性能的测试,实现了预期功能,为进一步研究及应用提供了一定的数据参考。关键词
3、:单片机;传感器;胎压 ABSTRACTWith the development of the times and the progress of science and technology, the automobile has become a common and indispensable means of transportation. With the increase of the number of cars, the number of traffic accidents is increasing, and the abnormal tire pressure becom
4、es an important incentive. To solve this problem, a monitoring system of automobile tire pressure based on single chip microcomputer is presented in this paper. The function of testing the tire pressure of the automobile is realized. The three different measuring units are displayed through the LCD
5、to the user. If the preset threshold is exceeded, the alarm will be sent to remind the driver to drive safely.This design mainly includes two parts: hardware design and software design. The hardware part mainly includes the barometric pressure sensor, BMP085, STC89C52 monolithic integrated circuit a
6、nd 1602LCD and so on. The analog voltage value relative to the tire pressure is obtained by the pressure sensor BMP085, which is input to the MCU by the V/F transformation, and finally the corresponding barometric value is displayed by the LCD display circuit. The software adopts C language as softw
7、are development tools, in the Keil C environment for setting up the MCU port and timer working mode and serial port mode, and the timer and serial port in order to achieve between the microcontroller and the functional modules of the chip communication and contact setting initialization, design and
8、encoding and distribution address space program variables such as account.Through the software simulation and the debugging of the object, the systems reliability, stability and other performance tests are completed, and the expected function is achieved. It provides a certain data reference for fur
9、ther research and application. Keywords: pressure sensor; tire pressure; MCU 目 录摘要IABSTRACTII1前言11.1研究背景及意义11.2国内外研究和发展的概况11.3本设计内容22 系统总体设计42.1总体设计思路42.2软硬件设计方案52.2.1硬件部分52.2.2软件部分53 系统的硬件设计73.1硬件设计思路73.2单片机最小系统73.2.1晶振电路83.2.2供电电路93.2.3复位电路93.3信号采集电路103.3.1无线模块103.3.2传感器电路113.4电源转换电路133.5显示电路133.6
10、按键输入电路153.7报警电路164 系统的软件设计184.1软件设计思路184.1.1如何由频率计算出气压值184.1.2软件设计功能及重要的说明184.2程序流程图194.3程序实现及调试214.4系统仿真及调试224.5系统制作及调试244.5.1系统的制作254.5.2系统的调试265 结论29参考文献30致谢31附录A 系统设计原理图32附录B 仿真图34图C 仿真图34附录C 程序清单35附录D 元件清单40附录E 实物图411前言1.1研究背景及意义随着交通运输的不断发展,汽车数量和车速也越来越高。而伴随着的则是对安全严重考验。而爆胎,疲劳驾驶,超速已经成为了三大交通事故杀手。而
11、其中以汽车爆胎的难预测和不确定性成为了司机头疼不已的事情。据统计,在中国因为爆胎引发的事故比例达70%,在美国更是高达80%1。因此怎么样防止汽车爆胎原因成为了一项重要课题。据国家轮胎质量监督中心专家研究发现,汽车轮胎气压正常与否是一项重要因素。因此汽车轮胎压力监测系统(简称TPMS)则变成了最理想的工具。汽车轮胎压力监测系统应运而生。所以轮胎气压情况检测是必须的,而气压量是无法通过肉眼观测的,而且在高速行驶时也是不实际的,TPMS可以帮助人们随时随地不间断的监测气压量2。从经济性上考虑,据统计和试验验证气压量每下降十分之一而轮胎的寿命会缩短四分之一。不仅如此,从油耗上看,汽车轮胎气压量下降时
12、会使得轮胎与地面摩擦力下降,而且轮胎抓地力不牢导致油耗会上升。根据实验研究气量下降十分之一时在相同油量下汽车行驶会下降2%。同时在汽车保养方面,当气压量下降时汽车底盘下沉,悬挂系统也会受到损伤,时间一长造成极大的经济损失。不仅如此,这些损伤还;会造成交通事故,造成人身安全危害3。1.2国内外研究和发展的概况早在2001年美国就通过了TRAD法案,法案要求到2007年所有美国销售的新车都必须将TPMS作为标准配置。美国国家公路安全管理局(NHTHA)2002年颁布的法规要求监控器在轮胎气压低于生产商推荐值的25%30%时向司机报警,建议从2004年开始新车应安装轮胎气压监测系统(TPMS)4。继
13、美国之后,欧洲也制定相应的法规,要求其国内的汽车厂商安装TPMS。在2004年美国印第安纳波利斯博览会上,加拿大轮胎设备公司推出了世界上第二套摩托车轮胎专用TPMS;第一套是由英国Meta system公司2002年推出的5。该产品能够在摩托车行驶过程当中监测和显示出每只轮胎的充气内压和温度信息,如果出现偏差,就会通过报警灯提醒乘骑者注意。日本阿尔卑斯电气公司开发的不需要电池的汽车轮胎气压监测系统最近通过有关试验验证,符合欧洲及美国的电磁波相关法律规定,今后将以行驶条件及轮胎种类等因素的影响为中心进行评测,计划在欧美、日本等地进行实地试验,2004年8月开始提供样品,2006年投入批量生产。国
14、外的TPMS产品已经相当成熟,能够经受57万公里的使用测试,现在国外的TPMS的研发重点在于开发无源的TPMS,如采用SAW这类无源器件的频率变化来监测轮胎压力的变化。TMPS的研究在中国刚刚起步。目前各厂家的重点并非是如何开拓市场,而是如何提高产品性能和质量。目前国内的TPMS系统问题不少:国内需配备专用的主机、显示屏;需要在车内固定和接线,安装繁琐、影响美观、整车厂难以配装;不能设定标准胎压、无法保障轮胎合理使用;不具备抗干扰的清晰语音提示报警功能,会造成驾驶员视线转移;因辐射效率、编码纠错性能差、在恶劣环境下漏报严重。直接式TPMS产品无线信号传输的稳定性可靠性不足,电池寿命问题,传感器
15、寿命和耐久性问题。此外,TPMS零组件主要靠进口,缺乏自主知识产权的产品。1.3本设计内容(1)设计内容研究硬件设计部分本设计硬件选择了STC89C52单片机、 MPX4105气压传感器、AMS11173.3电源转换电路以及1602字符型LCD等器件6。由气压传感器获得与汽车轮胎胎压相对应模拟电压值,经过V/F变换输入到单片机进行处理,通过LCD显示相应气压值。测试是选择用电位器模拟实现功能,通过电位器的调节可改变气压值,达到预设阈值就会报警,红灯亮起同时蜂鸣器发出嗡嗡响声,有三种不同的度量单位,可通过功能选择按键选择度量单位并设置阈值。本系统采用集成的单片机主控,通过压力传感器将气压信号送入
16、带A/D转换的STC89C52单片机中,以及在相关模拟分立元件的辅助下进行A/D转换以及其它的数据处理,将处理的结果送显示部分进行显示。软件设计部分本系统通过对单片机各个端口的设置,以及定时器工作方式和串行口工作方式的选择,并对定时器和串行口进行初始化用以实现对单片机和各个功能模块芯片之间通讯和联络的设定。在主程序模块中我们关键是使单片机初始化,以及分配地址空间交代程序中各个变量等。其中最为关键的是连接子程序的各个功能模块。(2)拟采取的研究方法及选用技术大部分的TPMS系统主要部分有:位于汽车轮胎内部的远程胎压监测模块(Remote Tyre Pressure Monitoring)即是使用
17、nrf2401和SP12组合而成的检测模块和安在驾驶台上的监视器(LCD显示器)即接收器与液晶屏显示7。安装在每个轮胎内部的测量轮胎压力,将测量得到的信号经过nrf2401调制后通过高频无线电波(RF)发射出去。通常情况下一个TPMS系统有4个RTPM模块。驾驶室内的监视器接收由nrf2401模块传回的信息,并将数据在屏幕上显示,供驾驶者加以参考。一旦汽车轮胎发生了异常情况,驾驶室内的监视器可以根据不同的异常情况,发出报警信号。TPMS大体分为两种类型:间接式,它利用的是轮胎速度差,从而可以监测轮胎状况,但其缺点是无法对多个轮胎不正常状态做出准确判断且在高速下也无法做出判断。第二种直接式TPM
18、S,它使用压力传感器直接测量压力得出数据,并通过高频传出信号。监视器可以动态显示气压值,并可以在不正常状态下向驾驶员提出报警8。经实验证明直接式要比间接式方便和精确。因此许多汽车制造厂商采用了直接式方式。现在国内各个汽车厂家也开始追随世界潮流,在自己的汽车上安装直接式检测系统,但大多为国外成品,自主能力较差发展潜力较深。本设计选用的是直接式测量方法。它以STC89C52单片机为核心,并包括三合一集成式传感器芯片SP12和2.4 GHz全双工无线通信收发模块nRF24019。SP12在单片机控制下检测压力传输数据。并以数字量形式输出,再经过单片机MCU打包后通过nRF2401调制成高频发射出去。
19、而同时,也可以利用24l01传输控制信号10。而在接收方在接收信号后经过数据调整再通过液晶屏显示。2 系统总体设计2.1总体设计思路本设计为汽车胎压检测系统设计,而设计主要为无线胎压检测。其中一个为胎压检测板,运用在实际中就是安装在轮胎内侧;另一个为胎压采集板,运用在实际中就是安装在汽车内部用以接收胎压状况以及内部温度。由于测量时被测气压由气压传感器转换为模拟的电压输出,此输出信号不能直接交由单片机处理。因此,需要经过A/D转换模块把气压传感器输出的模拟电压信号转换为数字脉冲(其频率随输入电压呈线性变化)。通过单片机接收该脉冲信号,得到单位时间内获得的脉冲数,依据电压与频率的线性关系式计算出所
20、对应的实际气压值,最后把信号传输给无线模块。系统总体框图如图2.1所示:无线模块状态灯STC89C52控制气压传感器电源下载电路开关图2.1 胎压采集板系统总体框图通过对单片机各个端口的设置以及串行口工作方式的选择,并对串行口进行初始化用以实现对单片机和各个功能模块芯片之间通讯和联络的设定。在主程序模块中关键是使单片机初始化,以及分配地址空间交代程序中各个变量等。其中最为关键的是连接子程序的各个功能模块。胎压接收板主要通过胎压采集板无线模发送过来的无线信号传输给胎压接收板的无线模块,然后经过A/D转换模块把气压传感器输出的模拟电压信号转换为数字脉冲通过单片机接收该脉冲信号 ,通过下载电路将信息
21、下载到单片机内,通过按键控制和电源转换电路的输入,单片机会将信息传送给LCD显示和报警电路。系统总体框图如图2.2所示:报警电路LCD显示电源按键控制STC89C52控制无线模块下载电路图2.2胎压接收板系统总体框图2.2软硬件设计方案2.2.1硬件部分 本系统采用集成的单片机主控,通过压力传感器将气压信号送入带A/D转换的STC89C52单片机中,以及在相关模拟分立元件的辅助下进行A/D转换以及其它的数据处理,将处理的结果送显示部分进行显示。 硬件部分主要包括胎压采集板和胎压接收板两部分,其中胎压采集板包括单片机STC89C52、无线模块NRF2401、开关、状态灯、下载电路、气压传感器以及
22、电源转换电路AMS1117M3.3等,而胎压接收板包括单片机STC89C52、无线模块NRF2401、开关、下载电路、电源转换电路AMS1117M3.3、蜂鸣器、按键电路以及液晶显示器LCD1602等。2.2.2软件部分本系统通过对单片机各个端口的设置,以及定时器工作方式和串行口工作方式的选择,并对定时器和串行口进行初始化用以实现对单片机和各个功能模块芯片之间通讯和联络的设定11。在主程序模块中我们关键是使单片机初始化,以及分配地址空间交代程序中各个变量等。其中最为关键的是连接子程序的各个功能模块。本设计采用C语言作为编程工具。C语言是一种编译型的结构化程序设计语言,具有简单的语法结构和强大的
23、处理功能,具有运行速度快、编译效率高、移植性好和可读性强等多种优点,可以实现对系统硬件的直接操作。用C语言来编写目标系统软件,可以大大缩短开发周期,且明显地增加软件的可读性,便于改进和扩充,从而开发出大规模、高性能的应用系统。此外C语言提供auto、static、flash等存储类型,针对单片机的程序存储空间、数据存储空间及EEPROM空间自动为变量合理地分配空间,而且C语言提供复杂的数据类型,极大地增强了程序处理能力和灵活性12。C编译器能够自动实现中断服务程序的现场保护和恢复,并且提供常用的标准函数库,供用户使用。并且C编译器能自动生成一些硬件的初始化代码。对于一些复杂系统的开发,还可以通
24、过移植(或C编译器提供)的实时操作系统来实现。正由于C语言在系统开发中的优势,这次设计的所有程序设计都将采用C语言编写。3 系统的硬件设计3.1硬件设计思路汽车胎压检测系统的硬件电路可分为4个部分:气压传感器、电源转换电路、单片机电路和下载电路。气压传感器将+5V的电源转换成3.3V,因为气压传感器的VCC是3.3V,气压传感器的通信协议是IIC协议。工作时,气压传感器将被测物理量转换成mV级的电压信号,并送往放大倍数很高而又可以互相抵消温度漂移的差动式放大器。放大后的信号经电压电流转换变换成相应的电流信号,再经过非线性校正,最后产生与输入压力成线性对应关系的标准电流电压信号。电源转换电路AM
25、S1117系列稳压器有可调版与多种固定电压版,设计用于提供1A输出电流且工作压差可低至1V。在最大输出电流时,AMS1117器件的最小压差保证不超过1.3V,并随负载电流的减小而逐渐降低。单片机的设计思路:根据设计要求,选择STC89C52单片机为核心控制器件。,A/D转换采用ADC0808实现,与单片机的接口为P1口和P2口的高四位引脚。电压显示采用4位一体的LED数码管。LED数码的段码输入,由并行端口P0产生:位码输入,用并行端口P2低四位产生。下载电路也叫串口电路,就是所谓的串口通讯,RXD和TXD接在单片机相应的位置,把电源接在+5V和GND上面,在每次通电之后,按下开关可以把+5V
26、和VCC接在一起,VCC就是整个系统的电源,+5V只不过在整个系统电源上串联一个开关,就是用以关断系统的功能,相应的供电电源接在一起,单片机在每次启动开机的时候,它会检测串口这边是否有数据过来下载信息,如果有下载信息,那么它会将内部Flash进行擦除掉,然后再把下载电路里面串口里面的数据写到内部Flash里面去,这就是程序的擦除,程序的下载也可以进行串口通讯,本设计没有进行串口设计。3.2单片机最小系统最小系统就是可以让单片机正常运行的系统,包括VCC,GND,震荡电路,单片机,这几个构成最小系统,震荡电路使用晶振是11.0595M,安全震荡频率在22.1184MHZ,一般使用11.0595M
27、HZ晶振,然后使用两个30pF的电容并联在一起接在GND上面,晶振振荡器在通电的情况下会震荡,30pF电容在Y1上可以稳幅,并且可以起振幅度可以达到4.7V左右,另外一端可以达到3V左右,单片机内部有反相器。具体如图3.1所示:图3.1 单片机最小系统3.2.1晶振电路单片机系统里都有晶振,在单片机系统里晶振作用非常大,全程叫晶体振荡器,他结合单片机内部电路产生单片机所需的时钟频率,单片机晶振提供的时钟频率越高,那么单片机运行速度就越快,单片接的一切指令的执行都是建立在单片机晶振提供的时钟频率。在通常工作条件下,普通的晶振频率绝对精度可达百万分之五十。高级的精度更高。有些晶振还可以由外加电压在
28、一定范围内调整频率,称为压控振荡器(VCO)。晶振用一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。单片机晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步。有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步。晶振通常与锁相环电路配合使用,以提供系统所需的时钟频率。如果不同子系统需要不同频率的时钟信号,可以用与同一个晶振相连的不同锁相环来提供。STC89C52使用11.0592MHz的晶体振荡器作为振荡源,由于单片机内部带有振荡电路,所以外部只要连接一个晶振和两个电容即可,电容容量一般在15pF至50pF之
29、间。如图3.2所示:图3.2 晶振电路3.2.2供电电路对于一个完整的电子设计来讲,首要问题就是为整个系统提供电源供电模块,电源模块的稳定可靠是系统平稳运行的前提和基础。51单片机虽然使用时间最早、应用范围最广,但是在实际使用过程中,一个和典型的问题就是相比其他系列的单片机,51单片机更容易受到干扰而出现程序跑飞的现象,克服这种现象出现的一个重要手段就是为单片机系统配置一个稳定可靠的电源供电模块。此最小系统中的电源供电模块的电源可以通过计算机的USB口供给,也可使用外部稳定的5V电源供电模块供给。电源电路中接入了电源指示LED,图中C4为LED的电容10uF。如图3.3所示:图3.3 单片机供
30、电电路图3.2.3复位电路单片机的置位和复位,都是为了把电路初始化到一个确定的状态,一般来说,单片机复位电路作用是把一个例如状态机初始化到空状态,而在单片机内部,复位的时候单片机是把一些寄存器以及存储设备装入厂商预设的一个值。图3.4 复位电路图单片机复位电路原理是在单片机的复位引脚RST上外接电阻和电容,实现上电复位。当复位电平持续两个机器周期以上时复位有效。复位电平的持续时间必须大于单片机的两个机器周期。具体数值可以由RC电路计算出时间常数。复位电路由按键复位和上电复位两部分组成。(1)上电复位:STC89系列单片及为高电平复位,通常在复位引脚RST上连接一个电容到VCC,再连接一个电阻到
31、GND,由此形成一个RC充放电回路保证单片机在上电时RST脚上有足够时间的高电平进行复位,随后回归到低电平进入正常工作状态,这个电阻和电容的典型值为10K和10uF。(2)按键复位:按键复位就是在复位电容上并联一个开关,当开关按下时电容被放电、RST也被拉到高电平,而且由于电容的充电,会保持一段时间的高电平来使单片机复位。3.3信号采集电路在测量轮胎压力时,重要是考虑到信号采集电路,而本设计主要用了无线模块NRF2401和传感器工作电路。传感器工作电路主要是市场上常见的Bosch公司推出的MPX4105。3.3.1无线模块可以接收也可以发射,但不能同时接收和发射,4SPI通信协议,发来的地址首
32、先保持一致,频道,通信频率也必需保持一致,才可以接收到信息,通过无线模块将采集到的信息发射出去。NRF24L01 是 NORDIC 公司最近生产的一款无线通信通信芯片,采用 FSK 调制,内部集成 NORDIC 自己的 Enhanced Short Burst 协议。可以实现点对点或是 1 对 6 的无线通信。无线通信速度可以达到 2M(bps)15。NORDIC 公司提供通信模块的 GERBER 文件,可以直接加工生产。嵌入式工程师或是单片机爱好者只需要为单片机系统预留 5 个 GPIO,1 个中断输入引脚,就可以很容易实现无线通信的功能,非常适合用来为 MCU 系统构建无线通信功能。CSN
33、:芯片的片选线,CSN 为低电平芯片工作。SCK:芯片控制的时钟线(SPI 时钟)MISO:芯片控制数据线(Master input slave output)MOSI:芯片控制数据线(Master output slave input)IRQ:中断信号。无线通信过程中 MCU 主要是通过 IRQ 与 NRF24L01 进行通信。CE:芯片的模式控制线。 在 CSN 为低的情况下,CE 协同NRF24L01的CONFIG 寄存器共同决定 NRF24L01 的状态(参照 NRF24L01 的状态机)。无线模块的发送端如图3.5所示: 图3.5 无线模块发送端无线模块的接收端如图3.6所示:图3.
34、6 无线模块接收端3.3.2传感器电路气压传感器是压力传感器中的一种,它专用于测量气体的绝对压强。目前市场上能见到的气压传感器有很多种,下面就以市场上常见的Bosch公司推出的BMP085来进行讨论。BMP085不仅可以实时的测量大气压力,还能测量实时温度。同时它还具有IIC总线的接口,便于单片机进行访问16。另外它的使用也很方便,不需要太多的操作就可读取到气压及测量数据。BMP085采用强大的8脚陶瓷无引线芯片承载(LCC)超薄封装,它性能卓越,内置有校准补偿,绝对精度最低可以达到0.03hPa(0.25米),并且耗电极低,只有3A。气压测量范围从300hPa到1100hPa,换算成高度为海
35、拔9000米到500米。下图3.7是其封装外形和引脚排列。 图3.7 封装外形和引脚排列引脚各功能如下:1脚(GND)接电源地,2脚(EOC)为完成转换输出,3脚(VDDA)为正电源,4脚(VDDD)为数字正电源,5脚为空,6脚(SCL)为IIC的时钟端,7脚(SDA)为IIC的数据端,8脚(XCLR)为主清除信号输入端,低电平有效,用来复位BMP085和初始化寄存器和控制器,在不用的情况下可以空置。本设计用的传感器电路如图3.8所示:图3.8 气压传感器3.4电源转换电路 AMS1117系列稳压器有可调版与多种固定电压版,设计用于提供1A输出电流且工作压差可低至1V。在最大输出电流时,AMS
36、1117器件的最小压差保证不超过1.3V,并随负载电流的减小而逐渐降低。如图3.9所示:图3.9 电源转换电路AMS1117的片上微调把基准电压调整到1.5%的误差以内,而且电流限制也得到了调整,以尽量减少因稳压器和电源电路超载而造成的压力。AMS1117器件引脚上兼容其他三端SCSI稳压器,提供适用贴片安装的SOT-223,8引脚SOIC,和TO-252(DPAK)塑料封装。 AMS1117 参数 AMS1117 基本参数 输出电流 (A) 1 输出电压 (V) Adj,1.2,1.5, 1.8, 2.5,2.85, 3.3, 5.0, * AMS1117 其他特性 初始误差 (%) 1.5
37、 压差 (V) 1.3 AMS1117 封装类型 SOT-223 TO-252 SO-8三端口可调节或固定输出电压1.2V,1.5V, 1.8V, 2.5V, 2.85V, 3.3V 和5.0V 输出电流1A 工作压差低至1V 线荷载调节:0.2% Max. 负载调节:0.4% Max. 可选SOT-223,TO-252和SO-8封装。3.5显示电路字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块。1602LCD的基本参数及引脚功能:1602LCD分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带
38、背光的厚,是否带背光在应用中并无差别。 1602LCD主要技术参数:显示容量:162个字符芯片工作电压:4.55.5V工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.954.35(WH)mm1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表3.1所示。第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W为
39、读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。本系统设计的显示电路是为了实时地显示出输入二进制序列的气压值,以方便用户及时发现危险,排除险情与萌芽状态。8位数据口,P00P07,D0D7,这是通讯数据口,背光电源VCC,背光电源的GND,还有背光亮度调节,背光亮度调节通过调整滑动变阻器可以调整显示器
40、的背光效果。显示电路如图3.10所示:图3.10 显示电路(1)显示器选型工业字符型液晶,能够同时显示16x02即32个字符。(16列2行)1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。市面上字符液晶大多数是基于HD44780液
41、晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。(2)1602LCD的指令说明及时序1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)指令1:清显示,指令码01H,光标复位到地址00H位置。指令2:光标复位,光标返回到地址00H。指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表
42、示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F:低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。指令7:字符发生器RAM地址设置。指令8:DDRAM地址设置。指令9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令10:写数据。指令11:读数据。3.6按键输入电路为了使用户能够选择编码功能和译码功能,同时正确
43、输入将要编码或者译码的二进制序列,系统设有按键功能。本设计按键有三个键K1、K2、和K3,分别为切换键,加键,减键。K1接在P1.0上面,K2接在P1.1上面,K3接在P1.2上面,按键另外一端接的GND。每次将按键按下去的时候,K1为低电平,初始化后上面默认L口全为高电平,在检测单片机L口时如果没有按键按下去,那么肯定为高电平,为1就是+5V,如果把按键按下去,就相当于和GND接在一起,也就是说电流被拉低了,由于单片机电流能力很小很小,按键按下去不会对单片机引脚产生什么损害,然后可以根据程序来判断是哪个按键按下去了,然后就可以进行相应程序的功能。在系统的软件设计中,本设计采用的按键电路如图3
44、.11所示。图3.11 按键电路3.7报警电路系统设计时,采用的报警电路如图3.12所示: 图3.12 报警电路在气压每次低于下限值或高于上限值,或者温度高于上限值时,蜂鸣器可以进行报警提醒。PNP的9012三极管加了220欧电阻来进行限流,三极管在这来作为开关使用,当每次为高电平时,不导通,电流就不会往下流,就相当于断开的蜂鸣器,如果每次有报警信息时,将引脚拉低变为零。变为0后电流会从蜂鸣器三极管1处流入,2处流出一部分,大部分从3流出,从而流到GND处,这就是PNP三极管的特性,为低电平时就会导通,为高电平时的时候不导通。当测试到汽车轮胎气压值达到阈值是,蜂鸣器会发出警报同时红色指示LED
45、灯亮,以提醒司机注意安全行驶。4 系统的软件设计4.1软件设计思路4.1.1如何由频率计算出气压值信号每一步的变换过程如下:第一步,被测气压经过气压传感器MPX4105转换成电压输出,根据MPX4105的芯片资料可知,输出电压VOUT和大气压P的关系如下: (4.1)这里VCC为+5V,因此可得: (4.2)第二步,MPX4105的输出电压VOUT作为输入电压Vin,经过V/F转换电路转变为具有对应频率fo的脉冲序列FO。Vin和FO的这种对应关系如第二章的式(2.1)所示。综合式(3.2)和式(2.1),根据,可得: (4.3)式(4.3)中,fo的单位为Hz,P的单位为kPa,K为V/F转
46、换增益,设计中K值为2000。在软件中,根据式(4.3)编程计算得到气压值P。4.1.2软件设计功能及重要的说明就该设计的单片机而言,它的输入信号是具有一定频率的脉冲序列,通过单片机内部的计数器可以获得此脉冲序列的频率,此频率对应于某个气压值,如何将频率换算成该气压值是软件设计首先需要考虑的问题。C语言是一种编译型的结构化程序设计语言,具有简单的语法结构和强大的处理功能,具有运行速度快、编译效率高、移植性好和可读性强等多种优点,可以实现对系统便件的直接操作。用C语言来编写目标系统软件,可以大大缩短开发周期,且明显地增加软件的可读性,便于改进和扩充,从而开发出大规模、高性能的应用系统14。其优势
47、如下:可以大幅度加快开发进度,程序量越大,用C语言就越有优势。无需精通单片机指令集和具体的硬件,也能够编出符合硬件实际专业水平的程序。可以实现软件的结构化编程,使得软件的逻辑结构变得清晰、有条理、便于开发小组计划任务、分工合作。源程序的可读性和可维护性都很好。省去了人工分配单片机资源的工作,在汇编语言中要为每一个子程序分配单片机的资源。在使用C语言后,只要在代码中申明一下变量的类型,编译器就会自动分配相关资源,根本不需要人工干预,从而有效地避免了人工分配单片机资源的差错。汇编语言的可移植性很差,而C语言只要将一些与硬件相关的代码作适当的修改,就可以方便地移植到其它种类的单片机上。C语言提供au
48、to、static、flash等存储类型,针对单片机的程序存储空间、数据存储空间及EEPROM空间自动为变量合理地分配空间,而且C语言提供复杂的数据类型,极大地增强了程序处理能力和灵活性。C编译器能够自动实现中断服务程序的现场保护和恢复,并且提供常用的标准函数库,供用户使用。并且C编译器能自动生成一些硬件的初始化代码。对于一些复杂系统的开发,可以通过移植(或C编译器提供)的实时操作系统来实现。正由于C语言在系统开发中的优势,这次设计的所有程序设计都将采用C语言编写。4.2程序流程图TPMS 软件设计方面与硬件一样分为 2 个模块:压力检测模块和中央监控模块。压力检测模块负责测量压力温度、数据处
49、理、发送所测胎压、温度数据和轮胎 ID 。中央监控模块负责接收数据、数据处理、 LCD 显示轮胎状况、轮胎异常状况报警和设置轮胎 ID 。通过分析压力检测模块的工作流程可得其程序设计流程图如图4.1所示。由于压力检测模块中最消耗电能的时候为射频发送数据时和压力温度数据检测时,所以仅在轮胎状况出现异常或累积测量十次后启动射频部分向中央模块发送数据并且在一定限度内增大两次压力和温度检测时间之间的间隔。其中,轮胎的异常情况包括压力过高或过低,温度高于 80 。如果出现这列情况则立即启动射频部分向中央模块发送数据,以达到 TPMS 对轮胎出现异常状况时的快速反应。当中央显示报警模块接收到数据自动进行解
50、调解码后将数据传送给单片机,单片机通过比较数据与所设定的阀值后,控制 LCD 显示对应轮胎压力和温度,并在所测数据超过设定阀值后报警提示驾驶员。中央监控模块程序流程图如图4.2所示。上电复位初始化测量压力温度压力温度是否达到阈值 Y测量次数i+1发送数据是否达到累积测量次数上限 N N等待15秒 图 4.1 压力检测流程图上电复位初始化STC89C52初始化人机接口等待接收数据是否接收到有效数据 丢弃数据 N NY轮胎ID是否符合 N YLCD显示数据压力温度是否超过阈值 NYLCD显示数据并控制蜂鸣报警器等待接收数据图4.2 中央监控流程图4.3程序实现及调试C语言是一种编译型的结构化程序设
51、计语言,具有简单的语法结构和强大的处理功能,具有运行速度快、编译效率高、移植性好和可读性强等多种优点,可以实现对系统便件的直接操作。用C语言来编写目标系统软件,可以大大缩短开发周期,且明显地增加软件的可读性,便于改进和扩充,从而开发出大规模、高性能的应用系统。具体优点已在上一章节中有详细叙述。本设计是使用C语言在Keil C环境下实现的。 Keil软件简介:Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统。与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工
52、具,全Windows界面。Keil可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存储器中。Keil u Vision2 ADE是Keil software公司的产品,它集项目管理、编译工具、代码编写工具、代码调试
53、以及完全仿真于一体,适合个人开发或人数少、对开发过程的管理还不成熟的开发团体。u Vision2本身自带项目管理器,其开发流程步骤如下:(1)开启u Vision2,建立工程文件并且从器件数据库里挑选出项目实际使用的器件。(2)建立一个新的源文件,并且把这个源文件添加到工程中去。(3)为单片机添加并且设置启动代码。(4)设置硬件相关的选项。(5)编译整个工程并且生成下载到存储器用的HEX文件。4.4系统仿真及调试Proteus与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。因此在仿真和程序调试时,关心的不再是某些语句
54、执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节的矛盾和现象。Proteus提供了比较丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号。对于单片机硬件电路和软件的调试,Proteus提供了两种方法:一种是系统总体执行效果;一种是对软件的分步调试以看具体的执行情况。对于总体执行效果的调试方法,只需要执行debug菜单下的execute菜单项或F12快捷键启动执行,用debug菜单下的pause animation菜单项或pause键暂停系统的运行;或用debug菜单下的stop animation菜单项或shift-break组合键停止系统的运行。其运行方式也可以选择工具栏中的相应工具进行。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年大数据服务合同违约金问题及处理办法
- 2024版合法借款合同模板
- 2024年店铺经营权代理协议
- 2024年度电机维修配件销售与代理合同
- 2024年度安全环保施工与社区关系和谐协议
- 2024年保险合同(财产)
- 2024年度智能物流系统研发与实施合同
- 2024年度租赁合同标的及服务内容详细描述
- 对联课件名称教学课件
- 2024年卫星发射服务提供商与客户的发射合同
- 2024版《糖尿病健康宣教》课件
- ktv保安管理制度及岗位职责(共5篇)
- 脑出血试题完整版本
- 义务教育信息科技课程标准(2022年版)考试题库及答案
- 建筑施工安全生产责任书
- 新员工三级安全教育考试试题参考答案
- 公司年会策划及执行服务合同
- 概算审核服务投标方案(技术方案)
- 人教版(2019)选择性必修第二册Unit 2 Bridging Cultures Learning About Language教学设计
- 数学史简介课件可编辑全文
- 化工原理课程设计附录二
评论
0/150
提交评论