ImageVerifierCode 换一换
格式:DOCX , 页数:46 ,大小:296.72KB ,
资源ID:9847789      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9847789.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(无线温度遥测系统C题.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

无线温度遥测系统C题.docx

1、无线温度遥测系统C题合肥学院第七届电子设计竞赛报告作品名称:无 线 温 度 遥 测 系 统 学校全称: 合 肥 学 院 系别班级: 08级电子信息与电气工程系 队员姓名:08电子班 胡光 0805070240 08电子班 刘扬 080507024408电子班 程坤 0805070263 无线温度遥感系统摘要:本系统是基于80C52单片机和无线传输模块设计的无线温度遥测系统。温度测量采用的是DS18B20温度传感器;无线数据传输是基于FSK调制解调,抗干扰能力强的NRF24L01无线收发芯片;系统为低功耗设计。关键字: 无线通信 DS18B20 单片机一、引言在许多场合需要将传感器节点直接放置在

2、目标地点进行现场的数据采集,这就要求传感器节点具有无线通信的能力。同时,由于无线传感器通常使用电池作为能源,所以,它对能耗要求也比较高。无线温度遥感系统可以实现主机端与传感器节点之间的通信,并且通过选用低功耗的芯片和对软件的低功耗设计,也可以实现低功耗的目标。1.1基本要求(1)测温范围1065,误差2米;(4)可设置温度上限报警;(5)接收点显示测温点数据及声光上限报警信号;1.2.发挥部分(1)遥测距离5米;(2)误差5米的要求。五、总结心得经过我们的团结协作、不懈努力,终于我们的无线温度遥测系统完成了,这次电子设计竞赛让我们在付出的道路上收获了很多。从选题开始一直到现在,我们感受着比赛带

3、来的兴奋与快乐的同时,也体味到了付出的不易。经过这些天的努力,我们也终于将这份艰苦却又充满乐趣的事情完成了。本无线温度遥测系统中,温度传感器采用的是DS18B20,开始我们考虑的是PT100这种温度传感器件,但是由于DS18B20能够达到要求,相对又经济方便,最终选用了DS18B20。不过对于无线收发芯片的选用,相比之下就没有这样顺利了,我们起初的考虑忽视了经济这一个重要方面,经过查阅资料,开始考虑的是PRT2000,它的性能很不错,不过后来才想到没有考虑它的价格,当了解到一块PRT2000无线收发模块价格在一百元左右的时候,我们意识到这是不可行的,应该选用其它的性能接近并且经济的芯片,经过了

4、一番周折,最终确定了NRF401无线收发模块。当最终完成的时候,大家很开心的松了一口气,甚至在实物测试看到温度发送接收成功时,我们兴奋地欢呼相拥。作为大三的学生,第一次参加学校的电子设计竞赛,在为比赛努力付出的过程中,我们也有很多收获。为了把作品做成功,我们查阅资料,检索文献,其间丰富了我们的知识,增加了些许经验。我们常常是三个人在一起,通过分工协作和互相帮助,也让我们又一次体味了团队合作的重要。在将实物做出来的过程中,我们感受到原来所有的一切都是那么的不易,都需要我们认真的思考,研究。对于电路板的焊接,需要事先进行排版布线,然后将相应的元件连接起来,焊接中,我们仿佛回到了曾经,回到了那个为了

5、心中的象牙塔拼搏奋斗的日子,静静地专注于你的目标,双手在万能板上忙忙碌碌,电烙铁在焊锡丝和元件之间反反复复。偶尔会因某一个元件焊接的不够理想而眉头紧蹙,然后锡枪除去焊锡,再重新焊接,只是为了让电路焊接的更理想;时而也会因感觉到焊接的电路很不错而不由自主地啧啧赞叹。就这样我们的实物电路焊接完成了,接着是程序的编写,查阅了大量的资料,参考了一些相关书籍,最终编写完成后,烧录到STC89C52单片机中,连接电路测试。起初的测试,没有达到要求,接下来便是对程序的再编写,再调试,就这样反反复复,最终实现了。尽管其间是枯燥的难熬的,不过,在测试成功,数据显示出来的那一瞬,心中的快乐难以言表,那种感觉多么的

6、让人享受。当我们聚在一起专心为之而战斗的时候,专心的投入进去后,终于在你迫切地需要缓一下劲而暂停了一下的时候,你会恍然惊叹:大家居然忙了这么久!是的,这是专心,这是态度,人们说态度决定高度!兴奋着便又埋首于当前的工作之中了。最终,我们终于可以开心地笑着说我们可以稍事休息一会儿了,此次的任务完成了。我们默契的在心中共铭:不能放弃!这不仅仅是因为执著,也许还因为我们已骑虎难下,毕竟付出了很多,付出了好久。为着它到了几近痴狂的程度,不只是对它所拥有着的浓厚兴趣,更是为了求得一个交待。我们心中有着一个坚定的信念:我们要彼此并肩齐首,走更远的路。参考文献:郭天祥 新概念51单片机C语言教程 谭浩强 C程

7、序设计(第三版)李岁劳 杨鹏翔 朱新颖 基于C8051单片机的多路温度无线遥测系统 仪器仪表: 仪器仪表名称型号生产公司名称三位半数字万用表MY61苏山仪器仪表公司温度计MC不详(从电子系实验室借用)附录总电路设计原理图 基于单片机的温度采集与无线发送电路 基于单片机的无线接收及1602液晶显示电路程序代码清单:发射Allhead.h/*/#ifndef _ALLHEAD_H_#define _ALLHEAD_H_/*/#includepubile.h#includeDelay.h#includeNRF24L01.h#includeDS18N02.h/*/#endifDelay.h/*/#if

8、ndef _DELAY_H_#define _DELAY_H_/*/void Delay(unint t);void DDelay(unint t);/*/#endifDS18B20.h/*/#ifndef _DS18B20_H_#define _DS18B20_H_/*/extern void Reset();extern void WriteChar(unchar dat);extern unint ReadChar();extern unint ReadTemperature();/*/#endifNRF24L01.h/*/#ifndef _NRF24L01_H_#define _NRF

9、24L01_H_/*/#define TX_ADDR_WITDH 5 /发送地址宽度设置为5个字节#define RX_ADDR_WITDH 5/接收地址宽度设置为5个字节#define TX_DATA_WITDH 10/发送数据宽度1个字节#define RX_DATA_WITDH 10/接收数据宽度1个字节/*命令寄存器*/#define R_REGISTER 0x00/读取配置寄存器#define W_REGISTER 0x20/写配置寄存器#define R_RX_PAYLOAD 0x61/读取RX有效数据#define W_TX_PAYLOAD 0xa0/写TX有效数据#define

10、 FLUSH_TX 0xe1/清除TXFIFO寄存器#define FLUSH_RX 0xe2/清除RXFIFO寄存器#define REUSE_TX_PL 0xe3/重新使用上一包有效数据#define NOP 0xff/空操作/*寄存器地址*/#define CONFIG 0x00/配置寄存器#define EN_AA 0x01/使能自动应答#define EN_RXADDR 0x02/接收通道使能0-5个通道#define SETUP_AW 0x03/设置数据通道地址宽度3-5#define SETUP_RETR 0x04/建立自动重发#define RF_CH 0x05/射频通道设置#

11、define RF_SETUP 0x06/射频寄存器#define STATUS 0x07/状态寄存器#define OBSERVE_TX 0x08/发送检测寄存器#define CD 0x09/载波#define RX_ADDR_P0 0x0a/数据通道0接收地址#define RX_ADDR_P1 0x0b/数据通道1接收地址#define RX_ADDR_P2 0x0c/数据通道2接收地址#define RX_ADDR_P3 0x0d/数据通道3接收地址#define RX_ADDR_P4 0x0e/数据通道4接收地址#define RX_ADDR_P5 0x0f/数据通道5接收地址#d

12、efine TX_ADDR 0x10/发送地址#define RX_PW_P0 0x11/P0通道数据宽度设置#define RX_PW_P1 0x12/P1通道数据宽度设置#define RX_PW_P2 0x13/P2通道数据宽度设置#define RX_PW_P3 0x14/P3通道数据宽度设置#define RX_PW_P4 0x15/P4通道数据宽度设置#define RX_PW_P5 0x16/P5通道数据宽度设置#define FIFO_STATUS 0x17/FIFO状态寄存器/*相关函数声明*/unchar NRFACK();unchar NRFSPI(unchar date

13、);unchar NRFReadReg(unchar RegAddr);unchar NRFWriteReg(unchar RegAddr,unchar date);unchar NRFReadRxDate(unchar RegAddr,unchar *RxDate,unchar DateLen);unchar NRFWriteTxDate(unchar RegAddr,unchar *TxDate,unchar DateLen);unchar NRFRevDate(unchar *RevDate);void NRFSetTxMode(unchar *TxDate);void NRF24L01

