仓库温湿度检测系统优秀毕业论文.doc_第1页
仓库温湿度检测系统优秀毕业论文.doc_第2页
仓库温湿度检测系统优秀毕业论文.doc_第3页
仓库温湿度检测系统优秀毕业论文.doc_第4页
仓库温湿度检测系统优秀毕业论文.doc_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

题目:仓库温湿度检测系统设计摘 要温湿度是影响货物存储质量的重要因素。本课题设计的是一种基于单片机的绿色食品去湿干燥智能控制系统,实现了对食品温度和湿度的实时检测,使管理人员可以实时监控食品温湿度情况以便确定合适的温湿度指标进行储藏。本文采用AT89S52单片机为控制核心,由DHT11温湿度传感器及1602字符型液晶模块构成温湿度采集及实时显示系统,实现对测量对象的温湿度精确测量与自动控制。本系统由上位机和下位机构成,下位机主要完成食品温湿度的采集与处理,将其传至1602液晶显示,并做出判断实现超限报警。同时,下位机还通过RS232总线将温湿度数据传至上位机,上位机可实时显示当前的温度与湿度值。实验结果表明,该系统电路简单、工作稳定、集成度高,调试方便,测试精度高,具有一定的实用价值。关键词:单片机 温湿度 AT89S52 RS232 自动控制目 录摘 要I目 录II1 绪 论11.1 背景及意义11.2 国内外发展现状11.2.1 温度测量方面11.2.2 湿度测量方面31.3 温度、湿度检测技术的发展趋势32 温湿度测量系统方案设计52.1 系统总体设计52.2 系统的整体构架52.3 系统方案的论证与选择52.3.1 单片机的选择52.3.2 显示器的选择62.3.3 传感器的选择72.3.4 键盘模块的选择72.3.5 报警模块的选择83 系统硬件设计93.1 主控模块93.1.1 单片机AT89S52简介93.1.2 AT89S52的标准功能93.1.3 单片机AT89S52最小系统103.1.4 单片机的控制接口113.2 显示模块113.2.1 1602液晶简介123.2.2 1602液晶显示特性123.2.3 1602液晶物理特性123.2.4 1602液晶管脚功能123.2.5 1602液晶字符集133.2.6 1602液晶与AT89S52接口电路143.3 温湿度采集模块143.3.1 DHT11温湿度传感器简介143.3.2 DHT11引脚及接口153.4 键盘模块153.4.1 键盘控制电路153.4.2 各功能键作用分配163.5 报警模块173.5.1 报警电路接口173.5.2 蜂鸣器工作原理173.6 串口通信模块173.6.1 RS-232C简介183.6.2 MAX232简介193.6.3 74HC573简介203.7 小结214 系统软件设计224.1 主程序设计224.2 温湿度采集子程序设计244.3 液晶显示子程序设计244.4 键盘扫描软件设计254.4.1 键盘扫描功能264.4.2 键盘扫描工作原理264.4.3 键盘扫描流程图274.5 串行通信模块274.6 小结28结 论29谢 辞30参考文献31第1章 绪 论1.1 背景及意义防潮、防霉、防腐、防爆是食品日常存储工作的重要内容,是衡量食品储藏质量的重要指标,它直接影响到储备物资的使用寿命和工作可靠性。为保证日常工作的顺利进行,首要问题是加强物品温度与湿度的监测工作。但传统的方法是用温度计与湿度表、双金属式测量计和湿度试纸等测试器材,通过人工进行检测,对不符合温度和湿度要求的食品进行通风、干燥等工作。这种人工测试方法费时费力、效率低,且测试的温度及湿度误差大,随机性大。因此我们需要一种造价低廉、使用方便且测量准确的温湿度测量控制仪。1.2 国内外发展现状目前温湿度检测技术和物品智能去湿干燥系统的研究已具备温湿度检测、超温报警、自动生成各种报表、自动存储历史数据并据此自动生成温湿度变化曲线等功能,供仓储管理人员查询分析之用。1.2.1 温度测量方面温度是一个重要的物理量,其检测方法有多种,常用的有电阻式、热电偶式、PN结型温度传感器1、石英谐振型温度传感器以及光线传感器等,它们都是基于温度变化引目前国外在温度超高精度测量中,大都使用标准铂电阻温度传感器。例如:美国国家实验室(NSIT)采用标准铂电阻温度传感器对纳米测试装置的工作腔进行测试,其测试精度为0.0017,8。国内方面,清华大学以石英晶体传感器作为测温元件,将温度变化的模拟量转化为石英晶体振荡频率的数字量,通过测量频率可以计算出温度值,它可以测出0.001的温度变化量。1.2.2 湿度测量方面近年来,国内外在湿度传感器研发领域取得了长足进步。湿敏传感器正从简单的湿敏元件向集成化、智能化、多参数检测的方向迅速发展,将湿度测量技术9提高到新的水平。湿敏传感器的种类很多,大体上可以分为三类:电解质湿度传感器、半导体陶瓷湿度传感器以及有机高分子聚合物湿度传感器10。(1)电解质湿度传感器,如氯化铿湿度传感器,灵敏度高,但在高湿环境中容易产生解,从而影响原的,缩短其用寿命。(2)半导体陶瓷湿度传感器,如铬酸镁一二氧化钦湿敏传感器以及钒酸狸一二氧化钦湿敏传感器。它们主要利用陶瓷烧结体微结晶表面在吸湿和脱湿过程中电极之间电阻的变化来检测相对湿度。这类传感器适合于高温和高湿领域中使用。(3)高分子材料湿敏传感器,如聚乙烯醇、醋酸纤维素、聚酸胺等材料制成的传感器,响应速度快、精度高,但是耐老化和抗污染能力不如陶瓷传感器。国外在湿度传感器研制方面起步较早,目前日本、德国、美国处于国际领先地位,测量范围可实现全湿范围测量,且精度可达到士2%RH。国内湿度传感器研制与生产方面,开始于二十世纪八十年代,且研究单位多于生产厂家,多数从事电解质、陶瓷类以及高分子类传感器的研发。1.3 温度、湿度检测技术的发展趋势温度传感器的种类很多,测温范围也比较宽,可高达几千度,低可接近绝对零度,但在测量精度、稳定性、抗干扰等方面仍存在许多问题。如铂电阻温度计,虽然测量范围宽,精度高但其抗震动能力差;热敏电阻温度计灵敏度高、体积小、响应速度快但其稳定性较差;热电偶温度传感器缺点则是灵敏度低。因此,进一步改进敏感元件的制作工艺及结构,充分利用微处理技术发展数字化、集成化和自动化的温度传感器,同时探索新的敏感机理,寻求新型温度敏感元件也是温度传感器的发展方向之一11。湿度传感器在工业、农业、医疗、气象以及日常生活等方面都得到了广泛的应用,特别是随着科学技术的发展,湿度的检测和控制越来越受到人们的重视并进行了大量的研制。通常,理想的湿敏传感器的特性要求是:适合于在宽温、湿范围内使用,测量精度要高;使用寿命长,稳定性好:响应速度快,湿滞回差小,重现性好;灵敏度高,线性好,温度系数小;制造工艺简单,易于批量生产;转换电路简单,成本低;抗腐蚀,耐低温和高温特性等12。湿敏传感器正在从简单的湿敏元件向集成化、智能化、多参数检测的方向迅速发展,为开发新一代湿度测控系统创造了有利条件,也将湿度测量技术提高到新的水平。第 2 章 温湿度测量系统方案设计2.1 系统总体设计温湿度测量系统设计主要是基于单片机对数字信号的高敏感性和可控性、温湿度传感器可以产生模拟信号等,本系统主要包括主控模块、温湿度采集模块、显示模块、报警模块、键盘模块以及系统软件等部分的设计。2.2 系统的整体构架本系统采用本系统采用美国Atmel公司生产的AT89S52单片机13作为控制核心,对温湿度传感器采集到的温湿度数字信号进行分析处理,然后输出到LCD液晶显示器显示其温、湿度值。本设计可以通过键盘手动设置温度/湿度的上、下限值,该设定值为系统阈值。温湿度传感器将检测到的值传输给单片机,通过分析比较,当检测数值超出阈值时,驱动蜂鸣器报警,以便管理人员及时切断电源,实现系统的保护。系统硬件结构框图见图2-1。2.3 系统方案的论证与选择2.3.1 单片机的选择单片机是整个系统的控制核心14,它空值周围器件协调工作,从而完成特定的功能。方案一:采用AT89C51单片机。AT89C51是美国ATMEL公司生产的,片内含4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。AT89C51不支持ISP(在线更新程序)功能,且4个时钟周期完成一个指令周期,处理速度较慢,适用于要求时时性不高的系统中。方案二:采用AT89S52。AT89S52是美国Atmel公司生产的一种低功耗、高性能的CMOS8位微控制器,具有8K在系统可编程Flash存储器,采用的工艺是Atmel公司的高密度非易失存储器技术;片上Flash允许程序存储器在系统可编程,亦适于常规编程器;在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案,具有价格低廉、性能可靠、抗干扰能力强等特点。综合本系统需要满足的技术指标以及硬件设计的性价比我们选择方案二。单片机AT89S52数字温湿度传感器矩阵键盘TTL232转换电路MAX232上位机LCD显示报警图2-1 仓库温湿度检测系统硬件结构框图2.3.2 显示器的选择方案一:采用LED数码管。系统采用动态显示方式驱动6个数码管工作,其中4个数码管用来显示温度值,2个用来显示检测到的湿度值。用74LS138的输入端来选择位码,单片机的P1口控制数码管的断码。如果检测到的温度与湿度发生变化时,数码管即会发生相应的变化,起到实时显示功能。LED数码管亮度高、工作电压低、功耗小、小型化、寿命长、耐冲击和性能稳定,从而得到了广泛的应用,但相对制作复杂成本高。方案二:采用1602液晶屏。液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA移动通信工具等众多领域。相对而言,液晶显示器显示质量高、体积小、功耗低等特点,而且其电路设计简单,操作更加方便。因此我们选择方案二。2.3.3 传感器的选择传感器是实现测量与控制的首要环节,是检测系统的关键部件。方案一:采用热电阻温度传感器和HOS-201湿敏传感器。热电阻是利用导体的电阻随温度变化的特性制成的测温元件。现应用较多的有铂、铜、镍等热电阻。其主要的特点为精度高、测量范围大、便于远距离测量。铂的物理、化学性能极稳定,耐氧化能力强,易提纯,复制性好,工业性好,电阻率较高,因此,铂电阻用于工业检测中高精密测温和温度标准。缺点是价格贵,温度系数小,受到磁场影响大,在还原介质中易被玷污变脆。铜电阻的温度系数比铂电阻大,价格低,也易于提纯和加工;但其电阻率小,在腐蚀性介质中使用稳定性差。在工业中用于-50180测温。HOS-201湿敏传感器为高湿度开关传感器,它的工作电压为交流1V以下,频率为50HZ1KHZ,测量湿度范围为0100%RH,工作温度范围为050,阻抗在75%RH(25)时为1M。这种传感器原是用于开关的传感器,不能在宽频带范围内检测湿度,因此,主要用于判断规定值以上或以下的湿度电平。然而,这种传感器只限于一定范围内使用时才具有良好的线性,从而有效地利用其线性特性,而且它还不具备在本设计系统中对温度-3050的要求。方案二:采用DHT11温湿度传感器。DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接,因此,该产品具有品质卓越、超快响应,抗干扰能力强、性价比极高等优点。综上所述,我们选择方案二来作为本系统的温湿度传感器。2.3.4 键盘模块的选择方案一:采用独立式键盘。独立式键盘,即直接用I/O端口线构成的单个按键电路,每个独立式按键单独占有一根I/O端口线,且不相互影响;独立式按键接口灵活,结构简单,但是每个按键必须占用一根I/O端口线,故在按键数量较少时才采用这种结构形式。方案二:采用矩阵式键盘。矩阵式键盘通常是由若干个键按行,列排成矩阵而组成,在行列的交点处对应有一个按键,共16个按键,通常情况下,在按键数量较多或者输入接口资源紧张的情况下通常采用行列式键盘电路。本系统中,我们选择方案二中的16个按键的矩阵式键盘。2.3.5 报警模块的选择方案一:采用语音芯片ISD1420。ISD1420为美国ISD公司出品的优质单片语音录放电路,它由振荡器、语音存储单元、前置放大器、自动增益控制电路、抗干扰滤波器、输出放大器组成。该芯片具备分段录音功能,其工作电压在4.5V5.5V范围,使用直接电平/边缘存储技术,省去了A/D、D/A转换。其内部集成了大容量的EEPROM,不再需要扩展存储器,便于与单片机连接。ISD1420的地址模式必须要精确计算录音时间与地址单元的换算,才能确定每段语音的起始地址,除非使用ISD公司生产的ISD1425高级语音编程拷贝机进行自动分段录音并将地址读出,否则使用起来还是很麻烦的。而操作模式虽然可以不用担心语音地址的问题,但在多段录放上的操作略显繁琐,完成一个功能要进行多个管脚的操作,使用起来不是很方便。而且ISD1420价格昂贵,货源稀缺,虽功能强大,但不是最佳选择。方案二:采用压电式蜂鸣器。蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、报警器、电子玩具、汽车电子设备、定时器等电子产品中作发声器件。压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成,有的压电式蜂鸣器外壳上还装有发光二极管。多谐振荡器由晶体管或集成电路构成,当接通电源后(1.515V直流工作电压)多谐振荡器起振输出1.52.5kHZ的音频信号,阻抗匹配器推动压电蜂鸣片发声。因此该产品电路设计简单,操作更加方便,而且具有很高的性价比。综上所述,本设计选择方案二作为本系统的报警模块。3 系统硬件设计本设计的硬件系统主要由主控模块、显示模块、温湿度采集模块、串口通信模块、键盘模块和报警模块组成。硬件电路设计见仓库温湿度检测系统整体原理图(附录图一)。3.1 主控模块本系统主控模块采用美国Atmel公司生产的AT89S52单片机作为控制核心,通过DHT11温湿度传感器专用的数字模块采集技术和温湿度传感技术,把采集到的温/湿度数字信号输出到1602LCD显示器,以显示其温/湿度值。本设计可以手动设置温度/湿度的上、下限值,只要有一样与设定的值不符合时,即温度/湿度过高或过低,则该系统会发出蜂鸣报警,并且自动启动空调设备进行去湿干燥工作,实现系统的智能化。3.1.1 单片机AT89S52简介单片机AT89S52是一种低功耗、高性能的CMOS8位微控制器,具有8K在系统可编程Flash存储器,采用的工艺是Atmel公司的高密度非易失存储器技术;片上Flash允许程序存储器在系统可编程,亦适于常规编程器;在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、有效的解决方案,具有价格低廉、性能可靠、抗干扰能力强等特点。3.1.2 AT89S52的标准功能AT89S52具有8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。3.1.3 单片机AT89S52最小系统图3-1 AT89S52最小系统原理图AT89S52引脚功能说明:VCC:电源GND:接地P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1口:P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表所示。在flash编程和校验时,P1口接收低8位地址字节。P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVXDPTR)时,P2口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址(如MOVXRI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)在flash编程和校验时,P3口也接收一些控制信号。RST:复位输入。晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。看门狗计时完成后,RST脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。EA/VPP:访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应该接VCC。在flash编程期间,EA也接收12伏VPP电压。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。3.1.4 单片机的控制接口AT89S52单片机作为系统的控制核心,P0口控制1602液晶显示温度和湿度值。键盘控制采用P1口,其中P1.0是温度的设置,P1.1是湿度的设置,分别对温度与湿度的上、下限值进行设置。P2.0是DHT11温湿度传感器的接线口。具体接线见温湿度控制系统整体原理图(附录图一)。3.2 显示模块液晶显示器(LCD)具有功耗低、体积小、重量轻、超薄等许多其它显示器无法比拟的优点,近几年来被广泛用于单片机控制的智能仪器、仪表和低功耗电子产品中。单片机可以通过数据总线与控制信号直接采用存储器访问形式、I/O设备访问形式控制该液晶显示模块。本设计采用1602液晶屏,液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,通电后就可以显示出图形、文字。在本设计中,应用1602显示方便且工作稳定。3.2.1 1602液晶简介1602字符型液晶是工业字符型液晶,能够同时显示162即32个字符(16列2行)。注:为了表示的方便,后文皆以1表示高电平,0表示低电平。3.2.2 1602液晶显示特性(1)单5V电源电压,功耗低、寿命长、可靠性高;(2)内置192种字符(160个57点阵字符和32个510字符);(3)具有64个字节的自定义字符RAM,可自定义八个58点阵字符;(4)显示方式:STN、半透、正显;(5)驱动方式:1/16DUTY,1/5BIAS;(6)视角方向:6点;(7)背光方式:底部LED;(8)通讯方式:4位或8位并口可选;(9)标准的接口特性,适配MC51和M6800系列MPU的操作时序。3.2.3 1602液晶物理特性外形尺寸803614(mm)可视范围64.6(W)16.0(H)显示容量16字符,2行点尺寸0.550.75(mm)点间距0.08(mm)表3-1 1602液晶物理特性3.2.4 1602液晶管脚功能1602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样。管脚号符号功能1VSS电源接地(GND)2VDD电源电压(+5V)3V0LED驱动电压(可调)4RS寄存器选择输入端,输入MPU选择模块内部寄存器类型信号。RS=0,当MPU进行写模块操作,指向指令寄存器;当MPU进行读模块操作,指向地址计数器;RS=1,无论MPU进行读操作还是写操作,均指向数据寄存器。5R/W读写控制输入端,输入MPU选择读/写模块操作信号。当R/W=0时进行读操作,当R/W=1时进行写操作。6E使能信号输入端,输入MPU读/写模块操作使能信号。读操作时,高电平有效;写操作时,下降沿有效。7DB0低4位三态、向数据总线 0位(最低位)8DB1低4位三态、双向数据总线 1位9DB2低4位三态、双向数据总线 2位10DB3低4位三态、双向数据总线 3位11DB4高4位三态、双向数据总线 4位12DB5高4位三态、双向数据总线 5位13DB6高4位三态、双向数据总线 5位14DB7高4位三态、双向数据总线 7位(最高位)15A背光电源正端+5V16K背光电源负端0V表3-2 1602液晶管脚功能3.2.5 1602液晶字符集1602液晶模块内部的字符发生存储器存储160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,其中,字与字母同ASCII码兼容。比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。3.2.6 1602液晶与AT89S52接口电路图3-2 1602LCD与单片机接口电路图3.3 温湿度采集模块比较传统的模拟温度湿度传感器,和硬件设计要求在本设计中采用DHT11数字式温湿度传感器。3.3.1 DHT11温湿度传感器简介DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。DHT11传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个DHT11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式储存在OTP(One Time Programable)内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达20米以上,产品为4针单排引脚封装,连接简单方便,使其成为各类应用场合的最佳选择。3.3.2 DHT11引脚及接口图3-3 DHT11引脚及接口原理图引脚名称注释1VDD供电35.5V DC2DATA串行数据,单总线3NC空脚,请悬空4GND接地,电源负极表3-3 DHT11引脚功能表3.4 键盘模块键盘分为独立式键盘和矩阵式键盘。在本设计中由于按键较多,因此选用矩阵式键盘。3.4.1 键盘控制电路本系统中键盘的作用是实现人机交互功能,通过键盘设置温度湿度的上、下限值。键盘控制电路如下图所示:图3-4 键盘控制电路3.4.2 各功能键作用分配(1)开/关机键:主要控制硬件系统的开/关机(2)数字设置键:S0和S1分别为温度1+和温度1-,用来设置温度的下限值;S2和S3分别为湿度1+和湿度1-,用来设置湿度的下限值;S4和S5分别为温度2+和温度2-,用来设置温度的上限值;S6和S7分别为湿度2+和湿度2-,用来设置湿度的上限值。当传感器采集到的温度、湿度值中有一样超出所设定的区间,即温度/湿度过高或过低,则该系统会发出蜂鸣报警并启动空调系统。(3)复位键:在测温湿度过程中,若需要中断正在运行的测试状态,则按下复位键,系统重新初始化。另外,在设定仓库允许的温湿度上、下限值时,若一不小心输入错误,想重新输入,则亦可按复位键进行修改。(4)开报警键:SE为开报警键,当温/湿度值超过设定值而报警时,则可以按该键取消报警。(5)关报警键:SF为关报警键,用来关闭蜂鸣报警。3.5 报警模块本系统采用蜂鸣器作为报警装置,蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、电子玩具、报警器等电子产品中作发生器件。在单片机应用的设计上,很多方案都会用到蜂鸣器,大部分都是使用蜂鸣器来做提示或报警,比如按键按下、开始工作、工作结束或是故障等等。3.5.1 报警电路接口图3-5 三极管驱动的蜂鸣音报警电路3.5.2 蜂鸣器工作原理本设计采用峰鸣音报警电路,其工作过程就是把传感器采集的数据通过单片机处理后,与该参数上下限给定值进行比较,如果高于上限值(或低于下限值)则进行报警,否则就作为采样的正常值进行显示。在本系统中峰鸣音报警接口电路的设计采用压电式蜂鸣器,通过AT89S52的1根口线经驱动器驱动蜂鸣音发声。压电式蜂鸣器约需10mA的驱动电流,可以用一个晶体三极管驱动,如上图3-5所示。在图中,P2.7接晶体管基极输入端。当P2.7输出高电平“1”时,晶体管导通,压电蜂鸣器两端获得约+5V电压而鸣叫;当P2.7输出低电平“0”时,三极管截止,蜂鸣器停止发声。3.6 串口通信模块为了对采集到的数据进一步处理,需要将单片机采集的温度和湿度数据传输到上位机,利用单片机的 RXD、TXD接口连接到RS232串行口接收或发送数据和指令,但是单片机的TTL电平和RS232不兼容,因此使用了MAX232进行电平转换,AT89S52具有串行通讯接口(SCI),SCI是为能与CRT终端及计算机等外设通讯的全双工异步系统,本系统采用 RS-232C接口方式,传送波特率为9600比特。接口芯片采用MAX232,这种芯片可以实现TTL电平和RS-232C接口电平之间的转换,也就是可以把5V电平表示“1”、0V电平表示“0”的逻辑,转换成-315V电平表示“1”、+315V电平表示“0”的逻辑,从而解决了由于PC机的串行口是RS-232C标准的接口,其输入输出在电平上和采用TTL电平的AT89S52在接口时会产生电平不同的问题。因此,PC机和 AT89S52 单片机串行通信便可以顺利进行。3.6.1 RS-232C简介在单片机通信中,谈到串口通信,必然涉及RS-232C。RS-232C总线标准是美国EIA(电子工业联合会)与BELL公司一起开发并于1969年公布的通信协议,该总线是广泛使用在微机数据终端设备DTE和数据通信设备DCE之间的外部总线接口。RS是英文“推荐标准”的缩写,232是标志号,C表示修改的次数。RS232C定义了数据终端设备(DTE)与数据通信设备(DCE)之间的物理接口标准。接口标准包括机械特性、功能特性和电气特性等方面的内容。在电气特性中,采用负逻辑电平表示,规定逻辑0电平为+5V+15V,逻辑1为-15V-5V15,常称之为RS232电平。而单片机输出的是TTL或COMS电平。我们知道,TTL/COMS电平规定逻辑0电平为0V,逻辑1电平为+5V。显然,当PC机与单片机进行通信时,其接口就不能直接相连,必须经过电平转换,否则就会损坏设备。当微机配备了RS一232接口后,它不仅可以与多种仪器和外设连接,而且,通过它还可以在两台微机之间进行近程和远程的通信。该总线有以下优点:(1)串行通讯成本低廉,通用性强,符合RS一232标准的串行口已成为PC机的标准配置;(2)通过该总线接口,可以使微机控制各种测量仪器,组成自动测试系统;(3)扩展了微机的应用领域,使个人计算机的功能得以加强;(5)现代信息处理系统要求电子测量、通信和微机有机结合在一起,即用测量仪表采集、检测信息,用通信网络进行传输,并通过计算机进行处理和控制;(6)RS一232C的信号连接十分灵活,通过对信号线进行适当调整,即可通过MODEM进行远程传送,也可以直接连接应于近距离传输;即可以连接成主从的DTE一DCE方式,也可以把两台微机连接成对等的方式。RS一232C的总线可分为四类信号线,即数据总线、控制总线、定时总线和信号地线。数据线:数据传送是串行的,可工作在全双工或半双工状态。控制总线:该总线由发送控制信号、接收控制信号和设备状态信号组成,发送控制信号有RTS和CTS;接收控制信号有DDC,信号品质检测器和振铃指器。定时总线:该信号是确定数据位的中心,不向外部提供;信号地线:RS一232C采用负逻辑工作,即逻辑“l”电平为-5V一15V,逻辑“0”的电平为+5V一+15V。RS-232C总线是以异步串口的方式工作,异步串行通信具有异步和串行两个特点。所谓串行,是指发送方和接收方之间数据信息是在单根数据线上每次传送一个二进制位。所谓异步,是指同一数据字符内的定时和顺序是严格的,而相邻两个数据字符之间的停顿时间可以长短不一。3.6.2 MAX232简介本系统采用的是MAXIM公司生产的MAX232接口芯片,该芯片就是MAXIM公司专门为PC机RS2232标准串口设计的电平转换电路。MAX232芯片与TTL/COMS电平兼容,片内有2个发送器,2个接收器,且使用+5V单电源供电,使用非常方便。MAX232芯片能够同时满足TTL向RS232C和RS232C向TTL电平转换的功能。同时,MAX232具有士15V防静电释放功能,能保持在士15V的静电释放的情况下正常工作,不损坏两端的器件,提高了系统工作的可靠性。MAX232可分为三部分:(1)电荷泵。电荷泵的主要任务是将直流5V电源转换为10V的电源,以满足TTL/CMOS电平转换成RS23电平的需要,它主要由1-6脚和外接的4个电容(C1-C4)组成。(2)将TTL/CMOS电平转换成RS232电平。主要由11(T1IN)脚、10脚(T2IN)、14脚(T1OUT)和7(T2OUT)脚构成。在实际应用中,常将11脚(或10脚)与AT89S52单片机的串行发送端TXD相连接,而将14脚(或7脚)与RS232相连接。这样从单片机输出的TTL/CMOS电平,经过MAX232内部电路,转换成了RS232所需要的电平,由14脚(7脚)送至RS232。(3)将10V的RS232电平,转换成TTL/CMOS电平。RS232电平由13脚(R1IN)或8脚(R2IN)输入,经过转换后的TTL/CMOS电平由12脚(R1OUT)或9脚(R2OUT)输出,送至AT89S52单片机的接收端RXD。16脚(VCC)电源端,+5V直流电源供电;15脚( GND),电源接地。MAX232芯片控制电路及接口如下图所示:图3-6 MAX232 芯片控制电路3.6.3 74HC573简介74HC573是一款高速CMOS器件,74HC573引脚兼容低功耗肖特基TTL(LSTTL)系列。其引脚功能图如下所示:图3-7 74HC573引脚图74HC573包含八路D型透明锁存器,每个锁存器具有独立的D型输入以及适用于面向总线的应用的三态输出。所有锁存器共用一个锁存使能(LE)端和一个输出使能(OE)端。输入输出输出使能锁存使能DQLHHHLHLLLLX不变HXXZ表3-4 74HC573功能表注:X=不用关心 Z=高阻抗当LE为高时,数据从Dn输入到锁存器,在此条件下,锁存器进入透明模式,也就是说,锁存器的输出状态将会随着对应的D输入每次的变化而改变。当LE为低时,锁存器将存储D输入上的信息一段就绪时间,直到LE的下降沿来临。OE为低时,8个锁存器的内容可被正常输出;当OE为高时,输出进入高阻态。OE端的操作不会影响锁存器的状态。3.7 小结本系统设计主要有主控模块、显示模块、温湿度采集模块、串口通信模块、键盘模块和报警模块六大模块,其中主控模块AT89S52的晶振电路采用11.0592MHz的无源晶振,微调电容大小取22pF。显示模块选用1602字符型液晶模块,是目前工控系统中使用最为广泛的液晶屏之一。温湿度采集模块所采用的DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与稳定性;其单线制串行接口,使系统集成变得简易快捷。报警模块所采用的蜂鸣器额定电流I30mA,而对于AT89S52单片机,P1口的灌电流为1.6mA,拉电流为60A。为了使单片机消耗的功率更小,故而采用PNP型晶体管A1015。系统的输入模块采用中断扫描的44矩阵键盘,相比定时扫描方式提高了MCU的使用效率。4 系统软件设计在系统软件设计中,充分考虑了与硬件电路有机结合,利用AT89S52单片机以及温湿度传感器DHT11许多优异的特性实现对温度和湿度的高精度测量。系统软件采用模块化设计,在主程序下分成若干彼此独立的功能模块,如温湿度数据采集、液晶显示、键盘输入、串口通讯模块等。系统单片机代码采用C语言编写,以Keil uVision3为开发环境。系统程序主要由主程序、温湿度采集子程序、键盘扫描子程序、液晶显示子程序、报警子程序、串口发送和接收子程序等部分组成。其中,系统的主程序设计主要完成系统初始化、中断优先级设定以及判断调用各模块程序,即主要实现各模块程序的链接。设计时只需对温度/湿度进行相应的采集处理后,即可让液晶实时显示当前的温度与湿度值。而蜂鸣报警只需接上单片机的I/O口,并对其接口线进行编程即可完成。整个控制系统软件设计采用键盘控制方式。4.1 主程序设计食品温、湿度测控系统软件设计主要由系统初始化、温湿度数据采集、液晶显示、键盘扫描处理、数据通信等几部分组成。程序设计思想:首先要对系统进行初始化,主要完成对单片机各功能部件初始状态的配置。然后通过键盘处理模块对现场控制信号进行设定,设置温、湿度的上限与下限,即报警范围;同时,键盘处理模块还可以完成特殊情况下强制执行信号的操作,如复位、开/关报警等。接下来通过温湿度传感器数据采集模块完成对环境温、湿度的实时数据采集及相关处理。最后通过液晶显示屏显示现场温、湿度参数,从而实现了对温、湿度参数的实时显示。其中,通过单片机对现场检测到的温、湿度实时参数与所设定的温、湿度控制参数进行比较,若发现现场监测值超出所设定范围,则蜂鸣器发出报警提示。此外,数据通信完成温、湿度检测系统与上位PC机之间的协议化通信,以便上位PC机能够定时读取测控系统的温、湿度参数。系统程序流程图如图4-1所示:开始系统初始化设定报警范围读取温、湿度控制参数键盘扫描温、湿度数据采集显示温湿度参数温湿度是否超出范围报警发送温湿度到上位机while Y图4-1 温湿度检测系统程序流程图4.2 温湿度采集子程序设计本设计中温湿度检测模块采用数字温湿度传感器DHT11,当用户MCU发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT11发送响应信号,送出40bit的数据,并触发一次信号采集,用户可选择读取部分数据。该模式下,DHT11接收到开始信号触发一次温湿度采集,如果没有接收到主机发送开始信号,DHT11不会主动进行温湿度采集,采集数据后转换到低速模式。DHT11工作过程如下:总线空闲状态为高电平,单片机把总线拉低等待DHT11响应,单片机把总线拉低必须大于18毫秒,保证DHT11能检测到起始信号。DHT11接收到单片机的开始信号后,等待单片机开始信号结束,然后发送80us低电平响应信号。主机发送开始信号结束后,延时等待20-40us,然后读取DHT11的响应信号,单片机机发送开始信号后,可以切换到输入模式或者输出高电平,总线由上拉电阻拉高。当总线为低电平时,说明DHT11发送响应信号。DHT11发送响应信号后,再把总线拉高80us,准备发送数据,每一bit数据都以50us低电平时隙开始,高电平的长短决定了数据位是0还是1。如果读取响应信号为高电平,则DHT11没有响应,请检查线路是否连接正常。当最后一bit数据传送完毕后,DHT11拉低总线50us,随后总线由上拉电阻拉高进入空闲状态。温湿度采集子程序见附录。4.3 液晶显示子程序设计本设计中采用标准的1602液晶显示屏。1602液晶模块内部的字符发生存储器(CGROM)已经存储了192种字符(160个57点阵字符和32个510点阵字符),这些字符包括阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码。本模块字符在LCD显示屏上的显示位置与该字符的字符代码在显示缓冲区DDRAM内的存储地址一一对应。液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,即告诉模块在哪个位置显示字符。1602液晶显示流程图如下图4-2所示,液晶显示子程序见附录。入口对1602初始化,写入显示命令延时检测忙信号获得显示RAM地址延时写入相应数据Sta7=0?数据显示完毕?返回主程序图4-2 液晶显示流程图4.4 键盘扫描软件设计在单片机应用系统中,扫描键盘只是CPU的工作任务之一。在实际应用中,要想做到既能及时响应键操作,又不过多地占用CPU时间,就要根据应用系统中CPU的忙闲情况,选择好键盘的工作方式。键盘的工作方式一般有编程扫描方式和中断扫描方式两种,由于本设计中可以利用CPU在完成其他工作的空余,调用键盘扫描子程序,来响应键输入要求,因此可以选用编程扫描方式。4.4.1 键盘扫描功能本设计中键盘扫描程序具备下述四个功能:(1)判别键盘上有无键按下。其方法为:扫描口输出全扫描字“0”(即各列均为低电平),读各行的状态,若全为“1”,则键盘无键按下,若不全为“1”,则有键按下。(2)去除键的抖动影响。其方法为:判别到有键按下后,软件延时一段时间(本设计为10ms)后,在判断键盘状态,如果仍有键按下状态,则认为有一个确定的键被按下,否则按键抖动处理。(3)求按键位置。根据前面介绍的键扫描方法,逐行逐列进行扫描,最后确定按下键的键号。确定键号的方法为:闭合键的键号处于低电平的行首键号加上处于低电平的列号。此外,闭合键的键号也可以用计算的方法获得,计算公式为:处于低电平的行号4+低电平的列号。(4)判别按键是否释放。键闭合一次仅进行一次键功能操作,等键释放以后再将键值送入累加器A中,然后执行键功能操作。4.4.2 键盘扫描工作原理键盘中行线通过上拉电阻接+5V,平时无按键动作时,行线处于高电平状态,而当有按键按下时,则对应的行线与列线短接,行线电平状态由与此行线相连的列线电平决定。本设计中对键盘的扫描方式为行扫描,即将行线接到单片机的输入口线,列线接到单片机的输出口线,在单片机的控制下,即可判别键盘中究竟是哪一个按键被按下。其方法是:先令第一列列线为低电平(0),其余3根列线为高电平,读行线状态。如果第1、2、3、4行都为高电平,则第一列没有键闭合;如果读出的行线状态不全为高电平,则为低电平的行线与第一列相交的键处于闭合状态。如果第一列没有键闭合,接着使第二列为低电平,其余列线为高电平。用同样的方法检查第二列上有无键闭合,依此类推,最后使第四列为低电平,其余列为高电平,检查第四列有无键闭合。4.4.3 键盘扫描流程图开始扫描键盘判断是否有键按下延时10ms判断是否真的有键按下判断是哪一个键启动系统工作图4-3 键盘扫描流程图4.5 串行通信模块组成:(1)起始位:因为起始位总是规定为0,而在无传输时,通讯线一直处于1状本设计采用异步串行通信方式,其优点是只需一对传输线,占用硬件资源少,从而降低了传输成本。异步串行通信具有异步和串行两个特点。所谓串行,是指发送方和接收方之间数据信息是在单根数据线上每次传送一个二进制位。所谓异步,是指同一数据字符内的定时和顺序是严格的,而相邻两个数据字符之间的停顿时间可以长短不一。为了实现数据的异步发送和接收,收发双方必须遵守某种通信协议,这类通信协议的一个特点就

温馨提示

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

评论

0/150

提交评论