测温并24l0无线传输设计4804934.doc

上传人:本田雅阁 文档编号:2083288 上传时间:2019-02-11 格式:DOC 页数:21 大小:1.37MB
返回 下载 相关 举报
测温并24l0无线传输设计4804934.doc_第1页
第1页 / 共21页
测温并24l0无线传输设计4804934.doc_第2页
第2页 / 共21页
测温并24l0无线传输设计4804934.doc_第3页
第3页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《测温并24l0无线传输设计4804934.doc》由会员分享,可在线阅读,更多相关《测温并24l0无线传输设计4804934.doc(21页珍藏版)》请在三一文库上搜索。

1、 河南大学物理与电子学院毕业论文河南大学2013届本科毕业论文测温并24l01无线传输设计所 在 学 院: 物理与电子学院 所 学 专 业: 通信工程 18目 录摘要:10 前言11 系统组成与功能21.1 系统组成21.2 系统功能72 系统原理72.1 18B20测温24L01发射模块仿真图82.2 24L01接收模块仿真图82.3 实物照片93 程序流程图103.1 测温程序流程图103.2发射端程序流程图113.3接收端程序流程图124制作过程135主要元件清单145.1 发射板其他元件145.2 接收板其他元件146主要程序源代码156.1 温度采集处理主要部分函数156.2 发送模

2、块主要程序156.3接收端模块主要程序167结论178其他实现方案讨论179本方案创新点1810参考文献18测温并24L01无线传输张玮玮(河南大学物理与电子学院,河南 开封,475004)摘要: 本文采用18B20模块和24L01模块,用18B20测温传送至单片机中存储 并通过24L01模块无线传输,本文详细给出软硬件设计过程。该设计具有结构简单、实时性好、功耗小、价格低廉等优点,可用来进一步开发与利用。关键词:无线;温度传输;24L01;18B20;单片机temperature measuring and 24L01 wireless transmission“Zhang Wei-wei”

3、(School of Physics and Electronics, Henan University, Henan Kaifeng 475004, China)Abstract:In this paper, 18B20 modules and the 24L01 module with 18B20 temperature transmitted to the microcontroller stores and through the 24L01 module wireless transmission, this article details the hardware and soft

4、ware design process is given. The design has the advantages of simple structure, real-time, low power consumption, and low price, can be used to further development and utilization.Key words: wireless; temperature transmission; 24L01; 18B20; microcontroller0 前言温度的测试技术已经成熟,已经满足了人们的大部分需求,然而在某些工作场合下,我们

5、更想知道与自己不在一个地方的温度,以便进行温度调控,更好更方便地生产生活,因此,温度的传输就成为了我们要考虑的内容了。此单片机课程设计中,我们就基于24L01模拟温度的无线传输,经过调试,试验,已经实现了预期功能,同时也实现了对生产生活中温度预警的模拟功能。1 系统组成与功能1.1 系统组成本系统主要有AT89C52单片机、复位按键、无源蜂鸣器、18B20芯片、24L01模块、四位一体共阴8段数码管等元件组成。1.1.1 AT89C52单片机AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储

6、器(RAM),兼容标准MCS-51指令系统。AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。 图1-1引脚图如图1-1所示1.1.2 18B20测温芯片图1-2DS18B20的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。其一个工作周期可分为两个部分,即温度检测和数据处理。DS18B20 共有三种形态的存储器资源:ROM 只读存储器,用于存放 DS18B20ID 编码; RAM 数据暂存器,

7、用于内部计算和数据存取; EEPROM 非易失性, 记忆体,用于存放长期需要保存的数据.24L01模块NRF24L01是工作于2.42.5GHz世界通用的ISM频段的单片无线收发器芯片。无线收发器芯片包括:频率发生器、增强型SchockBurst模式控制器、功率放大器、晶体振荡器、调制器、解调器。输出功率、频道选择和协议的设置可以通过SPI接口进行设置.其拥有极低的电流消耗:当工作在发射模式下发射功率为-6dBm时电流消耗为9mA,接收模式为12.3mA。图1-3其引脚功能:引脚名称引脚功能描述1CE数字输入RX或TX模式选择2CSN数字输入SPI片选信号3SCK数字输入SPI时钟4MOSI数

