库房温湿度监测系统设计方案_第1页
库房温湿度监测系统设计方案_第2页
库房温湿度监测系统设计方案_第3页
库房温湿度监测系统设计方案_第4页
库房温湿度监测系统设计方案_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

库房温湿度监测系统设计方案1.1

选题背景防潮、防霉、防腐、防爆是仓库日常工作的重要内容,是衡量仓库管理质量的重要指标它直接影响到储备物资的使用寿命和工作可靠性为保证日常工作的顺利进行首要问题是加强仓库内温度与湿度的监测工作但传统的方法是用与湿度表、毛发湿度表双金属式测量计和湿度试纸等测试器材通过人工进行检测,对不符合温度和湿度要求的库房进行通风、去湿和降温等工作种人工测试方法费时费力、效率低,且测试的温度及湿度误差大,随机性大。因此我们需要一种造价低廉、使用方便且测量准确的温湿度测量仪。1.2

设计过程工艺要求(1)基本功能;①检测温度、湿度;②显示温度、湿度;③过限报警。(2)主要技术参数①温度检测范围:-30℃℃;②测量精度:1.0℃;③湿度检测范围:④检测精度:5%RH;⑤显示方式:LCD1602示;⑥报警方式:三极管驱动的蜂鸣音及红色LED常亮报警。⑦用户扩展预留6模拟量输入端,包路温度采集通道路湿度采集通道。1

1.3

论文的结组成本论文分为四部分:绪论:主要阐库房温湿度监测系统设计对库房储存货物的重要性,应用的广泛性及库房温湿度监测系统所需要的基本功能明主要完成的任务及设计思想,介绍本论文的组成。第二章:主要介绍库房温湿度监测系统硬件原理框图及软件实现方案,并通过比较硬件电路组成部分和软件部分各种实现方案,最终确立最佳方案。第三章:介绍以单片机为信息处理核心的库房温湿度监测系统的硬件设计电路,详细分析各单元的硬件电路,并给出相关电路原理图。第四章:根据仪器的硬件构成和功能要求,给出相应的软件设计及主要程序流程图。22.1

库房温度测系统计体方案计系统硬件路方案本设计中湿度监测的实现是通过温湿度传感器采集库房温湿度信息输出电压信号信号转换电路把电压信号转换为数字信号并传入单片机,经单片机进行处理比较用户通过按键输入的温湿度极限值进行比较后由单片机决定是否输出报警信号。稳压电源电路·温湿度传感器

A/D转换芯片

单片机处理电路

报警电路显示电路按键指令及信息输入2

图2—1温湿度监测系统硬件原理图由图2-1知,硬件电路的基本组成主要包括:温湿度传感器,转换电路,单片机信息处理电路,报警电路及显示电路,按键指令及信息输入电路。其各部分电路具体功能如下:·1温湿度传感器:温湿度传感器主要是将物理信号转化为电压信号,电压信号,方便A/D芯片转换,温湿度传感器的精度,灵敏度、抗干扰能力及安装方式决定了温湿度传感器的精度,因此其选型对整个设计具有决定性的作用。A/D转换芯片电路按照控制要求总共需要个模拟量输入点,为符合要留余量的控制要求,所以要求有25个以上的模拟量输入点,完成把物理信号转化为数字信号,同时在温湿度传感器精度完成要求的同时只有模数转换芯片的转换精度达到要求才能完成控制任务,因此对A/D转换芯片选型也非常重要。·3按键指令及信息输入电路:此电路主要完成报警复位、总操作复位/确定(开关液晶背光度极限上调、湿度极限上调、温度极限下调、湿度极限下调等等功能,属于人机交流部分,使整个系统更加合理,人性化。对于整个系统的完善,有至关重要的作用。但由于按键占用I/O口太多所以要采取模拟量转换数字量的方式进行信息输入。·单片机信息处理电路:不言而喻,这部分电路对于整个系统而言相当人的大脑,其主要包括了整个单片机51列)的最小系统,各个模块电路连接等。当然最主要的是他的软件要正常运行。稳压电源电路:此电路主要为此系统使电源供电的单元模块提供高质量的DC5V电源。·6报警电路:此电路主要完成当库房温湿度值超过设定值时,发出报警信号,其中包括声响信号和光信号。·7信息显示电路:显示电路是人机交互平台的重要组成部分,主要可以完成显示实时的温湿度值、设定值、报警提示及报警种类的显示的功能。但根据以往经验,也是整个系统耗电最高的一个部分,由于其显示3

