湿度检测及警报系统的设计.doc_第1页
湿度检测及警报系统的设计.doc_第2页
湿度检测及警报系统的设计.doc_第3页
湿度检测及警报系统的设计.doc_第4页
湿度检测及警报系统的设计.doc_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

北京林业大学本科毕业论文(设计)湿度检测及报警系统的设计电子信息科学与技术 07-2班 石飞飞指导老师 马凤翔摘要湿度在日常生活中起着重要的作用,例如食品的存储、图书的收藏、植物的生长等都需考虑湿度。因此湿度的测量也越来越得到了人们的关注,但一般的湿度计的精确度较低,为5%或7%,而且反应速度慢,不能满足某些场合的要求。以STC89C51RC单片机为核心,利用hih4000-3湿度传感器输出电压与湿度的关系,通过LM258组成的现场采集隔离电路,A/D转换电路,实现湿度信号的采集,通过LED显示电路,按键电路,报警电路实现湿度值的实时显示、报警及初始值的改变。利用Proteus仿真软件实现电路原理图的仿真,使用Keilc软件,运用C语言编程。结果证明,该系统能够快速实现湿度的采集及显示,且精度小于5%,实时性效果好。关键词: 湿度,单片机,显示, 报警The design of detection and alarming system of humidityElectronic Information Science and Technology 07-2 Shi Fei-feiSupervisor Ma Feng-xiangAbstractHumidity plays an important role in our day life ,for example, when Food is stored , Books are collectted, Plants Grow ,humidity are need to be considered。Therefore, measurement of humidity has Received more and more attention。But the general hygrometer has a Low accuracy of 5% or 7%, and a slow Reaction, so that can not meet the requirements of certain occasions. Achieving acquisition of Humidity Signal by using the relationship between output voltage and humidity of hih4000, isolation circuit consisted of by LM258,and the A / D converter circuit, to STC89C51RC as the core . Displayying the value of humidity in real-time and alarmming when the value of humidity Out of range and setting the initial value through the LED display circuit, key circuit and alarmming circuit . Using proteus for simulation and using Keilc software and C to program.The results proved that the system can quickly capture and display humidity, and the accuracy is better than 5%.In addition,the system has a effective real-time.Key words: humidity, SCM, display, alarmming目录1 引言11.1 湿度监测系统设计的背景11.2 湿度的介绍11.3 本设计的内容及意义21.4 湿度测量方法及注意事项21.4.1 湿度测量方法21.4.2 湿度测量方案的选择32 湿度检测与报警系统的总体设计42.1 监测系统的设计要求42.2 设计目标42.3 监测系统的组成43 硬件电路的设计63.1 单片机的选择及特性63.1.1 单片机的介绍63.1.2 STC单片机的特性63.1.3 STC89C51RC单片机的引脚功能63.2 传感器的选择113.2.1湿度传感器选择的注意事项113.2.2 本设计传感器的选择123.2.3 hih4000-3的特性123.3 湿度测量电路133.4 A/D转换电路143.5 按键电路与报警电路的设计173.6 显示电路的设计183.7复位电路193.8通讯接口电路的设计203.9 系统电源的设计224 软件设计234.1 keil c51软件介绍234.2 keil c51 开发流程234.3 C语言介绍264.4 系统程序设计265 湿度测量结果及误差分析305.1测量结果305.2 误差分析316 结论及展望336.1设计成果336.2 结论346.3展望35致谢36参考文献37附录38附录A:电路原理图38附录B:实物图39附录C:系统程序39431 引言1.1 湿度监测系统设计的背景随着社会的发展和生活水平的提高,人们对产品的质量要求也越来越高,所以生产部门要求对周围环境湿度的测量、监测与分析起着重要的作用。另外,在许多情况下也需要对环境的湿度进行监测测量,包括人的生活工作环境、仪器设备的工作环境以及动植物的生长环境等。因此,在某些特定环境测量监测湿度也成为一种必然的需要。 1.2 湿度的介绍湿度是表示大气干燥程度的物理量。在一定的温度下在一定体积的空气里含有的水汽越少;则空气越干燥;水汽越多,则空气越潮湿。在此意义下,常用绝对湿度、相对湿度、比较湿度、混合比、饱和差以及露点等物理量来表示。绝对湿度是一定体积的空气中含有的水蒸气的质量,一般其单位是克/立方米。绝对湿度的最大限度是饱和状态下的最高湿度。绝对湿度只有与温度一起才有意义,因为空气中能够含有的湿度的量随温度而变化,在不同的温度中绝对湿度也不同,因为随着温度的变化空气的体积也要发生变化。但绝对湿度越靠近最高湿度,它随温度的变化就越小。相对湿度是绝对湿度与最高湿度之间的比,它的值显示水蒸气的饱和度有多高,通常用RH%来表示,湿度为100%的空气是饱和的空气1。空气湿度在许多方面有重要的用途,例如在大气学、气象学、医学和生物学。(1)气象学和水文学 下雨的时候,空气湿度是非常大的在气象学和水文学中湿度是决定蒸发和蒸腾的重要数据。它对不同的气候区的产生起决定性的作用。大气中的水蒸气在水循环过程中也是必不可少的。通过水蒸气水可以很快地在地球表面运动。水在大气中形成降水、云和其它现象,它们决定了地球的气象和气候。而在天气预报中,更常用到相对湿度。它反映了降雨、有雾的可能性。在炎热的天气之下,高的相对湿度会让人类(和其他动物)感到更热,因为这妨碍了汗水的挥发。人类可以从而制定出酷热指数。 (2)医学 在医学上空气的湿度与呼吸之间的关系非常紧密。在一定的湿度下氧气比较容易通过肺泡进入血液。一般人在45-55%的相对湿度下感觉最舒适。过热而不通风的房间里的相对湿度一般比较低,这可能对皮肤不良和对粘膜有刺激作用。湿度过高影响人调节体温的排汗功能,人会感到闷热。总的来说人在高温但低湿度的情况下(比如沙漠)比在温度不太高但湿度很高的情况下(比如雨林)的感觉要好。(3)生物学 在生物学中,尤其是在生态学中空气湿度是一个非常关键的量。它决定一个生态系统的组成。在植物的叶面上气孔的开关和植物的呼吸。有些动物比如蜗牛只有在它们的皮肤有一定湿度的情况下才能吸收氧气。储藏和生产在存放水果的仓库里湿度决定水果的成熟。在存放金属的仓库里湿度过高可能导致腐蚀。其它许多货物比如化学药剂、烟、酒、香肠、木、艺术品、集成电路等等也必须在一定的湿度或在湿度为零的条件下存放。因此在许多仓库、博物馆、图书馆、计算机中心和一定的工厂(比如微电子工业)中都有空调装置来控制室内的湿度。 1.3 本设计的内容及意义从湿度的介绍中可以得出,湿度在日常生活中扮演着越来越重要的角色。在传统的方法中人们主要采取湿度计来测量湿度,一般的湿度计精度比较低,而且反应较慢。因此在本设计中选用精度较高反应较快的传感器,以单片机为核心,通过A/D转换电路,蜂鸣器报警电路实现对湿度的实时采集与监测,通过LED数码显示电路实现对相对湿度的实时显示,显示电路直观,明了。1.4 湿度测量方法及注意事项1.4.1 湿度测量方法湿度测量从原理上划分有二、三十种之多。常见的湿度测量方法有:动态法(双压法、双温法、分流法),静态法(饱和盐法、硫酸法),露点法,干湿球法和电子式传感器法2-3。 双压法、双温法是基于热力学P 、V 、T 平衡原理,平衡时间较长,分流法是基于绝对湿气和绝对干空气的精确混合。由于采用了现代测控手段,这些设备可以做得相当精密,却因设备复杂,昂贵,运作费时费工,主要作为标准计量之用,其测量精度可达2%RH 以上。 静态法中的饱和盐法,是湿度测量中最常见的方法,简单易行。但饱和盐法对液、气两相的平衡要求很严,对环境温度的稳定要求较高。用起来要求等很长时间去平衡,低湿点要求更长。特别在室内湿度和瓶内湿度差值较大时,每次开启都需要平衡68 小时。 露点法是测量湿空气达到饱和时的温度,是热力学的直接结果,准确度高,测量范围宽。计量用的精密露点仪准确度可达0.2 甚至更高。但用现代光- 电原理的冷镜式露点仪价格昂贵,常和标准湿度发生器配套使用。 干湿球法,这是18 世纪就发明的测湿方法。历史悠久,使用最普遍。干湿球法是一种间接方法,它用干湿球方程换算出湿度值,而此方程是有条件的:即在湿球附近的风速必需达到2.5m/s 以上。干湿球法准确度只有57%RH。 电子式湿度传感器法电子式湿度传感器产品及湿度测量属于90 年代兴起的行业, 近年来,国内外在湿度传感器研发领域取得了长足进步。湿敏传感器正从简单的湿敏元件向集成化、智能化、多参数检测的方向迅速发展,为开发新一代湿度测控系统创造了有利条件,也将湿度测量技术提高到新的水平。1.4.2 湿度测量方案的选择现代湿度测量方案最主要的有两种:干湿球测湿法,电子式湿度传感器测湿法2-3。干湿球湿度计的特点:干湿球测湿法采用间接测量方法,通过测量干球、湿球的温度经过计算得到湿度值,因此对使用温度没有严格限制,在高温环境下测湿不会对传感器造成损坏。但干湿球湿度计的准确度只有5%-7%RH 。电子式湿度传感器的特点:在实际使用中,由于尘土、油污及有害气体的影响,使用时间一长,会产生老化,精度下降,湿度传感器年漂移量一般都在2% 左右,甚至更高。一般情况下,生产厂商会标明1 次标定的有效使用时间为1 年或2 年,到期需重新标定。又由于湿度传感器是采用半导体技术,因此对使用的环境温度有要求,超过其规定的使用温度将对传感器造成损坏。电子式湿度传感器测湿方法更适合于在洁净及常温的场合使用,准确度可以达到2 %一3 %RH。本设计采用电子式湿度传感器的方法。2 湿度检测与报警系统的总体设计2.1 监测系统的设计要求(1). 和测量范围一样,测量精度同是湿度测量对重要的指标,能够实现采集与显示室内湿度,主要的监测范围和测量精度如表2.1所示:表2.1 检测范围和测量精度Table 2.1 Detection range and accuracy参数名检测范围检测精度工作温度湿度0-100%4%25(2). 能够根据每天各个阶段以及季节等的外部环境变化通过按键输入改变对参数的设置,以满足不同的要求。(3). 实现湿度的显示。(4). 声音报警功能。2.2 设计目标本系统是基于STC89C51单片机的湿度监测系统,主要完成以下的主要任务: 选择STC89C51单片机,了解基本特性和功能,使用STC89C51实现对湿度的实时监测,使用湿度传感器对现场环境湿度数据采集,由单片机进行数据处理和监测,实现范围为0-100%的湿度控制; 采用串行总线RS-232实现单片机和上位机通讯; 设计人机对话接口,按键、显示和报警系统; 使系统完成特定功能的同时,要保证系统的可靠性和稳定性,使系统能够长期稳定的工作,还要尽量实现系统的低成本、低功耗和高精度。2.3 监测系统的组成本设计是以STC89C51单片机为核心的监测系统,硬件系统由按键输入电路、LED显示电路,传感器和A/D转换电路,现场隔离电路,报警电路等组成。硬件系统原理框图如图2.1图2.1 监测系统框图Fig.2.1 The block diagram of Monitoring system传感器输出的是模拟信号,需要经过A/D转换成数字信号才送给单片机处理,如果传感器输出的模拟信号太弱,还要经过运算放大器放大信号。按键输入电路是用来设置系统参数的上、下值的,如果检测到的信号值不在此区间内,单片机就会驱动蜂鸣器产生报警,此时就需要人工改变环境的湿度,使得环境参数重新回到设定的理想区间。3 硬件电路的设计3.1 单片机的选择及特性3.1.1 单片机的介绍计算机的产生加快了人类改造世界的步伐,但是它毕竟体积庞大,在某些场合下运用起来不方便。单片机就是在这种情况下诞生的。单片机也成为微控制器或单片微型计算机,它是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。在本设计中,选择STC89C51RC单片机。3.1.2 STC单片机的特性STC89C51RC系列单片机是宏晶科技推出的新一代超强抗干扰/高速/低功耗的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可任意选择。它的特点如下4:1. 增强型6时钟/机器周期,12时钟/机器周期 8051 CPU2. 工作电压:5.5V-3.4V3. 工作频率范围:0-40VMHz,相当于普通8051的0-80MHz,实际工作频率可达48MHz4. 用户应用程序空间4K5. 片上集成512字节RAM6. 通用I/O,复位后为:P1/P2/P3/P4是准双向口/弱上拉,P0口是开漏输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需要上拉电阻。7. ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器/仿真器8. 通用异步串行口(UART),还可用定时器软件实现多个UART9. 工作温度范围:0-75/-40- +803.1.3 STC89C51RC单片机的引脚功能常见的51单片机中一般采用双列直插(DIP)封装,共40个引脚,引脚大概分为四类:电源、时钟、控制和I/O引脚4-5,如图2.2图3.1 STC89C51RC单片机的引脚图Fig.3.1 The pin of STC89C51RC1电源1)Vcc:芯片电源,一般为+5V;2)Vss接地端2.时钟XTAL1和XTAL2:晶体振荡电路反相输入端和输出端。当使用内部振荡电路时,需要外接晶振;当使用外部振荡输入时,XTAL1接地, XTAL2接外部振荡脉冲输入。3.控制线STC89C51RC单片机的控制线共有4根,其中3根是复用线,具有两种功能4。1) ALE/PROG:地址锁存允许/编程脉冲ALE:正常使用时为ALE功能,主要用来锁存P0口送出的8位地址。P0口一般分时传送8位地址和数据信号,且均为二进制数。区分是否是低8位数据信号还是地址信号就看ALE引脚。当ALE信号有效时,P0口传送的是低8位地址信号;当ALE信号无效时,P0传送的是8位数据信号。一般在ALE引脚的下降沿锁定P0口传送的内容,即低8位地址信号。当CPU不执行访问外部RAM指令(MOVX)时,ALE以时钟振荡频率1/6的固定频率输出,所以ALE信号也可以作为外部芯片的时钟信号。PROG:当单片机在编程期间,该引脚输入编程脉冲。2) :外部ROM读选通信号当单片机读外部ROM时,每个机器周期内两次有效输出。就相当于外部ROM芯片输出允许的选通信号。但读片内ROM和读片外RAM 时无效。3) RST:复位引脚RST为单片机上电复位输入端,只要在该引脚上连续保持两个机器周期以上的高电平,单片机就可以实现复位操作,复位后程序从0000H处开始执行。4) /Vpp:内外ROM选择/EPROM编程电源 :正常工作时,为内外ROM选择端。当为高电平时,先访问片内ROM,当程序长度超过片内的范围时将自动转向执行外部ROM中的程序。当为低电平时单片机只访问外部ROM。Vpp:在编程期间,此引脚用于施加编程电源。4.I/O引脚STC89C51RC单片机共有4个8位并行I/O端口,共32个可编程I/O引脚。4个I/O口各有各的功能,在一般情况下,P0专用于分时传送低8位地址信号和8位数据信号,P2口专用于传送高8位地址信号,P3口大部分时间用于第二功能,即用于特殊信号输入/输出和控制信号。1) P0口P0口是一个8位双向I/O口。在访问外部存储时,P0口可以分时传送低8位地址和8位数据信号。其内部结构如图3.26-7:图3.2 P0口的内部结构图Fig.3.2 The internal structure of P0P0口用作通用I/O时,CPU把控制信号输出为低电平,这样一方面可以使多路开关MUX接通B端, 使“与”门输出为低电平,T1截止,从而使输出级构成开漏极输出电路。当P0被用作输出口时,因输出级处于开漏极状态,所以必须外接上拉电阻(一般应用中的上拉电阻可以为110k。当写信号加在锁存 器的时钟(CLK)时,D触发器将内部总线上的信号方向后输出到,如果D端(内部总线)信号为“0”,则为1,T2导通,在P0.X上输出低电平,相反,当D端(内部总线)信号为“1”,则为0,T2截止,此时虽然T1也没导通,但因为P0.X上用户已外接了上拉电阻,所以此时就可以输出“1”。当P0口被用作输入口时,必须保证T2截止。要使T2截止必须先向锁存器写入“1”使为“0”。输入信号向P0.X输入后,先进入“读引脚缓冲器”,CPU执行端口输入指令后“读引脚”信号使输入缓冲器打开,输入信号就可以顺利进入内部数据总线。“读-改-写”操作:MCS-51型单片机除了对端口有基本的读/写操作之外还能对端口进行“读-改-写”操作。2) P1口P1口只用作通用8位准双向I/O,内部结构如图 ,P1口作为一般的I/O口功能的使用方法与P0口类似。但与P0口相比,P1口少了地址/数据的传送电路和多路开关,内部一个固定的上拉电阻代替了MOS管。当用作输入口时,应先向端口写入“1”,保证T截止,自带上拉电阻给用户也带来了方便。图3.3 P1口的内部结构图Fig.3.3 The internal structure of P13) P2口P2口也是一个8位准双向口,在访问外部存储器时,P2口用于传送高8位地址。其内部结构如图 ,用作通用I/O口和地址线时的工作原理与P0口类似。图3.4 P2口的内部结构Fig.3.4 The internal structure of P24) P3口P3口也是一个8为准双向I/O口,可做一般I/O口功能使用。P3口内部结构如图3.56-7, 同时,P3口还具有第二功能,用于特殊信号输入/输出和控制信号。P3口的第二功能如下:P3.0:RXD串行输入端;P3.1:TXD串行输出端;P3.2:(INT0)外部中断0请求输入端; P3.3:(INT1)外部中断1请求输入端;P3.4:(T0)定时/计数器0外部信号输入端;P3.5:(T1)定时/计数器1外部信号输入端;P3.6:(WR)外部RAM写选通信号输入端;P3.7:(RD)外部RAM读选通信号输出端;当P3口作为通用I/O口时与其他P1、P2口功能类似,只是CPU将“第二输出功能”设为高电平,作为输入端时也必须先写入“1”。当P3口作为第二功能输出时,应先将锁存器置“1”,这样就使“与非”门和输出状态只受“第二输出功能”控制。第二功能输出信号经过“与非”门和MOS管T二次反相后输出到外部引脚上。当P3口作为第二功能输入时,其“第二输出功能”自动置“1”,引脚上的信号经输入缓冲器送到“第二输出功能”端。图3.5 P3口的内部结构图Fig.3.5 The internal structure of P33.2 传感器的选择3.2.1湿度传感器选择的注意事项1) 选择测量范围和测量重量、温度一样,选择湿度传感器首先要确定测量范围。2) 选择测量精度测量精度是湿度传感器最重要的指标,每提高1个百分点,对湿度传感器来说就是上一个台阶,甚至是上一个档次,多数情况下,如果没有精确的控温手段,或者被测空间是非密封的,5 RH 的精度就足够了。对于要求精确控制恒温、恒湿的局部空间,或者需要随时跟踪记录湿度变化的场合,再选用3 %RH 以上精度的湿度传感器。3) 考虑时漂和温漂在实际使用中,由于尘土、油污及有害气体的影响,使用时间一长,电子式湿度传器会产生老化,精度下降,电子式湿度传器年漂移量一般都在2% 左右,甚至更高。一般情况下,生产厂商会标明1 次标定的有效使用时间为1 年或2 年,到期需重新标定。4) 其它注意事项湿度传感器是非密封性的,为保护测量的准确度和稳定性,应尽量避免在酸性、碱性及含有机溶剂的气氛中使用。也避免在粉尘较大的环境中使用,有的湿度传感器对供电电源要求比较高,否则将影响测量精度,使用时应按照技术要求提供合适的、符合精度要求的供电电源。3.2.2 本设计传感器的选择传感器的输出有大信号输出和小信号输出,小信号输出要经过信号的放大才能进行AD转换,在此选择大信号输出的传感器hih4000-3。Hih4000是honeywell公司生产的集成湿度传感器,其主要特点是采用恒压供电,内置放大电路,能输出相对湿度成比例关系的伏特级电压信号,输出电压为:,响应速度快,重复性好,抗污染能力强8。其管脚图如图3.6图3.6 hih4000管脚图Fig.3.6 The pin map of hih40003.2.3 hih4000-3的特性Hih4000的特性如下8: 精度:3.5%RH(0-100%非凝结) 温度范围:-4085 热固性聚合物电容传感器,带集成信号处理电路 3针可焊塑封 5VDC恒压供电,25时,0.8-3.9VDC放大线性电压输出,如图3.7 低功耗设计 快速响应,15秒慢流动的空气中 稳定性好,低温漂,抗化学腐蚀性能强图3.7 hih4000输出电压与相对湿度的线性关系Fig. 3.7 The linear relationship of output voltage and relative humidity3.3 湿度测量电路电压跟随器具有输入阻抗高,输出阻抗低的特点,对前级而言相当于开路,对后级而言相当于一个稳压源,能提高带负载能力,一般做缓冲级或隔离级9。LM258内部包括有两个独立的、高增益、内部频率补偿的双运算放大器,适合于电源电压范围很宽的单电源使用,也适用于双电源工作模式,在推荐的工作条件下,电源电流与电源电压无关。它的适用范围为包括传感器放大器、直流增益模块和其他所有可用单电源供电的使用运算放大器的场合10。图3.8为湿度测量电路,此处LM258起着电压跟随的作用,充当采集现场隔离电路,使采集现场与单片机隔离,减小彼此间的影响,提高带负载能力。图3.8 湿度测量电路Fig.3.8 Humidity Measuring Circuit3.4 A/D转换电路A/D转换电路能将模拟信号转换为数字信号,在本设计中采用8位串行A/D转换器ADC0832。ADC0832是美国国家半导体公司产生的一种8位分辨率、双通道A/D转换芯片,转换速度较高11。1) ADC0832的特点 8位分辨率 双通道A/D转换 输入/输出电平与TTL/CMOS相兼容 5V电源供电时输入电压在05V之间 工作频率为250kHz,转换时间为32us 一般功耗仅为15mW 商业级芯片温宽为0- +70,工业级芯片温宽为-40 - +85。2) 芯片引脚说明芯片引脚图见图3.9,引脚说明如下:图3.9 ADC0832引脚图Fig.3.9 the Pin of ADC0832 CS 片选使能,低电平芯片使能 CH0 模拟输入通道0,或作为IN+/-使用 CH0 模拟输入通道1,或作为IN+/-使用 GND 芯片参考零电位 DI 数据信号输入,选择通道控制 DO 数据信号输出,数据转换输出 CLK 芯片时钟输入 Vcc/VREF 电源输入及参考电压输入(复用)3) 3.ADC0832的工作原理在正常情况下,ADC0832与单片机的接口应为4条数据线,分别是CS,CLK,DI和DO。但由于DO和DI端在通信时并未同时使用并与单片机的接口是双向的,所以在I/O口资源紧张时可以将DO和DI并联在一条数据线上使用。当ADC0832未工作时,其CS输入端应为高电平,此时芯片禁用,CLK和DO/DI的电平可任意。当要进行AD转换时,须先将CS使能端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯片时钟(CLK)输入端输入时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。在第一个时钟脉冲下沉之前,DI端必须是高电平,表示起始信号,在第二三个脉冲下沉之前,DI端应输入两位数据用于选择通道功能。如表3.1,当此两位数据为“1”“0”时,只对CH0进行单通道转换;当两位数据为“1”“1”时,只对CH1进行单通道转换;当两位数据为“0”“0”时,将CH0作为正输入端IN+,CH1作为负输入IN-进行输入;当两位数据为“0”“1”时,将CH0作为负输入端IN-,CH1作为正输入端IN+进行输入11。表3.1 通道地址设置表Table 3.1 the table of setting address of Channels通道地址通道工作通道说明SGL/DIFODD/SIGNCH0CH100+-差分方式01-+10+单端输入方式11+ADC0832的时序图见图3.10,到第三个脉冲的下降之后DI端地输入电平就失去输入作用,此后DO/DI端则开始利用数据输出DO进行转换数据的读取。从第四个脉冲下降沿开始由DO端输出转换数据最高位Data7,随后每一个脉冲的下降沿DO端输出下一位数据。直到第11个脉冲时发出最低数据Data0,一个字节的数据输出完成。也正是从此位开始输出下一个相反字节的数据,即从第11个脉冲的下降沿输出Data0,随后输出8位数据,到第19个脉冲时数据输出完成,也标志着一次A/D转换的结束,最后将CS置高电平禁用芯片,直接将转换后的数据进行处理即可。图3.10 ADC0832的时序图Fig.3.10 the Timing Diagram of ADC0832在本设计中选择0通道输入,CLK接到P1.0,由于DI和DO并不是同时使用的,所以两者可以在一起接到单片机的P1.1,片选CS接到单片机的P1.2, 连接电路图如图3.11图3.11 ADC0832的连接图Fig.3.11 the connection diagram of ADC08323.5 按键电路与报警电路的设计单片机的按键输入一般可分为简单的独立式按键输入及行列式键盘输入两种。独立式键盘输入适合于按键不多的情况,具有占用口线较少,软件编写较简单的特点12-14。通常所用的按键为轻触机械开关,正常情况下按键的接点是断开的,当按下按钮时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。因而机械触点在闭合及断开的瞬间均伴随有一连串的抖动,抖动时间的长短由按键的机械特性及操作人员按键动作决定,一般为5ms20ms;按键稳定闭合时间的长短是由操作人员的按键按压时间长短决定的,一般为零点几秒至数秒不等。本设计输入按键有3个,一个为使能输入按键,一个减法键,一个为加法键,以实现预设值得加减,电路连接如图3.12。图3.12 按键电路Fig. 3.12 The key circuit蜂鸣器与普通扬声器相比,最重要的一个特点是,只要按照极性的要求加上合适的直流电压,就可以发出固有频率的声音,使用起来较为简单,因此本设计采用蜂鸣器来实现报警。因为蜂鸣器是一个感性负载,一般不与单片机I/O口直接连接,在此采用单片机外接一个三极管驱动蜂鸣器来实现,电路图如图3.13,当湿度值超过设定的初始值时,单片机输出低电平,使三极管导通,驱动蜂鸣器报警。图3.13 蜂鸣器报警电路Fig.3.13 The Buzzer alarmming circuit3.6 显示电路的设计一般的人机对话中输出器件以数码管或LCD为主,数码管直观明了,在此选择3个数码管显示。数码管也叫LED数码管,其实是由多个LED排列封装而成,如图3.14, 其中7个发光二极管排列成8字形,另外一个则是原点状的,通常用来显示数据的小数点。图3.14 数码管结构图Fig.3.14 The structure of LED由于驱动方式的差异,也就是对应在各个显示端是低电平还是高电平点亮,数码管又分为两种类型,即共阳极和共阴极数码管。所谓“共阳极”即是8个LED的阳极连接在一起组成公共端,同理“共阴极”则是8个LED的阴极连接在一起组成公共端,其内部LED的连接方式见图3.15。 图3.15 数码管的内部连接图Fig.3.15 The internal connection diagram of digital control在本设计中采用共阳的数码管,P2.0,P2.1,P2.2用于片选,分别控制数据的百位,十位和个位,电路连接如图3.16图3.16 数码管显示电路图Fig.3.16 Digital display circuit3.7复位电路单片机在启动后,要从复位状态开始运行,因此,上电时要完成复位工作,称为上电复位,上电瞬间电容两端的电压不能发生突变,RST端为高电平+5V,上电后电容通过RC电路放电,RST端电压逐渐下降,直至低电平0V,适当选择电阻、电容的值,使RST端的高电平维持两个机器周期以上即可以完成复位。单片机在运行过程中,由于本身或外界干扰的原因会导致出错,这时可按复位键以重新开始运行,按键电平复位和上电复位的原理是一样的,都是利用RC电路的放电原理,让RST端能保持一段时间的高电平,以完成复位。按键电平复位时,按键时间也应该保持在两个机器周期以上。本设计使用按键复位电路,电路如图3.17。图3.17 按键复位电路Fig. 3.17 Key Reset Circuit3.8通讯接口电路的设计单片机的信号电平是TTL电平,即大于大等于2.4V表示“1”,小于等于0.5V表示“0”。而计算机的串口是RS232电平,即逻辑“0”电平的范围是+5V+15V,逻辑“1”电平的范围是-5V-15V。因此,为了提高数据通信的可靠性并消除线路上各种噪声影响,单片机与计算机之间必须有一个电平转换电路,转换后的典型值为逻辑1:-10V;逻辑0:+10V12-14,17。在此,采用专用芯片MAX232进行转换。MAX232是德州仪器公司推出的一款兼容RS232标准的芯片,包含2驱动器,2接收器和一个电压发生电路提供TLA/EIA-232-F电平,它的引脚及内部电路图如图3.18。主要特点如下15: 电源工作 两个接收器及两个驱动器 30V输入电平 低电源电流:典型值是8mA 符合甚至优于ANSI标准EIA/TIA-232-E及ITU推荐标准V.28 图3.18 MAX232引脚及内部电路图Figure 3.18 The pin and internal circuit of MAX232RS-232串行通讯信号引脚分为两类:一类为基本的数据传送信号引脚,另一类是用于MODEM控制的引脚信号。在本设计中,无MODEM,采用最简单的连接方式,即只使用3个引脚信号:TXD、RXD和GND,与上位机的通讯接口电路如图3.19:图3.19 通讯接口电路图Figure 3.19 Communication interface circuit3.9 系统电源的设计在本系统中,传感器的供电电压为+5V,LM258的供电电压为+3+30V,ADC0832的供电电压为+5V,通讯模块的供电电压也为+5V,所以本设计采用+5V的供电电压,原理图见图3.20 ,先用变压器把220V的交流变成有效值为10V左右的交流,经过全波整流再经过7805三端稳压器就可以得到5V的电压。值得注意的是,7805的输入输出电压差不能太大,输出电流要小于1.5A16。图3.20 电源电路Fig.3.20 the power circuit4 软件设计4.1 keil c51软件介绍Keil Software 的8051开发工具可以用来编译C程序代码,汇编源程序,连接和重定位目标文件和库文件,创建HEX文件以及调试目标程序。Windows应用程序u Vision3是一个集成开发环境,它把项目管理,源代码编辑和程序调试等集成到一个功能强大的环境中。主要功能有以下几点17: C51国际标准优化C交叉编译器:从用户的C源代码产生可重定位的目标文件 A51宏汇编器:从用户的8051汇编源代码产生可重定位的目标文件 BL 51连接/重定位器:组合由C51和A51产生的可重定位的目标文件生成绝对目标文件 LIB51库管理器:组合目标文件生成可以被连接器使用的库文件 OH51目标文件到HEX 格式的转换器:从绝对目标文件创建Intel HEX格式的文件 RTX51实时操作系统:简化了复杂的、对时间要求敏感的软件项目4.2 keil c51 开发流程C51编译器支持不同公司的51单片机架构的芯片,它集编辑,编译,仿真等于一体,功能强大,工具包的整体结构如图4.117。Ishell集成开发环境(IDE)C51编辑器A51编辑器C51库文件RTX51实时操作系统LIB51库管理BL51链接OH51转换器图4.1 C51工具包的整体结构Fig.4.1 C51 overall structure of the toolkit用户的开发流程与其他软件开发流程相似,如下:(1) 创建一个项目,从器件库中选择目标器件,并配置工具的设置,如图4.2,图4.2 选择目标器件Fig.4.2 Select the target device(2) 用C语言或汇编语言创建源程序,如图4.3图4.3 创建源程序Fig.4.3 Creating source code(3)用项目管理器生成应用,例如hex文件,在Options for Target 选项卡选上Create HEX File。图4.4 生成hex文件Fig.4.4 Create a hex file(4)修改源程序中的错误。(5)调试连接后的应用。4.3 C语言介绍C语言是一种结构化语言。首先,它层次清晰,便于按模块化方程式组织程序,易于调试和维护,语言简洁、紧凑,使用方便、灵活。其次,它具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。第三,可以直接访问内存地址,能进行位(bit)操作的特点,使其能够胜任开发操作系统的工作。第四,由于C语言可以对硬件进行编程操作,因此它既有高级语言的功能,也有低级语言的优势。软件对整个系统来说是至关重要的,是整个系统的灵魂,整个系统的执行操作都是在软件的协调下进行的。本系统主要采用C语言编程。4.4 系统程序设计本系统采用模块化的程序设计思路,及整个系统的程序软件由许多独立的子程序模块组成,它们之间通过软件接口进行连接,整个软件系统的程序可分为数据采集模块,按键扫描模块,按键处理模块,显示模块和主程序模块五个模块,每个模块具有一定的功能,每个模块又可分为许多子模块,即相互独立又相互联系,高级模块可以调用低级模块。整个系统的流程图如图4.5图4.5 主程序流程图Fig. 4.5 The flowchart of main program数据采集模块流程图如图4.6,按键扫描流程图如图4.7:图4.6数据采集程序流程图Fig.4.6 The flowchart of data collection图4.7 按键扫描流程图Fig. 4.7 The flow chart of key scan此外为了更加准确,更加稳定地显示湿度的测量值,在软件里采取多次测量取平均值得方法,即每隔大概一秒的时间AD转换采一次数据,采十次之后,取平均值再经过单片机的处理送给显示电路显示。各个模块的程序如下:/*-数据采集程序-*/unsigned int Adc0832(unsigned char channel) uchar i=0;uchar j;uint dat=0;uchar ndat=0;if(channel=0)channel=2;if(channel=1)channel=3;ADDI=1;_nop_();_nop_();ADCS=0;/拉低CS端_nop_();_nop_();ADCLK=1;/拉高CLK端_nop_();_nop_();ADCLK=0;/拉低CLK端,形成下降沿1_nop_();_nop_();ADCLK=1;/拉高CLK端ADDI=channel&0x1;_nop_();_nop_();ADCLK=0;/拉低CLK端,形成下降沿2_nop_();_nop_();ADCLK=1;/拉高CLK端ADDI=(channel1)&0x1;_nop_();_nop_();ADCLK=0;/拉低CLK端,形成下降沿3ADDI=1;/控制命令结束 _nop_();_nop_();dat=0;for(i=0;i8;i+)dat|=ADDO;/收数据ADCLK=1;_nop_();_nop_();ADCLK=0;/形成一次时钟脉冲_nop_();_nop_();dat=1;if(i=7)da

温馨提示

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

评论

0/150

提交评论