基于单片机的无线测温系统的设计_第1页
基于单片机的无线测温系统的设计_第2页
基于单片机的无线测温系统的设计_第3页
基于单片机的无线测温系统的设计_第4页
基于单片机的无线测温系统的设计_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、大连海事大学装订线毕 业 论 文二一四年六月基于 51 单片机的无线测温系统的设计 专业班级: 通信工程1班姓 名: 杜嘉麟 指导教师: 李作洲 信息科学技术学院摘 要温度是日常生活中必不可少的重要参数。在日常生活中有许多时候我们都离不开温度的测量。简单的温度计已经不能满足一些特定情况下的温度测量,尤其在某一些环境恶劣的工业场所和户外场所,在这种情况下再使用传统温度计测量温度是不切实际的。所以无线测温系统的开发与设计便显得异常重要。当下一些无线温度测量系统已得到开发和设计,但因其高昂的成本导致其还没有普及到日常生活当中。在实际测温过程中既要保证系统的准确性、稳定性、实时性又需要保证产品的低功耗

2、,操作简单。因此设计一种低功耗,小成本,易使用的无线测温系统就显得很有意义。本次设计利用STC89C52型号的单片机控制DS18B20型号的温度传感器来实现无线测温系统的设计。通过简单的无线通信协议,实现高可靠性与低功耗,小成本的无线测温系统的设计。本次设计能实现对温度的远程检测。小成本、低功耗、即时性的无线测温系统是本次设计的最大特点。本次设计的无线传输模块采用的型号是NRF24L01。该系统结构简单,性能可靠,功耗较低,成本低廉,提供了一种新型的无线传感器的解决方案。关键词:51单片机;无线测温;无线传输模块AbstractTemperature is the essential para

3、meter in daily life, which is often to need measure. The traditional thermometer can not meet the temperature measurement of the specific circumstances, especially in some of the harsh industrial space and outdoor space, where the measurement is unrealistic. So the development and design of wireless

4、 temperature measuring system is very important.Many wireless temperature measurement systems have been developed so far, however, high cost stops the systems wildly applied in our daily life. In the actual measurement process it is necessary to ensure the stability of the system, the real-time and

5、the low power consumption. So the design of a low power and low cost wireless temperature measuring system is of great significance. Some temperature sensors, model DS18B20, are controlled by SCM, type STC89C52. These devices constitute the measurement and control system. Using simple wireless commu

6、nication protocol, a high reliability, low power consumption and low cost system is designed, which can realize remote detection of temperature. Low cost, low power consumption, real-time and remote control are focuses of this design. The wireless transmission module used in this system is NRF24L01.

7、This system has advantages of simple structure, reliable performance, low power consumption and low cost, providing a novel scheme, namely using wireless sensors.Keywords: MCS-51r, wireless temperature measurement, Wireless transmission module目 录第1章绪 论11.1 论文研究主要内容11.2 国内外现状3第2章关键技术介绍52.1 单片机最小系统介绍5

8、2.2 无线收发模块52.3 数码管显示电路52.4 电源模块电路6第3章系统分析73.1 构架概述73.1.1 功能构架73.1.2 模块需求描述73.2 系统开发环境83.3 系统任务的可行性分析83.3.1 技术可行性83.3.2 系统安全性分析9第4章系统设计104.1 构架概述104.2 系统的功能结构设计10第5章系统实现125.1 软件实现125.1.1 主函数模块功能介绍125.1.2 发送程序功能介绍125.1.3 接收程序功能介绍125.1.4 函数实现135.2 硬件实现165.2.1 单片机接口及功能介绍165.2.2 晶振电路设计165.2.4 报警电路设计175.2

9、.5 温度检测电路设计185.2.6 数码管驱动电路设计185.2.7 NRF24L0121第6章系统测试246.1 测试方案246.2 读取数据并对比246.3系统运行结果24结论26参 考 文 献27致 谢28附录129基于 51 单片机的无线测温系统的设计第1章绪 论在工业现场,由于生产环境恶劣,工作人员不能长时间停留在现场观察设备是否运行正常,就需要采集数据并传输数据到一个环境相对好的操控室内,这样就会产生数据传输问题。由于厂房大、需要传输数据多,使用传统的有线数据传输方式就需要铺设很多很长的通讯线,浪费资源,占用空间,可操作性差,出现错误换线困难。而且,当数据采集点处于运动状态、所处

