




已阅读5页,还剩44页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
0摘要针对气压监测并实现无线传输这一问题,本文设计了一个以单片机为基础的气压检测系统,详细介绍气压监测系统的原理和系统的结构组成,其中包括信号输入模块、无线信号传输和接收模块、显示报警模块这三方面。传感器模块集成了半导体压力传感器、AD转换、作为温度补偿的EPROM、IC总线接口。利用压力传感器来测量大气压的数值,再将测得的数值经由无线收发模块将压力值发送到中央接收器模块上,然后把接收到的气压数据在显示屏上显示。当气压高于预设的上限或低于预设的下限时,系统会通过蜂鸣器自动报警。其中本文用的无线数据传输系统是由52单片机的最小系统和nRF24L01无线射频收发器件构成,该系统可以实现数据的短距离无线传送,这一传输方式具有安全高效,价格便宜,设计简单,便于携带等优点。本次设计能够实时高效地传输气压值,并进行数据的显示与报警。关键词:52单片机,无线传输,LCD液晶显示屏,蜂鸣器iAbstractAimingattheproblemofatmosphericmonitoringandwirelesstransmissionfunction,thispaperintroducesthedesignofamicrocontroller-basedatmosphericmonitoringsystem.Detailedintroducedthecompositionprincipleandthesystempressuremonitoringsystem,includingsensorsignalinputmodule,wirelesssignaltransmissionandreceivemodule,displayalarmsystemdesign.Itsworkingprincipleis:todirectmeasurementsofatmosphericpressurebyusingasemiconductorpressuresensor,andthentransmitsthepressureinformationthroughawirelesstransmittertoacentralreceivermodule,Thenthereceivedpressuredatadisplayedonthedisplayscreen.Whenthepressureishigherthanthepresetupperlimitorlowerthanthepresetlowerlimit,thesystemwillautomaticallyalarmthroughthebuzzer.Wirelessdatatransmissionsystemwhichisusedinthispaperiscomposedofthe52single-chipmicrocopmputerminimumsystemandnRF24L01wirelessRFtransceiverdevices,whichcanrealizethesafeandefficientwirelessdatatransmissioninshortdistance,comparingwithothertransmissionmodes,suchas:FMradio,compared,GPRS,Bluetooth,infrared,etc.,thissystemhastheadvantagesofcheap,simpledesign,easytocarry.Keywords:52microcontroller,Wirelesstransmission,LCDliquidcrystaldisplay,buzzerii目录摘要.1Abstract.2前言.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.2BMP085的设计.224.3LCD1602显示设计.234.4按键程序.244.5报警程序.24第五章系统调试与分析.255.1系统调试.255.2测试结果及其分析.26第六章总结.28参考文献致谢附录3前言随着社会的进步,人类文明的逐步发展,人们越来越关注个人健康和环境给人类健康带来的影响。而天气的变化就会给人类的健康带来一定的影响,甚至和一些疾病也有着密不可分的关系,如关节炎、心脏病等疾病。因此,更多人开始关注温度、湿度、风向等因素。但人们通常会忽略气压这一关键因素,天气预报对气压不进行报道,人们也难以察觉。但大气压的变化会使人感到不适,就像在阴雨天气,会引起血压的变化,心脏不好的人经常会感到胸闷气喘就是这个原因。而基于单片机的气压监测系统就能够实时、精准、可靠的监测大气压,并实现报警功能,给予人们提醒,让人做出相应的预防对策。如今,单片微型计算机的发展十分迅速,基于单片机技术开发的传感器模块和设备在我们的日常生活中已经随处可见了。单片机是集成了中央处理器CPU、存储器、中断系统、计数器和多种功能输入输出端口等一台计算机所需要的基本功能部件。因为单片机体积小,可以放在仪器内部,结构简单,成本低,功耗低,电压低,所以单片机受到了人们的青睐。基于单片机的压力监测系统由传感器信号输入模块、无线信号发射模块、气压显示模块、报警模块组成。使用半导体压力传感器来直接地测当地的大气压和温度,经由传感器模块上的AD转换器转换成数字量,通过EPROM的控制单元对压力值进行温度补偿,经IC总线传到单片机上,再将补偿后的数剧经由无线发射器将压力信息发送到中央接收器模块上,然后把接收到的气压数据在显示屏上进行显示。当气压高于预设的上限或者低于预设的下限时,系统会通过蜂鸣器自动报警。目前有许多设计都可以实现无线传输,其中本文用的无线数据传输系统是由52单片机的最小系统和nRF24L01无线射频收发器件构成,该系统可以实现短距离无线数据的安全高效传输,这一传输方式与其他传输方式如:超短波电台、GPRS、蓝牙、红外线等相比,具有价格便宜,设计简单,稳定,低功耗,便于携带等优点。全文共分为5章。第一章绪论,第二章系统总体方案设计,第三章系统硬件设计,第四章系统软件设计,第五章系统调试与分析。4第一章绪论1.1课题背景与发展1.1.1课题背景人在高压环境中呆一段时间后,人体会出现氮饱和的现象。当我们重新回到标准大气压的环境中时,人体内多余的氮就会从血液由肺泡的呼吸排出,这是一个极其缓慢的过程,但如果是很快的回到标准大气压时,脂肪中的氮就会停留在人体内,不能及时被排出,从而形成小的气泡引起气栓等疾病,给人体的健康带来影响。低气压主要影响人体氧气的供应。气压下降时,空气中氧的含量降低人体血氧不足,脑供血就会不足,引起呼吸加快、心率加快。严重的还会出现头晕、恶心、呕吐的症状。内地不少人都想目睹西藏拉萨美丽的高原风光,平原与高原的气压变化很大,过低的气压不得不让人有所顾忌。在我们的日常生活中活塞式抽水机、离心式水泵、高压锅、吸盘、吸管喝饮料、医用输液瓶等都是大气压的运用。大气压的值与维度、气候、季节的变化有关,一般来说,气压随高度的降低而增大,晴天气压比阴天高,冬天的气压也比夏天的气压高一些。气压监测系统可以让人们实时了解大气压的情况,在气压过低或过高时报警,有一个预警的功能,让人们时刻注意气压变化而引起的身体上的不适,以便应对。而基于单片机的气压监测系统就能够实时、精准、可靠的监测气压,并实现报警功能。1.1.2研究现状与发展近年来,传感器技术的发展十分迅速,并且广泛的应用到我们的日常生活中来。因为传感器的普遍应用,越来越多智能测量仪器逐渐问世。普通测气压方法有水银测气压法、沸点测气压法。利用液体沸点与大气压的关系来完成测量的就是我们常说的沸点测气压法,但是这种方法现在已经很少采用了。液体重量与大气压力平衡这一方法是以前采用最广泛的测量方法,如:使用长期稳定和准确度高的水银来测量大气压。但现在,人们正慢慢地偏向电子气压表,电子气压表的准确度不比水银气压表的准确度差且容易读数,如:空盒气压表。原理是:在一个固定的弹性膜片的一面加大压力时,膜片会变形。测出膜片两边因压力差而产生的形变。现在的不少压力传感器都有温度补偿这一功能作为校准工作的一个部分,这大大降低了温度对气压的影响,同时提高了传感器测量的准确度。1.2本文所做的工作本次设计的系统主要由传感器信号输入模块、无线信号发射模块、气压显示报警模块组成。用半导体压力传感器来测量大气压和当地温度,模数转换和温度补偿后,由5IC总线发往单片机,再由无线发射器将数据发送到另一个单片机模块上,然后显示接收到的数据值。当气压高于预设的上限或者低于预设的下限时,系统会自动报警,进行预警。所做的工作主要有:对STC89C52单片机知识理解,运用STC89C52单片机对数据进行发射与接收,气压传感器的选择与应用,高速无线传输模块nRF24L01的设计与应用,LCD显示屏的选择与设计,为了更好地进行系统设计,必须对设计中所应用的芯片、器件的性能、引脚排列、工作方式有更深层次的了解。6第二章系统总体方案设计2.1系统基本要求本设计的任务是完成基于单片机的气压检测与预警的设计系统,主要是设计以单片机为核心、采用半导体传感器采集压力信号、用无线信号发射和接收模块将信号传输到另一块单片机上,实现环境大气压的实时测量和LCD数字显示,并报警提示。该系统的设计方案由硬件系统设计和软件系统设计两部分组成。2.2系统的硬件和软件设计2.2.1硬件系统设计方案气压监测系统的硬件电路由传感器信号输入、无线信号发射、无线信号接收、LCD显示及报警模块等组成,压力监测系统原理框图如图2-1所示。图2-1硬件电路原理框图其工作原理是:外界环境大气压和实时温度通过半导体压力传感器在经模数转换、温度补偿后、通过IC总线输入到单片机中,用单片机和nRF24L01无线传输模块的共同作用,将采集到的数值传输到另一块单片机上,通过LCD显示,在测得值超过预设的范围是,蜂鸣器工作报警,从而实现环境大气压的实时监测。2.2.2软件系统设计方案本系统采用STC89C52作为核心处理器件,把经过BMP085现场实时采集到的气压数据经AD转换和温度校准后,由IC总线传入STC89C52内部数据存储器,通过NRF24L01无线传输模块传输到另一块STC89C52芯片上,再用LCD1602液晶显示,并与预先设定的数值进行比较,然后由单片机的输出信号去控制报警电路。气压监测系统软件主要包括:函数声明、BMP085初始化函数、读BMP085数据、无线数据传输、无线数据接收、数据转化成液晶字符显示并比较报警等程序。BMP085压力传感器模块STC89C52单片机nRF24L01无线发射模块nRF24L01无线接收模块STC89C52单片机LCD显示蜂鸣器报警7第三章系统硬件设计3.1电路的总体设计本次课题分为硬件设计和软件设计两个部分,其中硬件部分包括气压采集电路、无线传输模块、LCD显示及报警模块和按键电路的设计。其工作原理是:使用半导体压力传感器来直接地测的大气压的数值,再将测得的数值经由无线发射器将压力信息发送到中央接收器模块上,然后把接收到的气压数据在显示屏上进行显示。当气压高于预设的上限或者低于预设的下限时,系统会通过蜂鸣器自动报警。发射模块原理图:12345678ABCD87654321DCBATitleNumberRevisionSizeA3Date:21-Jan-2015SheetofFile:D:Protel99SEProtel99SP6Examples上上上25.DDBDrawnBy:RST9P3010P3111P3212P3313P3414P3515P3616P3717X118X219GND20P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE30EA31P0732P0633P0534P0435P0336P0237P0138P0039VCC40P101P112P123P134P145P156P167P178U6上上上12Y212MC1322PC1422PC1210UFR710KGND1IN2OUT3U57530VCCVCCVCCGND1VCC2CE3CSN4SCK5MOSI6MISO7IRQ8U7NRF24L01C8104VCCC10104SW2C910UFC1110UFVCC1SDA2SCL3XCLR4EOC5GND6U8BMP805VCC图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引脚接电源,接高电平,单片机访问内部程序存EA8储器。接收模块原理图:12345678ABCD87654321DCBATitleNumberRevisionSizeA3Date:21-Jan-2015SheetofFile:D:Protel99SEProtel99SP6Examples上上上25.DDBDrawnBy:RST9P3010P3111P3212P3313P3414P3515P3616P3717X118X219GND20P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE30EA31P0732P0633P0534P0435P0336P0237P0138P0039VCC40P101P112P123P134P145P156P167P178U6上上上12Y212MC1322PC1422PC1210UFR710KGND1IN2OUT3U57530VCCVCCVCCGND1VCC2CE3CSN4SCK5MOSI6MISO7IRQ8U7NRF24L01C8104VCCC10104SW2C910UFC1110UFRST9P3010P3111P3212P3313P3414P3515P3616P3717X118X219GND20P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE30EA31P0732P0633P0534P0435P0336P0237P0138P0039VCC40P101P112P123P134P145P156P167P178U2上上上12Y112MC522PC622P123456789R210K上上上上VCCVCCC710UFR410KVCCGND1VCC2VL3RS4RW5EN6D07D18D29D310D411D512D613D714BLA+15BLK-16U41602上上VCCRSRSENENVCC132R110k上上上上SW1GND1IN2OUT3U17530VCCC1104C3104C210UFC410UFGND1VCC2CE3CSN4SCK5MOSI6MISO7IRQ8U3NRF24L01SW3SW4SW5LS1BellQ2R81kVCC1SDA2SCL3XCLR4EOC5GND6U8BMP805VCCVCCR1POT2图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.1STC89C52的特点单片机是集CPU、ROM、RAM、定时器/计数器和多种I/O端口于一体的微型计算机。8K字节用户应用程序空间,片上集成512字节数据存储空间,32位I/O端口,3个16位定时器/计数器,4个外部中断,一个7向量4级中断结构,看门狗定时器,可直接使用串口下载。全双工串行口。与51产品指令和引脚完全兼容。93.2.2引脚功能12345678ABCD87654321DCBATitleNumberRevisionSizeA3Date:20-Jan-2015SheetofFile:D:Protel99SEProtel99SP6Examples上上上23.DDBDrawnBy:RST9P3010P3111P3212P3313P3414P3515P3616P3717X118X219GND20P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE30EA31P0732P0633P0534P0435P0336P0237P0138P0039VCC40P101P112P123P134P145P156P167P178U6上上上图3-3引脚图电源引脚:20脚(VSS):接地,0V参考点。40脚(VCC):正电源,接5V电源外接晶体引脚:19脚(XTAL1):振荡反相放大器和内部时钟电路输入端。18脚(XTAL2):振荡反相放大器的输出端。控制信号或与其它电源复用引脚:有RST/VPD、ALE/、和/Vpp等4种形式。PROGSENA9脚(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:外部数据存储器写/读信号。103.2.3单片机最小系统STC89C52单片机最小系统由两部分组成即:复位电路和时钟电路。12345678ABCD87654321DCBATitleNumberRevisionSizeA3Date:21-Jan-2015SheetofFile:D:Protel99SEProtel99SP6Examples上上上25.DDBDrawnBy:RST9P3010P3111P3212P3313P3414P3515P3616P3717X118X219GND20P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE30EA31P0732P0633P0534P0435P0336P0237P0138P0039VCC40P101P112P123P134P145P156P167P178U6上上上12Y212MC1322PC1422PC1210UFR710KVCCVCCVCCSW2图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正在执行指令顺序的11一种工作机制。中断机制常用于计算机与外部数据的传送,已解决高速运行的CPU与低速外设之间的矛盾。中断可以充分利用计算机的资源,同时管理多个外设;实现实时处理;及时处理故障,提高系统可靠性。图3-5中断过程示意图如上图3-5中所示,CPU正在处理主程序时,发生了中断,请求CPU迅速处理(中断发生);CPU暂停当前工作(中断响应),处理中断(中断处理);等待中断处理完成后,回到原来主程序暂停的地方继续处理主程序(中断返回)。3.3气压采集电路3.3.1BMP085的主要特点BMP085的高精度、超低功耗、低电压的性能特点可以让它用到海拔测量、GPS导航、天气预测、垂直运动速度测量这些方面上。气压的分辨率可以达到3Pa,高度的偏差只在25cm左右,耗电3A。BMP085的内部除了电阻式压力传感器外还有模数转换和控制单元,其中控制单元包括EPROM和IC接口。BMP085传送没有经过补偿的温度压力值。176位的EPROM有11个字的校准系数,每个字16位,这些标准数据可用于温度补偿。BMP085还可以通过IC总线将数字量传输到单片机上。12开始启动温度测量度温度数据启动压力测量读压力数据读EPROM中的数据计算压力和温度结束图3-6BMP085的工作方式如上图3-6所示,BMP085启动后,先测量温度,再测量压力,用EPROM中的数据校准后,可得到当地的环境大气压的值。3.3.2BMP085的引脚图12345678ABCD87654321DCBATitleNumberRevisionSizeA3Date:20-Jan-2015SheetofFile:D:Protel99SEProtel99SP6Examples上上上23.DDBDrawnBy:VCC1SDA2SCL3XCLR4EOC5GND6U8BMP805图3-7BMP085引脚图1脚(VCC):接正电源2脚(SDA):IC的数据端3脚(SCL):IC的时钟端4脚(XCLR):清除信号,低电平有效。用来复位芯片和初始化寄存器、控制器。5脚(EOC):完成转换输出6脚(GND):电源地133.3.3BMP085与单片机的连接12345678ABCD87654321DCBATitleNumberRevisionSizeA3Date:20-Jan-2015SheetofFile:D:Protel99SEProtel99SP6Examples上上上23.DDBDrawnBy:RST9P3010P3111P3212P3313P3414P3515P3616P3717X118X219GND20P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE30EA31P0732P0633P0534P0435P0336P0237P0138P0039VCC40P101P112P123P134P145P156P167P178U6上上上VCCVCCVCC1SDA2SCL3XCLR4EOC5GND6U8BMP805VCC图3-8BMP085与单片机的连接如上图3-8所示,单片机与BMP085通过IC总线直接相连。除了电源端接5V电源和接地端接地,只有SCL与SDA单片机相连,输出时钟与信号,将数据传输到单片机中。3.3.4IC协议BMP085半导体压力传感器采用IC总线与STC89C52单片机相连。IC总线是芯片间同步传输的两线式串行总线。IC总线只用两根线,简单方便且功耗低、性能好。图3-9IC总线的传输数据格式如上图3-9所示,当SCL保持高电平时,SDA由高电平跳变到低电平表示开始,SDA由低电平跳变成高电平表示结束。开始后,主器件发出7位数据作为从器件的写入地址,从器件发出读/写信号并发出低电平应答信号,当主器件检测到应答信号,则继续发送数据,若主器件检测不到应答信号,则主器件就不会发送数据。开始停止应答应答应答地址读写数据数据143.3.5BMP085读取数据方式图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就表示超高精度测量。图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.1nRF24L01概述随着我国科学研究技术的发展,无线传输模式凭着功耗低、自动应答功能及自动再发射功能、数据传输和SPI传输速度快的优势,在市场上越来越受到人们的欢迎。nRF24L01的工作频率为2.4GHz至2.5GHz,工作电压为1.9V至3.6V。它可与其模块地址写0xEE寄存器地址0xF4控制寄存器数据0xF4开始从机应答从机应答重新开始从机应答主机应答主机不应答停止从机应答从机应答从机应答停止开始模块地址写0xEE寄存器地址0xF6模块地址读0xEF读取高8位0x5C读取低8位0x9615他同系列产品相兼容。3.4.2引脚功能及描述nRF24L01无线传输芯片的引脚图如下图所示。12345678ABCD87654321DCBATitleNumberRevisionSizeA3Date:20-Jan-2015SheetofFile:D:Protel99SEProtel99SP6Examples上上上23.DDBDrawnBy:GND1VCC2CE3CSN4SCK5MOSI6MISO7IRQ8U7NRF24L01图3-12nRF24L01引脚图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-1nRF24L01的四种工作方式模式PWR_UPPRIM_RXCEFIFO寄存器状态接收模式111-发送模式101数据在TXFIFO寄存器中发送模式1010停留在发送模式,直至数据发送完待机模式2101TXFIFO为空待机模式11-0无数据传输掉电模式0-在待机模式1下,晶振正常工作;在待机模式2下,部分时钟缓冲器处在工作模式。16在掉电模式下,nRF24L01功能关闭,但寄存器的内容保持不变。nRF24L01共有三种收发模式,分别为:EnhancedShockBurstTM收发模式、ShockBurstTM收发模式和直接收发模式。EnhancedShockBurstTM收发模式:数据低速送入、高速发射,这样可起到节能的效果;系统费用低;数据在空中停留时间短,抗干扰性高。接收数据时,自动把字头和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从TXFIFO中清除;若未收到应答,在自动重发开启的情况下,自动重新发送该数据,若重发次数(ARC)达到上限,MAX_RT置高,TXFIFO中数据保留以便再次重发;MAX_RT或TX_DS置高时,使IRQ变低,产生中断,通知单片机。最后发射成功时,若CE为低则nRF24L01进入空闲模式1;若发送堆栈中有数据且CE为高,则进入下一次发射;若发送堆栈中无数据且CE为高,则进入空闲模式2。接收数据时,首先将nRF24L01配置为接收模式,接着延迟130s进入接收状态等待数据的到来。当接收方检测到有效的地址和CRC时,就将数据包存储在RXFIFO中,同时中断标志位RX_DR置高,IRQ变低,产生中断,通知单片机去取数据。若此时自动应答开启,接收方则同时进入发射状态回传应答信号。最后接收成功时,若CE变低,则nRF24L01进入空闲模式1。3.4.5SPI配置寄存器SPI采用主从模式构架,通常SPI总线上有一个主设备和一个或多个从设备。标准的SPI总线有四根信号线,但主要利用其中三根线进行数据传输,所以是三线串行同步传输。先传送高位字节,再传送低字节。SPI总线的传输速率取决于连接的芯片,可实现全双工传输。17表3-2常用配置寄存器地址(H)寄存器名称功能00CONFIG设置24L01工作模式01EN_AA设置接收通道及自动应答02EN_RXADDR使能接收通道地址07STATUS状态寄存器,用来判定工作状态0A0FRX_ADDR_P0P5设置接收通道地址10TX_ADDR设置发送节点地址1116RX_PW_P0P5设置接收通道的有效数据宽度3.4.6nRF24L01应用原理框图12345678ABCD87654321DCBATitleNumberRevisionSizeA3Date:20-Jan-2015SheetofFile:D:Protel99SEProtel99SP6Examples上上上24.DDBDrawnBy:RST9P3010P3111P3212P3313P3414P3515P3616P3717X118X219GND20P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE30EA31P0732P0633P0534P0435P0336P0237P0138P0039VCC40P101P112P123P134P145P156P167P178U6上上上GND1IN2OUT3U57530VCCC8104C10104C910UFC1110UFVCCVCCGND1VCC2CE3CSN4SCK5MOSI6MISO7IRQ8U7NRF24L01图3-13nRF24L01与单片机相连接线图如上图3-13所示,由于nFR24L01芯片的工作电压为3V左右,与单片机的5V工作电压不同,所以需要在nRF24L01的电源端加一个7530滤波电容。这个电容可将185V电压转换成3V左右,给无线模块供电。3.5显示和报警模块LCD显示屏在我们日常生活中已经很常见了,可以用做很多产品的显示器,如:计算器、万用表。LCD1602显示屏一行可以显示16个字符,共可以显示两行。液晶显示器体积小、重量轻、功耗低,画质高且不会闪烁,可以自行调节背景亮暗。为更加有效地引起用户注意,及时关注气压变化,本系统还设计了蜂鸣器报警电路,将蜂鸣器与一个三极管和一个电阻相连。当外界气压超过预设气压上下限时蜂鸣器就会报警,即当P2.1为低电平时,蜂鸣器通过三极管接通,报警。12345678ABCD87654321DCBATitleNumberRevisionSizeA3Date:20-Jan-2015SheetofFile:D:Protel99SEProtel99SP6Examples上上上24.DDBDrawnBy:RST9P3010P3111P3212P3313P3414P3515P3616P3717X118X219GND20P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE30EA31P0732P0633P0534P0435P0336P0237P0138P0039VCC40P101P112P123P134P145P156P167P178U2上上上123456789R210K上上上上VCCVCCGND1VCC2VL3RS4RW5EN6D07D18D29D310D411D512D613D714BLA+15BLK-16U41602上上VCCRSRSENENVCC132R110k上上上上LS1BellQ2R81kVCCR1POT2图3-14显示报警模块原理图LCD1602的引脚介绍:1脚(GND);地电源。2脚(VCC):接5V正电源。3脚(VL):液晶显示器对比度调整端,与可调电阻相连。4脚(RS):寄存器选择,用高低电平选择数据寄存器和指令寄存器。5脚(R/W):为读写信号线,用高低电平分别进行读、写操作。6脚(EN):使能端,低电平有效。197脚14脚(D0D7):8位双向数据线。15脚(BLA+):背光源正极,接电源。16脚(BLK-):背光源负极,接地。单片机的P0口在输出高电平时,需要接上拉电阻。蜂鸣器通过一个PNP型三极管和一个电阻与单片机的P2.0口相连,蜂鸣器的另一端接电源,当P2.0输出低电平时,蜂鸣器接通报警。图3-151602LCD内部显示地址写入地址时要求最高位D7是高电平,所以第1行第1个字符的写入地址应该是00H+80H=80H,第一行最后一个字符的写入地址是8FH。第2行第1个字符的写入地址应该是40H+80H=C0H,第二行最后一个字符的写入地址是CFH。203.6按键电路模块本次设计中共有五个按键,分别为:两个单片机复位按键、三个控制报警上下限按钮。12345678ABCD87654321DCBATitleNumberRevisionSizeA3Date:20-Jan-2015SheetofFile:D:Protel99SEProtel99SP6Examples上上上23.DDBDrawnBy:RST9P3010P3111P3212P3313P3414P3515P3616P3717X118X219GND20P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE30EA31P0732P0633P0534P0435P0336P0237P0138P0039VCC40P101P112P123P134P145P156P167P178U2上上上SW3SW4SW5图3-16按键电路与单片机的连接如上图3-16所示,三个按键经软件程序的设定,可实现如下功能:SW3按下第一次设置气压上限值,SW4加,SW5减,SW3按下第二次设置气压下限值,SW4加,SW5减,SW3按下第三次退出设置。可进行气压检测。21第四章系统软件设计4.1程序的总体设计开始系统初始化读取压力值采集子程序采集压力并进行数据处理无线数据传输数值在范围内不报警Y数值超出上限N超出上限蜂鸣器报警Y超出下限蜂鸣器报警N结束显示数据图4-1主程序流程图本次设计的软件设计采用C语言编程。如上图4-1所示:主程序对BMP085半导体压力传感器、单片机及nRF24L01无线传输模块进行初始化,而后调用BMP085读取气压值、经AD转换、温度补偿等处理后,经过nRF24L01无线传输到另一块单片机上,经LCD1602显示气压,再比较判断,若超出设定的上下限则报警提醒。224.2BMP085的设计开始BMP085的初始化读取测得的气压AD转换EEPROM温度补偿经IIC总线将数据传入单片机结束图4-2BMP085的工作流程图本次设计是通过半导体压力传感器BMP085来采集环境大气压的。如上图4-2所示将读入的模拟量经AD转换成数字量,并通过EPROM中的标准数据进行温度补偿,得到实际测量的气压值。将这个数值经IC总线传入单片机中。234.3LCD1602显示设计4.3.1LCD1602初始化的设计开始LCD初始化延时输入第一行显示地址显示第一行内容输入第二行显示地址显示第二行内容结束图4-3LCD1602显示流程图LCD1602是本次设计中承担显示作用的器件。如上图4-3所示,开机后,LCD进行初始化,在忙标志低电平即LCD不忙时,通过程序输入第一行显示地址,再输入程序循环显示出第一行的16个字符;以此类推,显示出两行所有内容。4.3.2显示子程序的设计部分一:显示学号、专业、姓名的子程序主要是将LCD初始化时的内容显示出来。首先确定写入地址,再将两行16个字符的数据分别循环显示出来。部分二:显示压力值的子程序:首先同样也是确定写入的首地址。然后将实时温度的小数点前三位、“.”、小数点后三位、“KPa”写入LCD1602显示屏的第一行。读取第二行的首地址,依次分别写入“H:”、设置的三位数上限、“KPa”、“”、“L:”、两位数下限、“KPa”。244.4按键程序按键程序主要是设置按键的功用和使用的方法。key1=0(即按下SW3键)按下第一次,设置液晶屏显示地址,然后显示气压上限的三位数字值。key2=0(即按下SW4键),设置液晶屏显示地址,然后显示气压上限的三位数字值,按下SW4键一次,上限值加1,最高可加到110。key3=0(即按下SW5键),设置液晶屏显示地址,然后显示气压下限的两位数字值,按下SW5键一次,上限值减1,最高可减到30。key1=0(即按下SW3键)第二次,设置液晶屏显示地址,然后显示气压下限的两位数值。设置下限值的过程与上文设置上限时相同。key1=0(按下SW3键)第三次,完成设置。可以进行数据的测量与报警了。4.5报警程序开始读取气压值数据在上下限之间不报警报警N结束Y图4-4报警电路流程图如上图4-4所示,在测得气压后,单片机对气压值会做一个判断,判断这个值是否在所设定的范围内,若在这个范围内,蜂鸣器不会报警,将读取下一个气压值,并作出判断;若在这个范围内,蜂鸣器接通报警。25第五章系统调试与分析5.1系统调试单片机系统的硬件调试和软件调试是不能分开的,在软件调试时我也发现了许多硬件错误。但通常是先排除明显的明显的硬件错误后,再和软件结合起来调试经一步排除故障。5.1.1硬件调试及存在的问题该气压监测系统主要是由气压传感器模块、无线传输模块、单片机最小系统、显示报警模块组成。电路比较复杂,分别进行单独地调试,来确认输入输出关系是否正确。先排除短路、漏焊、虚焊的可能,再连接电源使用万用表等工具对电路检查,检查电路中的电压是否满足既定关系。硬件调试比较困难,也比较难发现错误,需要一步一步慢慢地测试检查,也需要熟练掌握电路图原理。硬件调试时出现的故障有:1.在实际焊接电路时,由于布线过于紧凑,焊接时两个靠的比较近但又不相连的焊
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年智慧校园安全管理合作协议共创学生安全成长环境
- 2025年专业医疗救援人员劳动合同书
- 2025年金融行业风险控制策略定制分析报告合同
- 2025年全面离婚协议补签与权益维护全程辅导服务合同
- 培训茶叶知识的目的
- 2025智能医疗设备研发与专利权共享合作协议
- 2025年国际知名运动品牌国内授权代理合同
- 2025年度大型餐饮集团厨房设备租赁及综合维护合同
- 培训育儿知识的重要性
- 2025年企业扶持员工自主创业无息借款协议书
- 疲劳恢复物理手段-洞察及研究
- 2025至2030年中国PA10T行业市场竞争态势及未来前景分析报告
- CJ/T 328-2010球墨铸铁复合树脂水箅
- 人教版(2024)七年级下册英语期末复习:主题阅读理解 刷题练习题20篇(含答案解析)
- 运营管理核心知识点
- 2025至2030年中国程控线路板市场分析及竞争策略研究报告
- 设计院管理规章制度手册及实施指南
- 电力工程施工安全风险管理措施
- 新课标解读丨《义务教育道德与法治课程标准(2022年版)》解读课件
- 三防培训课件
- 舆论学复习测试卷附答案
评论
0/150
提交评论