毕业论文-气压检测与预警.doc_第1页
毕业论文-气压检测与预警.doc_第2页
毕业论文-气压检测与预警.doc_第3页
毕业论文-气压检测与预警.doc_第4页
毕业论文-气压检测与预警.doc_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

苏州大学本科生毕业论文(设计) 目 录摘 要1Abstract2前 言3第一章 绪 论41.1课题背景与发展41.2 本文所做的工作5第二章 系统总体方案设计62.1 系统基本要求62.2 系统的硬件和软件设计6第三章 系统硬件设计73.1 电路的总体设计73.2 单片机部分83.3 气压采集电路113.4 无线传输模块143.5 显示和报警模块183.6 按键电路模块20第四章 系统软件设计214.1 程序的总体设计214.2 BMP085的设计224.3 LCD1602显示设计234.4 按键程序244.5 报警程序24第五章 系统调试与分析255.1 系统调试255.2 测试结果及其分析26第六章 总结28参考文献致 谢附 录i摘 要针对气压监测并实现无线传输这一问题,本文设计了一个以单片机为基础的气压检测系统,详细介绍气压监测系统的原理和系统的结构组成,其中包括信号输入模块、无线信号传输和接收模块、显示报警模块这三方面。传感器模块集成了半导体压力传感器、AD转换、作为温度补偿的EPROM、IC总线接口。利用压力传感器来测量大气压的数值,再将测得的数值经由无线收发模块将压力值发送到中央接收器模块上,然后把接收到的气压数据在显示屏上显示。当气压高于预设的上限或低于预设的下限时,系统会通过蜂鸣器自动报警。其中本文用的无线数据传输系统是由52单片机的最小系统和nRF24L01无线射频收发器件构成,该系统可以实现数据的短距离无线传送,这一传输方式具有安全高效,价格便宜,设计简单,便于携带等优点。本次设计能够实时高效地传输气压值,并进行数据的显示与报警。 关键词:52单片机,无线传输,LCD液晶显示屏,蜂鸣器 作 者:张 琦指导教师:吴文明46Abstract Aiming at the problem of atmospheric monitoring and wireless transmission function, this paper introduces the design of a microcontroller-based atmospheric monitoring system. Detailed introduced the composition principle and the system pressure monitoring system, including sensor signal input module, wireless signal transmission and receive module, display alarm system design. Its working principle is:todirect measurements of atmospheric pressure by using a semiconductorpressure sensor ,and then transmits the pressure information through a wireless transmitter to a central receiver module ,Then the received pressure data displayed on the display screen.When the pressure is higher than the preset upper limit or lower than the preset lower limit, the system will automatically alarm through the buzzer .Wireless data transmission system which is used in this paper is composed of the 52 single-chip microcopmputer minimum system and nRF24L01 wireless RF transceiver devices, which can realize the safe and efficient wireless data transmission in short distance ,comparing with other transmission modes,such as: FM radio, compared, GPRS, Bluetooth, infrared, etc., this system has the advantages of cheap, simple design, easy to carry.Keywords: 52 microcontroller,Wireless transmission, LCD liquid crystal display, buzzer Written by: Zhang Qi Supervised by:Wu WenMing前 言随着社会的进步,人类文明的逐步发展,人们越来越关注个人健康和环境给人类健康带来的影响。而天气的变化就会给人类的健康带来一定的影响,甚至和一些疾病也有着密不可分的关系,如关节炎、心脏病等疾病。因此,更多人开始关注温度、湿度、风向等因素。但人们通常会忽略气压这一关键因素,天气预报对气压不进行报道,人们也难以察觉。但大气压的变化会使人感到不适,就像在阴雨天气,会引起血压的变化,心脏不好的人经常会感到胸闷气喘就是这个原因。而基于单片机的气压监测系统就能够实时、精准、可靠的监测大气压,并实现报警功能,给予人们提醒,让人做出相应的预防对策。如今,单片微型计算机的发展十分迅速,基于单片机技术开发的传感器模块和设备在我们的日常生活中已经随处可见了。单片机是集成了中央处理器CPU、存储器、中断系统、计数器和多种功能输入输出端口等一台计算机所需要的基本功能部件。因为单片机体积小,可以放在仪器内部,结构简单,成本低,功耗低,电压低,所以单片机受到了人们的青睐。基于单片机的压力监测系统由传感器信号输入模块、无线信号发射模块、气压显示模块、报警模块组成。使用半导体压力传感器来直接地测当地的大气压和温度,经由传感器模块上的AD转换器转换成数字量,通过EPROM的控制单元对压力值进行温度补偿,经IC总线传到单片机上,再将补偿后的数剧经由无线发射器将压力信息发送到中央接收器模块上,然后把接收到的气压数据在显示屏上进行显示。当气压高于预设的上限或者低于预设的下限时,系统会通过蜂鸣器自动报警。目前有许多设计都可以实现无线传输,其中本文用的无线数据传输系统是由52单片机的最小系统和nRF24L01无线射频收发器件构成,该系统可以实现短距离无线数据的安全高效传输,这一传输方式与其他传输方式如:超短波电台、GPRS、蓝牙、红外线等相比,具有价格便宜,设计简单,稳定,低功耗,便于携带等优点。全文共分为5章。第一章绪论,第二章系统总体方案设计,第三章系统硬件设计,第四章系统软件设计,第五章系统调试与分析。第一章 绪 论1.1课题背景与发展1.1.1 课题背景人在高压环境中呆一段时间后,人体会出现氮饱和的现象。当我们重新回到标准大气压的环境中时,人体内多余的氮就会从血液由肺泡的呼吸排出,这是一个极其缓慢的过程,但如果是很快的回到标准大气压时,脂肪中的氮就会停留在人体内,不能及时被排出,从而形成小的气泡引起气栓等疾病,给人体的健康带来影响。低气压主要影响人体氧气的供应。气压下降时,空气中氧的含量降低人体血氧不足,脑供血就会不足,引起呼吸加快、心率加快。严重的还会出现头晕、恶心、呕吐的症状。内地不少人都想目睹西藏拉萨美丽的高原风光,平原与高原的气压变化很大,过低的气压不得不让人有所顾忌。在我们的日常生活中活塞式抽水机、离心式水泵、高压锅、吸盘、吸管喝饮料、医用输液瓶等都是大气压的运用。大气压的值与维度、气候、季节的变化有关,一般来说,气压随高度的降低而增大,晴天气压比阴天高,冬天的气压也比夏天的气压高一些。气压监测系统可以让人们实时了解大气压的情况,在气压过低或过高时报警,有一个预警的功能,让人们时刻注意气压变化而引起的身体上的不适,以便应对。而基于单片机的气压监测系统就能够实时、精准、可靠的监测气压,并实现报警功能。1.1.2 研究现状与发展近年来,传感器技术的发展十分迅速,并且广泛的应用到我们的日常生活中来。因为传感器的普遍应用,越来越多智能测量仪器逐渐问世。普通测气压方法有水银测气压法、沸点测气压法。利用液体沸点与大气压的关系来完成测量的就是我们常说的沸点测气压法,但是这种方法现在已经很少采用了。液体重量与大气压力平衡这一方法是以前采用最广泛的测量方法,如:使用长期稳定和准确度高的水银来测量大气压。但现在,人们正慢慢地偏向电子气压表,电子气压表的准确度不比水银气压表的准确度差且容易读数,如:空盒气压表。原理是:在一个固定的弹性膜片的一面加大压力时,膜片会变形。测出膜片两边因压力差而产生的形变。现在的不少压力传感器都有温度补偿这一功能作为校准工作的一个部分,这大大降低了温度对气压的影响,同时提高了传感器测量的准确度。1.2 本文所做的工作本次设计的系统主要由传感器信号输入模块、无线信号发射模块、气压显示报警模块组成。用半导体压力传感器来测量大气压和当地温度,模数转换和温度补偿后,由IC总线发往单片机,再由无线发射器将数据发送到另一个单片机模块上,然后显示接收到的数据值。当气压高于预设的上限或者低于预设的下限时,系统会自动报警,进行预警。所做的工作主要有:对STC89C52单片机知识理解,运用STC89C52单片机对数据进行发射与接收,气压传感器的选择与应用,高速无线传输模块nRF24L01的设计与应用,LCD显示屏的选择与设计,为了更好地进行系统设计,必须对设计中所应用的芯片、器件的性能、引脚排列、工作方式有更深层次的了解。第二章 系统总体方案设计2.1 系统基本要求本设计的任务是完成基于单片机的气压检测与预警的设计系统,主要是设计以单片机为核心、采用半导体传感器采集压力信号、用无线信号发射和接收模块将信号传输到另一块单片机上,实现环境大气压的实时测量和LCD数字显示,并报警提示。该系统的设计方案由硬件系统设计和软件系统设计两部分组成。2.2 系统的硬件和软件设计2.2.1 硬件系统设计方案气压监测系统的硬件电路由传感器信号输入、无线信号发射、无线信号接收、LCD显示及报警模块等组成,压力监测系统原理框图如图2-1所示。STC89C52单片机STC89C52单片机蜂鸣器报警LCD显示nRF24L01无线接收模块BMP085压力传感器模块nRF24L01无线发射模块图2-1 硬件电路原理框图其工作原理是:外界环境大气压和实时温度通过半导体压力传感器在经模数转换、温度补偿后、通过IC总线输入到单片机中,用单片机和nRF24L01无线传输模块的共同作用,将采集到的数值传输到另一块单片机上,通过LCD显示,在测得值超过预设的范围是,蜂鸣器工作报警,从而实现环境大气压的实时监测。2.2.2 软件系统设计方案本系统采用STC89C52作为核心处理器件,把经过BMP085现场实时采集到的气压数据经AD转换和温度校准后,由IC总线传入STC89C52 内部数据存储器,通过NRF24L01无线传输模块传输到另一块STC89C52芯片上,再用LCD1602液晶显示,并与预先设定的数值进行比较,然后由单片机的输出信号去控制报警电路。气压监测系统软件主要包括:函数声明、BMP085初始化函数、读BMP085数据、无线数据传输、无线数据接收、数据转化成液晶字符显示并比较报警等程序。第三章 系统硬件设计3.1 电路的总体设计本次课题分为硬件设计和软件设计两个部分,其中硬件部分包括气压采集电路、无线传输模块、LCD显示及报警模块和按键电路的设计。其工作原理是:使用半导体压力传感器来直接地测的大气压的数值,再将测得的数值经由无线发射器将压力信息发送到中央接收器模块上,然后把接收到的气压数据在显示屏上进行显示。当气压高于预设的上限或者低于预设的下限时,系统会通过蜂鸣器自动报警。发射模块原理图:图3-1 发送模块原理图如上图3-1所示,系统的发射模块以单片机为核心,连接了复位电路、时钟电路、BMP085压力传感器、nRF24L01无线传输模块。压力信号由传感器测得,经IC总线从传感器模块的2脚SDA和3脚SCL传入到单片机的P3.5和P3.6。单片机的P1.0P1.5连接无线模块的38脚,来控制无线模块信号发送,可以将数据发送出去。由于nRF24L01的工作电压是3.3V,单片机的工作电压是5V,所以需要一个稳压电路将5V的电压降低到3.3V。单片机的9脚接按键复位电路,在程序跑飞或需要复位时,按下按键可以将系统初始化。单片机的1820脚接晶振电路,可以给系统提供一个机器周期为1s的时钟。单片机的VCC引脚接电源,接高电平,单片机访问内部程序存储器。接收模块原理图:图3-2 接收模块原理图如上图3-2所示,系统的接收模块以单片机为核心,连接了复位电路、时钟电路、nRF24L01无线接收模块、按键电路、显示和报警模块。nRF24L01接收到从机发来的信号,由38脚经SPI总线将信号传入到单片机的P1.0P1.5口。由于nRF24L01的工作电压是3.3V,单片机的工作电压是5V,所以需要一个稳压电路将5V的电压降低到3.3V。按键接P3.5P3.7,由程序控制按键的功能。单片机的P0.0P0.7外接上拉电阻后接液晶显示屏。P2.0通过一个三极管和一个分压电阻接蜂鸣器。3.2 单片机部分3.2.1 STC89C52的特点单片机是集CPU、ROM、RAM、定时器/计数器和多种I/O端口于一体的微型计算机。8K字节用户应用程序空间,片上集成512字节数据存储空间,32 位I/O 端口,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构,看门狗定时器,可直接使用串口下载。全双工串行口。与51产品指令和引脚完全兼容。3.2.2 引脚功能 图3-3 引脚图电源引脚:20脚(VSS):接地,0V参考点。40脚(VCC):正电源,接5V电源外接晶体引脚:19脚(XTAL1):振荡反相放大器和内部时钟电路输入端。18脚(XTAL2):振荡反相放大器的输出端。控制信号或与其它电源复用引脚:有RST/VPD、ALE/、 和/Vpp等4种形式。9脚(RST):复位端。实现上电复位时仅需要外接一个电容到正电源端即可。与完成复位的最小系统相连。30脚(ALE):地址锁存使能。29脚(PSEN):程序存储使能。32-39脚:P0端口(P0.0-P0.7):多功能端口,双向信号。8位三态I/O口。写入1 时,用作高阻输入。输出高电平时,需要接上拉电阻。1-8脚:P1端口(P1.0-P1.7):准双向I/O口。内部有上拉电阻。21-28脚:P2端口(P2.0-P2.7):准双向I/O口,多功能端口。内部有上拉电路。10-17脚:P3端口(P3.0-P3.7):准双向I/O口,多功能端口。内部有上拉电路。P3口脚具有第二功能,P3.0/P3.1:串行输入/输出口;P3.2/P3.3:外部中断0/1;P3.4/P3.5:定时器0/1外部输入;P3.6/P3.7:外部数据存储器写/读信号。3.2.3 单片机最小系统STC89C52单片机最小系统由两部分组成即:复位电路和时钟电路。图3-4 单片机最小系统(1) 复位电路:此次论文中采用了上电自动复位和手动按键复位两种基本方式。电容的充放电可以帮助完成实现单片机的复位。电源接通时,9脚:RST引脚是高电平,电源开始对电容进行充电,同时,9脚:RST引脚上的电位下降至低电平。电容大小为10F,电阻大小为10k,需要的时间是10k10F=100ms,开机100ms内,单片机系统自动复位。当按下复位按键时,充满电的电容迅速放电,对电阻供电,9脚:RST引脚恢复为高电平,此时达到复位的效果,PC=0000H,单片恢复并保持复位。松开复位按键后,9脚:RST引脚逐渐从高电平将至低电平。(2) 时钟电路:通常有内部震荡方式和外部振荡方式两种。本文中采用内部震荡方式来产生单片机工作的时钟,控制节奏。将一个晶振和两个稳频电容接在52单片机的18脚:XTAL1和19脚:XTAL2引脚上,与单片机片构成稳定的自激振荡器,即时钟电路。晶振的取值范围可在1.224MHz之间,此篇论文中采用12M的石英晶振。外接电容对振荡频率也有影响,可以对振荡器进行频率微调,本文中采用22PF的瓷片电容。3.2.4 单片机的中断系统计算机中的“中断”是指由于外部或内部事件而改变原来CPU正在执行指令顺序的一种工作机制。中断机制常用于计算机与外部数据的传送,已解决高速运行的CPU与低速外设之间的矛盾。中断可以充分利用计算机的资源,同时管理多个外设;实现实时处理;及时处理故障,提高系统可靠性。图 3-5 中断过程示意图如上图3-5中所示,CPU正在处理主程序时,发生了中断,请求CPU迅速处理(中断发生);CPU暂停当前工作(中断响应),处理中断(中断处理);等待中断处理完成后,回到原来主程序暂停的地方继续处理主程序(中断返回)。3.3 气压采集电路3.3.1 BMP085的主要特点BMP085 的高精度、超低功耗、低电压的性能特点可以让它用到海拔测量、GPS 导航、天气预测、垂直运动速度测量这些方面上。气压的分辨率可以达到3Pa,高度的偏差只在25cm左右,耗电3A。BMP085的内部除了电阻式压力传感器外还有模数转换和控制单元,其中控制单元包括EPROM 和IC接口。BMP085传送没有经过补偿的温度压力值。176位的EPROM有11个字的校准系数,每个字16位,这些标准数据可用于温度补偿。BMP085还可以通过IC 总线将数字量传输到单片机上。图3-6 BMP085的工作方式如上图3-6所示,BMP085启动后,先测量温度,再测量压力,用EPROM中的数据校准后,可得到当地的环境大气压的值。3.3.2 BMP085的引脚图 图3-7 BMP085引脚图1脚(VCC):接正电源2脚(SDA):IC的数据端3脚(SCL):IC的时钟端4脚(XCLR):清除信号,低电平有效。用来复位芯片和初始化寄存器、控制器。5脚(EOC):完成转换输出6脚(GND):电源地3.3.3 BMP085 与单片机的连接图3-8 BMP085与单片机的连接如上图3-8所示,单片机与BMP085通过IC总线直接相连。除了电源端接5V电源和接地端接地,只有SCL与SDA单片机相连,输出时钟与信号,将数据传输到单片机中。3.3.4 IC协议BMP085半导体压力传感器采用IC总线与STC89C52单片机相连。IC总线是芯片间同步传输的两线式串行总线。IC总线只用两根线,简单方便且功耗低、性能好。 停止 开始 应答 地址 读写 应答 应答 数据 数据图3-9 IC总线的传输数据格式如上图3-9所示,当SCL保持高电平时,SDA由高电平跳变到低电平表示开始,SDA由低电平跳变成高电平表示结束。开始后,主器件发出7位数据作为从器件的写入地址,从器件发出读/写信号并发出低电平应答信号,当主器件检测到应答信号,则继续发送数据,若主器件检测不到应答信号,则主器件就不会发送数据。3.3.5 BMP085读取数据方式从机应答 停止从机应答从机应答开始控制寄存器数据0xF4寄存器地址0xF4模块地址写 0xEE图3-10 发送控制命令单片机向BMP085 发送命令的步骤如下:1)发送写入模块地址和写信号(0),如图3-10中的0xEE。2)发送寄存器地址,如图3-10中的0xF4(第1个)。3)发送寄存器的值,如图3-10中的0xF4(第2个)。BMP085 的测量方式用寄存器的值代表。不同的值分别代表不同的测量方式:0x2E表示测量温度;0x34表示超低功耗压力测量;0x74表示标准压力测量;0xB4表示高精度压力测量;0xF4表示超高精度测量。而上图中所用的0xF4就表示超高精度测量。主机不应答 停止 开始从机应答主机应答从机应答 重新开始读取高 8位 0x5C读取低 8位 0x96模块地址读 0xEF寄存器地址0xF6模块地址写 0xEE从机应答图3-11 读取控制命令单片机从BMP085 读取数据的步骤如下:1)发送即将写入数据的地址和写信号(0),如图3-11中的0xEE。2)发送寄存器地址,如图3-11中的0xF6。3)重新开始IC 传输。4)发送读取模块地址和读信号(1),如图3-10中的0xEF。5)读取测量值的高8 位,如图3-11中的0x5C。6)读取测量值的低8 位,如图3-11中的0x96。3.4 无线传输模块3.4.1 nRF24L01概述随着我国科学研究技术的发展,无线传输模式凭着功耗低、自动应答功能及自动再发射功能、数据传输和SPI传输速度快的优势,在市场上越来越受到人们的欢迎。nRF24L01的工作频率为2.4 GHz至2.5 GHz,工作电压为1.9V至3.6V。它可与其他同系列产品相兼容。3.4.2 引脚功能及描述 nRF24L01无线传输芯片的引脚图如下图所示。 图3-12 nRF24L01引脚图nRF24L01引脚功能如下:1脚(GND):接地端;2脚(VCC):电源端;连接稳压电路,把提供的5V电源降低到3V左右;3脚(CE):发射或接收的使能端; 4脚(CSN):片选信号,低电平有效;5脚(SCK):芯片提供的时钟;6脚(MOSI):芯片控制的数据线,SPI串行输入;7脚(MISO):芯片控制的数据线,SPI串行输出;8脚(IRQ):中断标志位。3.4.3工作模式 nRF24L01的发射、接收、空闲、掉电工作模式由寄存器模式字控制。 表3-1 nRF24L01的四种工作方式模式PWR_UPPRIM_RXCEFIFO寄存器状态接收模式111-发送模式101数据在TXFIFO寄存器中发送模式1010停留在发送模式,直至数据发送完待机模式2101TXFIFO为空待机模式11-0无数据传输掉电模式0-在待机模式1下,晶振正常工作;在待机模式2下,部分时钟缓冲器处在工作模式。在掉电模式下,nRF24L01功能关闭,但寄存器的内容保持不变。nRF24L01共有三种收发模式,分别为:Enhanced ShockBurstTM 收发模式、ShockBurstTM 收发模式和直接收发模式。Enhanced ShockBurstTM 收发模式:数据低速送入、高速发射,这样可起到节能的效果;系统费用低;数据在空中停留时间短,抗干扰性高。接收数据时,自动把字头和CRC校验码移去,发送数据时,自动加上字头和CRC校验码加上。3.4.4 工作原理发射数据时,首先将nRF24L01配置为发射模式:接着把接收节点地址TX_ADDR和有效数据TX_PLD按照时序由SPI口写入nRF24L01缓存区,TX_PLD必须在CSN为低时连续写入,而TX_ADDR在发射时写入一次即可,然后CE置为高电平并保持至少10s,延迟130s后发射数据;若自动应答开启,那么nRF24L01在发射数据后立即进入接收模式,接收应答信号。如果收到应答,则认为此次通信成功,TX_DS置高,同时TX_PLD从TX FIFO中清除;若未收到应答,在自动重发开启的情况下,自动重新发送该数据,若重发次数(ARC)达到上限,MAX_RT置高,TX FIFO中数据保留以便再次重发;MAX_RT或TX_DS置高时,使IRQ变低,产生中断,通知单片机。最后发射成功时,若CE为低则nRF24L01进入空闲模式1;若发送堆栈中有数据且CE为高,则进入下一次发射;若发送堆栈中无数据且CE为高,则进入空闲模式2。接收数据时,首先将nRF24L01配置为接收模式,接着延迟130s进入接收状态等待数据的到来。当接收方检测到有效的地址和CRC时,就将数据包存储在RX FIFO中,同时中断标志位RX_DR置高,IRQ变低,产生中断,通知单片机去取数据。若此时自动应答开启,接收方则同时进入发射状态回传应答信号。最后接收成功时,若CE变低,则nRF24L01进入空闲模式1。3.4.5 SPI配置寄存器 SPI采用主从模式构架,通常SPI总线上有一个主设备和一个或多个从设备。标准的SPI总线有四根信号线,但主要利用其中三根线进行数据传输,所以是三线串行同步传输。先传送高位字节,再传送低字节。SPI总线的传输速率取决于连接的芯片,可实现全双工传输。 表3-2 常用配置寄存器地址(H)寄存器名称功能00CONFIG设置24L01工作模式01EN_AA设置接收通道及自动应答02EN_RXADDR使能接收通道地址07STATUS状态寄存器,用来判定工作状态0A0FRX_ADDR_P0P5设置接收通道地址10TX_ADDR设置发送节点地址1116RX_PW_P0P5设置接收通道的有效数据宽度3.4.6 nRF24L01应用原理框图 图3-13 nRF24L01与单片机相连接线图如上图3-13所示,由于nFR24L01芯片的工作电压为3V左右,与单片机的5V工作电压不同,所以需要在nRF24L01的电源端加一个7530滤波电容。这个电容可将5V电压转换成3V左右,给无线模块供电。3.5 显示和报警模块LCD显示屏在我们日常生活中已经很常见了,可以用做很多产品的显示器,如:计算器、万用表。LCD1602显示屏一行可以显示16个字符,共可以显示两行。液晶显示器体积小、重量轻、功耗低,画质高且不会闪烁,可以自行调节背景亮暗。为更加有效地引起用户注意,及时关注气压变化,本系统还设计了蜂鸣器报警电路,将蜂鸣器与一个三极管和一个电阻相连。当外界气压超过预设气压上下限时蜂鸣器就会报警,即当P2.1为低电平时,蜂鸣器通过三极管接通,报警。图3-14 显示报警模块原理图LCD1602的引脚介绍:1脚(GND);地电源。 2脚(VCC):接5V正电源。3脚(VL):液晶显示器对比度调整端,与可调电阻相连。4脚(RS):寄存器选择,用高低电平选择数据寄存器和指令寄存器。5脚(R/W):为读写信号线,用高低电平分别进行读、写操作。6脚(EN):使能端,低电平有效。7脚14脚(D0D7):8位双向数据线。15脚(BLA+):背光源正极,接电源。 16脚(BLK-):背光源负极,接地。单片机的P0口在输出高电平时,需要接上拉电阻。蜂鸣器通过一个PNP型三极管和一个电阻与单片机的P2.0口相连,蜂鸣器的另一端接电源,当P2.0输出低电平时,蜂鸣器接通报警。图3-15 1602LCD内部显示地址写入地址时要求最高位D7是高电平,所以第1行第1个字符的写入地址应该是00H+80H=80H,第一行最后一个字符的写入地址是8FH。第2行第1个字符的写入地址应该是40H+80H=C0H,第二行最后一个字符的写入地址是CFH。3.6 按键电路模块本次设计中共有五个按键,分别为:两个单片机复位按键、三个控制报警上下限按钮。图3-16 按键电路与单片机的连接如上图3-16所示,三个按键经软件程序的设定,可实现如下功能:SW3按下第一次设置气压上限值,SW4加,SW5减,SW3按下第二次设置气压下限值,SW4加,SW5减,SW3按下第三次退出设置。可进行气压检测。第四章 系统软件设计4.1 程序的总体设计图4-1 主程序流程图本次设计的软件设计采用C语言编程。如上图4-1所示:主程序对BMP085半导体压力传感器、单片机及nRF24L01无线传输模块进行初始化,而后调用BMP085读取气压值、经AD转换、温度补偿等处理后,经过nRF24L01无线传输到另一块单片机上,经LCD1602显示气压,再比较判断,若超出设定的上下限则报警提醒。4.2 BMP085的设计图4-2 BMP085的工作流程图本次设计是通过半导体压力传感器BMP085来采集环境大气压的。如上图4-2所示将读入的模拟量经AD转换成数字量,并通过EPROM中的标准数据进行温度补偿,得到实际测量的气压值。将这个数值经IC总线传入单片机中。4.3 LCD1602显示设计4.3.1 LCD1602初始化的设计图4-3 LCD1602显示流程图LCD1602是本次设计中承担显示作用的器件。如上图4-3所示,开机后,LCD进行初始化,在忙标志低电平即LCD不忙时,通过程序输入第一行显示地址,再输入程序循环显示出第一行的16个字符;以此类推,显示出两行所有内容。4.3.2 显示子程序的设计部分一:显示学号、专业、姓名的子程序主要是将LCD初始化时的内容显示出来。首先确定写入地址,再将两行16个字符的数据分别循环显示出来。部分二:显示压力值的子程序:首先同样也是确定写入的首地址。然后将实时温度的小数点前三位、“.”、小数点后三位、“KPa”写入LCD1602显示屏的第一行。读取第二行的首地址,依次分别写入“H:”、设置的三位数上限、“KPa”、“ ”、“L:”、两位数下限、“KPa”。4.4 按键程序按键程序主要是设置按键的功用和使用的方法。key1=0(即按下SW3键)按下第一次,设置液晶屏显示地址,然后显示气压上限的三位数字值。key2=0(即按下SW4键),设置液晶屏显示地址,然后显示气压上限的三位数字值,按下SW4键一次,上限值加1,最高可加到110。key3=0(即按下SW5键),设置液晶屏显示地址,然后显示气压下限的两位数字值,按下SW5键一次,上限值减1,最高可减到30。key1=0(即按下SW3键)第二次,设置液晶屏显示地址,然后显示气压下限的两位数值。设置下限值的过程与上文设置上限时相同。key1=0(按下SW3键)第三次,完成设置。可以进行数据的测量与报警了。4.5 报警程序图4-4 报警电路流程图如上图4-4所示,在测得气压后,单片机对气压值会做一个判断,判断这个值是否在所设定的范围内,若在这个范围内,蜂鸣器不会报警,将读取下一个气压值,并作出判断;若在这个范围内,蜂鸣器接通报警。第五章 系统调试与分析5.1 系统调试单片机系统的硬件调试和软件调试是不能分开的,在软件调试时我也发现了许多硬件错误。但通常是先排除明显的明显的硬件错误后,再和软件结合起来调试经一步排除故障。5.1.1 硬件调试及存在的问题该气压监测系统主要是由气压传感器模块、无线传输模块、单片机最小系统、显示报警模块组成。电路比较复杂,分别进行单独地调试,来确认输入输出关系是否正确。先排除短路、漏焊、虚焊的可能,再连接电源使用万用表等工具对电路检查,检查电路中的电压是否满足既定关系。硬件调试比较困难,也比较难发现错误,需要一步一步慢慢地测试检查,也需要熟练掌握电路图原理。硬件调试时出现的故障有:1.在实际焊接电路时,由于布线过于紧凑,焊接时两个靠的比较近但又不相连的焊点出现虚焊的现象,导致电路不通,无法显示气压值。用万用表测试电压,找到虚焊的点重新焊接,完成电路。2.焊接时,要注意不能损坏BMP085,如果BMP085发生变形,测量到的数据会偏离实际值,需要更换BMP085传感器模块。5.1.2 软件调试及存在的问题本次设计的软件部分是用C语言开发的。在proteus中进行硬件仿真时,由于库中没有BMP085压力传感器,所以只能用MXP4115代替。此外,库中没有nRF24L01无线传输模块,导致最终无法仿真。所以我采用keil软件和单片机开发板一起进行调试的方法。手动改变气压值,观察显示屏上的气压值是否随着变化一起变化。主要步骤是:1.将信号采集模块的SDA、SCL引脚通过IC总线分别与单片机P3.5、P3.6口相连,并将单片机开发板与计算机连接好;2.在keil平台上运行需要调试的程序,改变气压值,观察显示屏上的数值是否随着一起变化;3.如调试结果正确则进一步优化程序并结合硬件调试。软件调试时出现的故障有:1.程序在keil软件上可以正常运行,但烧录后无法测得当前气压值,经检查发现是晶振问题,晶振放在插座上接触不良不起振。后重新进行焊接可以运行程序。2.LCD屏现实的数值末尾不变化,发现是没有写入清屏程序,加入程序后,LCD显示正常,但末尾数字跳变太快以致观察数据时不是很清楚。调整程序,使BMP085测量气压的频率减慢,这样LCD屏上显示数据的速度变慢,数据比较清晰。5.1.3 环境模拟及系统调试这是调试的最后一步,将硬件电路各模块组装起来,接好电源,各放入三节五号电池,将程序下载到单片机内,装好单片机,开机调试。先测得当前气压,再模拟不同的气压值,观察传感器的灵敏度。按动按钮调节设置的上下限,观察蜂鸣器是否报警。5.2 测试结果及其分析图5-1 LCD初始化上电开机,LCD初始化,观察LCD液晶屏可以看到屏幕显示“1116405010 11dz-ZQ”。如上图5-1所示。图5-2 正常情况下的环境大气压测得实时环境大气压,可以从上图5-2中看到当前的气压为98.625KPa,图中的“H:100KPa L:93KPa”则表示设置的上限为100KPa、下限为93KPa。上下限可用按键手动控制。图5-3 低压的情况因为改变大气温度可以改变气压值。固升高空气温度,降低气压值,如上图5-3可知,测得当前气压值为90.932KPa低于所设气压下限93KPa,蜂鸣器接通报警。图5-4 高压的情况同里将带有气压传感器的无线信号发射模块放到室外通风处,可在显示屏上观察到如上图5-4所示情况,当前气压值为99.375KPa,高于所设上限99KPa,蜂鸣器接通报警。此外,将经测试,测量得到无线传输距离可达到24米左右。将两个模块接通电源,分开至足够远,直到接收模块收不到信号,显示气压为0,测得距离为24米。第六章 总结该课题的主要任务是设计一个以STC89C52单片机为核心的气压检测与预警系统。本次设计在功能上基本可以满足要求,能够实现气压的监测、无线传输、显示与报警。以STC89C52为核心的单片机系统,能够精准,快速地测量环境气压。液晶显示部分,可以显示出当前的气压,直观清楚。蜂鸣器在气压超过预设范围时可以自动报警,起到一个预警的作用。经测试,测量得到无线传输距离可达到24米左右。将两个模块接通电源,分开至足够远,直到接收模块收不到信号,显示气压为0,测得距离为24米。由于时间的关系,本次设计的气压检测系统还存在不足之处。首先由于气压信号不如温度距离等信号容易控制,再加上硬件电路中的一些系统误差,导致测量结果不是十分精确。其次无线传输的距离也没有达到预定的目标,在有障碍物如:树木、墙体时,传输距离会缩短。但我相信只要继续优化硬件电路就可以改善这些不足的地方。参考文献1.吴建平.传感器原理及应用(第2版)M.北京:机械工业出版社,2012:271.2.陈蕾.单片机原理与接口技术M.北京:机械工业出版社,2012:3183苏航月,魏明英,程相改,夏鑫鑫. 浅析气压变化对人们生活的影响J. 农村实用科技信息,2010,09:42.4丁当.气压变化也会影响健康J. 健身科学,2014,05:42.5徐昭. 基于AT89C52的多功能实验板的开发D.吉林大学,2012.6王飞. 无线传感网络中的无线传输系统研究D.中北大学,2012.7尚启星,冯阳. 基于nRF24L01的无线温度检测系统J. 现代物业(上旬刊),2014,11:64-66.8谢明明,陈学岗,陈常婷. 基于nRF24L01+的数据无线传输系统的设计与实现J. 电子设计工程,2013,20:114-116.9张金燕,刘高平,杨如祥. 基于气压传感器BMP085的高度测量系统实现J. 微型机与应用,2014,06:64-67.10王俊彩,王福平,侯瑞峰,王成. 基于BMP085的一种便携式海拔高度测量系统设计J. 传感器与微系统,2011,12:123-125.11李建波. LCD1602汉字显示技术在万年历中的应用及Proteus仿真J. 清远职业技术学院学报,2010,03:36-38.致 谢这篇论文和此次的毕业设计能够顺利完成,离不开那些一直关心我、支持我的老师、同学,在此我向他们表示衷心的感谢,感谢你们对我无私的帮助!首先,要感谢的是给以我悉心指导的指导老师吴文明老师。正是吴老师您像盏明灯,一路照亮我,一路指引我,帮助我完成这次的毕业设计。在完成毕业设计的这段时间里,我得到了从新学习知识的机会,运用学过的旧知识,学习更多新知识。吴老师严谨的教学态度,一丝不苟的敬业精神,敏捷的思维能力,透彻的见解都让我受益匪浅。此外,我还要感谢我的同学们。我之所以可以顺利的完成这篇论文,是得到了我的同学们的帮助,是他们把自己搜集到的资料和我分享、在精神上鼓励我,帮助我顺利完成这篇论文。最后感谢所有帮助过我的老师和同学们,感谢大家能和我互相监督,互相鼓励,互相帮助,共同完成论文的撰写。附 录实物图原理图发送模块原理图接收模块原理图:部分源程序发送程序:#include #include /Keil library #include /Keil library #include /Keil library#include /Keil library typedef unsigned char uchar;typedef unsigned char uint;/*NRF24L01*#define TX_ADR_WIDTH 5 / 5 uints TX address width#define RX_ADR_WIDTH 5 / 5 uints RX address width#define TX_PLOAD_WIDTH 20 / 20 uints TX payload#define RX_PLOAD_WIDTH 20 / 20 uints TX payload/*NRF24L01寄存器指令*#define READ_REG 0x00 / 读寄存器指令#define WRITE_REG 0x20 / 写寄存器指令#define WR_TX_PLOAD 0

温馨提示

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

评论

0/150

提交评论