10、的环境不允许或无法铺设电缆时,数据甚至无法传输,此时便需要利用无线传输的方式进行数据采集。在农业生产上,不论是温室大棚的温度监测,还是粮仓的管理,传统上都是采取分区取样的人工方法,工作量大,可靠性差。而且大棚和粮仓占地面积大,检测目标分散,测点较多,传统的方法已经不能满足当前农业发展的需要。当前的科技水平下,无线通信技术的发展使得温度采集测量精确,简便易行。在日常生活中,随着人们生活水平的提高,居住条件也逐渐变得智能化。如今很多家庭都会安装室内温度采集控制系统,其原理就是利用无线通信技术采集室内温度数据,并根据室内温度情况进行遥控通风等操作,自动调节室内温度湿度,可以更好地改善人们的居住环境。

11、在现实生活中,这种无线温度采集系统已经被成功应用于工农业、环境监测、军事国防、机器人控制等许多重要领域,而且类似于这种温度采集系统的无线通信网络已经被广泛的应用到民用和军事领域。凡是布线繁杂或不允许布线的场合都希望能通过无线方案来解决。为此,需要设计相应的接口系统,控制这些射频芯片工作,完成可靠稳定的无线数据通信,这样的研究也变得更加有意义了。1.1 论文研究主要内容本次设计主要采用STC89C52单片机,之所以采用单片机系统,主要是由于单片系统具备如下特点(1)高集成度,体积小,高可靠性  单片机将各功能部件集成在一块晶体芯片上,集成度很高,体积自然也是最小的。芯片本身是

12、按工业测控环境要求设计的,内部布线很短,其抗 工业噪音性能优于一般通用的CPU。单片机程序指令,常数及表格等固化在ROM中不易破坏,许多信号通道均在一个芯片内,故可靠性高。  (2)控制功能强  为了满足对对象的控制要求,单片机的指令系统均有极丰富的条件:分支转移能力,I/O口的逻辑操作及位处理能力,非常适用于专门的控制功能。  (3)低电压,低功耗,便于生产便携式产品  为了满足广泛使用于便携式系统,许多单片机内的工作电压仅为1.8V3.6V,而工作电流仅为数百微安。  (4)易扩展

13、  片内具有计算机正常运行所必需的部件。芯片外部有许多供扩展用的三总线及并行、串行输入/输出管脚,很容易构成各种规模的计算机应用系统。  (5)优异的性能价格比  单片机的性能极高。为了提高速度和运行效率,单片机已开始使用RISC流水线和DSP等技术。单片机的寻址能力也已突破64KB的限制,有的已可达到1MB和16MB,片内的ROM容量可达62MB,RAM容量则可达2MB。由于单片机的广泛使用,因而销量极大,各大公司的商业竞争更使其价格十分低廉,其性能价格比极高。本系统的无线部分设计采用了Nordic公司新推出的工作于2.4GHz频段

14、NRF24L01射频芯片,由STC89C52单片机控制实现短距离无线数据通信。该接口设计具有成本低、传输速率高、软件设计简单以及通信稳定可靠等特点。整个系统有发送和接收二部分,通过NRF24L01无线数据通信收发模块来实现无线数据传输。发送部分以单片机STC89C52为核心,使用温度转换芯片DS18B20实时采集温度并通过NRF24N01将采集的温度无线传送给接收部分,然后在数码管上显示,通过蜂鸣器实现对温度过高或过低进行报警。NRF24L01是一款工业级内置硬件链路层协议的低成本无线收发器。该器件工作于2.4 GHz全球开放ISM频段,内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块

15、,并融合增强型Shock Burst技术,其输出功率和通信频道可通过程序配置。拥有Shock Burst和Enhanced Shock Burst两种数据传输模式。可直接与单片机IO连接,外接元件数目少。NRF24L01功耗低,以-6 dBm的功率发射时,工作电流仅9 mA;接收时,工作电流仅123 mA,多种低功率工作模式(掉电和空闲模式)更利于节能设计。本系统测温模块采用的是DS18B20温度传感器,DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有LTM8877,LTM8874等等。主要根据应用场合的不同而改变其外

16、观。封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。DS18B20独特的一线接口,只需要一条口线通信 多点能力,简化了分布式温度传感应用 无需外部元件 可用数据总线供电,电压范围为3.0 V至5.5 V 无需备用电源 测量温度范围为-55摄氏度至+125摄氏度。华氏相当于是-67华氏度到257华氏度 -10摄氏度至+85摄氏度范围内精度为±0.5摄氏度。温度传感器可编程的分辨率为912位,温度转换为12位数字格式最大

