基于51单片机和NRF24L01的无线温度监控

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

单片机C语言课题设计报告设计题目:远程无线温度监测指导老师:施芸老师设计人:张登翔学号:201212020216班级:2012级电子信息1班设计时间:2014.5.17~2014.6.19四川工程职业技术学院电气系2012级电子信息一班张登翔201212020216登临对晚晴翔云列晓阵1摘要本课题以51单片机为核心实现智能化远程无线温度监控。利用18B20温度传感器获取温度信号,将需要测量的温度信号自动转化为数字信号,通过无线模块NRF24L01一对一传送将数据传送到接收机,最终单片机将信号转换成LCD可以识别的信息显示输出。基于STC89C52RC+NRF24L01+LCD1602的单片机的智能远程无线温度监控系统,设计采用18B20温度传感器,其分辨率可编程设计。本课题设计应用于温度变化缓慢的空间,综合考虑,以降低灵敏度来提高显示精度。设计使用12位分辨率,因其最高4位代表温度极性,故实际使用为11位半,而温度测量范围为-55℃~+125℃,则其分辨力为0.0625℃。设计使用LCD1602显示器,可显示16*2个英文字符,显示器显示实时温度和过温警告信息。报警采用蜂鸣器加LED组成的声光电报警。单片机C语言课题设计报告指导老师:施芸没有天生的聪明只有不懈的努力2目录一、设计功能.................................3二、系统设计.................................3三、器件选择.................................43.1温度信号采集模块...................................43.2液晶显示器1602LCD.................................93.3无线NRF24L01.....................................11四、软件设计................................114.1程序设计流程图....................错误!未定义书签。五、设计总结................................21六、参考文献................................22七、硬件原理图..............................22八、程序清单................................23四川工程职业技术学院电气系2012级电子信息一班张登翔201212020216登临对晚晴翔云列晓阵318B20采集温度采集一、设计功能·由单片机、温度传感器、无线模块NRF24L01以及液晶显示器等构成高精度远程无线温度监测系统。·温度显示精确到小数点后一位。·按键设定过温值,过温在液晶屏提示。二、系统设计NRF24L01发送温度值发送机STC89C52RC进行温度处理NRF24L01接收温度值接收机STC89C52RC进行温度值处理LCD1602进行温度显示光电报警单片机C语言课题设计报告指导老师:施芸没有天生的聪明只有不懈的努力4三、器件选择3.1温度信号采集模块传统的温度检测大多以热敏电阻为传感器,采用热敏电阻,可满足40℃度至90℃测量范围,但热敏电阻可靠性差,测量温度准确率低,对于1℃的信号是不适用的,还得经过专门的接口电路转换成数字信号才能由微处理器进行处理。目前常用的微机与外设之间进行的数据通信的串行总线主要有2IC总线,SPI总线等。其中2IC总线以同步串行2线方式进行通信(一条时钟线,一条数据线)。SPI总线则以同步串行3线方式进行通信(一条时钟线,一条数据输入线,一条数据输出线)。这些总线至少需要两条或两条以上的信号线。而单总线(1-wirebus),采用单根信号线,既可传输数据,而且数据传输是双向的,CPU只需一根端口线就能与诸多单总线器件通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。单总线具有广阔的应用前景,是值得关注的一个发展领域。单总线即只有一根数据线,系统中的数据交换,控制都由这根线完成。主机或从机通过一个漏极开路或三态端口连接到数据线,以允许设备在不发送数据时能够释放总线,而让其它设备使用总线。单总线通常要求外接一个约为4.7K的上拉电阻,这样,当总线闲置时其状态为高电平。3.1.1DS18B20数字式温度传感器DS18B20数字式温度传感器使用集成芯片,采用单总线技术,其能够有效的减小外界的干扰,提高测量的精度,同时,它可以直接将被测温度转化成串行数字信号供微机处理,接口简单,使数据传输和处理简单化。部分功能电路的集成,四川工程职业技术学院电气系2012级电子信息一班张登翔201212020216登临对晚晴翔云列晓阵5使总体硬件设计更简洁,能有效地降低成本,搭建电路和焊接电路时更快,调试也更方便简单化,大大缩短了开发的周期。3.1.2DS18B20特性采用单总线的接口方式,与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。单总线具有经济性好,抗干扰能力强,适合于恶劣环境的现场温度测量,使用方便等优点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。(1)适应电压范围更宽,电压范围:3.0~5.5V,在寄生电源方式下可由数据线供电。(2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。(3)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。(4)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。(5)温范围-55℃~+125℃。(6)可编程的分辨率为9~12位,对应的分辨力分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温。(7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。(8)测量结果直接输出数字温度信号,以1-wirebus串行传送给CPU,可选择同时传送CRC校验码,具有极强的抗干扰纠错能力。(9)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。单片机C语言课题设计报告指导老师:施芸没有天生的聪明只有不懈的努力63.1.3DS18B20结构DS18B20的内部结构3.1.4DS18B20测温原理DS18B20测温原理框图图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入.计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图3中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。四川工程职业技术学院电气系2012级电子信息一班张登翔201212020216登临对晚晴翔云列晓阵73.1.5DS18B20的读写功能DS18B20温度值格式表这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。例如+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FE6FH,-55℃的数字输出为FC90H。DS18B20温度数据表DS18B20温度传感器的存储器DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPRAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。TMR1R011111配置寄存器结构单片机C语言课题设计报告指导老师:施芸没有天生的聪明只有不懈的努力8低五位一直都是1,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动。R1和R0用来设置分辨率,如下表所示:(DS18B20出厂时被设置为12位)R1R0分辨率温度最大转换时间009位93.75ms0110位187.5ms1011位375ms1112位750ms温度分辨率设置表寄存器内容字节地址温度值低位(LSByte)0温度值高位(MSByte)1高温限值(TH)2低温限值(TL)3配置寄存器4保留5保留6保留7CRC校验值8DS18B20暂存寄存器分布根据DS18B20的通讯协议,主机(单片机)控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位操作,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,当DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功。指令约定代码功能读ROM33H读DS1820温度传感器ROM中的编码(即64位地址)符合ROM55H发出此命令之后,接着发出64位ROM编码,访问单总线上与该编码相对应的DS1820使之作出响应,为下一步对该DS1820的读写作准备。四川工程职业技术学院电气系2012级电子信息一班张登翔201212020216登临对晚晴翔云列晓阵9搜索ROM0FOH用于确定挂接在同一总线上DS1820的个数和识别64位ROM地址。为操作各器件作好准备。跳过ROM0CCH忽略64位ROM地址,直接向DS1820发温度变换命令。适用于单片工作。告警搜索命令0ECH执行后只有温度超过设定值上限或下限的片子才做出响应。温度变换44H启动DS1820进行温度转换,12位转换时最长为750ms(9位为93.75ms)。结果存入内部9字节RAM中。读暂存器0BEH读内部RAM中9字节的内容写暂存器4EH发出向内部RAM的3、4字节写上、下限温度数据命令,紧跟该命令之后,是传送两字节的数据。复制暂存器48H将RAM中第3、4字节的内容复制到EEPROM中。重调EEPROM0B8H将EEPROM中内容恢复到RAM中的第3、4字节。读供电方式0B4H读DS1820的供电模式。寄生供电时DS1820发送“0”,外接电源供电DS1820发送“1”。ROM指令表3.2液晶显示器1602LCDD0D1D2D3D4D5D6D7RWRSEND0D1D2D3D4D5D6D7D7D6D5D4D3D2D1D0ENRWRSXTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115U180C51X1CRYSTALC122pFC222pFGNDVCCGNDR110kC31uFVCCVCCGND234567891RP1RESPACK-8VCC43.0DQ2VCC3GND1U2DS18B20R24.7KD714D613D512D411D310D29D18D07E6RW5RS4VSS1VDD2VEE3LCD

1 / 40
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功