毕业设计论文-基于单片机的车载温湿度显示系统设计.doc
目录摘要1Abstract.20 文献综述30.1研究的背景与意义30.2车载温湿度显示系统的发展现状和发展趋势30.2.1车载温湿度显示系统的发展现状50.2.2车载温湿度显示系统的发展趋势61 引言72系统的整体设计方案73 系统硬件电路设计83.1主控制电路的模块设计83.2 电压转换电路的设计113.3 温湿度信息采集电路123.4 LCD显示电路的设计133.5看门狗电路设计153.6 报警模块电路设计174系统软件程序设计184.1 系统软件整体描述184.2 主程序设计194.3 DHT11温湿度信息采集程序的设计194.4 LCD显示程序设计214.5看门狗程序的软件设计235系统仿真及调试245.1系统的仿真245.2系统的实验结果以及性能分析256结论27参考文献28致谢29附录:系统程序清单30车载温湿度显示仪西南大学工程技术学院, 重庆 摘要:随着人们对汽车的舒适度要求越来越高,对车内环境也有了更多的要求。在汽车内安装车载温湿度显示系统,以便人们对车内环境有了更直接的了解,便于更好地改善车内环境。车载温湿度显示系统主要由主控制器、电压转换模块、温湿度传感器电路、硬件看门狗电路、显示电路等部分构成。其中以单片机为系统控制核心,温湿度传感器直接将车内的温湿度信息以数字信号的形式传输给单片机,再由显示电路显示温湿度信息。看门狗电路维持整个电路正常稳定的运行。系统软件是基于C语言的编程,采用模块化的程序设计思路。最后对系统的主要性能指标、优劣势等做分析。 本次设计达到了预期的结果,能准确实时的反映车内温湿度信息。关键字:车内温湿度;单片机;DHT11;看门狗; Car Temperature and Humidity IndicatorWu JiafengEngineering and Technology, Southwest University, Chongqing 400716, ChinaAbstract: With the comfort of the car increasingly high demand for the car environment has also been more requests. Installed temperature and humidity display system in the car. In this way people on the car have a more direct understanding of the environment, to facilitate a better environment to improve the car.Car temperature and humidity display system is mainly divided into the main controller, the voltage converter module, temperature and humidity sensor circuit, the hardware watchdog circuit, display circuit and other parts. Among them, the system control microcontroller core, temperature and humidity sensors directly to the car's temperature and humidity information in the form of digital signals transmitted to the microcontroller, then the show circuit display temperature and humidity information. Watchdog circuit to maintain normal and stable operation of the entire circuit. System software is based on the C programming language, modular programming ideas. Finally, the system's key performance indicators, such as the advantages and disadvantages for analysis. The design of the basic temperature and humidity indicator to achieve the desired results, can accurately detect temperature and humidity inside the vehicle information.Keywords: interior temperature and humidity; microcontroller; DHT11; watchdog; 0 文献综述0.1研究的背景与意义随着经济水平的发展,人们日常生活中对汽车的需求量也越来越大。汽车给我们的外出带来了极大方便的同时,也同时对驾驶及乘坐人员的健康提出了重要的挑战。汽车车厢是一个相对狭小的空间,其内部环境对于驾驶以及乘坐人员,特别是对长时间驾车的驾驶员的身体健康情况的影响不容忽视的1。目前,人们对汽车舒适度评价的研究相对于温湿度这方面还是很少,无论是理论还是技术方面都还不成熟。提出一套合理的汽车温湿度显示系统的设计方法,将有利于提高汽车汽车舒适度,也有利于汽车综合性能的的监控。再就是整车企业将汽车功能划分为汽车安全、动力、油耗、舒适度及可靠性等,总共有十六个指标,其核心工作就是围绕以上所述的指标,令用户实现最大回报2。当前车载电子产品对整车性能影响极大,如何充分友好的利用汽车电子产品为终端用户做更好的服务,是整车企业的目标之一。 目前汽车电子产品的发展趋势表现出高度集成化,而电子化程度也已成为衡量汽车豪华程度的标志之一。1998年,汽车电子产品占据整个汽车成本的16%,而如今已增至23-25%左右。 目前绝大多数中国汽车电子企业仍然集中在对车体的研发,如何向舒适度、安全车载电子产品共同构建的网络平台,随着汽车电子信息化程度的提升,将会得到进一步的发展;车载温湿度显示系统配合电子风扇、电子转向及自动空调系统等,则更有利于降低整车能耗,减少二氧化碳排放,减少电能的消耗,利于环保3。0.2车载温湿度显示系统的发展现状和发展趋势0.2.1车载温湿度显示系统的发展现状在我国,温湿度显示系统的发展已经经历了几十年了,无论在技术上还是在系统规模上,以及系统的运营维护上,都有了非常大的发展,主要有以下几个方面:(1) 温湿度显示系统的种类不断增加,系统的集成度不断提高。(2) 技术日趋成熟、系统模式越来越稳定。(3) 相关芯片的不断出现与温湿度显示技术相互促进。(4) 系统的精度越来越高。(5) 应用范围越来越广泛。目前的温湿度显示系统并没有集成到汽车内部,在市场上大多数温湿度显示方面的电子产品,都是以汽车内部装饰物品的形式摆放在汽车内部,目前的大多数汽车只有车载温度显示功能,而并没有把湿度显示模块集成到汽车内部。当前的温湿度显示电子产品大多数是以实际需要而设计的,任务相对单一、固定,根据整个系统所需要实现的功能和对数据处理的要求,以及精度方面的考虑。目前主要有一下一些常用的设计方案:(1) 基于单片机的设计实现方式采用单片机是大多数嵌入式系统设计时的首先方案。由于在片上集成有很多丰富的外部设备,具有优良的控制能力,而且价格便宜。单片机在当前的市场上占据了非常大的份额。基于单片机的设计方法一般用于对数据处理要求不是很高的,运算量不是很大的显示系统。根据实际需求,在选择单片机时可以选用较为低端的4位单片机或8位单片机,例如89C51等,也有用功能性比较强大的芯片,例如NEC78P014单片机。单片机主要用于温湿度显示系统的数据处理以及显示。对整个电路的控制程序可以通过C语言或者汇编语言来实现,也可以在嵌入式系统上开发软件。对于比较低端的4位单片机和8位单片机,处理能力相对较低,而且系统比较简单,一般采用裸机程序。如果对温湿度显示的要求较高对系统可操作性以及操作界面友好性要求较高的话,就可以采取嵌入式的方法,这样应用软件只是完成上层的数据处理功能。这种方法可以用于比较低端的汽车上。(2) 基于DSP的设计实现方法 DSP的数字处理能力比较强,相关技术已经很成熟,能够处理多种运算。以DSP作为处理器的设计出来的温湿度显示系统,能够完成高速度的数据处理,也可以保证系统的高集成度4。这一设计方案如果单一的用来处理温湿度传感器传出来的数据的话,就显得有点浪费系统资源,与基于单片机的温湿度显示系统不同的是,DSP除了作为温湿度显示功能之外,还可以对车内图像视频等数据的处理,如果是一般的汽车,车内电子产品不是很多,则可以像温湿度显示模块一样挂载在DSP上,以实现综合处理。减少功耗,提高车载电子产品电路的集成度。(3) 基于微处理器的设计实现方法设计嵌入式产品的另一可选方法是采用基于MPU的设计方案,与日常所用的计算机相比,MPU具有体积小、重量轻、成本低可靠性高等优点。再就是在该领域技术成熟、产品的种类有很多、可以选择的空间很大。一般作为比较高档的汽车内部,作为整个汽车电子系统的核心控制单元,而显示温湿度只是它很小的一部分功能而已。0.2.2车载温湿度显示系统的发展趋势 温湿度显示系统的发展其实和温湿度传感器的发展是息息相关,一个性能优良的传感器能把信息高效快捷的传递给中央处理单元。近年来,国内外在湿度传感器研发领域取得了非常大的进步。湿敏传感器开始从简单的湿敏元件向智能化、集成化、多个参数检测的方向快速发展,为开发新一代温湿度显示系统创造了有利条件,也将温湿度检测技术提高到新的水平。湿敏元件是最简单的湿度传感器件。它主要包括电阻式、电容式这两大类。 (1)湿敏电阻 湿敏电阻的特点是在基片上有一层用感湿材料制成的膜,当环境中的水蒸气吸附在感湿膜上时,元件的电阻率和电阻值就会发生变化,利用这一特性即可测量湿度。它的主要优点是灵敏度高,主要缺点则是线性度和产品的互换性都比较差。 (2)湿敏电容 湿敏电容一般是用高分子薄膜电容制成的,当空气中的湿度发生变化时时,湿敏电容的介电常数发生变化,就促使其电容量也发生变化,其电容变化量与相对湿度成正比。湿敏电容的主要优点是产品互换性好、灵敏度高、响应速度快、便于制造、湿度的滞后量小、容易实现小型化和集成化,其精度一般比湿敏电阻要低一些5。 线性电压输出式集成湿度传感器,典型产品有HM1500/1520、HIH3605/3610。该类产品的主要特点是采用恒压供电,内置放大电路,该产品输出的是与相对湿度呈比例关系的伏特级电压信号,重复性好,响应速度快,抗污染能力强。 线性频率输出集成湿度传感器。线性频率输出集成湿度传感器的典型产品为HF3223型。该类产品采用模块式结构,属于频率输出式集成湿度传感器,当湿度为 55%RH时的输出频率为型值(8750Hz),当上对湿度从95%变化到10%时,输出频率就从8030Hz增大到9560Hz。这种传感器具有抗干扰能力强、线性度好、便于接入数字电路或单片机、价格低等优点。 频率/温度输出式集成湿度传感器。该类器件的典型产品为HTF3223型。它除具有HF3223的功能以外,还增加了温度信号输出端口,利用负温度系数的热敏电阻作为温度传感器。当外界温度发生变化时,其电阻值也相应发生改变,配上二次仪表即可测量出温度值。单片智能化温度/温度传感器。该类产品的代表为Sensiron公司在2002年研制成功DHT11型智能化温湿度传感器。出厂前,每只传感器都在温度室中做过非常精密标准,标准之后的系数被编成相应的程序内置到校准存储器中,在测量过程中可对相对湿度进行自动校准。 1 引言 在日常人们使用汽车的过程中,特别是在长时间的行驶过程中对驾驶员的状态就有了很高的要求,如果能对车内的环境信息有一个及时系统的反馈的话,就有利于车内人员对车内环境做出宏观调控,再就是现在人们对皮肤的保湿非常看重,如果能及时的知道周围环境的湿度情况,这样他们就更能对皮肤的保湿做出很好的准备。因此对车内温湿度的显示有着非常重要的意义,而且非常具有使用价值。目前的温湿度显示系统并没有集成到汽车内部,在市场上大多数温湿度显示方面的电子产品,都是以汽车内部装饰物品的形式摆放在汽车内部,目前的大多数汽车只有车载温度显示功能,而并没有把湿度显示模块集成到汽车内部。本论文所涉及到的温湿度显示,只是单一的温湿度显示,并不需要作为其他车载电路的控制单元,对数据的处理要求并不是很高,而且运算量也不是很大。综合成本与复杂性的考虑,故采取基于单机作为主控制芯片。在传感器的选择上采用Sensiron公司生产的DHT11温湿度集成芯片,DHT11芯片具有响应速度快,互换性好,不需要外部元件,抗干扰能力强,适配各种单片机,可广泛用于各类温湿度显示系统中。本论文设计的温湿度显示仪主要的功能是实时的准确的反映汽车内部的温湿度信息。2系统的整体设计方案温湿度显示系统的设计主要分为硬件电路设计和软件程序设计这两个部分。在硬件方面,硬件电路主要分为电压转换电路、温湿度信息采集电路、显示电路、硬件看门狗电路、温湿度过高或过低的报警电路等部分。各模块功能主要为:主控制器起着核心控制作用,控制各个模块的工作情况,以及起综合协调的作用。电压转换电路将汽车内的12V直流电转换为温湿度显示系统的5V直流电,分别为微处理器、温湿度信息采集电路、看门狗电路、LCD显示电路以及报警模块供电。硬件看门狗电路是一种非常常用的抗干扰措施,可以保证系统因干扰失控后能自动复位。LCD显示模块显示当前环境中的温湿度信息。报警模块的作用是当周围环境中的温湿度不再正常的范围是,给予相关的提示信息。在软件方面,软件的核心为主控制器,环境中的温湿度信息经过温湿度传感器转换为数字信息送入主控制器,主控制器根据传感器送入的数字信息,判断是否启动报警信息,并且把当前的数字信息转换为十进制的数字并且通过LCD显示电路显示出来。在整个运行过程中当系统受到干扰发生紊乱是,硬件看门狗电路复位整个系统。系统软件对主控制器STC89C52进行基于C语言的编程,系统程序采用模块化设计的思想,以实现上述功能。系统的整体结构框图如图2-1所示。图2-1 系统整体结构框图Fig.2-1 Overall system block diagram3 系统硬件电路设计3.1主控制电路的模块设计 主控制模块在温湿度显示系统中起着核心控制作用,考虑到系统所需要的实现功能相对比较简单,再就是综合成本考虑,故选用了STC公司的产品STC89C52RC作为该系统的主控制器,它能直接实现对各个模块的控制功能。该款处理器是一种带有4K字节闪烁可编程、低电压、可擦除只读的高性能CMOS8位微处理器。STC89C52RC的内部主要包含以下几个模块:(1)一个8位的微处理器(CPU);(2)片内有256字节的数据存储器RAM/SFR,用来存放可以读写的数据;(3)4个8位的并行I/O端口,每个端口都可以作为输入输出;(4)片内4KB的程序存储器Flash ROM,被用于存放一些原始数据表格,以及程序;(5)两个16位的定时器/计数器;(6)一个全双工通用异步接收发送器(UART)的串行I/O端口;(7)具有5个中断源、两个中断优先级的中断控制系统。;(8)时钟产生电路和片内振荡器,最高允许的震荡频率为24MHz。以上各个模块通过片内8位的数据总线相连接6。 如图3-1所示为主控制器STC89C52单片机最小系统的构成以及各引脚的连接电路图。 图3-1 主控制模块电路图 Fig.3-1 Main control module circuitSTC89C52RC内部有一个反相的高增益的放大器,用来构成振荡器。反相放大器的输出端为XYAL2,输入端为XTAL1,两个端口的两端接两个电容以及一个石英晶体就可以构成一个非常稳定的自激振荡器。晶体的震荡频率可以选择在1.2-12MHZ之间,电容值一般选择在5-30Pf之间7。为方便计算定时器的时间,故采用外部晶振为11.0592MHZ。对于程序存储器,本系统设定为访问内部程序存储器,但是在程序存储器的数值超过0FFFFH的时候,系统将自动开始执行外部程序存储器的程序。在系统工作是ALE的端口会自动输出一个1/6时钟频率的正弦波。最小系统的引脚连接如表3-1所示。 表3-1 最小系统引脚连接定义表Tab.3-1 Minimum System pin connection definition table引脚名称引脚连接XTAL1,XTAL2电容值选用30PF,外部无源晶振频率为11.0592MHZRESET看门狗复位电路EA+5V,选择内部程序存储器ALE悬空PSEN高阻态STC89C52RC单片机有4个I/O口,其中P0端口内部没有固定的上拉电阻,所以在外部接10K的上拉电阻。所有的I/O端口,分别连接主控制器与各子模块,具体的接口配置情况如表3-2所示: 表3-2 主控制器接口配置表Tab.3-2 Host Controller Interface Configuration TableI/O口与子模块接口配置说明P0口P0.1-P0.7接LCD1602的数据端口P1口P1.0,P1.1P1.7分别接SHT11的SCK端口和DATA端口接Max813的端口P2口P2.0-P2.7没有使用P3口P3.0-P3.3P3.4,P3.5, P3.6P3.7没有使用接LCD1602的控制端口接报警模块接口3.2 电压转换电路的设计 三端稳压集成电路有负电压输出的79系列和正电压输出的78 系列。三端稳压集成电路只有三条引脚输出,分别为输入端、输出端和接地端。它的样子象是普通的三极管, 标准封装为TO- 220,也有的是用TO-92封装。 用78/79系列三端稳压集成电路来组成稳压电路所需要的外围元件非常的少,电路内部还有过热、过流以及调整管的保护电路,使用起来非常的可靠、方便,而且价格比较便宜。该系列集成稳压电路的型号中的78/79后面的数字表示该三端集成稳压电路的输出电压,如7805表示输出电压为正5V,7906表示输出电压为负6V。 因为三端固定集成稳压电路的使用方便,因此在电子电路设计中会经常使用到。 在实际应用中,应该在三端集成稳压电路上安装散热器(当然小功率的条件下不用)。因为当稳压管温度过高时,稳压性能将变差,甚至损坏。 78系列的稳压器最大输入电压为35V,当输入电压值高于此值时,可以用图3-2所示的电路图,VT、DT和R6A组成一个预稳压电路是的加在7805输入端的电压稳定在DT的稳压值上,Ui端的最大输入电压就取决与VT的耐压值。 图3-2 电压转换电路 Fig. Voltage conversion circuit 3.3 温湿度信息采集电路本次设计的温湿度显示系统采用的温湿度传感器是DHT11。该款温湿度传感器是一种含有已校准数字信号输出的温湿度复合传感器。DHT11采用的是专用的温湿度传感技术和数字模块采集技术,可以确保该款产品具有极高的可靠性与卓越的以及长期的稳定性。传感器的内部包括了一个NTC测温元件和一个电阻式感湿元件,并且与一个高性能8位单片机相连接。因此该产品具有超快响应、品质卓越、性价比极高、抗干扰能力强等优点。每个DHT11传感器都在出厂前在极为精确的湿度校验室中进行校准。校准后的系数以程序的形式在OTP内存中储存起来,DHT11传感器内部在检测信号的处理过程中会调用这些校准系数8。该款温湿度传感器采用单线制串行接口,使系统集成变得简易快捷。而且具有超小的体积、极低的功耗,信号的传输距离可达20米,使其应用场合非常的广泛。DHT11温湿度传感器为4针单排引脚封装。连接方便,如果需要特殊的封装形式可根据用户的具体需求而提供。该款产品的应用领域主要有暖通空调、测试及检测设备、汽车、数据记录器等。测量范围:湿度20-90%RH, 温度050。测量精度:湿度+-5%RH,温度+-2。在一般情况下当DATA连接线长度短于20米时用5K上拉电阻,当连接线的长度大于20米时根据实际情况使用合适的上拉电阻。DHT11温湿度传感器的电源引脚连接情况是这样的, 它的供电电压为 35.5V。温湿度传感器上电后,要等待 1s 以跳过不稳定状态在此期间无需发送任何指令。引脚VDD和GND引脚之间可增加一个100nF 的电容9,用以去耦滤波。DATA引脚用于DHT11与微处理器之间的通讯和同步,它采用的是单总线数据格式,一次通讯时间为4ms左右,数据格式分为小数部分和整数部分,一次完整的数据传输为40bit,高位先出。 数据传送正确时校验和数据等于“8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据”所得结果的末8位10。在本系统中的具体连接情况如图3-4所示 图3-4 温湿度信息采集模块电路图 Fig. Temperature and humidity information collection module circuitDHT11的DATA和SCK两个引脚直接送入STC89C52的P1O和P11口,在STC89C52中处理完后将数据通过其P3.5、P3.6和P3.7口送入到LCD1602中,并通过LCD1602来显示采集到的温度和湿度。 34 LCD显示电路的设计 在单片机系统中用LCD1602液晶显示器作为输出器件有以下一些优点11:(1) 显示质量高。由于液晶显示器的每一个点在收到信号后会持续保持那种亮度和色彩,而且发光恒定,而不像CRT(阴极射线管显示器)那样要不断的刷新新的亮点。因此,液晶显示器的画质质量高并且不会有闪烁。(2) 数字式接口。液晶显示器都是数字式的,这样就更加的容易和单片机系统连接,操作更加的方便。(3) 体积小重量轻。液晶显示器是通过屏上的电极来控制液晶分子的状态以达到显示目的,因此在重量上要比相同显示面积的显示器件轻便的多。(4) 功耗低。相比较而言液晶显示器的功耗主要消耗在液晶显示器的内部电极上和驱动IC上,因此消耗的电能比其它显示器件要少的多。本次设计的温湿度显示系统采用的是液晶显示器LCD1602,这是一款非常常见的显示器12,其主要的技术参数如下所示:(1) 显示容量。16*2个字符(2) 显示器的工作电压:4.5V-5.5V(3) 5V时的工作电流:2.0mA(4) 字符的大小:2.95*4.35(W*H)mm液晶显示器LCD1602与主控制器的连接电路图如图3-5所示:图3-5 LCD1602电路连接图Fig.3-5 LCD1602 circuit connection diagramLCD1602液晶显示器引脚接口定义如表3-4所示。 表3-4 LCD1602液晶显示器引脚连接定义表 Tab.3-4 LCD pin connection definition table引脚名称引脚功能以及连接定义VEE液晶显示器对比度调整端口,接地时对比度最高,接正电源时对比度最弱,在电路设计时可以用一个10K的可变电阻来调整显示器的对比度RS寄存器选择端口,高点平时启用的是数据寄存器,低电平时使用的是指令寄存器R/W读写信号线,低电平时进行写操作,高点平时进行读操作。当RS和R/W两个端口共同为低电平时可以写入指令或显示地址,当RS为高点平RW为低电平时可以写入数据,当RS为低电平RW为高电平时可以读忙信号LCDEN使能端,当E端由高电平跳变为低电平时,液晶显示器开始执行命令LCD0-LCD78位双向数据线3-5看门狗电路设计看门狗电路是一种在电子电路设计中应用非常广泛的抗干扰措施,用以保证系统因干扰失控后能自动复位12。Max813看门狗电路其实就是一个可以通过CPU来复位的定时器,它的定时时间是固定不变的,只要定时时间到了,该看门狗电路就产生复位信号或中断信号。当程序正常运行时,在小于定时时间隔的情况下,单片机输出信号刷新定时器,通过这种方式定时器就处于不断的重新定时过程,这样看门狗电路就不会一直产生复位信号或中断信号,反之,当程序因出现某些外界因素干扰而“跑飞”时,在这种情况下单片机就不能刷新定时器,产生中断信号或产生复位信号使单片机中断或复位,使其返回到起始程序,恢复正常。看门狗芯片Max813和单片机的一个I/O引脚相连,该I/O引脚通过程序控制看门狗芯片定时地往Max813引脚上送入高电平(或低电平)。看门狗技术的实现可用硬件方式,也可以用由软件的方式来实现。在系统成本允许的情况下,可以选用专门的看门狗芯片或片内带看门狗的单片机。当条件不容许的情况下,可以使用软件看门狗技术。看门狗电路可以分为外看门狗和内看门狗电路这两大类。内看门狗电路就是指看门狗电路的硬件包含在单片机内部。对于没有内看门狗硬件电路的单片机,可以采用外部看门狗定时器。外部看门狗电路的实现既可以用专用看门狗芯片来实现,也可用普通芯片搭成。专用的硬件看门狗电路实质上就是一个特殊的定时器,当定时时间到,发出溢出脉冲。硬件电路连接好的情况下,在程序中植入一些看门狗复位的指令(即“喂狗“指令),以保证单片机复位13。主要功能为,独立的看门狗电路。看门狗定时时间为1.6s;上电、掉电以及降压情况下具有复位信号输出;具有1.25V门限检测器,用于低压报警,并且可以适时监视+5V以外的电源电压;具有手工复位按钮。各引脚说明如下所示:MR:手动复位输入端,当输入端输入的低电平保持在140ms以上,MAX813芯片就输出复位信号。VCC:5V电源。GND:电源地。PFI:电源检测输入端。将需要检测的电源连接在这个输入端上,不用时接地或接电源。PFO:电源检测输出端。当被检测电源的数值正常时,该端口就输出高电平,否则输出为低电平。WDI:看门狗输入端。在程序正常运行的情况下,必须在小于1.6s的时间间隔内向该端发送一个脉冲信号,以清除芯片内部的看门狗定时器的定时时间。若超过1.6s该输入端还没有收到脉冲信号,则内部定时器溢出。RESET:该引脚上电后自动产生一个200ms的复位脉冲;在手动复位端输入低电平的情况下,该端也会产生复位信号。 WDO:在看门狗输出端的喂狗信号在1.6s内能及时送入的情况下,该脚就会产生1个低电平信号。看门狗电路与主控制器的连接电路如图3-7所示: 图3-7 看门狗电路模块 Fig.3-7 Watchdog circuit module如图3-7所示,此电路模块配合整个系统电路可以实现在整个电路运行过程中上电、瞬时掉电以及程序在执行过程中出现“死机”时的自动复位和手动复位;并且可以实时地监视电源故障。看门狗电路模块利用了MAX813的手动复位输入端。当程序一旦“跑飞”引起 “死机”现象时,WDO端口电平由高到低,当WDO端口电平变低超过140ms时,就会引起MAX813产生一个200ms的复位脉冲信号。同时也会使看门狗定时器清0而且使WDO端口电平变成高电平。在电路运行过程中也可以随时的使用手动复位按扭使MAX813产生复位脉冲信号,由于为产生复位脉冲的MR端口的低电平至少要求保持在140ms以上,因此可以有效地消除开关抖动。3-6 报警模块电路设计由于本系统是在车内使用,故采用LED灯报警电路。报警电路结构相对比较简单,而且控制方便。当FM=1时报警系统不工作;当FM=0时报警系统就会处于报警状态。报警出现的情况为当温度过高或湿度过低时14。温度的合适范围18-25摄氏度,湿度的合适范围30%-80%。其电路连接图如图3-8所示。 图3-8 报警电路连接图 Fig.3-8 Alarm circuit connection diagram 4 系统软件程序设计4.1 系统软件整体描述本次设计的车载温湿度显示系统的软件采用C语言编程。C语言是组合语言(Combined Language)的中英混合简称,C语言是一种计算机的程序设计语言。C语言既有汇编语言的特点,又有高级语言的特点。C语言可以为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖系统硬件的应用程序。C语言的主要优点有:数据结构丰富;C语言的语法限制不太严格,程序设计自由度非常大;简洁紧凑,灵活方便;C语言是结构式语言;生成的目标代码质量高,程序运行效率高;C语言容许直接访问系统硬件的物理地址,可以直接对硬件进行操作;C语言适用范围广,可移植性非常好。软件设计车载温湿度显示系统的重要组成部分,系统运行的好坏在很大程度上直接取决于程序语言的编写质量的高低。软件部分主要是完成对温湿度信息的采集,显示,以及完成相应的控制。软件部分主要包含以下几个部分:(1)主程序;(2)温湿度信息的采集程序;(3)LCD显示程序;(4)看门狗程序;(5)报警程序。 一个较大的程序一般在编写的时候把他分为若干个程序模块,每一个程序模块用来实现一个特定的功能。在C语言的编程过程中,子程序的实现是采用函数来完成的。有主函数来调用其它函数,其它函数也可以相互调用。因此在C语言编程过程中,把一些重要的功能模块编写成函数的形式,这样既可以减少某些程序重复的编写,同时也可以非常便捷的调试程序以及查错。4.2 主程序设计主程序的流程图如图4-1所示。 图 4-1 主程序流程图 Fig.4-1 Main program flowchart 系统开机后系统对硬件进行初始化,启动定时器、开中断、读取系统工作参数、设置个接口芯片的工作方式,接着进入主循环:核心控制系统接收从DHT11传过来的数字温湿度信号,经过转换处理,把温湿度信息通过LCD602显示出来,并且检测是否超过限值。程序运行的整个过程中受到看门狗电路的监视。4.3 DHT11温湿度信息采集程序的设计微处理器是通过采用二线串行数字接口的方式与DHT11进行通信。通信协议与通用的I2C总线议是不兼容的,因此需要用通用的单片机的I/O口来模拟该通信时序。单片机对DHT11控制是通过5个5位命令代码来实现的,这些命令代码的含义如表4-1所示。 表4-1 DHT11的命令代码及含义 Tab.4-1 Command code and the meaning of DHT11命令代码含义03H 测量温度命令05H 测量湿度命令06H 写寄存器状态命令07H 读寄存器状态命令1EH 软件启动命令DATA在SCK时钟下降沿后,开始改变状态并且只有在SCK时钟上升沿有效。DHT11上电后进入休眠模式,首先发送一个“启动时序,唤醒芯片,即在SCK为高时使DATA由高电平变为低电平,并在下一个SCK为高时将DATA升高,时序图如图4-2所示。 DATA SCK 图4-2 DHT11时序图 Fig.4-2 DHT11 timing diagram单片机发出测量命令后就等待测量完成,为表明测量完成,DHT11将数据线拉成低电平,单片机重新启动SCK,DHT11就传送两字节的测量数据与一字节的CRC数据,传输数据的顺序是从最高位(MSB)到最低位(LSB)。单片机接收到每个字节后,必须将数据线的电平拉成低电平,为每个字节产生应答信号ACK。CRC寄存器通过计算一个多项式(X8+X5+X4)之和来判定测量过程是否发生错误,一旦发现错误,单片机就会发送软启动命令,重新进行测量。如果不使用CRC一8校验,单片机可以在测量值KSB后保持应答信号ACK高电平,来终止通信。DHT11的程序工作流程如图4-3所示。 图4-3 DHT11的程序流程图 Fig.4-3 DHT11 program flow chart4-4 LCD显示程序设计液晶显示器LCD1602的程序工作流程图如图4-4所示。首先对液晶显示器LCD1602进行初始化,设置显示模式以及光标的设置。显示模式为:16X2显示;5X7点阵;8位数据口;光标不显示;读写字符时,地址指针加一,光标位置加一。 图4-4 LCD1602程序流程图 Fig.4-4 LCD1602 program flow chart然后依次显示两行里的显示缓冲区里的内容,第一行显示温度信息,第二行显示湿度信息。液晶显示器LCD1602的显示操作分为读操作和写操作,这次设计的温湿度显示仪只需要用到读操作指令。LCD1602的内部含有80X8位的RAM缓冲区,其对应关系如图4-5所示。其内部含有缓冲区,在设置整个屏幕移动显示时使用。因此在显示完第一行