17、值为750毫秒,用户可定义的非易失性温度报警设置,应用范围包括恒温控制、工业系统、消费电子产品温度计、或任何热敏感系统。描述该DS18B20的数字温度计提供9至12位(可编程设备温度读数)。由于DS18B20是一条口线通信,所以中央微处理器与DS18B20只有一个一条口线连接。为读写以及温度转换可以从数据线本身获得能量,不需要外接电源。 因为每一个DS18B20的包含一个独特的序号,多个DS18B20可以同时存在于一条总线。这使得温度传感器放置在许多不同的地方。它的用途很多,包括空调环境控制,感测建筑物内温设备或机器,并进行过程监测和控制。1.2 国内外现状温度采集控制系统在国内各行各业的应用

18、虽然已经十分广泛,但从国内生产的温度监控来讲,总体发展水平仍然不高,同日本、美国、德国等先进国家相比,仍然有着较大的差距。成熟的温控产品主要以“点位”控制及常规的PID控制器为主,它们只能适应一般温度系统控制,而用于较高控制场合的智能化、自适应控制仪表,国内技术还不十分成熟,形成商品化并广泛应用的控制仪表较少。随着我国经济的发展及加入WTO,我国政府及企业对此都非常重视,对相关企业资源进行了重组,相继建立了一些国家、企业的研发中心,开展创新性研究,使我国仪表工业得到了迅速的发展。 随着新技术的不断开发与应用,近年来单片机发展十分迅速,一个以微机应用为主的新技术革命浪潮正在蓬勃兴起,单片机的应用

19、已经渗透到电力、冶金、化工、建材、机械、食品、石油等各个行业。传统的温度采集方法不仅费时费力,而且精度差,单片机的出现使得温度的采集和数据处理问题能够得到很好的解决。温度是工业对象中的一个重要的被控参数。然而所采用的测温元件和测量方法也不相同;产品的工艺不同,控制温度的精度也不相同。因此对数据采集的精度和采用的控制方法也不相同。传统的控制方式已不能满足高精度,高速度的控制要求,如温度控制表温度接触器,其主要缺点是温度波动范围大,由于它主要通过控制接触器的通断时间比例来达到改变加热功率的目的,受仪表本身误差和交流接触器的寿命限制,通断频率很低。近几年来快速发展了多种先进的温度控制方式,如:PID

20、控制,模糊控制,神经网络及遗传算法控制等。这些控制技术大大的提高了控制精度,不但使控制变得简便,而且使产品的质量更好,降低了产品的成本,提高了生产效率。本系统要求有数据处理,显示功能等,被控对象为一阶惯性环节和一阶积分环节的组合,惯性时间常数为2s,开环增益k=10,温度控制范围为-50150。 本设计使用单片机作为核心进行控制。单片机具有集成度高,通用性好,功能强,特别是体积小,重量轻,耗能低,可靠性高,抗干扰能力强和使用方便等独特优点,在数字、智能化方面有广泛的用途。本系统使用STC89C52单片机,使温度采集大为简便。第2章关键技术介绍2.1 单片机最小系统介绍单片机最小系统即是单片机运

21、行的最基本电路,最小系统中的组成缺一不可。最小系统主要是由三部分组成,其中包括单片机、复位电路、时钟电路等几部分组成。这几部分是单片机系统必不可少的,既然被称为单片机最小系统,他的每一部分都是单片机系统必不可少的部分,单片机是一切控制的核心,他负责单片机软件的运行,协调各个硬件电路之间的协调运行。软件代码需要烧写在单片机内,供电后,单片机运行程序即可开始运行,随着事先的设定实现相应的功能。单片机又称单片微控制器,是在一块芯片中集成了CPU中央处理器、RAM数据存储器、ROM程序存储器、定时器/计数器和多种功能的I/O输入/输出接口等一台计算机所需要的基本功能部件,从而可以完成复杂的运算、逻辑控

22、制、通信等功能。单片机的最小系统就是让单片机能正常工作并发挥其功能时所必须的组成部分也可理解为是用最少的元件组成的单片机可以工作的系统。2.2 无线收发模块无线数据传输广泛地应用于社会的各个行业,主要包括监控系统、遥控系统、无线网络和信号采集系统。因为其稳定的性能和性价比很高深受大众喜爱。开源软件无线电技术对无线电的行业影响颇深,无线收发模块也不例外。它提供信号运行和处理模块,用它可以在易制作的低成本射频(RF)硬件和通用微处理器上实现软件定义的无线电。无线模块广泛被业余爱好者,学术机构和商业机构用来研究和构建无线通信系统。开发者能够简单快速的构建一个实时、高容量的无线通信系统。2.3 数码管

