基于单片机的温度数据无线传输系统设计论学士学位论文Word文档格式.docx
- 文档编号:19786769
- 上传时间:2023-01-10
- 格式:DOCX
- 页数:47
- 大小:732.68KB
基于单片机的温度数据无线传输系统设计论学士学位论文Word文档格式.docx
《基于单片机的温度数据无线传输系统设计论学士学位论文Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于单片机的温度数据无线传输系统设计论学士学位论文Word文档格式.docx(47页珍藏版)》请在冰豆网上搜索。
指导教师签名(手写):
基于单片机的温度数据无线传输系统设计
摘要:
对以STC89C52RC单片机为控制核心的温度数据无线传输系统进行了设计。
系统所要实现的功能分两部分完成。
首先是发射模块,利用DS18B20温度传感器检测温度,将所检测到的温度数据以单总线的方式传输给单片机进行处理,处理后的数据通过四位数码管显示,再由NRF24L01点对点的将数据传送到系统的显示模块。
其次是接收模块,利用NRF24L01接收数据,将接收到的温度数据传输给单片机处理,处理后的数据同样也是通过四位数码管显示。
总体来说,系统实现的功能是实时的检测温度数据并无线传输给远端的装置同步显示数据。
根据系统的主要功能,提出了设计方案并进行了论证。
设计包括硬件设计和软件设计两大部分。
硬件部分包括单片机最小系统、电源转换电路、显示电路、发射模块电路、接收模块电路和温度检测电路六个部分。
单片机选用STC公司的STC89C52RC,温度传感器用DS18B20,无线模块用NFR24L01,显示器用四位共阴极数码管,电源转换器用AMS1117-3.3。
软件部分采用了模块化的设计方法,主要分为主程序、温度检测子程序、无线发射子程序、无线接收子程序、数码管显示子程序五部分。
最后是系统的软硬件联调,使系统能够实现温度数据的采集与无线传输。
关键词:
单片机;
温度检测;
无线传输;
数据显示
Designoftemperaturedatawirelesstransmissionsystem
basedonMCU
Abstract:
ThetemperaturedatawirelesstransmissionsystembasedonSTC89C52RCmicrocontrollerisdesigned.Systemtorealizethefunctionofthetwopartstocomplete.Firsttransmittingmodule,thetemperaturesensorDS18B20temperaturedetection,thedetectedtemperaturedatawithsinglebustransmissiontothemicrocontrollerprocessing,afterprocessingthedatathroughfourdigitaltubedisplay,againbytheNRF24L01topointofthedataaretransmittedtothedisplaymodule.Nextisthereceivingmodule,usingNRF24L01toreceivedata,thereceivedtemperaturedataistransmittedtothemicrocontrollerprocessing,thedataisalsoprocessedbyfourdigitaltubedisplay.Overall,thefunctionofthesystemisreal-timedetectionoftemperaturedataandwirelesstransmissiontotheremotedevicesynchronizationdisplaydata.
Accordingtothemainfunctionofthesystem,thedesignschemeispresentedanddemonstrated.Designincludestwopartsofhardwaredesignandsoftwaredesign.Thehardwareincludesthesmallestsingle-chipmicrocomputer,thepowerconversioncircuit,thedisplaycircuit,thetransmittermodule,thereceivingmoduleandthetemperaturedetectioncircuitinsixparts.STCmicrocontrollerSTC89C52RC,temperaturesensorwithDS18B20,wirelessmodulewithNFR24L01,monitorwithfourcathodedigitaltube,powerconverterwithAMS1117-3.3.Thesoftwarepartusesthemodulardesignmethod,mainlydividesintothemainprogram,thetemperatureexaminationsubroutine,thewirelesstransmitsubroutine,thewirelessreceivesubroutine,thedigitaltubedisplaysubroutinefiveparts.Atlast,thesystemcanrealizethetemperaturedatacollectionandwirelesstransmission.
KeyWords:
MCU;
temperaturedetection;
wirelesstransmission;
datadisplay
基于单片机的温度数据无线传输系统设计
1概述
1.1课题来源及基本技术要求
随着现代社会的发展和生产需要,使用无线技术对温度进行实时的检测已经渗透到了生活的各个方面。
在工厂或是一些特殊场合,由于工作环境极差,不允许工作人员长时间停留在现场工作。
在这种情况下设备的温度情况就只能通过仪器测温来实现检测,使用这个方法时必然会涉及到一些技术问题,就是温度的检测与数据的传输问题。
由于工业现场的空间往往会很大,需要检测的设备也会很多,那么问题就来了,传统的布线就会不太适用,容易造成资源的浪费维修困难,现场布线的线路复杂不容易操作。
这时使用无线温度数据传输技术能很好的解决这些问题,使用这个技术的核心就是温度数据的实时检测,以及无线数据的实时发送与接收。
这也正是此次设计的核心技术要求,同时还需要一些辅助的功能来实现整个系统的功能,例如数码管显示技术,降压稳压技术,三极管放大信号技术等。
1.2主要内容
系统是以单片机为控制核心,DS18B20为温度传感器,NRF24L01为无线模块的温度数据无线传输系统。
系统可以迅速的,精准的对温度进行实时的检测与显示,发送与接收。
系统满足以下要求:
a.能够用DS18B20温度传感器完成对温度的自动检测,通过单总线的方式传输给单片机进行处理,由四位共阴极数码管显示;
b.能用NRF24L01无线模块完成温度数据的发送与接收;
c.通过无线接收模块接收数据并在四位数码管上显示温度值(测温范围-10℃—+85℃,精确到0.5℃)。
1.3设计思路
在设计系统时将系统分为两个部分:
a.温度检测与显示及数据实时发送模块;
这个模块由一个单片机最小系统,一个使用DS18B20的温度检测模块,一个使用四位共阴极数码管的显示模块,一个使用AMS1117-3.3的降压模块组成,在这个系统中每个部分都有着不同的作用,都不可缺少。
b.实时温度数据接收及显示模块。
与上个模块相比区别在于,这个模块少了一个温度检测模块,无线模块的功能不同,其他的都相同。
设计整个系统时,首先,分析各部分的功能,确定每个部分所需要的器件,将所需要的器件都列举出来。
其次,根据每部分的功能设计出原理图,按照原理图购买所需要的器件进行焊接。
最后,根据每部分的功能编写每部分的程序,进行实物的调试,在调试过程中将软件与硬件问题解决,完善程序。
1.4预期成果及其价值
系统设计和调试完成后,预期能够实现以下功能:
a.系统能够用DS18B20完成对温度的自动检测,实时传给单片机并在四位数码管上显示;
b.单片机处理后的数据能够通过NRF24l01发送出去;
c.当有数据发送后,无线接收模块能够自动接收数据通过单片机将温度数据在四位数码管上显示。
系统在生产生活中可以得到广泛的应用,尤其在一些特殊地方,环境恶劣的场所,不适合人员长时间工作的生产现场,当需要实时的监测温度时就可以使用该系统。
在日常生活中,一些仓库之类的地方,需要实时的了解仓库内的温度,通过该系统也能简单的就实现了。
总之,此系统具有很高的实用价值,可以节省人力资源,降低生产成本,代替人的一部分工作。
2设计方案选择
2.1总体设计方案
系统分为发射模块和接收模块两个部分。
发射模块的功能是在单片机的控制下实现温度数据的实时检测,通过四位数码管显示,再利用NRF24L01无线模块发送数据,设计框图如图2-1所示。
接收模块的功能是当发射模块有数据发送时,通过NRF24L01无线模块接收数据,在四位数码管显示,设计框图如图2-2所示。
两个部分的区别在于发射模块比接收模块多了温度检测的功能,在使用NRF24L01无线模块的功能上有区别。
图2-1发射模块设计框图
此外两个模块都用到了AMS1117-3.3降压稳压器,作用是为两个模块的无线部分提供稳定的3.3V的电源。
因为NRF24L01需要的电压为1.9V-3.6V,和单片机所需要的5V电源不同,所以必须重新提供电源。
另外在两个模块的显示电路中,都用到9012三极管,起到放大信号的作用。
原因是数码管使用的是动态扫描的方式进行显示,如果不使用9012三极管进行放大信号的话,数码管的亮度会不够,影响观测数据。
图2-2接收模块设计框图
2.2STC89C52RC与AT89C52单片机的选择
STC89C52RC单片机出自于STC公司,AT89C52出自于AT公司。
两者都是一款拥有可编程存储器大小为8K的单片机,STC89C52RC单片机使用的内核是MCS-51经典内核,AT89C52兼容标准MCS-51指令系统。
52单片机在51单片机的基础上做了许多的改进,拥有了51单片机不具有的一些功能,在可编程存储器的大小上多了4K。
对于初学者52单片机相比51单片机要好用一些,因为可编程存储器大,不会出现存储不够的情况,在编程时就可以不用考虑程序的精简。
AT公司和STC公司所生产的52单片机功能基本都相同,但相比于AT公司的AT89C52单片机,STC89C51RC具有价格便宜,下载程序相对容易的优点,结合以上分析单片机的选择是STC公司的52单片机。
其引脚功能如图2-3所示。
图2-3单片机的引脚图
2.3NRF24L01与NRF905的选择
NRF24L01无线模块是在近期生产的一款无线模块,相比于以前一些较早使用的无线模块有着许多的优点。
NRF24L01无线模块拥有四种工作模式,分别为发射模式、接收模式、空闲模式和掉电模式,通过配置寄存器来选择工作模式,在使用时NRF24L01的引脚可以和单片机的任何端口连接使用,但在编程控制时要注意。
NRF24L01的引脚功能如表2-1所示。
NRF24L01与NRF905相比较,在传输距离上NRF905优于NRF24L01,但在价格上NRF905比NRF24L01贵很多,并且在此次设计中不需要较远距离的数据传输,如果用NRF905的话就会显得浪费。
在使用中NRF24L01的电路比较简单,软件设计部分相对简单许多。
结合以上分析无线模块选择NRF24L01。
NRF24L01引脚功能如图2-4所示。
表2-1NRF24L01工作模式
工作模式
PWR_UP
PRIM_RX
CE
FIFO寄存器状态
接收模式
1
-
发射模式
数据在TX_FIFO寄存器中
1→0
停留在发送式,直至数据发送完
待机模式2
TX_FIFO为空
待机模式1
无数据传输
掉电
图2-4NRF24L01引脚图
2.4稳压器AMS1117的选择
AMS1117属于正向的低压降压稳压器,固定输出版的AMS1117稳压器可按输出电压进行分类,分为5.0V、3.3V、3.0V、2.85V、2.5V、1.8V、1.5V,每个版的AMS1117稳压器只能输出一种电压。
由于系统中的无线模块的所需要的电源电压为3.3V,所以稳压器选择AMS1117-3.3作为无线模块的电源。
AMS1117-3.3稳压器的实物如图2-5所示,其引脚功能从做到有分别为GND,Vout,Vint。
图2-5AMS1117-3.3稳压器的实物
2.5DS18B20与热敏电阻的选择
传统的温度检测元件大多数是用热敏电阻为传感器,利用热敏电阻来检测温度。
当用这种传统方法测量温度是会有很多的问题,这都源于热敏电阻不具有的可靠性,容易出现问题,而且测温的准确性低,所测得的温度数据还必须通过特定的电路才能将数据转换成数字信号送给单片机处理。
DS18B20引脚功能如图2-6所示。
图2-6DS18B20引脚图
DS18B20温度传感器相比于传统的温度传感器具有很多优点。
在对其进行封装后可以适用于许多不同的环境中,根据不同的需要可以相应的改变外观。
在将封装后的DB18B20应用时,具有体积小,重量轻,形式多样,而且还不容易因为外力原因损坏的优点,可以适用于许多恶劣狭窄的环境中。
由于DS18B20温度传感器直接与单片机进行单线通信,就一根数据线连接,电路简单,接线方便,而且DS18B20温度传感器的功能满足此次设计的所有要求。
所以在温度传感器上选择了DS18B20。
2.6LED四位数码管与LCD液晶屏的选择
在LED数码管和LCD液晶屏的选择中我选择的是LED数码管,因为平时学习的就是数码管,对数码管的使用和编程熟悉,虽然在硬件电路的设计上LED数码管比LED液晶屏复杂多了,但在熟悉程度上还是对LED数码管比较熟悉。
数码管如果按段数划分的话,可以分为七段和八段数码管,七段和八段的区别在于八段的数码管多了一个显示位,即为小数点位(dp),这个小数点使得数码管能更准确的将内容显示出来了。
八段的数码管按能显示多少位数还可以分为1位、2位、3位、4位等一体的数码管,在这些问题上按需要进行选择。
由于此次显示的内容需要有小数点所以选择了八段数码管,根据测温的需求选择了四个一体的数码管。
四位一体的数码管共用一组段选数据线,相比一个一体的电路简单,焊接容易,编程量小,所以选择了四个一体的八段数码管。
实物如图2-7所示。
图2-7四位八段数码管实物图
3系统硬件的设计
3.1单片机的最小系统电路设计
以单片机为核心的系统,最小系统是一个必不可少的部分,它是维持单片机正常工作的基础。
最小系统的电路又可分为晶振电路和复位电路两个部分,电路如图3-1所示。
a.晶振电路,晶振电路决定着单片机的正常工作周期。
这部分电路使用的是单片机的XTAL2(18脚)和XTAL1(19脚),在电路中电容的作用是对振荡频率起到微调,在电容大小的选择上是根据晶振频率的大小对应选择的,一般6MHZ的晶振选择20pF的电容,12MHZ的晶振选择30pF的电容。
b.复位电路,这部分电路的连接用的是单片机的的RST(9脚)引脚,作用是给单片机一个高电平,持续的时间大于两个机器周期,可以对单片机进行复位操作。
复位单路的设计有好几种,在此次设计中,根据设计的需要我采用的是手动复位的方法。
在复位电路的接法上我采用的是最常用的接法,只由电阻和电容组成,电阻的大小为1KΩ和10KΩ,电容的大小为10uF。
图3-1复位电路
3.2基于DS18B20的测温电路的设计
温度检测电路如图3-2所示。
DS18B20温度传感器是通过一根单数据线和单片机的I/O口进行通信。
在此次的设计中采用的是P3.3与传感器进行通信,通过单片机进行编程控制和数据处理。
在这次的设计中利用DS18B20作为测温器件,使用编程控制来实现对温度的自动测量,将温度数据转换为数字量输出。
图3-2温度检测电路
3.3基于NRF24L01的无线发射模块与接收模块的设计
NRF24L01无线模块是近期生产的一种新型射频收发模块,能够完成无线数据的发射与接收。
我在此次设计中用到的是NRF24L01无线模块的发送与接收功能,来完成对单片机处理后的数据进行发送和接收同样来自NRF24L01无线模块发射的数据传送给单片机进行处理。
在使用时NRF24L01无线模块输出的功率和无线通信的频段可以通过编程实现控制,此次设计中我用到了NRF24L01无线模块的六个控制端和单片机通讯,分别是CE、SCK、MISO、MOSI、IRQ、CSN,通过在每个端口串联一个1KΩ的电阻进行限流。
NRF24L01无线模块的六个端口功能如下:
CSN:
片选信号端端,低电平有效;
SCK:
模块控制的时钟线;
MISO:
模块控制数据线;
MOSI:
IRQ:
模块得中断信号;
CE:
模块的模式控制线。
a.发射模块
在此次设计中将NRF24L01作为发射模块时,各引脚CSN、MISO、IRQ、MOSI、SCK、CE,对应的接在单片机的P1.0、P1.1、P1.2、P1.5、P1.6、P1.7。
发射模块的电路如图3-3所示。
图3-3发射模块电路图
b.接收模块
在此次设计中将NRF24L01作为接收模块时,各引脚CSN、MISO、IRQ、MOSI、SCK、CE,对应的接在单片机的P1.0、P1.1、P1.2、P1.5、P1.6、P1.7。
接收模块的电路如图3-4所示。
图3-4接收模块电路图
3.4AMS1117-3.3供电电路的设计
AMS1117是一个正向低压降稳压器,本设计采用的是AMS1117-3.3,为无线发射模块和接收模块提供3.3V的电压。
此系统另外还有两个电容共同构成,原理图和实物的引脚从左到右是对应的。
电路如图3-5所示。
图3-5AMS1117-3.3稳压器供电电路
3.5S9012放大电路的设计
系统中发射模块与接收模块在这使用这部分电路时,作用是完全一样的,在硬件的焊接上也没有区别,所以就放在一起介绍。
S9012三极管是一种非常普遍的三极管,在很多家用电器里都有用到,各种放大电路中也经常用到,S9012三极管的应用是很广泛的。
系统在显示模块用的是动态扫描的方法,没有用任何锁存芯片,会导致数码管在显示温度值时出现亮度不够,无法观察的现象。
为了解决这个问题,所以采用了S9012三极管放大信号的办法。
在此次设计中选用了四个S9012三极管,它们的基极分别与单片机的P2.0、P2.2、P2.4、P2.6相连,发射极分别连接数码管的四个位选端SMG1、SMG2、SMG3、SMG4,集电极都接地,S9012三极管的接法是根据数码管是共阴极来接的。
电路如图3-6所示。
图3-6S9012放大电路
3.6四位共阴极数码管显示电路的设计
这部分电路和S9012放大电路部分一样,发射模块与接收模块在使用这部分的作用都是完全一样的,在硬件电路上面没有区别,所以也放在一起介绍。
电路如图3-7所示。
在此次设计中选用的是四位共阴极数码管,这是一种非常普遍的数码管,四个数码管共用同一组段选数据线a、b、c、d、e、f、g及dp(小数点)。
在使用时通过位选对其进行选通控制,四个位选端分别连接四个S9012三极管的发射极SMG1、SMG2、SMG3、SMG4,然后接地。
四位数码管的八根段选数据线,按a、b、c、d、e、f、g及dp的顺序分别连接单片机的P0.0、P0.1、P0.2、P0.3、P0.4、P0.5、P0.6、P0.7口,同时给每个段选端都串联一个470Ω的限流电阻,然后给高电平。
只有同时给位选端低电平,段选端高电平时数码管才能正常工作。
图3-7四位共阴极数码管显示电路
4系统软件的设计
4.1软件的总体设计
a.发射模块
对于发送模块系统的设计是一个循环的系统,系统不停的重复着同样的工作。
具体步骤如下,先定义NRF24L01无线模块的每个端口,配置NRF24L01无线模块的各种参数,进行NRF24L01无线模块的初始化。
其次进行DS18B20温度传感器的设置,分为DS18B20温度传感器的复位函数,DS18B20温度传感器写入函数,再进行DS18B20温度传感器读函数。
最后是单片机的读取温度,温度处理,主函数的调用每个子函数进行最后的处理,发送温度数据和显示温度数据。
具体流程图如图4-1所示。
图4-1发射模块流程图
对于接收模块系统的设计也是一个循环的系统,系统也是不停的重复着同样的工作。
设计的总体步骤是这样的,首先还是定义无线模块NRF24L01的端口,初始化无线模块NRF24L01。
其次进入循环模式判断状态寄存器是不是有接收到中断信号,如果寄存器确定有接收到中断信号,那就让程序从RX_FIFObuffer读出二进制形式的温度数据。
最后由单片机将二进制数转换为十进制数,通过单片机的P0口在四位数码管上显示,其流程图如图4-2所示。
图4-2接收模块流程图
4.2软件的分步设计
a.DS18B20温度检测软件设计
对于温度检测模块的软件设计中,使用DS18B20温度传感器来测温时必须严格遵守单总线协议,从而保证准确的通讯的数据。
在单片机对其的控制中,利用时序来实现对DS18B20温度传感器写入和读出的操作,其中包括对DS18B20的初始化、写0、写1、读0,读1等控制。
在对DS18B20复位以后,当接收到相对应的信号时,就会跳过读ROM中读序列号,然后开始对温度进行数据转换,等到数据转换完成后将数据保存。
同样的方式重复执行,待系统停止工作后DS18B20温度传感才会停止工作,其流程图如图4-3所示。
b.无线发射模块软件设计
首先进行各端口的初始化操作,其中初始化内容分为配置单片机的I/O口,使之和对应的NRF24L01无线模块端口正常通信,接着是相关寄存器的设置,最终要实现的就是NRF24L01无线模块和单片机按需要正常通信。
其次就是通过SPI总线来控制NRF24L01无线模块需要的工作状态。
当模块需要的是发射数据时,就要将NRF24L01无线模块的工作方式设置为发射方式,再将需要发射的温度数据目地址写入NRF24L01无线模块的缓冲区,等到程序延时后将数据发射出去,这里的地址包含了数据地址TX—PLD和目标地址TX—ADDR。
其流程图如图4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 温度 数据 无线 传输 系统 设计 学士学位 论文