• 6.96 MB
  • 2022-04-22 13:33:50 发布

仓库温湿度检测系统的设计毕业论文.doc

  • 45页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'仓库温湿度检测系统的设计仓库温湿度检测系统的设计毕业论文目录摘要IABSTRACTII第1章绪论11.1粮仓温湿度检测技术的发展现状11.2研究的意义11.3本设计的结论2第2章设计要求和设计方案选择32.1设计要求32.2系统的设计方案与组成32.2.1设计思路32.2.2本设计的结构框图32.3.传感器的选择42.3.1.温度传感器的选择42.3.2湿度传感器的选择42.4信号采集通道的选择52.5系统总体设计7第3章硬件电路的设计83.1信号采集83.1.1温度传感器电路83.1.1.1AD590主要特性83.1.1.2摄氏温度测量电路93.1.2湿度传感器93.1.2.1HS1100/HS1101特点93.1.2.2湿度测量电路93.1.3多路开关11 仓库温湿度检测系统的设计3.1.3.1温度多路检测信号的实现电路113.1.3.2湿度多路检测信号的实现电路123.2信号分析电路123.2.1A/D转换电路123.2.1.1MC14433A/D转换器特点123.2.1.2MC14433与8031单片机的接口电路153.2.2单片机8031基本电路163.2.2.18031的概述163.2.2.2单片机复位电路183.2.2.3系统时钟的设计183.2.3单片机外围的设计193.3显示与报警的设计203.3.1显示键盘接口电路203.3.2报警电路213.4系统总图23第4章软件设计244.1模块组成。244.2标度变换244.3流程图244.3.1主程序流程图:254.3.2A/D转换流程图:264.3.3中断服务程序流程图:274.3.4温度采样子程序流程图284.3.5键盘扫描子程序图29第5章总结30致谢31参考文献32附录A主程序33附录B系统总图44 仓库温湿度检测系统的设计第1章绪论仓库日常工作是进行防潮、防腐、防霉,做好“三防”直接影响到储备物资的使用寿命和工作的可靠性。为了保证日常工作的顺利进行,要加强仓库内温度和湿度的监测工作。传统的方法是用湿度表、毛发湿度表和双金属式测量计等测试器材进行人工检测,对不符合温度和湿度要求的库房进行通风、去湿和降温。这种人工测试方法费时费力、效率低,且测试的温度和湿度误差大,随机性大,因此我们需要一种造价低廉、使用方便且测量准确的温湿度控制系统。粮食作为仓库内最重要的物资一种,做好它的储藏尤其关键。一般温度对微生物的生长、繁殖有影响,大多数菌种生长繁殖的适宜温度是。控制温度储藏粮食能保持粮食较好的品质,使粮食在储藏期间保持一定的温度水平,达到安全储藏的目的,是一种集安全、经济、绿色的先进储粮技术,已成为当今科学储粮的技术发展的新方向。作为本系统采用的单片机技术,已经普及到我们的生活、工作、科研各个领域,已经成为一个比较成熟的技术。1.1粮仓温湿度检测技术的发展现状随着微型计算机和传感器技术的迅速发展,自动监测领域发生了巨大的变化,仓库的温度和湿度的监测控制方面的研究也有课明显的进展。我国近年引进了许多国家和地区的仓库环境控制系统,对吸收国外先进经验、推动仓库温度湿度自动监测研究产生了积极的作用。许多新技术和新工艺被应用到湿度测量领域中,如:瑞士Sensiron公司采用的CMOSens专利技术为高精度湿度传感器系统设置精度;国内外已相继推出多种高精度、高分辨力的智能湿度传感器,对提高测量精度和分辨力起着重要的作用;智能湿度传感器从单通道向多通道的方向发展,为研制和开发多路湿度测控系统创造了条件,对增加测试功能起着积极的作用。1.2研究的意义41 仓库温湿度检测系统的设计我国是人口大国,科学储粮是保障人民粮食供应,关系国计民生的战略大事。目前,粮库中的温湿度的检测,基本上是人工检测,劳动强度大、繁琐,检测报警不够及时,加之粮库占地面积大,粮仓分散,仓内温度测试点多,造成工作量大,效率低,检测周期长,容易漏检,测量器件损坏率高,测试精度难以保障,造成库储粮食损失现象时有发生,为此国家每年在粮食储藏方面需要支付很高的费用,而设计并研制性能优良的粮库温湿度自动检测系统迫在眉睫,这样才能对促进社会发展,产生良好的经济价值起着重要的作用。1.3设计构思考虑气候、环境因素对粮食的影响,该设计以8031单片机为控制模块,通过传感器组成的数据采集系统将仓内的温湿度进行采集,经过放大、MC14433A/D转换,与预先存储于单片机中保持正常粮食所需的温湿度进行比较,对粮仓的温湿度进行监测和控制,对超过报警规定值进行报警,同时还可以对实际情况来进行人工修改片内存储预设值。该设计造价低廉、使用方便且测量准确。第二章、设计要求和设计方案选择1.1设计要求设计一个温湿度检测系统:(1)基本功能:l检测温度、湿度;l显示温度、湿度;l过限报警;(1)主要技术参数l温度检测范围:l测量精度:l湿度检测范围:l检测精度:l显示方式:四位显示41 仓库温湿度检测系统的设计1.1系统的设计方案与组成1.1.1设计思路本系统测量的是粮仓的温湿度,通过采样及A/D转换,将所测量的模拟信号转换为数学信号和键盘所设定的温湿度值一起送入单片机中,通过单片机对温湿度进行监测和控制,并通过报警装置对超过规定值进行报警。1.1.2本设计的结构框图通过分析可得本系统的总体框图如图2.1所示。图2.1系统总体框图1.2传感器的选择1.2.1温度传感器的选择传感器是实现测量与控制的首要环节,是测控系统的关键部件,如果没有传感器对原始被测信号进行准确可靠的捕捉和转换,那么一切准确的测量和控制都将无法实现。工业生产过程的自动化测量和控制,几乎主要依靠各种传感器来检测和控制生产过程中的各种参量,使设备和系统正常运行在最佳状态,从而保证生产的高效率和高质量。方案一:采用热电阻温度传感器热电阻是利用导体的电阻随温度变化的特性制成的测温元件。铂的物理、化学性能极稳定,耐氧化能力强,电阻率较高,但价格贵,温度系数小。按IEC标准测温范围-200~650℃;铜电阻的温度系数比铂电阻大;但其电阻率小,使用稳定性差。在工业中用于-50~180℃测温。方案二:采用集成芯片AD59041 仓库温湿度检测系统的设计AD590的测温范围在-55℃~+150℃之间,而且精度高。AD590可以承受44V正向电压和20V反向电压,因而器件反接也不会损坏,使用可靠。它只需直流电源就能工作,而且,无需进行线性校正,所以使用也非常方便,接口也很简单。有很强的抗外界干扰能力。AD590的测量信号可远传百余米。综合比较方案一与方案二,本设计系统温度传感器采用方案二。1.1.1湿度传感器的选择测量空气湿度的方式很多,其原理是根据某种物质从其周围的空气吸收水分后引起的物理或化学性质的变化,间接地获得该物质的吸水量及周围空气的湿度。电容式、电阻式和湿涨式湿敏原件分别是根据其高分子材料吸湿后的介电常数、电阻率和体积随之发生变化而进行湿度测量的。方案一:采用HOS-201湿敏传感器。HOS-201湿敏传感器为高湿度开关传感器,它的工作电压为交流1V以下,频率为50HZ~1KHZ,测量湿度范围为0~100%RH,温度范围为0~50℃。这种传感器原是用于开关的传感器,不能在宽频带范围内检测湿度,因此,主要用于判断规定值以上或以下的湿度电平。方案二:采用HS1100/HS1101湿度传感器。HS1100/HS1101电容传感器,在电路构成中等效于一个电容器件,其电容量随着所测空气湿度的增大而增大。不需校准的完全互换性,高可靠性和长期稳定性,快速响应时间,专门设计为固态聚合物结构,由顶端接触(HS1100)和侧面接触(HS1101)两种封装产品,适用于线性电压输出和频率输出两种电路,适宜于制造流水线上的自动插件和自动装配过程等。相对湿度在1%--100%RH范围内;电容量由16pF变到200pF,其误差不大于±2%RH;响应时间小于5S;温度系数为0.04pF/℃,可见精度是较高的。综合比较方案一与方案二,方案一虽然满足精度及测量湿度范围的要求,但其只限于一定范围内使用时具有良好的线性,可有效地利用其线性特性。而且还不具备在本设计系统中对温度-30~50℃的要求,因此,我们选择方案二来作为本设计的湿度传感器。41 仓库温湿度检测系统的设计1.1信号采集通道的选择在本设计系统中,温度输入信号假设为8路的模拟信号,需要多通道结构。方案一:采用多路并行模拟量输入通道。结构框图如图2.2所示。图2.2多路并行模拟量输入通道这种结构的模拟量通道特点为:(1)可以根据各输入量测量的额要求选择不同性能档次的器件。总体成本可以做得较低。(1)硬件复杂,故障率高。(2)软件简单,各通道可以独立编程。方案二:采用多路分时的模拟量输入通道。结构框图如图2-3所示。这种结构的模拟量通道特点为:(1)对ADC、S/H要求高。(2)处理速度慢。(3)硬件简单,成本低。(4)软件比较复杂。41 仓库温湿度检测系统的设计图2.3多路分时的模拟量输入通道综合比较方案一与方案二,方案二更为适合于本设计系统对于模拟量输入的要求,比较其框图,方案二更具备硬件简单的突出优点,所以选择方案二作为信号的输入通道。1.1系统总体设计本设计是基于单片机对数字信号的高敏感和可控性、温湿度传感器可以产生模拟信号,和A/D模拟数字转换芯片的性能,以8031基本系统为核心的一套检测系统,其中包括A/D转换、单片机、复位电路、温度检湿度检测、键盘及显示、报警电路、系统软件等部分的设计。结构框图如图2.4所示。图2.4系统总体框图41 仓库温湿度检测系统的设计第1章硬件电路的设计1.1信号采集信号采集系统包括温度传感器电路、湿度传感器电路和多路开关组成。1.1.1温度传感器电路集成温度传感器AD590是美国模拟器件公司生产的集成两端感温电流型温度传感器。一、AD590主要特性AD590是电流型温度传感器,通过对电流的测量可得到所需要的温度值。1、AD590主要特性l流过器件的电流(μA)等于器件所处环境的热力学温度(开尔文)度数,即:(3.1)式中:IT——流过器件(AD590)的电流,单位μA。T——热力学温度,单位K。lAD590的测温范围-55℃~+150℃;lAD590的电源电压范围为4V~30V;l电源电压可在4V-6V范围变化,电流变化,相当于温度变化1K。AD590可以承受44V正向电压和20V反向电压,因而器件反接也不会损坏。l输出电阻为710MΩ;l精度高,AD590共有I、J、K、L、M五档,其中M档精度最高,在-55℃~+150℃范围内,非线形误差±0.3℃。2、AD590的工作原理在被测温度一定时,AD590相当于一个恒流源,把它和5~30V的直流电源相连并在输出端串接一个1kΩ的恒值电阻,那么,此电阻上流过的电流将和被测温度成正比,此时电阻两端将会有1mV/K的电压信号。二、摄氏温度测量电路41 仓库温湿度检测系统的设计摄氏温度测量电路如图3.1所示。图3.1AD590构成温度测量电路电位器R2用于调整零点,R4用于调整运放LF355的增益。调整方法如下:在0℃时调整R2,使输出V0=0,然后在100℃时调整R4使V0=100mV。如此反复调整多次,直至0℃时,V0=0mV,100℃时V0=100mV为止。最后在室温下进行校验。例如,若室温为25℃,那么V0应为25mV。冰水混合物是0℃环境,沸水为100℃环境。1.1.1湿度传感器湿度传感器采用HS1100/HS1101。一、HS1100/HS1101特点HS1100/HS1101电容传感器,是不需校准的完全互换性、高可靠性和长期稳定性、快速响应时间,适用于线性电压输出和频率输出两种电路,适宜于制造流水线上的自动插件和自动装配过程等。相对湿度在1%---100%RH范围内;电容量由16pF变到200pF,其误差不大于±2%RH;响应时间小于5S;温度系数为0.04pF/℃。可见精度是较高的。二、湿度测量电路41 仓库温湿度检测系统的设计HS1100/HS1101电容传感器,在电路构成中等效于一个电容器件,其电容量随着所测空气湿度的增大而增大。将电容的变化量准确地转变为计算机易于接受的信号,常有两种方法:一是将该湿敏电容置于运方与阻容组成的桥式振荡电路中,所产生的正弦波电压信号经整流、直流放大、再A/D转换为数字信号;另一种是将该湿敏电容置于555振荡电路中,将电容值的变化转为与之成反比的电压频率信号,可直接被计算机所采集。频率输出的555测量振荡电路如图3.2所示。图3.2频率输出的555振荡电路集成定时器555芯片外接电阻R4、R2与湿敏电容C,构成了对C的充电回路。7端通过芯片内部的晶体管对地短路又构成了对C的放电回路,并将引脚2、6端相连引入到片内比较器,便成为一个典型的多谐振荡器,即方波发生器。另外,R3是防止输出短路的保护电阻,R1用于平衡温度系数。该振荡电路两个暂稳态的交替过程如下:首先电源Vs通过R4、R2向C充电,经t充电时间后,Uc达到芯片内比较器的高触发电平,约0.67Vs,此时输出引脚3端由高电平突降为低电平,然后通过R2放电,经t放电时间后,Uc下降到比较器的低触发电平,约0.33Vs。空气湿度通过555测量电路就转变为与之呈反比的频率信号,表3.1给出了其中的一组典型测试值。表3.1空气湿度与电压频率的典型值41 仓库温湿度检测系统的设计温度频率温度频率%RHHZ%RHHZ0735160660010722470646820710080633030697690616840685310060335067281.1.1多路开关本系统设计的温度信号采集和湿度信号采集为八路,而A/D转换仅为一路输入,因此需要采用由CD4051组成的多路分时的模拟信号采集电路。CD4051多路开关,它是一种单片、COMS8通道开关。该芯片由DTL/TTL-COMS电平转换器,带有禁止端的8选1译码器输入,分别加上控制的8个COMS模拟开关TG组成。一、温度多路检测信号的实现电路其电路结构如图3.3所示。图3.3多路温度检测的电路每路温度检测电路的输出接入模拟开关CD4051的S0~S7,而模拟开关CD4051的选通地址A、B、C由单片机8031的P3口的低位地址P3.0~P3.2控制,而CD4051的片选信号41 仓库温湿度检测系统的设计INH由单片机8031P2口P2.5来控制。二、湿度多路检测信号的实现电路其电路结构如图3.4所示。图3.4多路湿度检测的电路每路温度检测电路的输出接入模拟开关CD4051的S0~S7,而模拟开关CD4051的选通地址A、B、C由单片机8031的P3口的低位地址P3.3~P3.5控制,而CD4051的片选信号INH由8031的P2口P2.5来控制。1.1信号分析电路信号分析电路由A/D转换器和单片机的基本系统组成1.1.1A/D转换电路为了把温度、湿度检测电路测出的模拟信号转换成数字量送CPU处理,本系统选用了双积分A/D转换器MC14433,它精度高,分辨率达1/1999。由于MC14433只有一路输入,而本系统检测的多路温度与湿度信号输入,故选用多路选择电子开关,可输入多路模拟量。一、MC14433A/D转换器特点41 仓库温湿度检测系统的设计MC14433是三位半双积分型的A/D转换器,具有精度高,抗干扰性能好的优点,其缺点是转换速率低,约1—10次/秒。在不要求高速转换的场合,例如,在低速数据采集系统中,被广泛采用。MC14433A/D转换器的被转换电压量程为199.9mV或1.999V。转换完的数据以BCD码的形式分四次送出。MC14433的内部电路如图3.5所示。其管脚如图3.6所示,各引脚的功能见表3.2所示。图3.5MC14433A/D转换器的内部逻辑框图图3.6MC14433引脚图表3.2MC14433各引脚的功能41 仓库温湿度检测系统的设计管脚号名称功能24VDD主工作电源+5V12VEE模拟部分的负电源端,接-5V1VAG模拟地端13VSS数字地端2VR基准电压4R1积分电阻输入端6C1积分电容输入端7、8C01、C02外界补偿电容端,电容取值约0.1µF5R1/C1R1与C1的公共端10、11CLKI、CLKO外界振荡器时钟14EOC转换结束信号输出端,正脉冲有效9DU启动新的转换15/OR过量程信号输出端16-19DS1----DS4选择个、十、百、千位,正脉冲有效20-23Q0---Q3BCD码输出线DS1对应千位,DS4对应个位。每个选通脉冲宽度为18个时钟周期,两个相应脉冲之间间隔为2个时钟周期。见图3.7所示。图3.7MC14433选通脉冲时序图Q0---Q3中Q0为最低位,Q3为最高位。当DS2、DS3和DS4选通期间,输出三位完整的BCD码数,但在DS1选通期间,输出端Q0-------Q3除了表示个位的0或1外,还表示了转化值的正负极性和欠量程还是过量程其含意见表3-2表3.3DS1选通时Q3~Q0表示的结果41 仓库温湿度检测系统的设计Q3Q2Q1Q0表示结果1××0千位数为00××0千位数为1×1×0结果为正×0×0结果为负0××1输入过量程1××1输入欠由表3.3可知:lQ3表示1/2位,Q3=“0”对应1,反之对应0;lQ2表示极性,Q2=“1”为正极性,反之为负极性;lQ0=“1”表示超量程:当Q3=“0”时,表示过量程;l当Q3=“1”时,表示欠量程。二、MC14433与8031单片机的接口电路由于MC14433的A/D转换的结果是动态分时输出的BCD码,Q0~Q3和DS1~DS4不是总线式的,因此MCS-51系列的单片机只能通过并行I/O接口或者扩展I/O接口与其相连。对8031单片机应用系统来说,MC14433可以直接和其P1口或者扩展I/O口8155/8255相连。经分析,本系统中MC14433与单片机8031的P1口直接相连,其电路结构如图3.8所示。图3.8MC14433与8031单片机的接口电路41 仓库温湿度检测系统的设计1.1.1单片机8031基本电路本系统采用了8031单片机作为控制芯片,在前向通道中是一个非电信号的电量采集过程。它由传感器采集非电信号,从传感器出来经过放大过程,使信号放大,再经过模/数转换成为计算机能识别的数字信号,再送入计算机系统的相应端口。一、8031的概述8031是有8个部件组成,即CPU、时钟电路、数据存储器、并行口(P0~P3)、串行口、定时计数器和中断系统,它们均由单一总线连接并被集成在一块半导体芯片上,即组成了单片微型计算机,其基本组成见图3.9所示。8031就是MCS-51系列单片机中的一种。图3.88031基本组成8031的引脚图见图3.9所示图3.98031引脚图41 仓库温湿度检测系统的设计各引脚说明如下:lVCC(40引脚):正常运行时提供电源。lVSS(20引脚):接地。lXTAL1(19引脚):在单片机内部,它是一个反向放大器的输入端,该放大器构成了片内的震荡器,可以提供单片机的时钟信号,该引脚也是可以接外部的晶振的一个引脚,如采用外部振荡器时,对于8031而言此引脚应该接地。lXTAL2(18引脚):在内部,接至上述振荡器的反向输入端,当采用外部振荡器时,对MCS51系列该引脚接收外部震荡信号,即把该信号直接接到内部时钟的输入端。lRST/VPD(9引脚):在振荡器运行时,在此引脚加上两个机器周期的电平将单片机复位,复位后应使此引脚电平保持不高于0.5V的低电平以保证8031正常工作。在掉电时,此引脚接备用电源VDD,以保持RAM数据不丢失,当BVCC低于规定的值时,而VPD在其规定的电压范围内时,VPD就向内部数据存储器提供备用电源。lALE/PROG(30引脚):当8031访问外部存储器时,包括数据存储器和程序存储器,ALE9地址锁存允许0输入的脉冲的下沿用于锁存16位地址的低8位,在不访问外部存储器的时候,ALE仍有两个周期的正脉冲输出,其频率为振荡器的频率的1/6,在访问外存储器的是候,在两个周期中,ALE只出现一次,ALE断可驱动8个LSTTL负载,对于有片内EPROM的而言,在EPROM编程期间,此脚用于输入编程脉冲PROG。l(29引脚):此脚输出为单片机内访问外部程序存储器的读选通信号,在读取外部指令期间,PSEN非有两次在每个周期有效,在此期间,每当访问外部存储器时,两个有效的PSEN非将不再出现,同样这个引脚可驱动8个LSTTL负载。l(31引脚):当保持高电平时,单片机访问内部存储器,当PC值超过0FFFH时,将自动转向片外存储器。当保持低电平时,则只访问外部程序存储器,对8031而言,此脚必须接地。l41 仓库温湿度检测系统的设计P0,P1,P2,P3:8031有四个并行口,在这四个并行口中,可以在任何一个输出数据,又可以从它们那得到数据,故它们都是双向的,每一个I/O口内部都有一个8位数据输出锁存器和一个8位数据输入缓冲器,各成为SFR中的一个。P0口通常用做通用I/O口为CPU传送数据,P2口除了可以用做通用口以外,还具有第一功能,除P0口以外其余三个都是准双向口。二、单片机复位电路根据应用的要求,复位操作通常有两种基本形式:上电复位和上电或开关复位。上电复位要求接通电源后,自动实现复位操作。常用的上电复位电路如图3.10(a)中左图所示。图中电容C1和电阻R1对电源十5V来说构成微分电路。上电后,保持RST一段高电平时间,由于单片机内的等效电阻的作用,不用图中电阻R1,也能达到上电复位的操作功能,如图3.10(a)中所示。上电或开关复位要求电源接通后,单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位。常用的上电或开关复位电路如图3.10(b)所示。上电后,由于电容C3的充电和反相门的作用,使RST持续一段时间的高电平。当单片机已在运行当中时,按下复位键K后松开,也能使RST为一段时间的高电平,从而实现上电或开关复位的操作。图3.10单片机的复位电路三、系统时钟的设计时钟电路是用来产生8031单片机工作时所必须的时钟信号,8031本身就是一个复杂的同步时序电路,为保证工作方式的实现,8031在唯一的时钟信号的控制下严格的按时序执行指令进行工作,时钟的频率影响单片机的速度和稳定性。通常时钟由于两种形式:内部时钟和外部时钟。41 仓库温湿度检测系统的设计我们系统采用内部时钟方式来为系统提供时钟信号。8031内部有一个用于构成振荡器的高增益反向放大器,该放大器的输入输出引脚为XTAL1和XTAL2,它们跨接在晶体振荡器和用于微调的电容,便构成了一个自激励振荡器。电路如图3.11所示。图3.11时钟电路电路中的C1、C2的选择在30PF左右,晶振频率为在12MHZ。1.1.1单片机外围的设计在8031芯片的外围电路中必须对其进行程序存储器的扩展,和根据系统的需要对其进行数据存储器的扩展。8031对程序存储器和数据存储器均可进行0000H~FFFFH的64K字节地址内容的有效寻址。由1片2764EPROM、1片6264RAM。1片74LS138译码器及一些必要的逻辑器件构成。其框图如图3.12所示。由于检测系统需要对检测的温度数据进行记录保存,因此,在单片机的外围电路中设计了RAM掉电保护电路,保证存在6264RAM内的检测结果在断电后不丢失。8031的P1.0~P1.1作为位选信号使用,控制对应的2片多路模拟开关CD4051的选通。74LS373译码器的输出Y7用于A/D转换器的口地址,去控制74LS244缓冲器输出允许端。41 仓库温湿度检测系统的设计图3.12单片机外围电路由于8031无内部ROM,故扩展的程序存储器地址为0000H~FFFFH,考虑系统的需要,我们将8031的程序存储器扩展为4KEPROM,采用2764作为ROM芯片。程序存储器扩展的容量大于256字节,故EPROM片内地址线除了由P0口经地址存储器提供低8位地址外,还需要由P2口提供若干条地址线,我们选用8K的2764EPROM,故地址线应该是13条,因为系统中只扩展一片EPROM,所以不用片选信号,即EPROM的接地。在程序扩展中,我们选用的地址锁存器是74LS373。1.1显示与报警的设计1.1.1显示键盘接口电路在单片机应用系统设计中,一般都是把键盘和显示器放在一起考虑。本设计是利用8031的串行口实现键盘/显示器接口。当8031的串行口未作它用时,使用8031的串行口来外扩键盘/显示器。应用8031的串行口方式0的输出方式,在串行口外接移位寄存器74HC573,构成键盘/显示器接口,其硬件接口电路如图3.14所示:41 仓库温湿度检测系统的设计图3.14显示键盘接口电路1.1.1报警电路在微型计算机控制系统中,为了安全生产,对于一些重要的参数或系统部位,都设有紧急状态报警系统,以便提醒操作人员注意,或采取紧急措施。其方法就是把计算机采集的数据或记过计算机进行数据处理、数字滤波,标度变换之后,与该参数上下限给定值进行比较,如果高于上限值(或低于下限值)则进行报警,否则就作为采样的正常值,进行显示和控制。本设计采用峰鸣音报警电路。峰鸣音报警接口电路的设计只需购买市售的压电式蜂鸣器,然后通过MCS-51的1根口线经驱动器驱动蜂鸣音发声。压电式蜂鸣器约需10mA的驱动电流,可以使用TTL系列集成电路7406或7407低电平驱动,也可以用一个晶体三极管驱动。在图中,P3.2接晶体管基极输入端。当P3.2输出高电平“1”时,晶体管导通,压电蜂鸣器两端获得约+5V电压而鸣叫;当P3.2输出低电平“0”时,三极管截止,蜂鸣器停止发声。图3-15是一个简单的使用三极管驱动的峰鸣音报警电路:41 仓库温湿度检测系统的设计图3.15三极管驱动的峰鸣音报警电路本设计是为在温湿度测量中对温湿度的上下限超出是的提示报警,接口位于单片机0831的P3.2口,当温湿度过限时,P3.2口被置0,本系统开始工作41 仓库温湿度检测系统的设计1.1系统总图图3.16总电路原理图41 仓库温湿度检测系统的设计第1章软件设计系统软件设计采用模块化结构。整个程序由主程序、显示、键盘扫描、A/D转换等子程序。1.1模块组成。温度控制主程序的设计应考虑以下问题:(1)键盘扫描、键码识别和温度显示;(1)温湿度采样,数字滤波;(2)越限报警和处理;(3)温度标度转换。通常,符合上述功能的温度控制程序由主程序和T0中断服务程序两部分组成。(4)这里所需要注意的是标度变换,下面简单的介绍一下标度变换:1.2标度变换目的是要把实际采样的二进制值转换成BCD形式的温度值,然后存放到显示缓冲区34H-3BH。对一般线性仪表来说,标度变换公式为:式中:A0为一次测量仪表的下限;Am为一次测量仪表的上限;AX为实际测量值;N0为仪表下限所对应的数字量;Nm为仪表上限所对应的数字量;NX为测量所得数字量。1.3流程图:系统软件主要由初始化程序、主程序、A/D转换程序及监控程序等组成。初始化程序是对8031内部特殊功能寄存器SFR工作方式进行设定。监控程序完成对键盘输入的扫描及显示器的显示;A/D转换程序完成对信号的采样和A/D转换,主程序对采集的数据进行处理,其中,A/D转换程序是8031响应MC14433A/D转换器的中断服务程序。41 仓库温湿度检测系统的设计一、主程序流程图主程序流程图4.1所示。图4.1主程序流程图41 仓库温湿度检测系统的设计二、A/D转换程序A/D转换程序的框图如图4.2所示。图4.2A/D转换流程图41 仓库温湿度检测系统的设计三、中断服务程序如图4.3所示。图4.3中断服务程序流程图41 仓库温湿度检测系统的设计四、温度采样子程序流程图如图4.4所示。图4.4温度采样子程序流程图41 仓库温湿度检测系统的设计五、键盘扫描子程序图如图4.5所示。图4.5键盘扫描子程序图41 仓库温湿度检测系统的设计第1章总结防潮、防霉、防腐、防爆是仓库日常工作的重要内容,是衡量仓库管理质量的重要指标。它直接影响到储备物资的使用寿命和工作可靠性。为保证日常工作的顺利进行,首要问题是加强仓库内温度与湿度的监测工作。但传统的方法是用与湿度表、毛发湿度表、双金属式测量计和湿度试纸等测试器材,通过人工进行检测,对不符合温度和湿度要求的库房进行通风、去湿和降温等工作。这种人工测试方法费时费力、效率低,且测试的温度及湿度误差大,随机性大。因此我们需要一种造价低廉、使用方便且测量准确的温湿度测量仪。本设计控制系统采用8031单片机为核心,利用AD590温度传感器和HS1100/HS1101湿度传感器进行采样、放大,通过MC14433进行模数转换,通过单片机对信号进行控制,从而实现对温度和湿度的检测和控制。通过数码显示电路能显示当前的温湿度和预设温湿度。用传感器对现场的(温度湿度体,)进行采集;同时电路报警。本系统特别适合于仓库等无人监控等场所。使设计出的系统具有可操作性更强,性价比更高,功能更强大的优点。为人们的生产和生活带来了巨大的意义。41 仓库温湿度检测系统的设计致谢本文从拟定题目到定稿,历时数月。在本论文完成之际,首先要向我的导师致以诚挚的谢意。在完成设计和论文的写作过程中,老师给了我许许多多的帮助和关怀老师学识渊博、治学严谨,平易近人,他不仅教我专业知识和技能,还教我很多为人处事的道理;同时他对工作的积极热情、认真负责、有条不紊、实事求是的态度,给我留下了深刻的印象,使我受益非浅。在此我谨向指导老师表示衷心的感谢和深深的敬意。同时,我要感谢给我们授课的各位老师,正是由于他们的传道、授业、解惑,让我学到了专业知识,并从他们身上学到了求知治学的方法和为人处事的智慧。我还要感谢我的母校,是她提供了良好的学习环境和生活环境,让我的大学生活丰富多姿,为我的人生留下精彩的一笔。最后,衷心感谢我的队友们,在我毕业论文写作中,与他们的探讨交流使我受益颇多;同时,他们也给了我很多无私的帮助和支持,我在此深表谢意。明天,将是我终身学习另一天的开始。41 仓库温湿度检测系统的设计参考文献[1]张琳娜,刘武发.传感检测技术及应用[M].北京:中国计量出版社,1999[2]胡汉才.单片机原理及接口技术[M].北京:清华大学出版社,1996[3]李志全等.智能仪表设计原理及应用[M].北京:国防工业出版社,1998[4]何立民.MCS-51系列单片机应用系统设计[M].北京:北京航空航天大学出版社,1990[5]李建民.单片机在温度控制系统中的应用[J].江汉大学学报,1996,(6)[6]张毅刚,彭喜元,姜守达,乔立岩.新编MCS-51系列单片机应用设计[M].哈尔滨:哈尔滨工业大学出版社,2003[7]杨世成.信号放大电路[M].北京:电子工业出版社,1995[8]高光天.仪表放大器应用[M].北京:科学出版社,1995[9]潘立民,王燕芳.微型计算机控制技术[M].北京:人民邮电出版社,1990[10]杨振江等.智能仪器与数据采集系统中的新器件及应用[M].西安:西安电子科技大学出版社,2001[11]陈雪波,杨东伟.粮库粮温监测系统开发与应用[J]仪器仪表学报2002,(S1)[12]李克,吴伟力.智能化温度检测及控温系统[J].集美大学学报(自然科学版)1994,(01)[13]田勇利,李仲平.粮食仓库计算机测温中的通讯技术[J]郑州工程学院学报1996,(03)[14]沙占友著.智能化集成温度传感器原理与应用[M].北京:机械工业出版社.2002(1).[15]<America>AHalessio,Miniaturecomputercontroltechnology[M].johnwiley&sonspress,1999[16]<America>Mkaufman,AHalessioDE.Electroniccomputingmanual.Defenseindustrypress,199541 仓库温湿度检测系统的设计附录A源程序#defineucharunsignedchar#defineuintunsignedint#defineulongunsignedlong#include//导入头文件#include//导入头文件#include//导入头文件#include//导入头文件Sbitsetdown=P3^5;//设置减Sbitsetup=P3^6;设置加Sbitset=P3^7;设置Sbitjdq=P1^3;Sbitspeak=P1^5;Sbitgwai=P2^4;//千位Sbitswei=P2^3;//十位Sbitbwei=P2^2;//十位Sbitqwei=p2^5;//个位Sbitwei6=P2^6;//位Sbitwei5=P2^7;//位sbitfanled=p3^1;//sbithotled=p3^6;//sbithumiled=p3^7;//sbitfanjdq=p1^4;//sbithotjdq=p1^5;//sfrXSOUT=0x80;//P0=0x80,P1=0x90,P2=0xA0,P3=0xB0.//数据端口sbitTMDAT=P1^0;//温度sbitTMDAT=P1^0;//湿度uchartmpbuf[6];//临时保存百位,十位,个位,点位,十点位,正负位,为1为负,为0为正//sbitTMDAT=P1^0;//温度//ucharcodetable[]={0x3f,ox06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,41 仓库温湿度检测系统的设计0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};//显示表//ucharcodetable[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};//供阳表//ucharcodetable[]={0xA0,0xBB,0x62,0x2A,0x39,0x2C,0x24,0xBA,0x20,0x28,0x30,0x25,0xE4,0x23,0x64,0x74};//供阳表bitxsbz,setbz,setupbz,setdownbz;ucharma,adjs,setmaxt,setmint,setmaxh,setminh,setmode;uinttmp;//温度//uintadmezhi;//uchartmpbuf[5];//临时保存/**************************************549控制引脚宏定义*************************************/sbitTLC549_SDO=P1^3;//数据sbitTLC549_CS=P1^4;//片选sbitTLC549_SCK=P1^2;///*549时钟*/uintadzhi;uintadyzhi;uintadzzhi;uintadmezhi;uintxianzhi;uintsdzhi;bitclbz;ucharjs;//AD相关//uinttmp;//温度ucharsetzhi;//设定值bitsetbz,setkbz,setupbz,setdownbz;//设置标准voidDelay(intuseconds)//延时{{ints;for(s=0;s>i;temp&=0x01;Write_Bit(temp);}Delay(5);}ucharRead_Bit(void)//DS18B20读一位{uchari;TMDAT=0;TMDAT=1;for(i=0;i<3;i++);return(TMDAT);}ucharRead_Byte(void)//度一个字节{uchari;ucharvalue=0;for(i=0;i<8;i++){if(Read_Byte())balue=0x01<>8)&0xf0);if(sign==0xf0){tmp=(tmp0)+1;//为负tmpbuf[5]=1;}//elseSign_Port=1;elsetmpbuf[5]=0;tmp1=(uchar)(tmp&0x0f);}//elseSign_Port=1;elsetmpbuf[5]=0;tmp1=(uchar)(tmp&0x0f);tmph=(uchar)((tmp>>4)&0xff);tmp1=tmp1*6.25;41 仓库温湿度检测系统的设计tmpbuf[4]=tmp1%10;tmpbuf[3]=tmp1%10;tmpbuf[2]=tmp1%10;tmpbuf[1]=tmph%10;tmpbuf[0]=(tmph%100)/10;tmpbuf[1]=tmph%100;//if(tmpbuf[0]==0)tmpbuf[0]=10;if(tmpbuf[1]==0tmpbuf[1]=10;}//////处理doing(){uchartzhi;tzhi=tmpbuf[1]*10+tmpbuf[2];if((tzhi>setmaxt|(tzhisetmaxh)|(setminh)))speak=1;elsespeak=0;/*if(tzhi>setmaxt){fanjdq=1;hotjdq=0;fanled=0;hotled=1;speak=1;}if(tzhisetmint)&(tzhisetmaxh){humiled=1;speak=1;}if(sdzhisdzhi)){humiled=1;}//关41 仓库温湿度检测系统的设计if((tzhi>setmint)%(tzhisdzhi)){speak=1;}////////////////////////////显示处理////////xianshi();intabcd=0;if(setmode!=0)gotoxsset;abcd=sdzhi;//abcd%=100;XSOUT=table[sdzhi/10];wei6=0;Delay(60);wei=1;XSOUT=table[sdzhi%10];wei5=0;Delay(60);wei5=1;XSOUT=table[0];qwei=0;Delay(60);qwei=1;if(tmpbufp[5]==1)XSOUT=0x7f;else{XSOUT=table[tmpbuf[1]];}bwei=0;Delay(60);bwei=1;XSOUT=table[tmpbuf[2]];XSOUT&=0xdf;swei=0;Delay(60);swei=1;XSOUT=table[tmpbuf[3]];41 仓库温湿度检测系统的设计gwei=0;Delay(60);gwei=1;ruturn;//设置显示xsset;XSOUT=table[setmode];qwei=0;Delay(60);qwei=1;XSOUT=XSOUT=0x7f;//横bwei=0;Delay(60);bwei=1;if(setmode==1)abcd=setmaxt;if(setmode==2)abcd=setmaxt;if(setmode==3)abcd=setmaxh;if(setmode==4)abcd=setmaxh;XSOUT=table[abcd/10];swei=0;Delay(60);swei=1;XSOUT=table[abcd/10];gwei=0;Delay(60);gwei=1;}voidkey(){if((!set)&(setbz))Delay(10);if(!set){setbz=0;setmode++;if(setmode>4)setmode=0;}}if((!setup)&(setupbz)){Delay(10);41 仓库温湿度检测系统的设计if(!setup){setupbz=0;if((setmode==1)&(setmaxt<99))setmaxt++;if((setmode==2&(setmintsetmint+1))setmaxt--;if((setmode==2)&(setmint>0)){setmaxt--;}if((setmode==3)&(setmaxt>setmint+1))setmaxt--;if((setmode==4)&(setmint>0)){setmaxt--;}}41 仓库温湿度检测系统的设计if((setdown)&!(setdownbz)){Delay(10);if(setdown){setdownbz=1;}}///定时中断程序///voidt0(void)interrupt1using0{ms++;if(ms>=20){ms=0;xsbz=!xsbz;}TH0=(65536-10000)/256;TL0=(65526-10000)%256;TR0=1;//开始计时ET0=1;EA=1;//speak=!speak;//产生报警}/******************************************名称:read549功能:TLC549驱动模块输入参数:port通道号输出参数:转换值*****************************************///平光滑处理voidpfc1(){adjs++;admezhi+=adyzhi;if(adjs>=10){adjs=0;admezhi/=10;xianzhi=admezhi;admezhi=0;}}41 仓库温湿度检测系统的设计voidread549(){uintad=0,i;TLC549_CS=1;_nop_();TLC549_SCK=0;_nop_();tlc549_CS=0;_nop_();_nop_();_nop_();for(i=0;i<8;I++){TLC549_SCK=1;//上升沿读入if(TLC549_SDO)ad|0x01;//读上次输入{_nop_();_nop_();TLC549_SCK=0;_nop_();_nop_();ad<<=1;}TLC549_CS=1;ad>>=1;adyzhi=ad;//return(ad);pfc1();}///////////////////主程序voidmain(void){uinti;TH0=(65536-10000)/256;TL0=(65526-10000)%256;TR0=1;//开始计时ET0=1;EA=0;setmaxt=50;setmint=5;setmaxh=90;setminh=10;set=1;setup=1;setdown=1;41 仓库温湿度检测系统的设计speak=0;while(1){read549();sdzhi=xianzhi*1.67;if(sdzhi>99)sdzhi=99;ds18b20_cl();//读取温度值for(i=0;i<10;i++)xianshi();key();//键处理doing();//处理}}41 仓库温湿度检测系统的设计附录B系统总图41'