23、显示电路显示模块在单片机系统中有着非常重要的作用,根绝系统需求的不同会设计不同的显示电路。在显示温度的过程中会使用显示电路,此电路对于显示的要求比较高,所以此电路使用了LED数码管显示电路,此电路的优点是成本低,控制简单,占用资源少。是本系统非常理想的选择。LED数码管(LED Segment Displays)由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个。这些段分别由字母a,b,c,d,e,f,g,dp来表示。数码管在使用过程中必须设计驱动电路,如果单片机和数码管直接相连

24、的话会导致数码管亮度不足或者出现烧损单片机的情况。2.4 电源模块电路电源是系统运行的一切的基础,所以电源供电电路必不可少,它必须给系统的各个器件进行供电,保证系统的运行。供电电路由电源芯片为主要组成,他能够提供稳定的合适的电源以使电路能够正常稳定的运行,电源供电电路是一切运行的基础。第3章系统分析3.1 构架概述3.1.1 功能构架根据需求调研结果确定本系统主要包括以下功能模块,如图3.1所示。温度传感器时钟电路复位电路单片机发送模块接收模块单片机显示模块报警模块图3.1 系统体系结构3.1.2 模块需求描述(1)单片机最小系统功能描述单片机最小系统的功能是核心控制系统,单片机最小系统实现的

25、主要功能是控制功能电路的正常运行,已达到实现功能的目的。单片机最小系统是功能实现的控制单元,此模块还必须包含时钟电路和复位电路,由于运行环境和很多不确定的因素导致的系统不正常运行,外部复位电路是必不可少的,在系统运行不正常时,内部复位电路已经无法正常复位,所以外部复位电路必不可少。时钟电路也是单片机系统运行的必须器件之一,本系统选用了12M的晶振,主要系统是通信系统,故选用12M的晶振,以方便通信。(2)电源模块功能电源对于任何一个现代化产品来说,都是一切的基础。他是一切电子设备运行的能量来源。电源模块的设计必须满足电路内部一切供电电压电路的需求,对于不同的电压需求必须有相应的电路和电源模块进

26、行实现。(3)无线收发模块功能无线收发模块是利用NRF24L01为基础研发的,NRF24L01是一款新型单片射频收发器件。工作于2.4 GHz2.5 GHz ISM频段。无线收发模块的功能是将无线监测到的信号进行传输,并互相读取。无线模块能够对信号进行远程收发,通过2.4GHz的频率进行无线通信。其中输出功率和通信频道可通过程序进行配置。NRF24L01功耗低,在以-6dBm的功率发射时,支持多种低功率工作模式,有掉电模式和空闲模式,使节能设计更方便。(4)LED显示模块功能显示电路现在已经成为了最小系统不可缺失的一部分,虽然单片机最小系统并未包含显示电路,可是现有的单片机电路没有了显示电路已

27、经不能称为合格的单片机系统。只有具有显示电路才是更加先进和美观的电路,LED显示模块主要负责在使用过程中数据的查看,保证在有输入时液晶显示电路会有相应的显示,将输入的内容显示在液晶显示屏上。液晶显示电路在设置完成后,需要实时显示接收到的温度信息。保证了系统的人性化和科学化。使其更加美观更加人性化。3.2 系统开发环境 硬件环境:硬盘40G,内存1024MB软件环境:windows xp/73.3 系统任务的可行性分析3.3.1 技术可行性 本系统采用双控制模块化结构,分两部分进行控制。两部分由各自的单片机进行控制,各自独立运行,互不影响。这样对于系统的安全更加有保障。在某个模块的出现问题的时候

28、不会影响到整个系统的正常运行。本系统选用的单片机STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K系统可编程Flash存储器,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统在中编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。STC89C52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,STC89C5

29、2可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。STC89C52采用40引脚的双列直插封装(DIP方式)。STC89C52具有丰富的资源,而且性价比很高,对于一个有市场意义的项目来说成本的控制是非常重要的。3.3.2 系统安全性分析本系统选择了单片机STC89C52,显示部分选择了LED数码管。系统功能上分为发送端和接受端两部分,发送端主要功能是负责收集传感器得到的信号,在单片机处理后,通过NRF24L01发送到接

30、收端。接受端主要功能是接受发送端发出的信号,并在LED数码管上显示发送数据。系统采用行业范围内比较经典且有一定使用经验的传感器和器件。保证了系统的安全性。第4章系统设计4.1 构架概述本系统主要分两部分,温度检测电路和温度显示电路。将部分电路分开的主要目的是实现本系统的无线收发功能。本系统的远程无线收发功能可以实现对远程温度监控的功能。对于无线收发功能主要是依靠NRF24L01模块,通过两个模块之间的通信进行数据交流。两个系统相互独立,又相互依存。两个电路在相互配合过程中,采用NRF24L01模块的无线信号为介质,将温度传感器检测到的温度信号进行传输,通过显示电路将温度显示出来。这样就实现了一