8、字输入从SPI数据输入脚5MISO数字输出从SPI数据输出脚6IRQ数字输出可屏蔽中断脚7VDD电源电源(+3V)8VSS电源接地(0V)1.1.3 四位一体共阴数码管1图1-4其引脚图为:图1-51.1.4 无源蜂鸣器图1-6无源蜂鸣器是蜂鸣器的一种,区别于有源蜂鸣器,无源蜂鸣器是内部不带振荡源的蜂鸣器,是一体化结构的电子讯响器,在电路中的图形符号位H或者HA。无源蜂鸣器是靠压电效应的原理来发声的,压电材料,一般常见的是各种压电陶瓷. 这种材料的特别之处在于,当电压作用于压电材料时,就会随电压和频率的变化产生机械变形.另一方面,当振动压电陶瓷时,则会产生电荷.就是说这种材料能把机械变形和电荷

9、相互转化,压电式蜂鸣器里面的起振片,就是一种压电陶瓷.如上所述,要让它振动,除了压电陶瓷本身,还需要适当大小和频率变化的电压作用于压电陶瓷.压电式(有源)蜂鸣器内部带有多谐振荡器,可以产生 1.52.5kHZ 的电压信号. 由此压电式蜂鸣器才能发声。 1.1.5 74LS138 3-8译码器图1-774LS138:当一个选通端(G1)为高电平,另两个选通端(/(G2A)和/(G2B))为低电平时,可将地址端(A、B、C)的二进制编码在一个对应的输出端以低电平译出。A、B、C译码地址输入端G1选通端/(G2A)、/(G2B)选通端(低电平有效)Y0-Y7译码输出端(低电平有效)1.2 系统功能本

10、设计的主要功能是用18B20测温传送至单片机中存储 并通过24L01模块无线传输。发射端与接收端各有数码管分别显示发送、接收温度,同时系统又能实现报警功能 ,当所测温度超过预定值时,接收端的蜂鸣器报警提示。并且在发射端拥有七彩指示灯,当所测温度不发生变化时,指示灯会熄灭,以提示温度已恒定。2 系统原理本设计主要原理是单片机采集18B20测得的温度,同时将数据传给24L01的发射模块,并通过另一单片机控制24L01接收模块的接收,同时显示所测温度值。2.1 18B20测温24L01发射模块仿真图图2-1说明:24L01无线模块不能实现真正的仿真,上图中的NRF24L01仅作示意,但是数码管能正常

11、仿真2.2 24L01接收模块仿真图图2-22.3 实物照片图2-33 程序流程图发射板与接收板分别执行各自功能,各有各自的单片机控制,由24L01收发模块作为他们的关联。3.1 测温程序流程图开 始初始化数码管DB18B20复位读取 温度处理 温度数码管显示温度2s结 束图3-13.2发射端程序流程图开 始初 始 化读取18B20的温度处 理 温 度温度存入24L0发射数组数组值是否改变24L01发射数码管显示温度值指示灯闪烁是否结 束图3-23.3接收端程序流程图开 始初始化24L01接收准备24L01接收接收数据存入数组数码管显示温度是否大于20蜂鸣器唱一首歌是否唱歌定时时间是否到了是否

12、结 束图3-34制作过程简单地说,制作过程包括电路板的制作、元器件的焊接、程序的烧录、用Proteus软件做仿真和最后的调试、检验。在充分了解了电路中所需的各元器件的功能和性能,掌握了单片机原理及其应用,对24L01发射和接收模块仿真图有了充分的了解之后,我们开始焊接元器件。4.1焊接过程及出现的问题和解决4.1.1焊接工具不好用 当研究好各个元件和电路图开始焊接时,电烙铁很好用,我很快就上手了,焊的也很快,但是沾了一下松香之后电烙铁就坏了,加热很长时间也没一点温度,不能焊接,因此浪费了很长时间。印象最深的是被它烫的那几个大泡,相信焊过板子的每个同学都印象深刻。所以,要想保持高效率,必须要弄好

13、工具,这样才会事半功倍。4.1.2焊接时排线问题 焊接众多的元件时就需要事先把线排好,否则焊接过程受到影响不说,出现问题时检查线路也不好检查。一开始我没注意到这个问题,发射模块的线排的不好,有些不美观。而焊接接收模块时注意了一下,排线就好多了。4.1.3引脚问题 本实验元件中引脚很多,稍不小心就会焊错,拆的话不好拆,也很容易触碰到其他焊接好的东西,因此焊接的时候不仅要很认真,还要把引脚标记好。于是我就用标签在较弄混的引脚上标注清楚。4.1.4焊点之间相连问题 焊点之间相连的话会使线路出现短路,还会影响电路的美观,这个就需要焊接时多加小心了。唯一解决的办法是把握合适的焊接时间,多多练习,这样才能