14、Int();void NRFSetRXMode();unchar CheckACK();extern unchar bdata sta;/*/#endifPubile.h/*/#ifndef _PUBILE_H_#define _PUBILE_H_/*/#define unchar unsigned char#define unint unsigned int/*/#endifDelay.c/*/#includereg52.h#includeAllhead.h/*延时函数*/void Delay(unint t) unint x,y; for(x=t;x0;x-) for(y=110;y0;y

15、-);/* DS18B20专用延时子函数*/void DDelay(unint t) unint n; n=0; while(n0;i-) DQ=0; DQ=dat&0x01; DDelay(5); DQ=1; dat=1; DDelay(4); /* DS18B20读一个字节函数*/unint ReadChar() unchar i,dat=0; for (i=8;i0;i-) DQ=1; DDelay(1); DQ=0; dat=1; DQ=1; if(DQ) dat=dat|0x80; DDelay(4); return(dat); /* /*SPI时序函数*/unchar NRFSPI

16、(unchar date) unchar i; for(i=0;i8;i+) / 循环8次 if(date&0x80) MOSI=1; else MOSI=0; / byte最高位输出到MOSI date=1; / 低一位移位到最高位 SCLK=1; if(MISO) / 拉高SCK,nRF24L01从MOSI读入1位数据,同时从MISO输出1位数据 date|=0x01; / 读MISO到byte最低位 SCLK=0; / SCK置低 return(date); / 返回读出的一字节/*NRF24L01初始化函数*/void NRF24L01Int() Delay(2);/让系统什么都不干

17、CE=0; /待机模式1 CSN=1; SCLK=0; IRQ=1; /*SPI读寄存器一字节函数*/unchar NRFReadReg(unchar RegAddr) unchar BackDate; CSN=0;/启动时序 NRFSPI(RegAddr);/写寄存器地址 BackDate=NRFSPI(0x00);/写入读寄存器指令 CSN=1; return(BackDate); /返回状态/*SPI写寄存器一字节函数*/unchar NRFWriteReg(unchar RegAddr,unchar date) unchar BackDate; CSN=0;/启动时序 BackDate=NRFSPI(RegAddr);/写入地

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1