31、个远程的温度检测系统。温度检测电路主要是由单片机最小系统、电源电路、NRF24L01模块和温度检测电路。温度检测电路通过单片机对温度传感器进行控制,温度传感器采用的是DS18B20,此温度传感器采用单总线方式进行信号传输。在信号传输必须保证时序的准确控制。在控制时序的过程中实现温度信号的准确传输。温度显示电路主要有单片机最小系统、电源电路、NRF24L01模块和温度显示用的LED数码管电路。温度显示电路使用单片机控制NRF24L01模块和LED数码管。单片机实时检测NRF24L01模块的信号,一旦有信号单片机即将信号显示在LED数码管上。这两部分电路互相独立,控制不同,代码不同,流程不同,其互

32、相之间不产生干涉。电路中温度检测模块单片机将采集到的数据发送给显示模块单片机即可实现无线模块的数据发送。4.2 系统的功能结构设计本系统电路由于系统的特殊性质主要分两部分,无线发射电路和无线接收电路。根据系统功能分工不同,需要将系统分为无线发射电路和无线接收电路。各自不同功能的模块需要配置不同的电路,以实现无线信号的收发功能。两部分电路相互依存也相互独立,两部分电路其实是两个系统,其完全可以独立运行。无线模块温度检测电路主要是对温度进行实时监控的电路,电路相对较为简单。由于此模块工作环境会较为恶劣,所以此电路尽量简化。连接点越多其故障率也会越高。本系统在单片机最小系统的基础上增加相应的电源电路

33、、检测电路和无线收发模块就完成电路设计。无线模块显示电路主要是显示温度检测电路发送来的温度信号。其主要的功能就是通过数码管进行显示温度。这两个电路其主要实现的功能是无线信号传输,其表现形式温度能够正常的显示。电路图见附录图2和图3。 4.3 系统控制流程系统控制流程图如下:无完成开始初始化未完成温度信号单片机无线发送模块单片机LED数模管显示是否有数据有图4.3 软件流程图第5章系统实现5.1 软件实现 主函数模块功能介绍日常生活中,要完成一件复杂的功能,我们总是习惯把“大功能”分解为多个“小功能”以实现。在C语言程序的世界里,“功能”可称呼为“函数”,因此“函数”其实就是一段实现了某种功能的

34、代码,并且可以供其它代码调用。一个程序,无论复杂或简单,总体上都是一个“函数”;这个函数就称为“main 函数”,也就是“主函数”。比如有个“做菜”程序,那么“做菜”这个过程就是“主函数”。在主函数中,根据情况,你可能还需要调用“买菜,切菜,炒菜”等子函数。main函数在程序中大多数是必须存在的,但是依然有例外情况,比如windows编程中可以编写一个动态链接库(dll)模块,这是其他windows程序可以使用的代码。由于DLL模块不是独立的程序,因此不需要main函数。再比如,用于专业环境的程序-如机器人中的控制芯片-可能不需要main函数。主函数是系统的开始,软件系统的入口就是主函数。主函

35、数中定义了后续使用的函数,它是程序的核心,主要是在运行过程中,控制各个软件模块的运行。主函数中定义了各个函数后,再将需要调用的函数进行编程,就可以在主函数中进行调用。5.1.2 发送程序功能介绍发送程序主要根据硬件电路进行的划分,发送程序中包含了各个不同的函数。各个函数之间各有分工,功能也不尽相同。发送程序中主要包含了主函数、DS18B20温度读取函数和NRF24L01无线发送函数。DS18B20温度读取函数主要是对系统时序的控制,因为DS18B20的硬件电路是单总线信号传输,这对于时序的控制非常复杂。发送程序中包含NRF24L01的初始化函数,用于对NRF24L01进行初始化。NRF24L0

36、1无线收发模块也需要非常复杂的时序控制。对系统的软件设计时需要在硬件电路的基础上进行设计。软硬件电路互相依存,互相弥补。硬件电路的简单必然导致软件控制的繁琐。5.1.3 接收程序功能介绍接受程序其目的一目了然就是数据接受控制的函数。当发送电路将无线信号发送出以后,接受电路就需要将无线电路的信号接受并进行译码。软件程序根据硬件电路设计的需要对硬件控制,让各个模块之间有序协调的工作。接收程序中包含NRF24L01的初始化函数,用于对NRF24L01进行初始化。对NRF24L01寄存器中的数据进行初始化。以免在使用过程中出现错误。包含对LED数码管显示控制函数和NRF24L01驱动函数。以此保证系统