14、熟能生巧,做得漂亮。4.1.5检查时出现的问题 1.焊接完成后,电路板不能测温,仔细检查之后才发现有些地方是虚焊的,有些地方漏焊了。 2.修改之后,我开始检验电路是否能达到预想的效果。但是在显示温度变化时,有些反应迟钝,于是我把程序中的延迟时间改了一下,一秒一改变,这样温度就变化正常了。 5主要元件清单原件名称数量万用板(9cm15cm)2STC89C52单片机274LS138224L01接收模块124L01发送模块12个四位一体共阴数码管2AMS1117-3.3稳压芯片25.1 发射板其他元件原件名称数量18B20测温芯片1晶振12M,1上拉电阻1复位按键1七彩发光二极管指示灯1电容30pf

15、2电阻(10k,4.7k)各一个5.2 接收板其他元件原件名称数量晶振12M1电容30pf2无源蜂鸣器1上拉电阻1电阻(10k,4.7k)各一个复位按键16主要程序源代码6.1 温度采集处理主要部分函数#include reg51.h/*DS18B20复位函数*/ow_reset(void);/*DS18B20写命令函数*/void write_byte(uchar val);/*DS18B20读1字节函数*/uchar read_byte(void);/*读出温度函数*/read_temp();/*温度数据处理函数*/work_temp();main();6.2 发送模块主要程序#inclu

16、de reg51.h/*NRF24L01初始化void init_NRF24L01(void);/*主函数*/main() int f=0;uchar a3;int t;while(1) uchar t=0;uchar i=1;long int j=0;Disdata=0xFF;/初始化端口discan=0xff;led=0;for(h=0;h4;h+)displayh=0;/开始显示0000ow_reset(); init_NRF24L01() ;write_byte(0xCC);/Skip ROMwrite_byte(0x44);/发转换命令if(f=0)for(h=0;h500;h+)

17、scan();f=1;/每次重新初始化,重新装载数据,最大限度地消除干扰,/同时只有第一次初始化显示0000 再次初始化时数码管并不再显示0000read_temp();/读出DS18B20温度数据work_temp();/处理温度数据 i=display0;/把发射数组中的第1个数设为i TxBuf0=i; i=display1;/把发射数组中的第2个数设为i TxBuf1=i; i=display2;/把发射数组中的第3个数设为i TxBuf2=i; i=display3;/把发射数组中的第4个数设为i TxBuf3=i;if(a0=TxBuf0&a1=TxBuf1&a2=TxBuf2)

18、;elseled=1;/ 温度不变时指示灯不再闪烁,温度变化,指示灯开始闪烁for(t=0;t3;t+) at=TxBuft; nRF24L01_TxPacket(TxBuf);/ Transmit Tx buffer data一次发完数组中的20个数for(h=0;h500;h+) scan();/显示温度2 s 6.3接收端模块主要程序 void main(void)long int j=0;char k;p=1;for(h=0;h4;h+)RxBufh=0;/开始显示0000init_NRF24L01() ; /2401初始化Delay(2000);while(1)SetRX_Mode(

19、); nRF24L01_RxPacket(RxBuf); /一次收完20个数,放在RxBuf20中/接收到数据 for(k=0;k=2) InitialSound(); /*Play(Music_tomorrow,0,3,360) ; Delay1ms(500); */Play(Music_Girl,0,3,360);Delay1ms(500);/* Play(Music_Same,0,3,360);Delay1ms(500); */ /去掉隐藏符号即可播放/*Play(Music_Two,0,3,360);Delay1ms(500);*/ 高于20播放音乐 7结论通过18B20测温并由单片机控制,利用24L01实现无线传输,能够很准确将所测温度传输到几十米外的距离,并且在超过某一温度时自动报警,可以用于某些不利于近距离观测的生产生活中。8其他实现方案讨论可以使用1602液晶显示屏代替数码管 ,显示更多的文字说明,同时还可以使用其他型号的无线收发模块进行试验,也能得出结果。 9本方案创新点 1.温度超过某一温度蜂鸣器自动报警并播放音乐; 2.温度低于报警温度时,七彩指示灯会随着温度的变化闪烁。10参考文献1 李朝青,单片机原理及接口技术(第3版),北京航空航天大学出版社2 阎石.数字电子技术基础M,北京:高等教育出版社,1998。3 http:/

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1