信息数量较为简单,所以可以选择较小的显示屏。考虑到每个模块都可以有多种实现方案,下面通过比较各种方案,来选择最优化的实现方案。温湿度感器的选择传感器又称为换能器变换器等温湿度传感器是温湿度测系统中重要的组成部分,其基本功能是将库房的温度和湿度这样一些物理量非电量)转换成为便于测量的电量温湿度传感器的精度、灵敏度抗干扰能力及安装方式决定了温湿度传感器测量精度,因此其选型对整个设计具有决定性的作用。目前,温湿度信号的测量方式较多,但在测温方面主要有:①金属热电阻:温度/改变电阻阻值②热电偶:温度/热量使导体产生温差电动势③半导体热敏电阻:温度/量改变电阻阻值④红外释热测温:温度改变红外热辐射⑤色温法:温度改变金属颜色变化(炼钢)⑥石英:温度改变石英震荡频率⑦形变:温度使双金属片弯曲在测湿度方面主要有:①动态法(双压法、双温法、分流法双压法、双温法是基于热力学P、、T平衡原理,平衡时间较长,分流法是基于绝对湿气和绝对干空气的精确混合由于采用了现代测控手段,这些设备可以做得相当精密,却因设备复杂,昂贵,运作费时费工,主要作为标准计量之用,其测量精度可达±±。

2%RH②静态法(饱和盐法、硫酸法态法中的饱和盐法,是湿度测量中最常见的方法,简单易行。但饱和盐法对液、气两相的平衡要求很严,对环境温度的稳定要求较高。用起来要求等很长时间去平衡,低湿点要求更长。特别在室内湿度和瓶内湿度差值较大时,每次开启都需要平衡小时。③露点法,干湿球法和形形色色的电子式传感器法。露点法是测量湿空气达到饱和时的温度,是热力学的直接结果,准确度高,测量范围宽。计量用的精4

密露点仪准确度可达±0.2℃甚至更高。但用现代光—电原理的冷式露点仪价格昂贵,常和标准湿度发生器配套使用。④干湿球法,这18纪就发明的测湿方法。历史悠久,使用最普遍。干湿球法是一种间接方法,它用干湿球方程换算出湿度值,而此方程是有条件的:即在湿球附近的风速必需达到上。普通用的干湿球温度计将此条件简化了,所以其准确度只有明显低于电子湿度传感器。显然干湿球也不属于静态法,不要简单地认为只要提高两支温度计的测量精度就等于提高了湿度计的测量精度。综合以上信息,为符合系统设计需要和综合系统造价,以后产品的推广与安装,特选用北京港北中天科技有限公司生产的GB系列温湿度传感器。温湿度感器的参数等关信息GB-6000B(温湿度变送器性能可靠,价格优惠。采用进口瑞士原装温湿测量单元电路采用数字化处理信号隔离放大截频干扰设抗干扰能力强,防雷击)过压保护,限流保护,等设计其具体参数如下:①温度测量范围:②湿度测量范围:

-40-120℃(中间量程任选)③温度测量误差:±℃④湿度测量误差:±⑤温度测量漂移:⑥湿度测量漂移:

年飘移量±0.01℃常温及低湿状态下,三年飘移量,高温高湿状态下(40,)每年飘移。⑦供电范围:⑧输出信号:⑨防护等级:

12~4~20mA或~或~或⑩采样频率:≤接线图:5

图—2GB-6000B()温湿度变送器硬件接线图外形尺寸:图2(CR)温湿度变送器外观及尺寸单片机号选择市场上单片机种类繁多且功能各异价格也相差很大现在简单介绍一下我们常用单片机:①PIC单片机是MICROCHIP公司的产品其突出的特点是体积小功耗低,精简指令集,抗干扰性好,可靠性高,代码保密性好。②EMC片机:是台湾义隆公司的产品,有很大一部分与8位单片机兼容,且相兼容产品的资源相对比的多,价格便宜,有很多系列可选,但抗干扰较差。③ATMEL单片机51单片机)ATMEl公司的8位单片机有AT89AT90两6

个系列,系列8051列单片机相兼容,静态时钟模式,AT90系列单片机是增强结构、全静态工作方式,也叫AVR片机。④PHLIPIS系列单片机(单片机):PHILIPS公司的单片机是基于内核的单片机,嵌入了多种功能功能,这使51LPC在高集成度、低成本、低功耗的应用设计中可以满足多方面的性能要求。⑤HOLTEK单片机:台湾盛扬半导体的单片机,价格便宜,种类较多,但抗干扰较差,适用于消费类产品。⑥TI公司单片机(51单片机:德州仪器提供了TMS370和MSP430两大系列通用单片机.TMS370列单片机是位单片机,具有多种存储模式多种外围接口模式系单片机是一种超低功耗功能集成度较高的位低功耗单片机。综合以上信息为满足系统设计需要和综合系统造价以后产品的推广与安装,特选用ATMEL公司生产的AT89S52列的单片机。片机参数等相信息①主要性能与片机产品兼容32可编程线;三个16位定时器计数器;八个中断源;全双工UART串行通道;低功耗空闲和掉电模式;看门狗定时器;双数据指针。②功能特性描述是一种低功耗、高性能位微控制器具8K在系统可编程存储器。在单芯片上,拥有灵巧的位和在系统可编程,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能8k字,256字节,位口,看门狗定时器,2个据指针,三个16位定时/计数器,一个6向级中断结构,全双工串行口,片内晶振及时钟电路。③的引脚结构7

图2的引脚结构④

引脚功能介绍VCC:电源GND:地P0口:P0口是一个位漏极开路的双向I/O口。作为输出口,每位能驱动8逻辑电平。对P0口写“”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,口也被作为低8位地址/数据复用。在这种模式下P0有内部上拉电阻在编程时P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1口:P1口是一个具有内部上拉电阻的8位双向口,输出缓冲器能驱动4个逻辑电平。P1端口写“”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL外,P1.0和分别作定时器计数器2外部计数输入(和时器计数器2的触发输入P1.1/T2EX具体如下表所示。在flash编程和校验时,接收低8地址字节。引脚第二功能:T2(定时器/计数器的外部计数输入钟输出8

(定时器/数器T2的捕捉/重触发信号和方向控制)MOSI在系统编程用)MISO在系统编程用)(系统编程用)P2口P2口是一个具有内部上拉电阻的8位双向口,输出缓冲器能驱动4个逻辑电平。P2端口写“”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因将输出电(IIL问外部程序存储器或用位地址读取外部数据存储器(例如执MOVX@DPTR)时P2口送出高八位地址。在这种应用中口使用很强的内部上拉发送1用8位地MOVX@RI)访问外部数据存储器时输出锁存器的内容。编程和校验时,P2也接收高8位地址字节和一些控制信号。P3口:P3口是一个具有内部上拉电阻的8位双向口,输出缓冲器能驱动4个逻辑电平。P3端口写“”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因将输出电流IIL亦作为AT89S52特殊功能(第二功能)使用,如下表所示。在flash编程和校验时P3也接收一些控制信号。引脚第二功能RXD(串行输入)TXD(串行输出INT0(外部中断INT0(外部中断T0(定时器0部输入)T1(定时器1部输入)外部数据存储器写选通)RD(外数据存储器写选通)复位输入。晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。看门狗计时完成后脚输出个晶振周期的高电平。特殊寄存器地址8EH)上的位可以使此功能无效。认状态9

下,复位高电平有效。ALE/PROG:地址锁存控制信号(ALE)访问外部程序存储器时,锁存低8位地址的输出脉冲。在编程时,此引脚)也用作编程输入脉冲。在一般情况下ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用然而别强调在每次访问外部数据存储器时,ALE脉冲将会跳过如果需要通过将地址为的SFR第0位“1ALE操作将无效。这一位置1ALE仅在执行MOVX或MOVC指令时有效。否则,ALE将被微弱拉高。这个ALE使能标志位(地址为8EH的SFR第0)的设置对微控制器处于外部执行模式下无效。外部程序存储器选通信号(PSEN是外部程序存储器选通信号。当从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,不被激活。访问外部程序存储器控制信号。为使能从到FFFFH的外部程序存储器读取指令,EA必须接。为了执行内部程序指令,应该接VCC。在编程期间,EA也接收伏压。XTAL1:振荡器反相放大器和部时钟发生电路的输入端。荡器反相放大器的输出端。⑤的内部资源有个中断源:两个外部中断(INT0和INT1个定时中断(定时器01)和一个串行中断。这些中断如10示每个中断源都可以通过置位或清除特殊寄存器IE中的相关中断允许控制位分别使得中断源有效或无效。还包括一个中断允许总控制位,它能一次禁止所有中断如表所示位是不可用的对于IE.5也是不能用的。用户软件不应给这些位写1。它们为AT89列新产品预留。定时器可以被寄存器T2CON中的和EXF2的或逻辑触发。程序进入中断服务后,这些标志位都可以由硬件清0实际上,中断服务程序必须判定是否是TF2或EXF2激活中断,标志也必须由软件清0。定时器0和定时器1志位TF0和计数溢出的那个周期的被置位。它们的值一直到下一个周期被电路捕捉下来。然而,定时器2的标志位TF2在计数溢出的那个周期的S2P2被置位,在同一个周期被电路捕捉下来。10

内具有看门狗定时器及个16位可编程定时/计数器。位是指他们都是由个触发器构成故最大计数模值2

可编程是指它们的工作方式由指令来设置,或者当计数器用,或者当定时器用,并且记数(定时)的范围也可以由指令来设置。这种控制功能是通过定时器方式控制器TMOD来完成的。存储器结构:器件有单独的程序存储器和数据存储器。外部程序存储器和数据存储器都可以64K址。程序存储器:如果EA引脚接地,程序读取只从外部存储器开始。对于89S52,如果EA接程序读写先从内部存储器(地址为0000H~)开始,接着从外部寻址,寻址地址为:。数据存储器:有256字节片内数据存储器。高字节与特殊功能寄存器重叠。也就是说高字节与特殊功能寄存器有相同的地址,而物理上是分开的一条指令访问高于7FH的地址时址方式决定访问高128字节还是特殊功能寄存器空间接寻址方式访问特殊功能寄存器(SFR如,下面的直接寻址指令访0()存储单元使用间接寻址方式访问高字节RAM。例如,下面的间接寻址方式中,内容为访问的是地址0A0H的寄存器,而不是口(它的地址也是0A0H堆栈操作也是简介寻址方式节数据RAM也可用于堆栈空间。AD转换芯片的选择以及相关的参数模数转换芯片主要完成模拟量转换为数字量的功能方便单片机读取根据系统要求,此处并不需要高速型的转换芯片,因为一般高速高精度AD转换芯片价格较为昂贵而低速芯片不但价格便宜且能满足系统要求像ADC0809是一款价格便宜应用广泛性能稳定性都经过时间检验的好产品主要参数如下:①主要特性1)8路8位A/D转换器,即分辨率8位。11

2)具有转换起停控制端。3)转换时间为100μs4)单个+5V电源供电5)模拟输入电压范围0~+5V,不需零点和满刻度校准。6)工作温度范围为-40~+85摄氏度7)低功耗,约15mW。②内部结构ADC0809是CMOS单片型逐次逼近式A/D转换器,它8路模拟开关、地址锁存与译码器、比较器、8位开关树型D/A转换器、逐次逼近。③硬件引脚图图2ADC0809的脚结构④外部特性ADC0809芯片有28条引脚采用双列直插式封装,如图13.23所示。下面说明各引脚功能。IN0~IN7:8路模拟量输入端。2-1~2-8:8位数字量输出端。ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路ALE:地址锁存允许信号,输入,高电平有效。START:A/D转换启动信号,输入,高电平有效。EOC:A/D转换结束信号,输出,A/D转换结束时,此端输出一个高电平(转换期间一直为低电平12

OE:数据输出允许信号,输入,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。CLK:时钟脉冲输入端。要求时钟频率不高于。REF(+(-准电压。Vcc:电源,单一+5V。GND:地。ADC0809的工作过程是:首先输入位地址,并使ALE=1,将地址存入地址锁存器中此地址经译码选通路模拟输入之一到比较器START上升沿将逐次逼近寄存器复位降沿启动A/D转换EOC输出信号变低,指示转换正在进行直到A/D转换完成EOC变为高电平指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。LCD液屏的选择及相关的参对于液晶显示屏的选择只要满足同时显示实时温度湿度可以同时显示设定温度极限值、湿度极限值。报警信息等等,显示信息量不大。众所周知,液晶屏显示面的大小与其价格成正相关以选择一款较小的显示屏就可以完成本系统相关功能。LCD1602就是一款性价比较高的液晶显示屏,其相关参数如下:①接口信号说明编号12345678

符号VSSVDDVLRSR/WED0D1

引脚说明电源地电源正极液晶显示偏压数据/命令选择读写择使能信号数据数据

编号910111213141516

符号D2D3D4D5D6D7BLABLK

引脚说明数据数据数据数据数据数据背光源正极背光源负极表:脚接口说明表13

第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一10K的电位器调整对比度。第4脚RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时以写入指令或者显示地址RS为低电平R/W为高电平时可以读忙信号,当RS为高电平为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第7~14脚:D0~D7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。②主要技术参数显示容量:16×2个字符芯片工作电压:4.5—5.5V工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.95×4.35(W×H)mm③硬件实物外观图—6LCD正面14

图—7LCD反④外形尺寸图—8LCD1602硬件尺寸⑤1602LCD的指令说明及时序号指令

RSR/WD7D6D5D4D3D2D1

D012

清显示光标返回

00

00

00

00

00

00

00

00

01

1*34

置输入模式显示开关制

00

00

00

00

00

00

01

1I/DDC

SB56

光标或字符移位置功能

00

00

00

00

01

1S/CR/L*DLNF*

**7

置字符发生存贮器地址

0

0

0

1

字符发生存贮器地址8

置数据存贮器地址

0

0

1显数据存贮器地址91011

读忙标志或地址写数到CGRAM或DDRAM从CGRAM或DDRAM读

011

1BF计数器地址0要的数据内容1读的数据内容表2-2:控制命令表15

图2-9读作时序图2-10写作时序⑥1602LCD的一般初始化(复位)过程延时15mS写指令38H(不检测忙信号)延时5mS写指令38H(不检测忙信号)延时5mS写指令38H(不检测忙信号)以后每次写指令、读/写数据操作均需要检测忙信号写指令38H:显示模式设置写指令08H:显示关闭16

写指令01H:显示清屏写指令06H:显示光标移动设置写指令0CH:显示开及光标设置其他元的选择以及相的参数本系统除了用到了以上原件还主要用到了像电阻电容晶振按键、蜂鸣器、二极管、三极管稳压芯片(位与非门(12V直流电源等原件,在此章不再一一介绍。详细应用将在下一章表述。2.2

系统软件计方案在软件设计方面主要注意下列问题:1,在单片读取AD片数据、转换时,精度一定要满足系统设计的要求。2,循环读AD芯片的转换信息(读取温湿度取安装温湿度模块的信息,如果没有安装也要检测,但不能进入软件运算。3,读取每温度(湿度)信息后求出平均值,显示在LED显示屏上。4为保证按键操作与信息显示不冲突在读取案件信息时也要读取温湿度信息。这样软件设计的流程如下:17

系统初始化读取温湿度信息读取按键信息是实时温度值是否大于设定值否检测按键

报警提示检测按键报警确认了吗是

否图—7LCD1602反面在第四章将重点介绍软件的详细过程。3.1

库房温湿度监系统设硬件方案设计系统电源路方案电源的稳定是整个系统稳定运行的关键,本系统要求外部DC12V供电。温湿度模块用电在本系统取。如图31源硬件电路。这里有一个电源指示灯,选用的是红色LED。此电源可为整个系统提供DC5V、1.5A的电源,能完全满足系统要求。18

3.2

图3—电硬件电路图系统单片电路方案单片机系统是整个系统的核心,其硬件电路如图3—2单片机硬件电路图。51片机小系统包括时钟电路复位电路电源等单片机端口接10K欧姆上拉电阻,用于据的信息传送。口有两个作用:第一作为AD片的数据传送端,第二作为报警输出端。P3.0~P3.3作为的控制端。P3.4,预留端口,P3.5~P3.7片控制端。图—2单机硬件电路图19

3.3

系统ADC0809和键电路方案此系统按键较多用单片机引脚做按键信息输入是对单片机引脚的浪费所以本系统设计用AD芯片来采集按键信息节省了IO因为单片机运行较快,通过AD转省去了按键软件的延时去抖动,按键具体对应数值如下表:编

项目

对应电压

对应电阻

运算过程(读出的数值d)数值理想情况下)号1

常态

5V

断开

buf[10]="0123456789"

5.002按1按3按2按4按3按

0V4V3V

0欧4K欧欧

a=buf[d/100];b=buf[d/10%10];

0.004.003.005按4按2.5V

1K欧

c=buf[d%10];

2.506按5按7按6按

2V1V

670欧姆250欧姆

分别算出整数位、十分位、百分位,用字符串表现出来

2.001.00表3按对应单片机内数据3.4

图—3ADC0809和键硬件电路图系统报警路方案报警电路与AD装换芯片数据输出电路和报警电路重合当报警输出时采用报警输出秒,再是读取按键信息,之后如果没有进行报警确认或是没有调整设定值。这样节省IO口又能完成应功能。具体电路如图20

3.5

图—4ADC0809和键硬件电路图系统LCD显示电路方LCD液晶显示屏,主要显示用户设定参数,报警提示信息显示,实时温湿度等信息。其硬件电路如下图:图—5LCD显硬件电路图21

4.1

库房温湿度监系统设软件方案设计系统单片读取AD芯片信息软件方案单片机读取中的信息,首先读取第一个芯片的第一路转换数据,接着的二路,依次向下读取,直到读取完毕,然后将这些信息进行判断(断线、故障如果读出信息为零或是无效值则将此值省略,然后求平均值,存储。其设计流程如下:初始化芯片读取芯片值读取芯片数值直到芯片4有有无效值吗无数值转换并取平均值

省去无效值存入相应寄存器运行其他程序图—1单机读取AD芯流程图22

4.2

系统单片读取AD芯片按键信息软件方案单片机读取中的信息,读到按键部分程序时不参与与其他信息求平均值,而是有独立信息安排,在报警时,不在读取除按键信息外的任何信息,按键分别完成:液晶背光控制、温度上限设定、温度下限设定、湿度上限设定、湿度下限设定和报警人工复位等功能。由于AD芯片的转换精度较高,所以以0.5V电压作为按键识别的最小精度还是特别保险的,完全有能力完成按键的识别。具体转换方法已在第三章按键部分表3—1给出了。23

初始化芯片读取按键数值数值转换数值在之间吗否

运行其它程序之间时

之间时

之间时

之间时

之间时

之间时液晶背光标志

设定温度变量加

设定湿度变量加

设定温度变量减

设定湿度变量减

报警标志位复位位置位存入变量运行其他程序图4读AD芯及按键信息流程图24

4.3

系统判断时温湿度与定值和报警信软件方案初始化运行其它程序否

读出温湿度平均值平均值大于上限设定值吗否平均值小于下限设定值吗是LCD显示温湿度低于设定温(湿度)度相关提示信息报警,口全输出高电平读取按键信

是LCD显温湿超过设定温(湿度)度相关提示信息报警复位或报警条件不存在在了吗是

否图—3读AD芯按键信息流程图25

4.4

系统LCD及其剩余部软件方案LCD到显示作用,其刷新频率主要有软件控制,而背光主要又按键控制。其他部分参考附录1路图。以上叙述了各个模块的软件控制别是各个模块要相互配合起来起来,为了要达到对案件的实时监视而还要兼顾读取温湿度值得稳定显示所以在单片机读取后要经过求平均数的计算,比如取10的平均数显示出来等等。具体软件内容见附录3程序。总

结本次课程设计是对所学知识的一次综合性运用中包括对模拟电子技术基础、和数字电子技术基础、单片机等知识的运用。从而完成了本次设计。在设计的过程中发现了自身知识的不足也发现我们必须具备专业基础知识以外才能成功的设计出一件合格的东西。这次课程设计收获很多,体会也很深刻且对我们所学的东西也产生了浓厚的兴趣。在设计过程中,也学会了很多新的东西,PROTEL软件绘制电路原理图和PCB图,以及一些仿真软件的应用,最典型的就是PROTEUS软件的应用,以及与KEIL软件的联合使用功能。当然最重要的是学到了关于基本电子设计的一些基本方法时也加深了对一些常用的电子元件的理解及其基本用法的掌握。除此之外觉得在这次设计的过程中我发现团队精神的重要性,很多时候一个人的力量是有限的,一个人不可能什么都会么都能自己解决还是有需要他人帮助的时候我觉得人与人之间的相互帮助很有必要,这样不仅能帮助大家很快的解决问题,还能提高我们每个人的实际水平,也培养了我们的团队合作精神,这些能力对于我们今后的学习和工作都很有帮助。由于时间关系本次设计中还有不尽完善之处希望在以后的学习生涯中不断的完善和改进。在本次设计过程中遇到不少问题王同宏老师和同学的帮助和配合下才顺利的完成了本次课程设计。26

焦丽娜老师在我们做设计的过程中给予了我们极大的帮助不仅从知识方面引导了我们的设计思路,同时,在人生观上也给了我们不少的启示。在此,我对老师和同学表示深深的谢意。结束语致谢从论文选题到搜集资料,从提纲的完成到正文的反复修改,我经历了喜悦、聒噪、痛苦和彷徨,在写作论文的过程中,心情是如此复杂。如今,伴随着这篇毕业论文的最终成稿,复杂的心情烟消云散,自己甚至还有一点成就感。我要感谢我的老师。他们为人随和热情,治学严谨细心。从选题、定题、撰写提纲到论文的反复修改、润色直至定稿老师始终认真负责地给予我深刻而细致地指导正是有了老师的无私帮助与热忱鼓励我的毕业论文才得以顺利完成。我还要感谢我的导员老师以及在大学三年中给我们授课的所有老师们他们让我学到了很多很多知识,让我看到了世界的精彩,让我学会了做人做事。最后感谢三年里陪伴我的同学朋友们,有了他们我的人生才丰富,有了他们我在奋斗的路上才不孤独,谢谢他们。27

参文献[1]刘福才、刘丰、刘立伟单片机在太阳能热水器智能控制器中的应用。微计算机信息,1999,4。[2]王长胤、文军

单片单板机原理及应用[M]武汉大学出版社,1993。[3]向奇汝[4]何立民

多功能温度控制器[]单片机中、高级教程

自动化与仪器仪表,1999北京航空航天出版社1999[5]郭廷玮

太阳能利用和前景

科学普及出版社

1986[6]万福君、潘松峰

单片机原理系统设计与应用科学技术大学出版社

2001[7]潘永雄沙河刘向河电子线路CAD实用教程

西安电子科技出版社[8]何克忠、李伟

计算机控制系统

清华大学出版社

1998[9]周政新

电子设计自动化实践与训练中国民航出版社

1998[10]丁志刚、李刚民单片微型计算机原理与应用

199028

附件一:路图29

附件二:感器电压对温度图解:由40℃现应用传感器的实际量程,而系统要求的测量范围为-℃~50。所以凡是超过要求测量范围的数据全部为报警数据或是非正误量数据因作图如上选择输出电压为0V~5V而任何范围的数据都会依照这线的斜率进行变化所以此线的斜率为1,测范围最高点对应电压为90/32=2.81V量围最低对应电压为(V度为零摄氏度时对应电压为40/32=1.25V此AD转芯片测量电压0.312V~2.81V之,这是在这个电压范围内进行数据的转化,所得要温度范围才为℃℃。再分开看,从到1.25V之间这些值全部为负温度,所以要求出a~e这条线段的斜率进行计算其斜率为1.25-0.31)/30=47/1500。30

附件三:源程/*成时间:2013.2.269-55功能:毕业设计,温湿度监测系统程*#include<reg51.h>#include<intrins.h>//精延时函数。uintunsignedint//***************义变量************************uintd,a,b,c,x=0,y=1,dat_T,dat_H,signT,signH,SKB,KB,T_lose;//KB_W,KB_BGuintWTU,WTD,WHU,WHD;buf[10]="0123456789";//芯片内部阿克码。="RT-";="RH";="TU-";="TD-";="SHU";="SHD";;="C%";//***************ad0809位义端************************//时钟脉冲输入端口。=P3^3;//输出允许端口,高电平有效。=P3^4;//输出允许端口,高电平有效。=P3^5;//输出允许端口,高电平有效。=P3^6;//输出允许端口,高电平有效。EOC=//转换时低电平,转换结束后为高电平。=//启动信号,升沿片内存储器清零,下降沿启动ad转。A=P3^2;//8路拟量输入选择端口。BB=P3^1;//C=////*******************lcd1602位义端*******************RS=P2^3;//数据命令选端RW=P2^4;//写选择端=//使信号BG=//背光开启端//*********************数义*****************************voiddelay1(uintt//延函数voidwrite_com(//LCD写址命令voidwrite_data(uchardat);//LCD数据voidinit(void);//LCD初始化31

voidlcd_sfm(uchardate);//把那些数字转化成能显示出来的格式uintADC0809();//AD转,返回转换后计算得到的电压值voiddat_count(uchar//读数据后,对的计算。voidKB_order();//判别键命令,并执行相应操作。void//较平均温度与设定温度范围出否报警及报警类型。voiddisplay();//示实时温度、湿度、设定温度上限、设定温度下限、设定湿度上限、设定湿度下限、报警类型等。//**********************函*************************************void{BG=0;{d=ADC0809();dat_count(d);//取芯片信息//*********************时数*******************************voiddelay1(uintt){ucharj;for(;t>0;t--)=19;j>0;j--);}/*************************************************************************功能:对LCD1602的地址命令输入值:地址值输出值:无占用口P0所用函数:延时函数备注:无完成时间:***************************************************************************/void){=0;RS=0;delay1(10);E=1;delay1(20);E/*************************************************************************32

功能:对LCD1602的数据命令输入值:数据值输出值:无占用口P0所用函数:延时函数备注:无完成时间:***************************************************************************/voidwrite_data(uchardat){ERS=1;P0=dat;delay1(10);E=1;delay1(20);E/*************************************************************************功能:对LCD1602的始化输入值:无输出值:无占用口:无所用函数:延时函数,写命令函数备注:无完成时间:***************************************************************************/voidinit(void)write_com(0x38);delay1(100);write_com(0x38);delay1(100);write_com(0x38);write_com(0x38);write_com(0x08);write_com(0x01);write_com(0x06);/*************************************************************************功能:对LCD1602的命令输入值:数据值,地址值输出值:无占用口:无所用函数:写地址函数,写数据函数33

备注:无完成时间:***************************************************************************/voidlcd_sfm(uchar把些数字化成能显示出来的格式{write_com(0x80+0x40+add);//此数使数字局限在第二行显示显数字1.2.3.4是字0的址}/*************************************************************************功能:对的读数据命令输入值:无输出值:返回数据值占用口P1所用函数:无备注:无完成时间:***************************************************************************/uint转,返回转换后计算得到的电压值{uintt,temp;x=x+1;switch(x){A=0;BB==0;}break;//选择通道0{A=0;BB==1;}//选择通道1{A=0;BB==0;}//选择通道2{A=0;BB==1;}//选择通道3{A=1;BB==0;}//选择通道4{A=1;BB==1;}//选择通道5{A=1;BB==0;}break;//选择通道{A=1;BB==1;}//选择通道7{x=}//择转芯}switch(y){OE_4==}break;//选择号芯片{OE_4===}break;//选择2号片{OE_4===}//选择号芯片{OE_4===}//选择号芯片{y=}break;//返回}//择通道ALE=0;ALE=1;//存地址信号STSTALE=0;ST34

while(EOC==0)提供时钟{temp=P1;CLK=~CLK;OE_1=0;关闭所有转换芯片通道。OE_2=0;OE_3=0;OE_4=0;t=t;}//回读取的值/*************************************************************************功能:对读出数据的计算,解码输入值:数据值输出值:无占用口:无所用函数:无备注:无完成时间:10-41***************************************************************************/voiddat_count(uchar//读数据后,对的计算。{uchardat_T2,dat_T1,T_lose1,dat1_H,dat1_T;SKB=SKB+1;ifKBif(SKB%2);//区分湿度还是温度。if(dat>=0.32|dat<=2.81)//运算设计要求的值的范围。确定范围过程详见附录3。{if(dat>=1.25){dat=dat*32-40;T_lose1}if(dat<1.25){dat=40-dat*1000/31.25;T_lose1}}switch(x){case{if(T_lose1==1)}负温度绝对值相加dat_T2=dat_T2+dat;}break;//温度相加湿相加35

if(T_lose1==1)}//负温度绝对值相dat_T2=dat_T2+dat;}break;//度相加break;//湿度相加if(T_lose1==1)}//负温度绝对值相加dat_T2=dat_T2+dat;}温度相加break;//湿度相加if(T_lose1==1)}负温度绝对值相加dat_T2=dat_T2+dat;}break;//温度相加break;}//湿相加{dat1_T}//显示负号dat1_T//显示正号signT=0;}if(signH==100)signH=0;}}/*************************************************************************功能:对读出数据的计算,解码,并完成按键的相应功能输入值:无输出值:无占用口:无所用函数:无备注:主要是数据对应按键的解码完成时间:10-41***************************************************************************/voidKB_order(){ucharKB_F1,KB_F2;==buf[KB/10%10];switch(KB_F1)KB_W=1;break;//度相加36

{KB_HD=5;KB_HD=KB_HD+5;};break;//度相加{if(KB_F2==5){if(KB_HU==100)KB_HU=10;KB_HU=KB_HU+5;}{KB_TD=30;KBD_lose1;}//数符号控制位显示符号if(KB_TD==)KBD_lose//不示负号if(KBD_lose==1)if(KBD_lose==1)KB_TD++;};温相加{KB_TU=29;KBU_lose1;}//数符号控制位显示符号if(KB_TU==//不显示负号if(KBU_lose==1)KB_TU--;if(KBU_lose==1)KB_TU++;};温度相加KB_BG=~KB_BG;}}bre

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论