37、能够准确无误的运行。5.1.4 函数实现unsigned char DS18B20_Read(void) unsigned char i; unsigned char temp; temp=0; for(i=8;i>0;i-) temp=_cror_(temp,1); DQ=0; _nop_(); _nop_(); DQ=1; _nop_(); _nop_(); if(DQ=1) temp=temp | 0x80; else temp=temp | 0x00; DS18B20_delay(4); return(temp);void TmReadTemp (void) /读取温度bit t

38、em18b201 = 1;bit tem18b202 = 1;float tempp;tem18b201 = DS18B20_Reset();DS18B20_Write(0xCC);DS18B20_Write(0x44);DS18B20_delay(50); /等待500us转换时间tem18b202 = DS18B20_Reset();DS18B20_Write(0xCC);DS18B20_Write(0xBE);tempL = DS18B20_Read();tempH = DS18B20_Read();temperature = (tempH*256)+tempL)*0.0625;DS18

39、B20_delay(72);tempp = temperature*100;temp1 = tempp/1000;temp2 = (tempp-temp1*1000)/100;temp3 = (tempp-temp1*1000-temp2*100)/10;temp4 = (tempp-temp1*1000-temp2*100-temp3*10);TxBuf0=temp1;TxBuf1=temp2;TxBuf2=temp3;TxBuf3=temp4;/*主函数*void main(void) init_NRF24L01() ;/nRF24L01_TxPacket(TxBuf);/ Transmi

40、t Tx buffer dataDelay(6000);/P0=0xBF;while(1)TmReadTemp();nRF24L01_TxPacket(TxBuf);/ Transmit Tx buffer dataDelay(20);SPI_RW_Reg(WRITE_REG+STATUS,0XFF);/clear RX_DR or TX_DS or MAX_RT interrupt 5.2 硬件实现 单片机接口及功能介绍单片微控制器简称单片机,是一块集成了CPU中央处理器、ROM程序存储器、定时器/计数器、RAM数据存储器和多种功能的I/O输入/输出接口等的一台微型计算机。其包含计算机所需要

41、的基本功能部件。其可以完成各种功能和函数中复杂的运算、通信、逻辑控制等功能。单片机的最小系统是单片机运行的最低保障,简单说就是单片机能正常工作和实现功能所必须的组成部分。可解释为使用最少的元件组成的单片机可以工作的系统。单片机的最小系统应该包括单片机、时钟电路、复位电路和输入/输出设备。AT89S51单片机是完全集成的混合信号片上系统型MCU,片内具有64KB可在系统编程的Flash,4352字节的片内RAM。其他外设主要有:12/10位或8位ADC;2个12位DAC;3个模拟捕捉/比较器;硬件实现SPI/SMBus和UART串口三种接口同时支持,对于系统的可扩展性非常有利;单片机AT89S5

42、1共包含通用的16位定时器5个;其具有6个可编辑计数器/定时器阵列的捕捉/比较模块;单片机内还包含看门狗定时器、温度传感器和VDD监视器。 晶振电路设计时钟电路是为系统提供时钟脉冲的,是系统电路中必不可少的一部分。时序是电路控制的一部分,数据的传输是以时钟脉冲为基础的。本系统中使用了12MHz 的晶振为系统提供时钟信号。时钟电路是单片机系统中最重要的电路之一,如图5.1,它是给系统源源不断的提供动力的电路,时钟信号就是它所提供的动力。在单片机系统中时钟信号的频率是运行的关键,频率高了或者低了都无法运行。本电路选用的晶振是12M,因为本电路是给时间电路使用,12M晶振比较好计算时间。STC89C

43、52片内有高增益反相放大器,当外接晶振后,就构成了自激振荡器,并产生振荡时钟脉冲。其输入管脚XTAL1和输出管脚XTAL2用于接外部晶振。电容C7和C8、外部晶振和单片机内部的放大器一起构成了自激震荡电路。其中的电容C7和C8对频率起到一定的微调作用,电容容量都选择30pF。震荡频率的选择的是12MHz的晶振。在使用外部时钟时单片机的XTAL2引脚输入外部时钟信号,而XTAL1接地。图5.1 时钟电路图 复位电路设计外部复位电路是保证单片机电路的程序在不能正常运行时,可以从指定的程序开始运行。复位电路采用按键复位,这种方法简单且用以实现。当系统运行不正常或者出现死机的现象,只要按下复位键系统便

44、可以在指定的程序的位置开始执行。由于系统电路和外部环境有不可预知性的问题,而导致系统不能正常运行。复位电路成为电路的必要作用就显现出来。在电路设计中,无论是在复杂电路设计还是简单的电路设计复位电路都是重要组成部分。在单片机系统中,复位电路是非常关键的程序,程序不正常运行或异常停止运行时,就需要复位电路发挥作用。单片机微控制器的复位引脚RST引脚9高电平在两个以上的机器周期就执行复位操作。如果RST引脚持续的高电平,单片机就处于寻坏复位状态的周期。有两种基本形式的复位方法是上电复位和开关复位。上电瞬态电容两端的电压不能突然改变,这时的电容器为低电平,并且连接在电阻上的电压到RESET复位输入为高

45、时,芯片被复位。随着+5 V电源电压对电容的充电电阻逐渐减小,最后约等于0V芯片的工作,无论是在什么工作条件下,按下手动复位按钮都能实现复位效果。在一般情况下,只要RESET引脚保持10ms以上的高电平,就可以使单片机复位,重置为经典的值。其结构如图5.2所示。图5.2 复位电路 报警电路设计由于单片机STC89C52提供的工作电流只有20mA,而蜂鸣器正常工作电流一般比较大,以至于单片机的I/O口是无法直接驱动的,因此需要一个外部的驱动电路,提供正常工作所需要的电流。报警模块电路图如下图5.3所示。在该电路中,BEEP连接在单片机引脚上,接口LS1为蜂鸣器,晶体管工作在饱和状态,相当于一个开

46、关。图5.3 蜂鸣器驱动电路图5.2.5 温度检测电路设计DS18B20的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。其一个工作周期可分为两个部分,即温度检测和数据处理。在讲解其工作流程之前我们有必要了解DS18B20的内部存储器资源。DS18B20共有三种形态的存储器资源,它们分别是: ROM 只读存储器,用于存放DS18B20ID编码,其前8位是单线系列编码(DS18B20的编码是19H),后面48位是芯片唯一的序列号,最后8位是以上56的位的CRC码(冗余校验)。数据在出产时设置不由用户更改。DS18B20共64位ROM。电路设计非常简单,DS18B20共三个引脚,2引

47、脚连接到单片机以后,采用单总线的方式进行数据传输。系统功能的实现主要是靠软件代码对时序的控制。硬件电路的简单必须在软件程序进行补偿才能够完成任务,其结构如图5.4所示。图5.4 DS18B20硬件连接图5.2.6 数码管驱动电路设计(1)数码管显示器简介本设计采用LED数码管显示,在单片机系统中,通常用LED数码显示器来显示各种数字或符合。由于它具有显示清晰、亮度高、使用电压低、寿命长的特点,因此使用非常广泛。与LCD液晶显示器相比,数码管虽没有液晶显示器那样的显示效果,也没有液晶显示器做图形界面具有人机交互美观的特点。但是LED有其自己的特点,它具有低功耗,容易控制,占用CPU资源少这些优点

48、,从而成为一些显示器的首选。其内部结构如图5.5所示。图5.5 数码管内部结构数码管由7个发光二极管组成,行成一个日字形,它们可以共阴极连接,也可以共阳极连接。1位显示器由8个发光二极管组成,其中7个发光二极管ag控制7个笔画的亮或暗,另一个控制一个小数点的亮和暗,通过解码电路得到的数码接通相应的发光二极而形成相应的字符。这种笔画式的七段显示器能显示的字符较少,字符的形状有些失真,但控制简单,使用方便,它可以显示从1到9的数字。这足以满足设计要求。(2)数码管显示电路LED数码管的工作原理:LED显示器连同小数点在内,一共是8个LED数码管可以通过向LED数码管中送入不同的显示码,使其8段发光

49、二极管的不同的段点亮发光,显示出不同的字符。利用这一工作原理可以将单片机中的数据在LED数码管上显示出来。在LED数码管中的 8只发光二极管的阳极连在一起,就是共阳极接法;若8只发光二极管的阴极连在一起,就是共阴极接法。在一般使用中,共阳极的LED数码管用得比较多,如图5.6所示。图5.6 数码管引脚图LED数码管的显示方式分为:静态显示方式和动态显示方式。静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5

50、15;8=40根I/O端口来驱动,实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。在多个数码管显示时,一般是采用动态显示方式。每个数码管的各相同的显示位都连接在一起,每个数码管的公共端都分别引出。这种方式由于各个数码管共用一个段码输出端口,分时轮流选通。从而大大简化了硬件电路。但这种方法的数码管接口电路中数码管也不宜太多,一般在8个以内,否则每个数码管所分配到的实际的导通时间会太少,显的亮度不足。若数码管位较多时应采用增加驱动能力的措施,从而提高显示亮度。 为了便于控制数码管的显示,在应用数码管显示电路时通常也会用到一些驱动器,常用的驱动器是74HC245芯片。74HC245芯片

51、是总线驱动器,典型的CMOS型三态缓冲门电路。 由于单片机或CPU的数据/地址/控制总线端口都有一定的负载能力,如果负载超过其负载能力,一般应加驱动器。 另外,也可以使用74HC244等其他电路,74HC244比74HC245多了锁存器,实物图如图5.7所示。图5.7 74HC245实物图其管脚定义如下:第1脚DIR,为输入输出端口转换用,DIR=“1”高电平时信号由“A”端输入“B”端输出,DIR=“0”低电平时信号由“B”端输入“A”端输出。 第2-9脚“A”信号输入输出端,A1=B1一直到A8=B8,A1与B1是一组,如果DIR=“1”OE=“0”则A1输入B1输出,其它类同。如果DIR

52、=“0”OE=“0”则B1输入A1输出,其它类同。 第11-18脚“B”信号输入输出端,功能与“A”端一样,不再描述。 第19脚OE,使能端,若该脚为“1”A/B端的信号将不导通,只有为“0”时A/B端才被启用,该脚也就是起到开关的作用。 第10脚GND,电源地。 第20脚VCC,电源正极。数码管的驱动总电路如图5.7所示。图5.8 数码管驱动电路图 NRF24L01(1)NRF24L01简介NRF24L01是由NORDIC出品的工作在2.4GHz2.5GHz的ISM 频段的单片无线收发器芯片。无线收发器包括:频率发生器、增强型“SchockBurst”模式控制器、功率放大器、晶体振荡器、调制

53、器和解调器。输出功率频道选择和协议的设置可以通过SPI 接口进行设置。几乎可以连接到各种单片机芯片,并完成无线数据传送工作。实物图如图5.8所示。图5.9 NRF24L01实物图极低的电流消耗:当工作在发射模式下发射功率为0dBm时电流消耗为11.3mA,接收模式时为12.3mA,掉电模式和待机模式下电流消耗更低。发射数据时,首先将NRF24L01配置为发射模式:接着把接收节点地址TX_ADDR和有效数据TX_PLD按照时序由SPI口写入NRF24L01缓存区,TX_PLD必须在CSN为低时连续写入,而TX_ADDR在发射时写入一次即可,然后CE置为高电平并保持至少10s,延迟130s后发射数

54、据,若自动应答开启,那么NRF24L01在发射数据后立即进入接收模式,接收应答信号(自动应答接收地址应该与接收节点地址TX_ADDR一致)。如果收到应答,则认为此次通信成功,TX_DS置高,同时TX_PLD从TX FIFO中清除;若未收到应答,则自动重新发射该数据(自动重发已开启),若重发次数(ARC)达到上限,MAX_RT置高,TX FIFO中数据保留以便再次重发,MAX_RT或TX_DS置高时,使IRQ变低,产生中断,通知MCU。最后发射成功时,若CE为低则NRF24L01进入空闲模式1,若发送堆栈中有数据且CE为高,则进入下一次发射;若发送堆栈中无数据且CE为高,则进入空闲模式2。接收数

55、据时,首先将NRF24L01配置为接收模式,接着延迟130s进入接收状态等待数据的到来。当接收方检测到有效的地址和CRC时,就将数据包存储在RX FIFO中,同时中断标志位RX_DR置高,IRQ变低,产生中断,通知MCU去取数据。若此时自动应答开启,接收方则同时进入发射状态回传应答信号。最后接收成功时,若CE变低,则NRF24L01进入空闲模式1。(2)NRF24L01应用领域 无线鼠标 键盘 游戏机操纵杆 无线门禁 无线数据通讯 安防系统 遥控装置 遥感勘测 智能运动设备 工业传感器 玩具(3)NRF24L01性能参数 小体积,QFN20 4x4mm封装 宽电压工作范围,1.9V3.6V,输入引脚可承受5V电压输入 工作温度范围,-40+80 工作频率范围,2.400GHz2.525GHz 发射功率可选择为0dBm、-6dBm、-12dBm和-18dBm 数据传输速率支持1Mbps、2Mbps2 低功耗设计,接收时工作电流12.3mA,0dBm功率发射时11.3mA,掉电模式时仅为900nA 126个通讯通道,6个数据通道,满足多点通讯和调频需要 增强型“ShockBurst”工作模式,硬件的CRC校验和点对多点的地址控制 数据包每次可传输132Byte的数据 4线SPI通讯

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论