




已阅读5页,还剩41页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于ADUC812单片机的温湿度检测仪摘要环境中的温湿度指标是两个重要的物理参数,在许多领域对温湿度测量要求高的场合,都需要精确测量温湿度。针对这一情况,设计一种可靠、实用的检测仪器显得非常重要。基于ADUC812单片机的湿度检测仪可以实时、准确的测量环境中的温度和相对湿度,并能通过键盘输入设置湿度上下限的值以及进行语音报警,其附有的通信接口可方便地实现与计算机的实时通信。在整个设计过程中,我们综合参考了国内外同类产品的设计方法,结合用户的实际需求,经研究之后,硬件部分的设计采用了以带有A/D转换器的ADUC812单片机为核心控制器件,以高灵敏度AD590电流输出型二端式集成温度传感器为温度数据获取元件和湿度传感器THS11采集环境中的相对湿度,模拟输入接口接入键盘实现人机交换功能,并用LCD作为显示设备的硬件设计方案。此外,在通信方面使用RS232串行数据接口与计算机进行数据传输。软件部分则采用采用模块化的方法将其分成几个部分,然后逐模块设计程序,用汇编语言来实现,最终使各部分结合起来协调工作。该温湿度检测仪的设计,能够完成的温湿度检测,实现主要的温湿度检测功能。关键词ADUC812单片机,传感器,LCD,温湿度MEASURINGINSTRUMENTFORHUMIDITYBASEEDONADUC812MICROCONTROLLERABSTRACTTHETEMPERATUREANDRELATIVEHUMIDITYOFENVIRONMENTALCONDITIONARETWOIMPORTANTPHYSICALPARAMETERS,ININDUSTRYDEPARTMENTASWELLASTHELABORATORYANDSOONTHEPETRIFICATION,METALLURGY,ELECTRICPOWER,DRUGSMANUFACTURE,CEMENTREQUESTSTHEHIGHSITUATIONTOTHETEMPERATUREANDRELATIVEHUMIDITYSURVEY,ITAPPEARSVERYIMPORTANTTODEVELOPARELIABLEANDPRACTICALINSTRUMENTTHATCANEXAMINETHERELATIVEHUMIDITYOFENVIRONMENTBASEDONTHEADUC812MICROCONTROLLERHUMIDITYINSTRUMENTBEABLETOACCURATEEXAMINEENVIRONMENTTEMPERATUREANDTHERELATIVEHUMIDITYONREALTIME,ANDUSERCANSETTHEHUMIDITYEXAMINANTSRANGE,SOITWILLGIVEAWHENTHEREALHUMIDITYBEYONDTHELIMITINGITATTACHESTHECORRESPONDENCECONNECTIONMAYCONVENIENTLYTHEREALIZATIONANDTHECOMPUTERREALTIMECOMMUNICATIONINTHEWHOLEDESIGNPROCESS,WEHAVESYNTHESIZEDREFERREDTOTHEDOMESTICANDFOREIGNSIMILARPRODUCTSDESIGNMETHOD,THEUNIONUSERSDEMAND,ASWELLASHIGHXINGJIANCOMPAREDTOANDSOONTARGET,AFTERRESEARCH,USEDTAKEINCLUDEDA/DTHESWITCHTHEADUC812MICROCONTROLLERASTHECORECONTROLCOMPONENT,TAKETHEHIGHSENSITIVITYWARMSENSORAD590ASTHEDATAGAINPARTANDTAKETHEHUMIDITYSENSORTHS11ASTHEDATAGAINPART,ANDTOOKTHEGRAPHICDISPLAYDEVICEWITHLCDTHEHARDWAREDESIGNPROPOSALINADDITION,HASUSEDTHERS232SERIALDATACONNECTIONINTHESERIALCOMMUNICATIONASPECTBUTSOFTWAREPARTIALUSESMODULARTHEDESIGNMETHOD,CAUSESVARIOUSSEGMENTSTHEFUNCTIONEVENMORETOBECLEARABOUT,THEREADABILITYISSTRONGERTHETEMPERATUREANDHUMIDITYDETECTORCIRCUITDESIGN,TOCOMPLETEACAPTIALTEMPERATUREANDHUMIDITYTESTING,ACHIEVINGBASICFUNCTIONSOFTEMPERATUREANDHUMIDITYTESTINGKEYWORDSADUC812MICROCONTROLLER,SENSOR,LCD,TEMPERATUREANDHUMIDITY目录前言1第1章温湿度检测仪总体技术方案211温湿度检测仪的主要性能指标及其工作原理2111性能指标2112温湿度检测仪的工作原理212温湿度检测仪的硬件设计总体结构方案313温湿度检测仪应用软件系统的设计方案4第2章温湿度检测仪的硬件电路设计621温湿度检测仪ADUC812单片机电路的设计622温湿度检测仪的硬件电路设计7221温度检测电路8222湿度检测电路8223其它模块电路设计9第3章温湿度检测仪的软件设计1331主程序模块设计1332温湿度检测模块程序设计14321温度检测模块程序设计14322湿度检测模块程序设计1533键盘扫描和LCD显示模块程序设计20331键盘扫描20332LCD显示部分程序设计23结论28参考文献29致谢31附录32前言日常生活中,档案馆、图书馆、精密仪器室、超净车间对等对环境温湿度都有严格的要求所以温湿度集散控制技术是最常见的应用技术。随着科技的进步,检测仪表也向着智能化、小型化、低功耗的方向发展。在这个发展过程中,单片机发挥了重要的作用,本文介绍的湿度检测仪就是以单片机作为核心控制器设计的。它具有体积小、操作简单、性能稳定、测量精度高和抗干扰能力强等优点,可广泛应用于需要对温湿度进行测控的领域中。本设计首先根据实际生产生活的需要提出温湿度检测仪的功能要求,然后由这些要求具体设计出了硬件原理图,再采用模块化的方法将其分成几个部分,然后逐模块设计程序,最使各部分结合起来协调工作。它是利用单片机的在控制方面的突出优点,并综合运用现代检测技术、微控制技术、数据处理和通信技术以及LCD显示技术而设计的。可以实时、准确的测量环境中的温度和相对湿度,通过键盘输入设置相对湿度上下限及进行报警,并且可以和PC机进行通信,作为温湿度记录仪使用。论文的第一章介绍了温湿度检测仪的主要性能指标及其工作原理,主要介绍了温湿度检测仪的硬件设计总体方案和温湿度检测仪的应用软件系统的设计方案;第二章主要介绍了温湿度检测仪的硬件电路设计,重点介绍了温度检测电路和湿度检测电路;第三章主要介绍了基于ADUC812单片机的湿度检测仪的软件设计,软件设计部分采用模块化设计,重点介绍了湿度检测模块程序设计中对湿度的频率的线性化处理和温度补偿。第1章温湿度检测仪总体技术方案温湿度作为两项项环境参数,在很多方面都起着重要的作用。本文中的基于ADUC812单片机的湿度检测仪就是针对这一需求而设计的。它综合运用了现代检测技术、数据处理和通信技术以及LCD显示技术,可以实时、准确的测量环境中的温度和相对湿度和设置相对湿度上下限及进行报警,并且可以和PC机进行通信,作为温湿度记录仪使用。在此设计过程中,我们综合分析了不同用户在不同场合的不同需求,并且借鉴了国内外同类仪表设计的经验,经研究之后,采用了以含有A/D转换器的ADUC812单片机为核心控制器件,以高灵敏度温度传感器和湿度传感器为数据获取元件的方案。它的设计过程主要包含硬件设计和软件设计两大过程以下是该温湿度检测仪设计的大概过程。11温湿度检测仪的主要性能指标及其工作原理111性能指标1相对湿度测量精度3RH,分辨力01RH;2温度测量精度1,分辨力01;3可有用户自行校准仪表的测量精度,无需硬件调整;4可直接与微机串行口连接,作环境相对湿度与温度的高精度记录仪使用;5LCD显示;6用户可编程设定相对温度与湿度上、下限报警值,并可进行语音报警;7用户可编程设定手动或定时自动打印相对湿度与温度的测量结果;8可手动或自动记录测量的相对湿度与温度的结果;9电源DC9V10;10工作环境温度60,工作环境湿度90;112温湿度检测仪的工作原理加载有相应程序的ADUC812单片机定时采集温度测量电路电压信号和相对湿度测量电路输出的频率信号,并对湿度的频率进行线性化处理和温度补偿,从而获得温度和相对湿度数据,分别将这些数据存储于数据存储器中,然后送LCD显示屏显示。可通过键盘电路来设置相对湿度的上下限,当检测到的环境湿度超过限制设定值时,单片机控制报警电路发出语音警报。当仪表收到PC机发送的传送指令时,就把当前一段时间的测量数据打包传送给PC机。12温湿度检测仪的硬件设计总体结构方案硬件部分是检测仪的重要部分,设计的好坏直接影响到整机的性能。该检测仪采用ADUC812单片机为核心,整个硬件系统分为以下几个部件,具体如图11所示LCD显示电路电源电路部分温度传感电路湿度传感电路键盘扫描电路语音报警电路RS232转换电路ADUC812单片机图11硬件电路框图温度检测电路由半导体集成传感器AD590和电阻构成,AD590输出电流通过电阻进入模拟地,产生相应的电阻电压。电阻的电压输入到ADUC812单片机中,经ADC转换为数字量,有应用软件处理得到环境温度。相对湿度测量电路由NE555构成的振荡电路组成,湿度传感器THS11的电容随环境相对湿度的变化而变化,从而导致振荡器的振荡频率变化,ADUC812单片机通过测量振荡器输出的振荡频率,经过软件处理后,获得相对湿度值。键盘输入电路与LCD显示电路实现人机对话的功能。RS232接口电路与PC机的串行口联接,实现通信功能。13温湿度检测仪应用软件系统的设计方案该仪表的系统程序设计采用模块化的程序设计方法,其结构见图12主模块温度检测湿度检测键盘扫描LCD显示温度电压读取温度信号处理温度显示湿度频率读取线性处理湿度显示湿度信号处理温度补偿LCD显示驱动图12软件设计模块图检测仪的应用软件系统包括主程序模块、温度检测模块、相对湿度检测模块、键盘和显示模块以及串行通信模块。主程序的内容包括主程序的起始地址,中断服务程序的起始地址,有关内存单元及相关部件的初始化和一些子程序。温度检测模块主要是完成测温电路所得电压与实际温度的转换,和对温度数据的存储、显示;相对湿度检测模块除了要实现对湿度数据的存储、显示外,还要对湿度信号进行温度补偿和线性化处理。键盘、显示模块完成检测仪控制和数据显示功能;通信模块包括初始化、发送及接收部分,可实现检测仪与PC机通信的功能。第2章温湿度检测仪的硬件电路设计此系统采用了以含有A/D转换器的ADUC812单片机为核心控制器件,以高灵敏度传感器为获取元件,用LCD作为显示设备,并含有语音报警电路的方案。这个系统主要由ADUC812单片机、温度测量电路、相对湿度测量电路、语音报警电路、键盘输入电路与LCD显示电路。21温湿度检测仪ADUC812单片机电路的设计该检测仪的设计是以ADUC812单片机为核心部件,ADUC812单片机是美国AD公司推出的与MCS51单片机兼容的ADUC812单片机,它包含了高性能的8路12位ADC、2路12位DAC、80C52MCU内核、8KBEEPROM程序存储器、640BEEPROM数据存储器和温度传感器等片内资源。ADUC812单片机的引脚排列如图21。利用ADUC812单片机的输入接口P17定时采集温度测量电路电压信号和输入/输出接口P35采集相对湿度测量电路输出的频率信号,并对湿度的频率进行线性化处理和补偿,从而获得温度和相对湿度数据,分别将这些数据存储于数据存储器中,然后再通过P36和P37接口把芯片处理的数据送入显示模块电路,并可以用LCD显示屏显示出来。当温湿度检测仪检测到的相对湿度超过用户设定的上下限时,单片机通过P10口输出语音信号到报警电路。单片机通过模拟输入口ADC0ADC7连接键盘,用户可以通过键盘输入实现人机交换。ADUC812单片机的P30、P31端口与PC机相连实现串行通信,采用RS232C串行接口。ADUC812单片机的时钟电路采用的是内部的时钟电路,利用单片机内部的振荡电路,并在XLAT1和XLAT2两引脚间外接石英晶体和电容构成的并联谐振电路,使内部振荡器产生自激振荡。石英晶体XT1频率是11059M,C1和C2是33PF。1234ABCD4321DCBAP11/ADC12P12/ADC23P13/ADC34P10/ADC01P14/ADC411P15/ADC512P16/ADC613P17/ADC714AVDD5AGND6CREF7VREF8DAC09DAC110P30/RXD16P31/TXD17P32/INT018P33/INT1/MISO19P34/T022P35/T1/CONVST23P36/WR24P37/RD25P2638P2739P2537P24/A12/A2036P23/A11/A1931P2230P2129P2028P00/AD043P01/AD144P02/AD245P03/AD346P04/AD449P05/AD550P06/AD651P07/AD752RESET15XTAL1INPUT32XTAL2OUTPUT33DGND35DVDD34DVDD48DGND47ALE42PSEN41EA40DVDD20DGND21SCLOCK26SDATA27ADUC812A图21ADUC812单片机的引脚排列图ADUC812单片机的复位电路采用的开关复位电路,开关SW1未按下是上电复位电路,上电复位电路在上电的瞬间,由于电容上的电压不能突变,电容处于充电(导通)状态,故RST脚的电压与VCC相同。随着电容的充电,RST脚上的电压才慢慢下降。选择合理的充电常数,就能保证在开关按下时是RST端有两个机器周期以上的高电平从而使ADUC812内部复位。SW1按下时是按键手动复位电路,RST端通过R1与VCC电源接通,提供足够的时间的复位电平,使单片机复位。基于ADUC812单片机的温湿度检测仪的原理图见附录。22温湿度检测仪的硬件电路设计该温湿度检测仪的硬件系统由以下部分组成电源部分、相对湿度测量电路、温度测量电路、键盘扫描电路、LCD显示电路、语音报警电路、与PC机通信的RS232转换电路和存储器扩展部分,各部分设计如下。221温度检测电路温度检测电路主要由AD590传感器、电阻和放大器组成,具体电路图如图12所示。AD590是一种电流输出型二端式集成温度传感器,其主要技术参数测温范围55150;工作电压4V30V;精度05;灵敏度1A/,温度每变化1,其输出电流变化1A;输出零点为热力学温标零点。即273时AD590的输出电流为0A,0时输出约为273A。温度检测电路如图22所示1234ABCD4321DCBAR1551KVAA21STAD590P17图22温度检测电路工作过程因为流过AD590的电流与热力学温度成正比,电流经电阻R15转换为电压信号,所以电阻R15上的电压也将随环境中温度的变化而变化。电阻上的电压信号经放大器放大后输入到ADUC812单片机带有A/D转换器的端口P17,由单片机应用软件处理为环境中的实际温度数据。222湿度检测电路相对湿度测量电路如图23所示,它由NE555构成的振荡器组成,湿度传感器THS11的电容随环境相对湿度的变化而变化,从而导致振荡器的振荡频率变化。湿度检测电路通过湿度传感器THS11采集环境中的相对湿度。THS11是一种电容式湿度传感器,它的电容值随环境湿度的变化而变化,它具有测量范围广(0100)RH;适用性好,可在(40100)温度下工作;精度高(2);响应速度快(5S),恢复时间短(10S);长期稳定好(年漂移量仅为15RH)并且具有极好的线性输出等特性。1234ABCD4321DCBAC12THS11R17910KLR16580KLR1451KLVAAR4TRIG2CVOLT5Q3DIS7THR6NE555U2CONVST图23湿度检测电路湿度检测电路的工作过程为环境相对湿度的变化导致湿度传感器THS11的电容变化,从而引起振荡器的输出频率的变化。单片机通过测量该频率的变化,经应用软件的温度补偿和线性化处理可获得环境相对湿度值。该测量电路的测量精度为3RH,分辨力01RH,使得相对湿度传感器THS11的测量范围大,长期稳定性好,响应时间短,温度系数低,线性度较好,体积小。不足之处是相对湿度传感器THS11及其它元件的离散性导致了调试困难,需进一步研究解决。223其它模块电路设计键盘输入电路与LCD显示电路实现人机对话的功能。RS232C接口电路与PC机的串行口联接,实现通信功能。打印输出接口电路与打印机连接,实现打印功能。以下重点简单介绍LCD显示电路、语音报警电路、串行通信模块1LCD显示电路LCD显示电路用于实现中文窗口菜单和测量结果显示功能,可通过键盘扫描电路完成参数输入、菜单选择等操作。因此,键盘扫描电路和LCD显示电路可视为人机对话接口。显示模块电路如图24所示。1234ABCD4321DCBAR35VCCE6RST17CS216CS115R/W5D/I4DB714DB613DB512DB411DB310DB29DB18DB07VSS1VDD2VEE18VO3VLED19VLED20U7HS12864BA8A9A11A10D7D6D5D4D3D2D1D0P12456U3B74HC00VCC123U3A74HC00RDWR8910U3C74HC00VCC图24显示模块电路电路中的HS12864是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及12864全点阵液晶显示器组成。可完成图形显示,也可以显示84个1616点阵汉字。主要技术参数和性能1电源VDD5V;模块内自带10V负压,用于LCD的驱动电压。2显示内容128列64行点3全屏幕点阵4七种指令5与CPU接口采用8位数据总线并行输入输出和8条控制线6占空比1/647工作温度1050,存储温度2070在显示电路中,单片机的RD、WR、P12端口通过由“与非门”构成的辅助电路与HS12864的E端口相连,来控制显示模块对单片机送来数据的操作;而P01口控制显示器显示内容,即数据或指令;来自P02,P03的指令选择显示器左右半屏的信号。2语音报警电路1234ABCD4321DCBAR5047KC2801USPEAKER1SPEAKERVCCQ7NPN_1R1410P10INK9图25语音报警电路报警电路主要由电源、放大器、滤波电路和扬声器组成。当温湿度检测仪检测到的相对湿度超过用户设定的上下限时,单片机通过P10口输出语音信号使报警电路发出警报。语音报警电路如图25。3串行通信模块1234ABCD4321DCBAVCCC1110UF/25VC1010UF/25VC910UF/25VC810UF/25V162738495J1DB912345687109U3PRO31B3TMP_232C_43P31/TXDP30/RXD图26与PC通信电路与PC通信电路如图26,检测仪与PC机通信采用RS232串行接口。RS232是PC机与通信工业中应用最广泛的一种串行接口,它被定义为一种在低速率串行通讯中增加通讯距离的单端标准。RS232采取不平衡传输方式,即所谓单端通讯。由于其发送电平与接收电平的差仅为2V至3V左右,所以其共模抑制能力差,再加上双绞线上的分布电容,其传送距离最大为约15米,最高速率为20KB/S。RS232是为点对点(即只用一对收、发设备)通讯而设计的,其驱动器负载为37K,所以RS232适合本地设备之间的通信。RS232是用正负电压来表示逻辑状态的,而TTL是用高低电平来表示逻辑状态的,因此,为了能够同PC机接口或终端的TTL器件连接,必须在RS232与TTL电平之间进行电平转换这里利用MAX232完成电平转换工作。MAX232芯片是MAXIM公司生产、包行两路接收器和驱动器的IC芯片,适用于各种EIA232C和V28/V24的通信接口。MAX232芯片内部有一个电压变换器,可以把输入的5V电源电压变换成为RS232所输出电平所需的电压。所以,采用此芯片的串行通信系统只需单一的5V电源就可以了。第3章温湿度检测仪的软件设计31主程序模块设计主程序是控制和管理的核心,主要完成在系统上电后进行定时和中断开始显示开机界面有键按下吗温度检测吗温度检测温度显示湿度检测吗湿度检测湿度显示数据通信吗数据传输结束NOYESYESYESYESNONONO图31主程序流程图处理操作的初始化。它的内容包括主程序的起始地址,中断服务程序的起始地址,有关内存单元及相关部件的初始化和一些子程序调用等等。主程序设计框图如上图31。主程序初始化的具体内容包括时间中断的初始化、外部中断源的初始化、单片机I/O口初始化、串行通信中断的初始化、RAM初始化,LCD初始化。然后对温度和湿度进行检测并将结果显示在LCD上。32温湿度检测模块程序设计321温度检测模块程序设计该检测仪的温度检测部分使用的AD590是一种由所在环境温度决定的恒流输出器件,其输出特性为IKTT式中I为AD590输出电流信号,单位为1UA电流。T为绝对温度,单位为K。KT为转换系数,单位为1UA/K。AD590输出电流信号经电阻R转换为电压信号,其电压为VRKTRTVR从ADC口输入到单片机中,进行A/D转换,成为数字量VT。温度检测模块程序如图32,首先读取测量电路的温度电压VT,并将这一电压信号作为温度转换参数进行电压温度转换,具体转换方法为把经过A/D的所得的数字电压值VT作如下计算TKT(VTV0)式中T为需要测量的环境实际温度值,参数V0为环境温度为0时A/D转换的数字量电压值,参数KT为环境温度与A/D转换的数字量电压的转换系数KT1/KTR15。它们均作为常量存储在单片机的片内数据EEPROM中。由于V0、KT准确与否直接影响温度测量的精度,可通过以下方法进行校正用其它高精度的测温仪测量环境温度T1,输入本仪表,单片机同时记录下相应的A/D转换的数字量V1。当环境温度从T1变化到T2时,重复以上过程,单片机同时记录下相应的A/D转换的数字量V2。为保证校准精度,环境温度应在25左右变化,并且变化的范围尽可能大一些。仪表的应用软件根据KT(T1T2)/(V1V2)和V0VT1T1/KT计算出KT和V0的值,并存储在单片机的EEPROM数据存储器中,既完成该仪表的温度测量精度的校正。仪表的应用软件系统配置有专用的服务子程序完成此项工作,仅仅需按仪表的LCD显示器的提示完成有关操作。开始返回温度传感电路电压读取温度信号转换初始化温度数据存储温度显示测温结束吗YESNO图32温度检测模块程序流程图温度检测模块程序流程如图32,该模块程序最后将计算得到的温度值送入数据存储器,并调用LCD显示程序将环境温度显示出来,然后返回主程序继续下面的操作。322湿度检测模块程序设计1程序欲解决问题分析湿度测量电路是由湿度传感器THS11和NE555构成的振荡电路组成。湿度传感器THS11的电容值随温度的变化导致振荡器的振荡频率发生变化,所以可以通过测量振荡器输出频率,获得相对湿度值。实验得出振荡电路的输出频率(F)与环境温度(T)的关系曲线,如图33所示图33振荡频率F与温度T的关系曲线由上图可知,在环境相对湿度不变的条件下,温度和振荡频率呈近似的线性关系,所以忽略非线性误差不影响测量的精度。当环境中的相对湿度不同时,相同温度条件下的振荡频率差异比较大,且这种差异是非线性的。要准确地测量湿度,必须对振荡频率作温度补偿。从图33可以看出,对于不同的环境湿度,振荡频率的温度补偿系数也是不同的。研究表明,相对湿度为XRH时振荡频率的温度补偿系数(FRHX)与相对湿度为0RH时振荡频率的温度补偿系数(FRH0)具有如下关系FRHXFRH0FRH/FRH0式中FRH0的值为297/65(HZ/);FRH0是温度为0时相对湿度为0RH的振荡频率,其值为7588(HZ);FRHX是温度为0时相对湿度为XRH的振荡频率。实验得出相对湿度(RH)与湿度传感电路输出的振荡频率(F)在环境温度为25时的关系曲线,如图34所示图34在25时相对湿度RH与振荡率F的关系曲线表31给出了该关系曲线上的10个点的数据。从图3可以看出,相对湿度在20RH80RH范围内线性度较好,两端的线性较差。表31在25环境温度时相对湿度(RH)与振荡频率(F)的关系出出出出出RH出0102030405060708090100出出出出出F)74737344721970926967684067106575643562916133显然,振荡频率受环境湿度的影响比较大。当相对湿度值升高时,振荡器输出频率会随之降低,而且它们之间的这种变化是非线性的。如果我们将检测到频率直接送给显示器显示的话,得到的结果将与环境中的实际湿度值存在很大差别,无法达到性能指标中所要求的测量精度和分辨力。但是由上面的关系,可以采用软件的方法进行温度补偿和线性化处理,来实现高精度地测量相对湿度。2程序设计方案经过以上分析可知,湿度检测模块程序需要完成将来自传感电路的湿度频率F转换为相对湿度的工作。由于振荡频率随环境相对湿度变化是非线性的,这给湿度转换带来了困难,因此需要对其进行线性化处理。同时,相对湿度受环境温度的影响比较大。不同温度条件下,在同一测量场合测得的湿度差异很大,所以还需要对测量频率作温度补偿。具体方案如图35。在湿度检测模块程序的开始,首先读取经过A/D转换的相对湿度的振荡频率FO,并把得到的相对湿度频率值存储于ADUC812的一个变量单元中。然后读取温湿度检测仪测得的环境温度值T,根据温度补偿系数计算出应该补偿的频率,补偿后的频率值为FFO25TFRH0FRH/FRH0线性化处理首先根据实验得出的相对湿度与振荡频率关系曲线,将测量范围内的湿度RH划分为N等份,每份为RH,每个湿度分隔点对应的频率值设为FN。然后把频率曲线上相邻的两点依次用直线相连,就得到一条新的湿度频率曲线,它与实际曲线几乎重合在一起,所以可以使用该曲线产生进行线性化处理。开始读入振荡频率F测量环境温度T频率F温度补偿频率FT的线性化处理,计算出相对湿度值结束图35湿度检测模块程序流程图在线性化处理之前,需要在单片机的数据存储器里存储一个频率表,即由FN组成的数据表格。因为线性化处理的过程中需要将实测频率与FN进行多次比较。生成频率表之后就可以进行线性化处理了。线性化处理程序子程序流程图如36所示。程序首先从存储器中读取温度补偿过的频率F,把它赋给一个事先定义好的变量。同时取出RH,定义计数量N,分别存入不同变量。接下来就要对比较次数N赋初值N0,根据变量N去ADUC812的ROM中的频率表中取出频率值F0,然后将温度补偿过振荡频率F与从表中取得的表频率F0作减法运算,并检查相减结果是否大于0。如果差值大于0,则说明测得频率超出检测仪的测量范围,转入报告出错子程序,告诉用户出错。如果两者差值小于0,则将N值加1,继续拿F与FN作比较。如果(FF1)的值大于0,说明实测频率在湿度频率曲线的第一段内,这时的环境湿度值RHRHFF0/F1F0。读取湿度的频率F对记数次数N赋初值0从数据表中F0从数据表中读取FNN1取RH存入变量中存取RH并送显RHN1FN1/FN1RHFO0FN0开始结束报告超出检测下限YYNN图36线性化处理程序流程图这里需要说明的是,F与F0的比较是非常必要的。因为这一比较涉及到,检测仪报错功能,更重要的是接下来的频率比较必须以第一次比较为参考。在设计之初,我们想跳过与F0的比较,这样程序也简单一点。但是后来分析发现如果不进行这一比较会影响到仪表的正常工作。当F落在F1之前时,检测仪会由于没有合适比较对象而出错。如果前面比较的结果值还是小于零,说明该振荡频率F不在该段,就把比较次数F加1后,从表中再次取值,继续进行的比较,直至比较结果大于零。可利用下式计算出环境的相对湿度RHRHN1RHF然后把结果存到单片机的存储单元中,以供数据显示程序处理。33键盘扫描和LCD显示模块程序设计331键盘扫描开始有键闭合否延时定时器时间减少1延时时间到否逐行逐列的扫描键盘,判断闭合键的键号保存并给出对应键号的键值返回置延时定时器位初值YESYESNO置延时定时器位初值NO图37键盘扫描子程序流程图该检测仪采用28矩阵式键盘,关于它的具体硬件组成电路这里就不多做介绍,在检测有无键按下方面主要用的是定时扫描方式,该方式是利用单片机内部定时器产生定时中断,即在初始化程序中对定时器/计数器进行编程,键盘扫描子程序流程图如图37所示。该子程序在时间中断服程序中被调用,定时扫描键盘,该程序首先判断有无键盘闭合,没有键盘闭合时置延时定时器位初值然后返回,有键盘闭合时延时定时器时间减少1,如果延时时间没到时返回,如果到了就逐行逐列的扫描键盘判断闭合键的键号,然后保存并给出对应键号的键值,之后置延时定时器位初值。延时定时器的延迟时间等于初值乘上时间判断间隔时间,通过确定延时定时器的延迟时间达到去除键盘抖动的对正常的影响,一般延时时间在30MS50MS之间,在实验中确定具体的延迟时间。键盘扫描去抖动的具体工作程序如下SCANKEY延时50MS去抖动MOVP0,00HSETBP24OUTPORTCOL1SETBP25OUTPORTCOL2MOVA,P2ANLA,00110000B与XRLA,00110000B异或JZNOKEY等于0没有键按下FINDKEYNUM0INCFINDKEYNUMMOVA,DELAYVALUE1DELAYVALUE19,T5MSX10CLRCSUBBA,FINDKEYNUMJNCSCANKEYEND不等于0程序结束没有键按MOVA,DELAYVALUE11CLRCSUBBA,FINDKEYNUMJCNOKEYSTARTSCANKEYGETKEYMOVLOCALVALUE2,00HMOVA,07FHGETKEY1SETBP24OUTPORTCOL1SETBP25OUTPORTCOL2MOVLOCALVALUE1,AMOVP0,AMOVA,P2ANLA,00110000B与XRLA,00110000B异或JNZGETKEY2MOVA,LOCALVALUE1RRAINCLOCALVALUE2JBACC7,GETKEY1LJMPNOKEYGETKEY2MOVA,P2ANLA,00110000B与XRLA,00110000B异或JBACC2,GETKEY3MOVA,08HADDA,LOCALVALUE2MOVLOCALVALUE2,AGETKEY3MOVKEYCOLROWBUF,LOCALVALUE2GETKEYVALUEMOVDPTR,KEYVALUEMOVA,KEYCOLROWBUFGETKEYVALUE1MOVCA,ADPTRMOVKEYVALUEBUF1,A用于控制键MOVKEYVALUEBUF2,A用于显示LJMPSCANKEYENDNOKEYMOVFINDKEYNUM,00HSCANKEYENDRET332LCD显示部分程序设计1LCD显示器应用程序设计总体方案1汉字点阵数据提取LCD显示器应用程序设计的基本目标是实现中文显示界面。我们选用HS128641型图形点阵液晶显示模块该LCD模块为不自带字库的12864点阵液晶显示器。可通过已由的常用子程序来添加汉字、字符的点阵数据表,供LCD在中文界面下显示汉字或字符。2LCD底层应用程序设计。添加点阵数据表之后,就可以开始设计LCD应用程序。在LCD显示器应用程序设计中,需要解决的一个重要问题就是消除显示屏的闪烁感。HS128641型LCD显示模块只提供了一块显示数据寄存器DDRAM,并且与显示屏点阵是一一对应的。如果直接在DDRAM处理显示数据的,会因为同时进行处理和显示,而导致显示屏闪烁。通过LCD模块提供的显示开关指令“DISPLAYON/OFF“在数据处理之前关掉显示,待数据处理完后开显示,可以使显示屏闪烁得到一定控制。但是如果数据处理时间过长,超过人眼可辨别的最短时间20MS,显示屏就会因为反复开关显示而产生闪烁感。因此我们在片外数据存储器中开辟一个或多个与DDRAM大小一样的缓冲区,用于存放正在处理的显示数据,待数据处理完后,再将数据传送至LCD显示数据RAM。通过以上分析,我们采用如下的LCD显示器应用程序设计总体方案首先,添加汉字、字符点阵数据表。然后,编写LCD显示驱动程序。将指定BUF区中处理好的显示数据送LCD指定区显示。根据具体要求编写相应显示数据处理子程序。整个显示过程为先将显示数据在片外数据存储器开辟的缓冲区中进行处理,待处理完后调用LCD驱动显示。最后,在LCD底层程序完成的基础上,设计人机交互界面,实现用户在菜单方式下进行交互。2LCD适用字模信息提取程序的设计经研究,我们采用在单片机产品中经常用到的1616点阵的汉字库作为提取字模的母字库。LCD在文本显示状态下,一屏最多显示4行8个汉字。在1616点阵汉字字库中,采用的是以行为主的存放结构,即一行上连续的8个点阵信息放在一个字节内,且左边的点对应字节的高位。每个汉字的字模信息占32个字节。汉字母库编码采用计算机汉字字符代码中最常用一个是汉字编码字符集的基本集GB2312。GB2312包括了汉字字符基本集,共收录汉字、图形符号等共7445个,依据其位置,分为94个区,每区共94位。其中第16区55区安排3755个常用汉字,依汉语拼音顺序排列。通过汉字的内码我们可以计算出与其点阵信息在字库中的偏移量。在生成点阵数据表的相应汉字中,采用自定义的编码。因为温湿度记录仪中只用到了少量汉字,所以我们决定采用ASCII代码中的80HOFFH特殊字符代码区,用做生成点阵表的汉字编码,共可表示128个汉字。前20H7FH为常用字符的ASCII代码。由图形显示数据寄存器DDRAM地址和显示位置的对应关系可知直接将提取的点阵数据送显,汉字不能正确显示。因此我们必须将提取的字模数据进行相应的转换,才能在LCD上正确显示。转换后的点阵信息格式如表32所示。表3216点阵字模转换后排列格式将转换后的点阵数据,按汇编语言中,定义存储单元伪指令“DB”的格式写入创建的文本文件中,就得到我们所需要生成的汉字点阵信息表。3LCD显示驱动程序的设计D0D7第0字节12341415D0D716171819203031所谓LCD驱动,即是通过连续的写显示数据WRITEDISPLAYDATE命令操作,将片外显示数据处理缓冲区内的数据,顺序写入相应的DDRAM单元。开始设置页地址LCDPAGEX设置Y地址0设置写屏次数R364R210NOYESR30YES初始化写屏标志R2从BUFADR所指单元取显示数据将显示数据写入左半屏将显示数据写入右半屏R3;BUFADRNOR2R20YESNOLCDPAGEX;R1R1LCDPAGENUMR10YESNO结束图38LCD显示驱动源程序及流程图HS128641型LCD显示模块,在硬件上通过左右半屏的片选信号引脚CS1/CS2,将LCD的显示数据DDRAM分为了左右两个半屏。在显示数据的处理和送显上,需要不断设置引脚CS1/CS2的信号,达到对指定DDRAM单元的控制和处理。这样对LCD模块控制极为不便。我们欲通过软件处理,使得LCD写显示数据操作结构化,整体化。将LCD显存DDRAM化分为8页,每页8行128列,128个数据存储单元。由软件驱动LCD显示屏上07页的任意页显示顺序读出指定BUF区内图形或汉字的点阵数据,依次将显示数据写入指定页的128个数据存储单元。温湿度记录仪使用ADUC812单片机作为CPU,对其底层编写程序,我们选用了汇编语言作为编程语言,选用8051仿真器作为编程环境,以便程序的跟踪调试。软件将LCD显存DDRAM化分为8页,每页128个数据存储单元。通过R2控制写入左半屏或右半屏。先写显示数据到左半屏的64个单元;后通过R2自减1,控制写显示数据到右半屏的64个单元。一页写满后,如果没到写页次数,LCDPAGEX自加1,继续写下一页。其流程图如图38所示。4LCD人机交互界面相关程序人机交互程序设计的重点在于窗口界面的显示、滚屏、光标的管理及参数的显示、修改和保存。现在我们只设计了窗口界面的显示部分,和菜单、对话框的简单控制切换。人机交互界面的显示主要包括菜单的显示、对话框的显示和提示信息显示。图39窗口版面对应的通过前面对程序设计原理的分析,我们把窗口中具体条目(提示信息、菜单、对话框、参数等)显示涉及到的子程序进行封装处理,从而使得整个应用软件系统的设计简单明了。以菜单显示为例我们把菜单编码对应汉字点阵数据的处理程序和显示驱动程序封装,调用时只需给出要送LCD显示的菜单序列号,则所菜单内容即可完成在指定位置(菜单区)的显示。1提示信息2对话框3菜单选项对话框中参数的输入显示原理与菜单、对话框控制相同,都是通过读键,判断键值,功能处理来实现。结论该检测仪适用于需要对温湿度实时检测的多种场合。由于采用了测量范围广、精度高、响应速度快的电容式湿度传感器来进行湿度采样,使用温度补偿、线性化处理的方法提高检测精度,因此该检测仪基本上达到技术指标中对相对湿度测量精度和分辨力的要求。该检测仪在湿度的线性化上用的时间可能会稍长一些。但是ADUC812单片机工作频率较高,并且只有环境湿度较高时才会出现处理时间延长现象,因此并不影响检测仪的实时检测指标。在这次设计中我们也遇到不少问题,也正是对这些问题的逐步解决该检测仪顺利设计完成。我们的设计主要面临着硬件设计和软件设计的两大问题,以及硬件和软件的结合。软件设计中面临的主要问题是环境温湿度数据的采集方法,相对湿度的温度补偿和线性化处理。在指导老师的悉心辅导下和查阅大量资料之后,然后采用了ADUC812数据采集芯片并配合其它一些元器件的硬件设计方案,使以上问题得到了很好解决。由于这次设计的时间较短,该检测仪的主要功能已经实现,要达到实用,还需继续进一步进行研究设计。参考文献1赵新民智能仪器原理及设计哈尔滨工业大学出版社,19892戴义保高精密温度测量的研究与实现J上海自动化仪表第2003,24324273谢光忠、蒋亚东等温湿度智能数据采集控制系统的研制传感器技术2000,19429334戴梅萼,史嘉微型计算机技术及应用北京清华大学出版社,19955丁元杰单片微机原理及应用北京机械工业出版社,19936何立民MCS51系列单片机应用设计、系统配置与接口技术7彭喜源,谭晓均,张毅刚MCS51单片机应用设计8陈宝江,翟涌,张幽彤MCS单片机应用系统实用指南9胡健单片机原理及接口技术实践教程北京机械工业出版社,200410喻评,郭文川单片机原理与接口技术北京化学工业出版社,200611李刚51系列单片机系统设计与应用技巧北京北京航空航天大学出版社。200412杨景常精密计量环境温度、相对湿度监测记录仪的研制J沈阳仪表技术与传感器。200313何立民单片机中级教程原理与应用北京北京航空航天大学出版社,199014沙占友单片机外围电路设计北京电子工业出版社,200315刘君华现代检测技术与测试系统设计M西安西安交通大学出版社,200016余永权。MCS51系列单片机应用技术北京北京航空航天出版社,200217阎石数字电子技术基础北京高等教育出版社,200218刘书明、冯小平数据采集系统芯片ADUC812原理与应用M西安西安电子科技大学出版社,200019涂玲英肖俊武张宇智能型温湿度测控仪研究与实践湖北工学院学报200220蔡美琴MCS一51系列单片机系统及其应用高等教育出版社199221马忠梅单片机的C语言应用程序设计北京航空航天大学出版社,1997致谢本设计的题目是由韩刚导师根据实际工作和生产中的具体需要拟定的,花费了许多时间和精力查询资料,最终定出设计方案。有多年单片机应用开发经验的韩刚老师给我们进行了深入而系统的指导。老师认真负责的工作态度,严谨的治学精神和扎实的、深厚的理论水平都使我受益匪浅。正是在韩刚老师的耐心引导和帮助下,解决了设计中的种种问题,最终使毕业设计圆满完成。在此我衷心的感谢韩老师对我这次毕业设计指导和帮助。在这次设计中也得到了周围同学的大力支持和热心帮助,他们对本检测仪的设计提出了许多有益的建议和意见,在此一并致谢。附录1234ABCD4321DCBAXT111059MC533PFC433PFR1551KC7001C101C201C310UFR210KR310KC12TS11R17910KLR16580KLR1451KLVCCC1110UF/25VC1010UF/25VC910UF/25VC810UF/25VD0D1D3D4D5D6D7D2VCCVCCD0D1D3D4D5D6D7A8A9A10A11VCC162738495J1DB9VAAC610UF12SW1P11/ADC12P12/ADC23P13/ADC34P10/ADC01P14/ADC411P15/ADC512P16/ADC613P17/ADC714AVDD5AGND6CREF7VREF8DAC09DAC110P30/RXD16P31/TXD17P32/INT018P33/INT1/MISO19P34/T022P35/T1/CONVST23P36/WR24P37/RD25P2638P2739P2537P24/A12/A2036P23/A11/A1931P2230P2129P2028P00/AD043P01/AD144P02/AD245P03/AD346P04/AD449P05/AD550P06/AD651P07/AD752RESET15XTAL1INPUT32XTAL2OUTPUT33DGND35DVDD34DVDD48DGND47ALE42PSEN41EA40DVDD20DGND21SCLOCK26SDATA27ADUC812AU1VAAR4TRIG2CVOLT5Q3DIS7THR6NE555U221STAD590D2COL11COL22COL33COL44COL55COL66COL77COL88ROW19ROW210J4KEYBOARD2X8R110KVAA12345687109U3PRO31B3TMP_232C_43R35VCCE6RST17CS216CS115R/W5D/I4DB714DB613DB512DB411DB310DB29DB18DB07VSS1VDD2VEE18VO3VLED19VLED20U7HS12864BA8A9A11A10D7D6D5D4D3D2D1D0P1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年资产评估师职业资格考试真题卷:资产评估师职业资格考试历年真题汇编与解析
- 高级审计师面试技术试题及答案
- 2025年初中地理信息技术应用学业水平考试模拟试题及答案集
- 寒暑假实习总结与反思试题及答案
- 理论实践一级建造师考试试题及答案
- 医疗领域精准营养学的创新突破
- 医院管理与医疗人才保留策略研究
- 2025年建造师热点知识点试题及答案
- 中级审计师考试有效试题与答案
- 增强患者自我护理能力的重要性分析试题及答案
- 2024考研管理类联考真题答案解析完整版
- 中医阴阳学说课件
- DBJ51T 081-2017 四川省城镇二次供水运行管理标准
- 医院培训课件:《两性霉素B》
- 明洞施工隧道工程施工方案
- 2025-2030年中国迷迭香行业市场规模分析及发展建议研究报告
- 2025年山东地区光明电力服务公司招聘笔试参考题库含答案解析
- 2025年国家工作人员保密教育线上培训必考题库附含参考答案
- 纠四风知识竞赛试题及答案
- 科目一考试题库含答案100题
- 医务人员手卫生规范课件
评论
0/150
提交评论