基于nRF24L01的多点温度采集系统设计

基于nRF24L01的多点温度采集系统设计
基于nRF24L01的多点温度采集系统设计

随着信息领域各种技术的发展,我们在数据采集方面的技术也取得了很大的进步,采集数据的信息化是目前社会的主要发展方向。各种领域都用到了数据采集,比如石油勘探、地震数据采集领域。随着工农业生产对温湿度的要求越来越高,准确测量温度变得非常重要。

本课题提出一种基于单片机的无线多点温度采集电路设计,该方案是利用单片机控制DS18B20温度传感器采集温度,温度采集成功后由nRF24L01无线通信模块进行数据的无线传输,在接收板上也有一块无线通信模块与它配对。数据成功接收后由单片机去控制LCD1602液晶实时显示温度。本系统还设定了一个温度报警,当温度超过这个界限就由蜂鸣器发出警报,当温度下降至报警温度以下时,警报自动停止。本系统做的是多点温度采集,包括两块无线发送模块和一块无线接收模块,采集到的温度并排显示在同一个LCD1602上。用到的主要器件是AT89S52单片机、数字温度传感器DS18B20和无线芯片nRF24L01,测量结果用LCD1602液晶显示。

关键词:单片机;多点温度采集;无线通信模块;温度报警。

Along with the development of the technology of information field, we had also made a lot of progress in data collection technology, the data gathering information is the main development direction of the society. Various fields also use the data collection, such as petroleum exploration, seismic data acquisition field. Along with increasingly demanding of the industry and agriculture production to the temperature and humidity,more accurate measurement temperature becomes very important.

This topic is wireless acquisition multipoint temperature acquisition and transmission circuit design base on SCM, the project is using SCM to control the temperature sensor

DS18B20 to collection temperature, use nRF24L01wireless communication module to transmit if receive temperature successfully, there is a wireless communication module pairing with it in https://www.360docs.net/doc/2016965520.html,eing SCM to control LCD1602 liquid crystal to display temperatureafter receiving temperature successfully.The system also set a warning temperature, when the temperature over the line ,the buzzer will call, when the temperature belowthe alarm temperature below, alarm will stop. This system realizes multipoint temperature gathering,including twowireless transmission module and one wireless receiving module.The temperature will show on the same LCD1602.This system’s main components is AT89S52 SCM and digital temperature sensor DS18B20 and wireless chip nRF24L01, the measured result is displaying by LCD1602.

Key words:SCM; multipoint temperature gathering; wireless communication module;temperature warning.

目录

引言 (1)

1 课题方案设计 (2)

2 硬件设计 (3)

2.1 电源电路 (3)

2.2 温度传感器电路 (3)

2.3 无线传输电路 (4)

2.3.1nRF24L01无线模块组成 (4)

2.3.2nRF24L01无线模块应用 (6)

2.4 显示电路 (6)

2.4.1字符型液晶显示模块简介 (7)

2.4.2字符型液晶显示模块引脚和内部结构 (7)

2.5 单片机系统 (8)

2.5.1AT89S52简介 (8)

2.5.2AT89S52引脚说明 (8)

2.6 警报电路 (11)

3 软件设计 (12)

3.1 系统概述 (12)

3.2 程序设计流程图 (12)

3.3 DS18B20程序设计 (13)

3.4 nRF24L01程序设计 (16)

3.5 字符型液晶显示模块程序设计 (17)

4 调试及结果 (20)

5 结论 (22)

谢辞 (23)

参考文献 (24)

附录 (25)

引言

21世纪的今天,科学技术的发展日新月异,科学技术的进步同时也带动了测量技术的发展,现代控制设备不同于以前,它们在性能和结构发生了翻天覆地的变化。我们已经进入了高速发展的信息时代,测量技术是当今社会的主流,广泛地深入到应用工程的各个领域。

温度是工业、农业生产中常见的和最基本的参数之一,在生产过程中常需对温度进行检测和监控,采用微型机进行温度检测、数字显示、信息存储及实时控制,对于提高生产效率和产品质量、节约能源等都有重要的作用。伴随工业科技、农业科技的发展,温度测量需求越来越多,也越来越重要。但是在一些特定环境温度监测环境范围大,测点距离远,布线很不方便。这时就要采用无线方式对温度数据进行采集。

多路无线温度采集系统可被广泛应用于温度测量或相应的可转换为温度量或供电故障监控的工业、农业、环保、服务业、安全监控等工程中,例如:城市路灯故障检测和供电线路防盗监视、城市居民小区供热检测、大型仓库温度检测、工业生产测控、农业生产温度测控、环保工程、故障监控工程等。考虑到许多工业环境中对多点温度进行监控,一般需要测量几十个点以上。本文设计多点无线温度监控系统。

本设计是以Atmel公司的AT89S52单片机作为控制核心,提出基于DS18B20的温度采集与控制系统。控制器通过温度传感器实时检测各节点的温度变化,并在LCD1602上循环显示各节点温度的变化。

因为采用微型机进行温度检测、数字显示、信息存储及实时控制,对于提高生产效率和产品质量、节约能源等都有重要的作用,并且温度参数对工业生产的重要性,所以温度测量系统的精确度和智能化一直受到企业的重视。所以学习并研究温度测量及相关知识可做为一个较为实用的课题的方向,能获得较实用的知识和方法。因此温度测控技术是一个很实用、也很重要的技术,值得去研究掌握。它应用的领域也相当广泛,可以应用到消防电气的非破坏性温度检测,电力、电讯设备的过热故障预知检测,空调系统的温度检测,各类运输工具之组件的过热检测,保全与监视系统之应用,医疗与健诊的温度测试,化工、机械…等设备温度过热检测。因此前景是相当的可观。

1 课题方案设计

首先要对芯片作出选择。采用温度芯片DS18B20测量温度,可以体现系统芯片化这个趋势。部分功能电路的集成,使总体电路更简洁,搭建电路和焊接电路时更快。而且,集成块的使用,有效地避免外界的干扰,提高测量电路的精确度。所以集成芯片的使用将成为电路发展的一种趋势。本方案应用这一温度芯片,也是顺应这一趋势。主控部分采用AT89S52八位单片机实现。单片机软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制。而且体积小,硬件实现简单,安装方便。

本系统以单片机为核心,构成一个包含温度采集、处理、无线传输、显示的无线温度采集系统,原理框图见图1.1。

图1.1 系统设计框图

2 硬件设计

本课题设计的电路包括:电源电路、晶振电路、复位电路、无线收发电路、报警电路及显示电路。

2.1 电源电路

(1)单片机供电

本设计所用的是AT89S52单片机、LCD1602液晶及DS18B20芯片,直接由电池盒输入+5V的电压即可让它们正常工作。

(2)nRF24l01无线模块

nRF24l01芯片的供电电压为1.9V到3.6V之间,如果直接接+5V电压会让芯片烧毁,所以设计了一个3.3V输出的稳压电路。

稳压电路的作用是当输入电压波动及其它外界因素变化时,还可以稳定输出直流电压。5V输入电压经过电解电容进行一级滤波,去除杂波干扰。再经过三端稳压管AMS1117-3.3输出稳定的3.3V电压。3.3V电压再经过电解电容进行二级滤波,让电压更稳定,保证nRF24l01芯片不被烧毁。稳压电源原理图见图2.1

图2.1 稳压电源电路原理图

2.2 温度传感器电路

本方案采用DS18B20芯片进行温度采集。

温度芯片DS18B20是Dallas公司生产的一线式数字温度传感器,具有3引脚TO-92小体积封装形式。DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有LTM8877,LTM8874等等。主要根据应用场合的不同而改变其外观。封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。内部结构见图2.2。

图2.2 DS18B20内部结构

DS18B20引脚定义:

(1)DQ为数字信号输入/输出端;

(2)GND为电源地;

(3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)。

具体见图2.3。

图2.3 DS18B20引脚图

2.3 无线传输电路

2.3.1nRF24l01无线模块组成

nRF24L01是NORDIC公司最近生产的一款无线通信芯片,采用FSK调制,内部集成NORDIC自己的Enhanced Short Burst协议。可以实现点对点或是1对6的无线通信。无线通信速度厅以达到2M(bps)。NORDIC公司提供通信模块的GERBER文件,可以直接加工生产。嵌入式工程师或是单片机爱好者只需要为单片机系统预留5个GPIO,1个中断输入引脚,就可以很容易实现无线通信的功能,非常适合用来为MCU系统构建无线通信功能。

芯片管脚分布见图2.4

图2.4 Nrf24l01芯片管脚分布

芯片管脚分布已经在上图展示出来,我们只需要关注六个控制和数据信号即可,分别为CSN、SCK、MISO、MOSI、IRQ、CE。下面对这几个管脚进行简单的分析。

CSN:芯片的片选线,CSN为低电平芯片工作。

SCK:芯片控制的时钟线(SPI时钟)。

MISO:芯片控制数据线。

MOSI:芯片控制数据线。

IRQ:中断信号。无线通信过程中MCU主要是通过IRQ与nRF24l01进行通信。

CE:芯片的模式控制线。在CSN为低的情况下,CE协同nRF24l01的CONFIG寄存器共同决定nRF24l01的状态。

整个无线模块的原理图如图2.5所示

图2.5 基于nRF24l01的无线模块电路

本次设计所用的无线模块则直接套用上图所示的无线模块。

2.3.2nRF24L01无线模块应用

nRF24l01无线收发电路如图2.6所示。其中,发送和接收都用的是同一个无线模块。由稳压电源电路供电3.3V。

图2.6 nRF24l01无线收发电路

发射数据时,首先将nRF24L01配置为发射模式:接着把接收节点地址TX_ADDR和有效数据TX_PLD按照时序由SPI口写入nRF24L01缓存区,TX_PLD必须在CSN为低时连续写入,而TX_ADDR在发射时写入一次即可,然后CE置为高电平并保持至少10μs,延迟130μs后发射数据;若自动应答开启,那么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。

接收数据时,首先将nRF24L01配置为接收模式,接着延迟130μs进入接收状态等待数据的到来。当接收方检测到有效的地址和CRC时,就将数据包存储在RX FIFO中,同时中断标志位RX_DR置高,IRQ变低,产生中断,通知MCU去取数据。若此时自动应答开启,接收方则同时进入发射状态回传应答信号。最后接收成功时,若CE变低,则nRF24L01进入空闲模式1。

2.4 显示电路

本设计用的是字符型液晶LCD1602来显示采集的温度。

2.4.1字符型液晶显示模块简介

LCD1602液晶外形尺寸如图2.7所示。

图2.7 LCD1602外形尺寸

1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。

2.4.2字符型液晶显示模块引脚和内部结构

LCD1602液晶显示模块引脚如下表2.1所示。

表2.1 LCD1602模块引脚

本设计所使用的LCD1602原理图见图2.9。

图2.9 LCD1602原理图

2.5单片机系统

本设计使用的是ATMEL公司的AT89S52单片机。

2.5.1AT89S52简介

AT89S52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 AT89S52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

2.5.2 AT89S52引脚说明

AT89S52单片机的引脚如图2.10所示。

图2.10 AT89S52引脚

下面将对单片机的引脚进行说明。

VCC:电源电压输入端。

GND:电源地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八

位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH 编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL 门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口除了作为普通I/O口,还有第二功能:

P3.0 RXD(串行输入口)。

P3.1 TXD(串行输出口)。

P3.2 /INT0(外部中断0)。

P3.3 /INT1(外部中断1)。

P3.4 T0(T0定时器的外部计数输入)。

P3.5 T1(T1定时器的外部计数输入)。

P3.6 /WR(外部数据存储器的写选通)。

P3.7 /RD(外部数据存储器的读选通)。

P3口同时为闪烁编程和编程校验接收一些控制信号。

I/O口作为输入口时有两种工作方式,即所谓的读端口与读引脚。读端口时实际上并不从外部读入数据,而是把端口锁存器的内容读入到内部总线,经过某种运算或变换后再写回到端口锁存器。只有读端口时才真正地把外部的数据读入到内部总线。89C51的P0、P1、P2、P3口作为输入时都是准双向口。除了P1口外P0、P2、P3口都还有其他的功能。

RST:复位输入端,高电平有效。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:地址锁存允许/编程脉冲信号端。当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH 地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。

PSEN:外部程序存储器的选通信号,低电平有效。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

EA/VPP:外部程序存储器访问允许。当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA

将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1:片内振荡器反相放大器和时钟发生器的输入端。

XTAL2:片内振荡器反相放大器的输出端。

2.6 警报电路

本设计的警报电路比较简单,用了一个蜂鸣器。设定温度上限为32摄氏度,当采集到的温度超过上限温度的时候,蜂鸣器则会一直响;当温度降到上限温度以下时,蜂鸣器停止鸣叫。原理如图2.11所示。

图2.11 警报电路原理图

3 软件设计

3.1 系统概述

系统包括软件和硬件,硬件已经在以上的内容介绍完了,下面开始介绍软件。各个模块独立工作,但各个模块都互相影响。

3.2程序设计流程图

发射电路程序设计流程图如图3.1所示。下面简单解释一下本设计的发射电路工作流程。首先上电,其中无线通信模块用3.3V稳压电源,然后温度采集模块DS18B20初始化,进行温度检测以及数据存放。存放成功之后由单片机控制把数据以数组形式传输到nRF24L01无线通信模块进行数据发送。发送之后返回检测数据是否发射成功,如果发射成功则重新返回温度检测。

图3.1 发射电路程序设计流程图

接收电路程序设计流程图如图3.2所示。系统上电,nRF24L01无线模块采用的是3.3V稳压电源,其它芯片直接用5V。系统初始化,检测是否接收到发送模块发送过来的数据。接收成功后调用温度显示函数,把温度显示出来。其中第一块采集电路板的温度显示在LCD1602第一行,第二块采集电路板的温度显示在LCD1602第二行。在此同时,调用报警函数,一旦接收到的温度超过设定的上限温度之后蜂鸣器会一直鸣叫进行温度警报。当温度降到上限温度以下时,警报停止。

图3.2 接收电路程序设计流程图

3.3 DS18B20程序设计

根据DS18B20的通信协议,主机控制DS18B20完成温度转化必须经过3个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM 指令,这样才能对DS18B20进行预定的操作。

每一步骤都有严格的时序要求,所有的时序都是将主机作为主设备,单总线器件作为从设备。每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需要启动读指令完成数据接受。数据和命令的传输都是低位在前。

时序可分为初始化时序、读时序和写时序。复位时要求CPU将数据线下拉500us,然后释放,DS18B20收到信号后等待15~60us左右,后发出60~240us的低脉冲。

读时序分为读“0”时序和读“1”时序两个过程。DS18B20的读时序是从主机把单总线拉低之后在15us之内释放单总线,把数据传输到单总线上。DS18B20完成一个读时序过程至少需要60us。

DS18B20的写时序仍然可分为写“0”时序和写“1”时序两个过程。DS18B20写“0”时序和写“1”时序的要求不同,当要写“0”时,单总线要被拉低至少60us,以保证DS18B20熊猫在15~45us同正确采样I/O线上的“0”电平。当要写“1”时,单总线被拉低后,要在15us内释放单总线。下面介绍DS18B20编程实现的过程。

(1)DS18B20初始化程序设计

初始化复位时序图如图3.3所示。

图3.3 DS18B20初始化复位时序

主要程序如下:

DQ=1;_nop_();_nop_(); //DQ复位,稍微延时

DQ=0; //拉低总线

delay1(80); //延时500us,时序图上有说明控制器复位脉冲范围DQ=1; //释放总线

delay1(9); //延时60us,等待

temp=DQ; //读DS18B20反馈信号

(2)DS18B20写时序程序设计

写时序图如图3.4所示。

图3.4 DS18B20的写时序

主要程序如下:

for(i=8;i>0;i--)

{

DQ=1;_nop_();_nop_();

DQ=0;_nop_();_nop_();_nop_();_nop_();_nop_();

DQ=value&0x01; //从最低位开始写

delay1(9);

value>>=1; 低位在前,右移

}

(3)DS18B20读时序程序设计

读时序图如图3.5所示。

图3.5 DS18B20的读时序

主要程序如下:

for(i=8;i>0;i--)

{

DQ=1;_nop_();_nop_();

value1>>=1;

DQ=0;

_nop_();_nop_();_nop_();_nop_();

DQ=1; //释放总线之后采样

_nop_();_nop_();_nop_();_nop_();

if(DQ) //是否1

value1|=0x80;

delay1(9);

}

(4)DS18B20读取温度及温度处理

在这一块程序中编写了void read_temp()(读取温度)和void work_temp()(温度处理)两个函数。

DS18B20中的温度传感器可完成对温度的测量,当温度转换命令发布后,转换后的温度以补码形式存放在调整暂存存储器的第0和第1个字节中。DS18B20温度值格式表如表3.1所示。

表3.1 DS18B20温度值格式表

本设计显示的温度为正温度,两位整数和一位小数。分两部分进行操作:整数和小数。整数部分的“table[6]=((temp_data[0]&0xf0)>>4)|((temp_data[1]&0x0f)<<4)”语句把整数整合到一起,并且默认为正温度。小数部分是将测到的数值再乘以0.0625,取近似值作为第一小数位。比如测到的是0x02,通过2*0.0625=0.125,取近似值为1。

3.4 nRF24L01程序设计

(1)nRf24L01初始化程序设计

void init_NRF24L01()是最基本的函数,完成GPIO模拟SPI的功能。将输出字节(MOSI)从MSB 循环输出,同时将输入字节(MISO)从LSB循环移入。上升沿读入,下降沿输出。(从SCK被初始化为低电平可以判断出)。

(3)nRF24L01读写寄存器函数

uint SPI_RW_Reg(uchar reg, uchar value)寄存器访问函数:用来设置 24L01 的寄存器的值。基本思路就是通过WRITE_REG命令(也就是 0x20+寄存器地址)把要设定的值写到相应的寄存器地址里面去,并读取返回值。对于函数来说也就是把value值写到reg寄存器中。需要注意的是,访问 NRF24L01之前首先要enable芯片(CSN=0;),访问完了以后再disable芯片(CSN=1;)。

(4)nRF24L01的SPI时序

uchar SPI_Read(uchar reg)读取寄存器值的函数:基本思路就是通过READ_REG命令(也就是0x00+寄存器地址),把寄存器中的值读出来。对于函数来说也就是把reg 寄存器的值读到reg_val中去。

(5)nRF24L01读数据

uint SPI_Read_Buf(uchar reg, uchar *pBuf, uchar uchars)接收缓冲区访问函数:主要用来在接收时读取FIFO缓冲区中的值。基本思路就是通过READ_REG命令把数据从接收FIFO(RD_RX_PLOAD)中读出并存到数组里面去。

(6)nRF24L01写数据

uint SPI_Write_Buf(uchar reg, uchar *pBuf, uchar uchars)发射缓冲区访问函数:主要用来把数组里的数放到发射FIFO缓冲区中。基本思路就是通过WRITE_REG命令把数据存到发射FIFO(WR_TX_PLOAD)中去。

(7)nRF24L01数据接收发送配置

void SetRX_Mode()函数是用于设置为本块无线通信模块为接收模块,里面包含了两块采集电路的地址,当地址配对成功之后方可接收数据。

void SetRX_Mode()函数则是用来设置本块无线通信模块为发射模块,里面包含了自己的本地地址,这个地址是它与其它模块区分的标志。

(8)nRF24L01接收缓冲区

unsigned char nRF24L01_RxPacket(unsigned char* rx_buf)函数的功能是数据读取后放如rx_buf接收缓冲区中。

3.5 字符型液晶显示模块程序设计

(1)LCD1602初始化程序设计

LCD1602的初始化的过程如下:

①延时15ms;

②写指令38H(不检测忙信号);

③延时5ms;

④写指令38H(不检测忙信号);

⑤延时5ms;

⑥写指令38H(不检测忙信号);

⑦(以后每次写指令、读/写数据操作之前均需要检测忙信号)

⑧写指令38H:显示模式设置;

⑨写指令08H:显示关闭;

⑩写指令01H:显示清屏;

?写指令06H:显示光标移动位置;

?写指令0CH:显示开及光标设置。

主要程序如下:

delay_50us(300); //延时15ms

write_com(0x38); //写指令 0x38

delay_50us(100); //延时5ms

write_com(0x38); //写指令 0x38

delay_50us(100); //延时5ms

write_com(0x38); //写指令 0x38

write_com(0x38); //写指令 0x38

write_com(0x08); //写指令 0x08,显示关闭

write_com(0x01); //写指令 0x01,显示清屏

write_com(0x06); //写指令 0x06,显示光标移动设置

write_com(0x0c); //写指令 0x0c,显示开及光标设置

(2)LCD1602写指令程序设计

一种新型多点测温系统的设计

一种新型多点测温系统的设计 一种新型多点测温系统的设计 1温度传感器DS18B20介绍 DALLAS公司单线数字温度传感器DS18B20是一种新的“一线器件”,它具有体积小、适用电压宽等特点。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。DS18B20支持“一线总线”接口,测量温度范围为-55℃~+125℃,在-10℃~+85℃范围内,精度为±0.5℃;通过编程可实现9~12位的数字值读数方式;可以分别在93.75ms和750ms内将温度值转化为9位和12位的数字量。每个DS18B20具有唯一的64位长序列号,存放于DS18B20内部ROM只读存储器中。 DS18B20温度传感器的内部存储器包括1个高速暂存RAM和1个非易失性的电可擦除E2RAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。暂存存储器包含了8个连续字节,前2字节为测得的温度信息,第1个字节为温度的低8位,第2个字节为温度的高8位。高8位中,前4位表示温度的正(全“0”)与负(全“1”);第3个字节和第4个字节为TH、TL的易失性拷贝;第5个字节是结构寄存器的易失性拷贝,此三个字节内容在每次上电复位时被刷新;第6、7、8个字节用于内部计算;第9个字节为冗余检验字节。所以,读取温度信息字节中的内容,可以相应地转化为对应的温度值。表1列出了温度与温度字节间的对应关系。 2系统硬件结构 系统分为现场温度数据采集和上位监控PC两部分。图1为系统的结构图。需要指出的是,下位机可以脱离上位PC机而独立工作。增加上位机上位机的目的在于能够更方便地远离现场实现监控、管理。现场温度采集温度采集部分采用8051单片机作为中

多路温度采集系统

小型多路温控采集系统设计一.系统说明

本系统采用51单片机作为控制器,控制温度采集及显示。 温度传感器选用DS18B20,其单总线的通信方式可以减少系统的线路连接。DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路。内温范围-55℃~+125℃,在-10~+85℃时精度为±℃可编程的分辨率为9~12位,对应的可分辨温度分别为℃、℃、℃和℃,可实现高精度测温。 同时本系统选用LCD1602作为显示器件,能够同时显示16x02即32个字符(16列2行)。其显示清晰,并可以显示阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,满足了系统要求。 二.系统电路图 三、程序流程图 四、程序解读 注:程序分两部分。可以先用程序二读出各个器件的序列号,再将序列号填入程序一的SN[4][8]数组中,若要加入更多的器件可以扩大数组,并在程序中增加读显的循环次数。 1.程序一:已知各个器件序列号读取温度 #include<> #define uchar unsigned char #define uint unsigned int uchar TMP[4]; 0”1”0c1”2”3”4”序二:读取DS18B20序列号程序 注:读ROM时,只能有一个器件与单片机通信。可以逐个相连来读出其ROM #include<> #define uchar unsigned char #define uint unsigned int uint sn[8]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10}; sbit DQ=P3^7;//ds18b20与单片机连接口 sbit RS=P3^0; sbit RW=P3^1; sbit EN=P3^2; void delay1ms(unsigned int ms)//延时1毫秒(不够精确的)

温度数据采集系统

第三章系统硬件设计 温度数据采集系统和接收显示硬件电路主要包含温度数据采集、发送、接收和显示等模块,温度数据采集采用数字式温度传感器DS18B20,数据的发送和接收采用无线数据收发模块PTR2000,整个系统采用单片机STC89C52进行各模块的协调控制,下面对各个模块进行介绍。 3.1 数字温度传感器DS18B20 3.1.1 DS18B20 的性能特点 DS18B20 是由DALLAS 半导体公司生产的单线型智能数字温度传感器,是新一代适配微处理器的智能温度传感器,广泛应用于工业、农业等领域,具有体积小、接口方便和传输距离远的特点,在一根通信线上可以挂很多个DS18B20,很方便。具有以下特点: (1)具有独特的1-Wire 接口,只需要一个端口引脚就可以进行通信; (2)具备多节点能力,能够简化分布式温度检测应用中的设计; (3)不需要外部元件; (4)可以直接从数据线供电,电源电压范围在3~5.5V; (5)在待机状态下可以不消耗电源电量; (6)测量温度范围在-55~+125℃; (7)在-10~+85℃时测量精度在±0.5℃; (8)可以用程序设定9~12 位分辨率; (9)用户可根据需要定义温度的上下限报警设置。 DS18B203 脚封装的管脚排列图如图3.1.1 所示。

图 3.1.1 DS18B20 管脚排列图 DS18B20 只有三个引脚。其中,引脚1 和3 分别是GND 和VDD,引脚2 是DQ 端,是用于数据信息的输入和输出。当给DS18B20 加电后,单片机可以通过DQ 端写入命令,并可以读出含有温度信息的数字量。在使用寄生电源情况下,可以向DS18B20 提供电源。 3.1.2 DS18B20 的内部结构 DS18B20的内部框图如图3.1.2所示。 图3.1.2 DS18B20的内部框图 DS18B20主要由64位ROM、温度传感器、非易失性温度报警触发器TH和TL及暂存器四部分组成。64位ROM存储器具有独一无二的序列号,可以看作是该DS18B20的地址系列号,是在出厂前就被光刻好的。暂存器各字节具有不同的意义,0和1字节是用于存储温度传感器数字输出的温度寄存器;2字节和3字节分别是非易失性上限报警触发寄存器(TH)和下限报警触发寄存器(TL);4字节的配置寄存器能够用来设置温度转换的精度; 5、6和7字节作为内部保留使用。DS18B20有两种供电方式,可以使用寄生电源供电,也可以使用外部电源。在使用寄生电源的时候,不用外部电源,而是在总线为高时由DQ端提供电源,同时向内部电容充电,以求在总线拉低时为DS18B20提供电量。上电后,DS18B20进入空闲状态;当MCU向DS18B20发出Convert T [44h]的命令后,DS18B20 向MCU传送转换状态,开始温度测量和A/D转换。温度数据以带符号位的补码形式存储在温度寄存器中,温度寄存器格式如图3.1.3所示。 图3.1.3 DS18B20温度寄存器格式 温度的正负值是由符号为来说明的,正为0,负为1。表3.1给出一部分数字数据与温度的对应关系。 表3.1 DS18B20温度与数据对应关系

基于单片机的多功能温度检测系统的设计翻译

基于单片机的多功能温度检测系统的设计一、引言 随着社会的发展和技术的进步,人们越来越注重温度检测与显示的重要性。温度检测与状态显示技术与设备已经普遍应用于各行各业,市场上的产品层出不穷。温度检测及显示也逐渐采用自动化控制技术来实现监控。本课题就是一个温度检测及状态显示的监控系统。二、系统方案 本系统采用AT89S52 作为该系统的单片机。系统整体硬件电路包括,电源电路,传感器电路,温度显示电路,上下限报警电路等如图1 所示。图中报警电路可以在被测温度不在上下限X围内时,发出报警鸣叫声音。温度控制的基本原理为:当DSl8B20 采集到温度信号后,将温度信号送至AT89S52 中处理,同时将温度送到LCD 液晶屏显示,单片机根据初始化设置的温度上下限进行判断处理,即如果温度大于所设的最高温度就启动风扇降温;如果温度小于所设定的最低温度就启动报警装置。温度控制器的原理图二三、系统硬件设计1.单 片机AT89S52 的介绍 AT89S52 是一种低功耗、高性能CMOS8 位微控制器,具有8K 可编Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash 允许程序存储器在系统编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU和在系统可编程Flash,使AT89S52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案[5]。AT89S52 具有以下标准功能:8k 字节Flash,256 字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6 向量2 级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2 种软

温度检测系统汇总

机电专业课程设计温度检测系统 学生姓名李晓晓 学院中国矿业大学年级专业2011机电专本指导教师孙长青完成日期2012年6月 前言

温度是表征物体冷热程度的物理量,是工业生产和自动控制中最常见的工艺参数之一,生产过程中常常需要对温度进行检测和监控。在传统的温度测控系统设计中,往往采用模拟技术进行设计,这样就不可避免地遇到诸如传感器外围电路复杂及抗干扰能力差等问题;而其中任何一环节处理不当,就会造成整个系统性能的下降。采用数字温度传感器与单片机组成的温度检测系统进行温度检测、数值显示和数据存储,体积减小,精度提高,抗干扰能力强,并可组网进行多点协测,还可以实现实时控制等技术,在现代工业生产中应用越来越广泛。 本设计就采用以51单片机为核心,和单总线数字式温度传感器DS18B20 模拟出一温度控制系统,当温度没有超过预设温度时数码管显示当前温度,此本系统就是一个温度计。当温度超过预设温度时电路中的发光二极管就会闪烁报警,当温度降下时就停止闪烁,此时本系统就是一个温度监控器。以DS18B20 为代表的新型单总线数字式温度传感器集温度测量和A/D转换于一体,直接输出数字量,与单片机接口电路结构简单,广泛使用于距离远、节点分布多的场合,具有较强的推广应用价值。 目录

前言 (1) 1 总体设计方案 (3) 1.1设计的目的及意义 (3) 1.2总体设计思路 (3) 1.3总体设计方案设计 (3) 2 系统的硬件结构设计 (4) 2.1器件的选择 (4) 2.2电路设计及功能 (8) 2.3单片机的内部资源 (9) 2.4芯片DS18B20器件介绍 (10) 3 系统的软件设计 (13) 3.1设计的流程图 (13) 3.2系统部分程序的设计和分析 (14) 结论 (16) 附录Ⅰ程序设计 (17) 附录Ⅱ参考文献 (21) 附录Ⅲ结束语 (22) 附录Ⅳ实物照片 (23) 1 总体方案设计

多路温度采集系统设计与实现

学校代码:11517 学号:201150712117 HENAN INSTITUTE OF ENGINEERING 毕业设计(论文) 题目多路温度采集系统设计与实现 学生姓名高宇照 专业班级电气工程及其自动化1121 学号201150712117 系(部)电气信息工程学院 指导教师(职称) 张秋慧(讲师) 完成时间2012 年 5 月13日

目录 摘要................................................................................................... I ABSTRACT ........................................................................................... II 1 前言 . (1) 1.1 背景介绍 (1) 1.2 研究设计意义及目的 (1) 1.3 发展情况 (2) 1.4 本设计主要内容 (3) 2 设计任务及方案论证 (4) 2.1 设计任务 (4) 2.2 设计方案的论证 (4) 2.3系统框图设计 (6) 3 多路温度采集系统硬件电路设计 (7) 3.1系统模块及模块介绍 (7) 3.1.1 系统整体模块控制 (7) 3.1.2 模块介绍及原理 (7) 3.2 系统基本硬件组成设计 (14) 3.2.1微机芯片工作电路设计 (14) 3.2.2 温度采集电路设计 (15) 3.2.3LCD1602的显示设计 (17) 3.2.4 报警电路的设计 (18) 3.2.5 电源部分的设计 (19) 3.3 系统设计的电路结构图 (21) 4 系统的软件设计 (22) 4.1 主程序设计 (22) 4.2 子程序设计 (23) 5 系统调试与性能分析 (27) 5.1 系统调试 (27) 5.2 性能分析 (29) 结论 (31) 致谢 (32)

基于LabVIEW的温度测量及数据采集系统设计

LabVIEW技术大作业 题目:基于LabVIEW的温度测量及数据采集系统设计学院(系):信息与通信工程学院 班级:通信133 学号:xxxxxxxxx 姓名:xxxxxx

一、设计背景 LABVIEW最初就是为测试测量而设计的,因而测试测量也就是现在LABVIEW最广泛的应用领域。经过多年的发展,LABVIEW在测试测量领域获得了广泛的承认。至今,大多数主流的测试仪器、数据采集设备都拥有专门的LabVIEW驱动程序,使用LabVIEW可以非常便捷的控制这些硬件设备。同时,用户也可以十分方便地找到各种适用于测试测量领域的LabVIEW工具包。这些工具包几乎覆盖了用户所需的所有功能,用户在这些工具包的基础上再开发程序就容易多了。有时甚至于只需简单地调用几个工具包中的函数,就可以组成一个完整的测试测量应用程序。 二、系统方案 本设计的程序框图和前面板图分别是图1.1和图1.2,“温度测量及数据采集系统.vi”是一个测量温度并将测试数据输出到文件的VI。此VI中的温度是用一个20至40的随机整数来代替的,测试及采集100个温度值,每隔0.25秒测一次,共测定25秒。在数据采集过程中,VI将在前面板的波形图上实时地显示测量结果。采集过程结束后,波形图上显示出温度数据曲线,数组中显示每次的温度测量数据,并在显示控件中显示测试中温度的最大值、最小值和平均值,同时把测量的温度值以文件的形式存盘。

图1.1温度测量及数据采集程序框图 1.2温度测量及数据采集前面板图

二、系统各模块介绍 2.1循环模块 For循环用于将某段程序循环执行指定的次数, 是总数接线端,指定For循环内部代码执行的次数。如将0或负数连接至总数接线端,For循环不执行。 是计数接线端,表示完成的循环次数。第一次循环的计数为0。 本设计使用for循环将循环内的程序循环100次。

基于DS18B20的多点温度测量系统设计

一、绪论 1.1 课题来源 温度是一个和人们生活环境有着密切关系的物理量,也是一种在生产、科研、生活中需要测量和控制的重要物理量,是国际单位制七个基本量之一,同时它也是一种最基本的环境参数。人民的生活与环境温度息息相关,物理、化学、生物等学科都离不开温度。在工业生产和实验研究中,在电力、化工、石油、冶金、机械制造、大型仓储室、实验室、农场塑料大棚甚至人们的居室里经常需要对环境温度进行检测,并根据实际的要求对环境温度进行控制。比如,发电厂锅炉的温度必须控制在一定的范围之内;许多化学反应的工艺过程必须在适当的温度下才能正常进行。炼油过程中,原油必须在不同的温度和压力条件下进行分流才能得到汽油、柴油、煤油等产品;没有合适的温度环境,许多电子设备不能正常工作,粮仓的储粮就会变质霉烂,酒类的品质就没有保障。可见,研究温度的测量具有重要的理论意义和推广价值。 随着现代计算机和自动化技术的发展,作为各种信息的感知、采集、转换、传输相处理的功能器件,温度传感器的作用日益突出,成为自动检测、自动控制系统和计量测试中不可缺少的重要技术工具,其应用已遍及工农业生产和日常生活的各个领域。本设计就是为了满足人们在生活生产中对温度测量系统方面的需求。 本设计要求系统测量的温度的点数为4个,测量精度为0.5℃,测温范围为-20℃~+80℃。采用液晶显示温度值和路数,显示格式为:温度的符号位,整数部分,小数部分,最后一位显示℃。显示数据每一秒刷新一次。 1.2 课题研究的意义 21世纪科学技术的发展日新月异,科技的进步带动了测量技术的发展,现代控制设备的性能和结构发生了巨大的变化,我们已经进入了高速发展的信息时代,测量技术也成为当今科技的主流之一,被广泛地应用于生产的各个领域。对于本次设计,其目的在于: (1)掌握数字温度传感器DS18B20的原理、性能、使用特点和方法,利用C51对系统进行编程。

简单多点温度测量系统课程设计

课程设计报告(2010 —2011 年度第2学期) 题目:基于DS18B20的多点温度测量系统 院系: 姓名: 学号: 专业: 指导老师: 2011年5 月22 日

目录 1设计要求…………………………………………………………………………2设计的作用、目的………………………………………………………………3设计的具体实现…………………………………………………………………. 3.1系统概述……………………………………………………………………. 3.2单元电路设计与分析……………………………………………………… 3.3电路的安装与调试…………………………………………………………4心得体会及建议………………………………………………………………… 4.1心得体会…………………………………………………………………… 4.2建议…………………………………………………………………………5附录………………………………………………………………………………6参考文献…………………………………………………………………………

基于DS12B20的多点温度测量系统设计报告 1设计要求 运用DS12B20温度测量芯片实现一个多点温度测量系统,要求如下: (1).测量点为两点。 (2).测量的温度为-40~+40°C (3).温度测量的精度为±0.5°C (4).测量系统的响应时间要小于1S。 (5).温度数据的传输方式采用串行数据传送的方式。 2 设计的作用、目的 通过本设计可以进一步了解熟悉单片机的控制原理以及外设与单片机的数据通信方法,尤其是串行通信方法以及单片机与外设间的接口问题。 本设计旨在提高学生的实际应用系统开发能力,增长学生动手实践经验,激起学生学以致用的兴趣。 3设计的具体实现 3.1系统概述 本系统分为温度采集模块、核心处理模块、控制模块和显示模块。温度采集模块由DS18B20温度测量芯片构成,它负责测量温度后将温度量转化为数字信号,传输到数据处理模块;核心处理模块由AT89S52单片机组成,它负责与温度采集模块进行数据通信、对数据进行操作处理已经对各种外设的响应与控制;控制模块由几个按键组成,实现对测量点的选择以及电路复位的操作;显示模块由一块四位的八段译码显示管和驱动芯片组成,它的作用是显示测量的温度值。 系统模块组成图:

基于单片机的多路温度采集系统毕业设计(论文)外文翻译

华南理工大学学院 本科毕业设计(论文)外文翻译 外文原文名Structure and function of the MCS-51 series 中文译名MCS-51系列的功能和结构 学院电子信息工程学院 专业班级自动化一班 学生黎杰明 学生学号 3 指导教师吴实 填写日期2016年3月10日 页脚.

外文原文版出处:《association for computing machinery journal》1990, V ol.33 (12), pp.16-ff 译文成绩:指导教师(导师组长)签名: 译文: MCS-51系列的功能和结构 MSC-51系列单片机具有一个单芯片电脑的结构和功能,它是英特尔公司的系列产品的名称。这家公司在1976年推出后,引进8位单芯片的MCS-48系列计算机后于1980年推出的8位的MCS-51系列单芯片计算机。诸如此类的单芯片电脑有很多种,如8051,8031,8751,80C51BH,80C31BH等,其基本组成、基本性能和指令系统都是相同的。8051是51系列单芯片电脑的代表。 一个单芯片的计算机是由以下几个部分组成:(1)一个8位的微处理器(CPU)。(2)片数据存储器RAM(128B/256B),它只读/写数据,如结果不在操作过程中,最终结果要显示数据(3)程序存储器ROM/EPROM(4KB/8KB).是用来保存程序一些初步的数据和切片的形式。但一些单芯片电脑没有考虑ROM/EPROM,如8031,8032,80C51等等。(4)4个8路运行的I/O接口,P0,P1,P2,P3,每个接口可以用作入口,也可以用作出口。(5)两个定时/计数器,每个定时方式也可以根据计算结果或定时控制实现计算机。(6)5个中断(7)一个全双工串行的I/UART(通用异步接收器I口/发送器(UART)),它是实现单芯片电脑或单芯片计算机和计算机的串行通信使用。(8)振荡器和时钟产生电路,需要考虑石英晶体微调能力。允许振荡频率为12MHz,每个上述的部分都是通过部数据总线连接。其中CPU是一个芯片计算机的核心,它是计算机的指挥中心,是由算术单元和控制器等部分组成。算术单元可以进行8位算术运算和逻辑运算,ALU单元是其中一种运算器,18个存储设备,暂存设备的积累设备进行协调,程序状态寄存器PSW积累了2个输入端的计数等检查暂时作为一个操作往往由人来操作,谁储存1输入的是它使操作去上暂时计数,另有一个操作的结果,回环协调。此外,协调往往是作为对8051的数据传输转运站考虑。作为一般的微处理器,解码的顺序。振荡器和定时电路等的程序计数器是一个由8个计数器为2,总计16位。这是一个字节的地址,其实程序计数器,是将在个人电脑进行。从而改变它的容可以改变它的程序进行。在8051的单芯片电脑的电路,

一种多点测温系统的设计

一种多点测温系统的设计 1 温度传感器DS18B20 介绍DALLAS 公司单线数字温度传感器DS18B20 是一种新的“一线器件”,它具有体积小、适用电压宽等特点。一线总线独特而 且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新 概念。DS18B20 支持“一线总线”接口,测量温度范围为-55℃~+125℃,在- 10℃~+85℃范围内,精度为±0.5℃;通过编程可实现9~12 位的数字值读数方式;可以分别在93.75ms 和750ms 内将温度值转化为9 位和12 位的数字量。每个DS18B20 具有唯一的64 位长序列号,存放于DS18B20 内部ROM 只读存储器中。DS18B20 温度传感器的内部存储器包括1 个高速暂存RAM 和1 个非易失性的电可擦除E2RAM,后者存放高温度和低温度触发器TH、TL 和结 构寄存器。暂存存储器包含了8 个连续字节,前2 字节为测得的温度信息,第 1 个字节为温度的低8 位,第 2 个字节为温度的高8 位。高8 位中,前4 位表示温度的正(全“0”)与负(全“1”);第 3 个字节和第 4 个字节为TH、TL 的易失性 拷贝;第5 个字节是结构寄存器的易失性拷贝,此三个字节内容在每次上电复 位时被刷新;第6、7、8 个字节用于内部计算;第9 个字节为冗余检验字节。所以,读取温度信息字节中的内容,可以相应地转化为对应的温度值。表1 列 出了温度与温度字节间的对应关系。 2 系统硬件结构系统分为现场温度数据采集和上位监控PC 两部分。图1 为系统的结构图。需要指出的是,下位机可以脱离上位PC 机而独立工作。增加 上位机的目的在于能够更方便地远离现场实现监控、管理。现场温度采集部分 采用8051 单片机作为中央处理器,在P1.0 口挂接10 个DS18B20 传感器,对10 个点的温度进行检测。非易失性RAM 用作系统温度采集及运行参数等的缓 冲区。上位PC 机通过RS485 通信接口与现场单片微处理器通信,对系统进行

多点温度检测系统设计

摘要 环境温度对工业、农业、商业与人们得日常生活都有很大得影响,而温度得测量也就成为人们生产生活中一项必不可少得工作。随着单片机技术得不断发展,单片机在日用电子产品中得应用越来越广泛,温度传感器DS18B20具有线性优良、性能稳定、灵敏度高、抗干扰能力强、使用方便等优点,广泛应用于冰箱、空调器、粮仓等日常生活中温度得测量与控制。 本设计所介绍得数字温度计使用单片机AT89s52单片机,测温传感器使用DS18B20,用4位共阴极LED数码管以动态方式实现温度显示,分时轮流通电,从而大大简化了硬件线路,同时,采用串口通信方式可大大简化硬件电路与软件程序得设计,节省了I/O口。DS18B20数字温度传感器就是单总线器件与51单片机组成得测温系统,具有线路简单、体积小等特点,而且在一根通信线上,可以挂接多个DS18B20,因此可以构成多点温度测控系统。 关键词:单片机;多点检测;串口通信

Abstract Environmental temperature to industry, agriculture, merce, and people's daily life has a lot of influence, and the measurement of the temperature will bee an indispensable people production and life of the work、 Along with the development of the single chip microputer technology, microputer in the daily electronic products is more and more extensive application, the temperature sensor DS18B20 have good linear, stable performance, high sensitivity, anti-interference ability strong, easy to use, widely used in the refrigerator, air conditioner, granaries, etc in daily life temperature measurement and control、 The design of the digital thermometer introduced use single chip puter 89 s52 microcontroller, temperature sensor DS18B20 use, with a total of 4 cathode tube LED digital display to realize dynamic way temperature, in turn time-sharing electricity, which greatly simplified the hardware circuit, and at the same time, the serial interface munication mode can greatly simplified the hardware circuit and software program design, save the I/O port、 Digital temperature sensor DS18B20 is the single bus devices and 51 SCM position, temperature measurement system, with simple line, little volume features, but at a munications line, can be articulated multiple DS18B20, so can form multi-point temperature measurement and control system、 Key Words:Single Chip Microputer; Multi-point detection; Serial mun- -ication

多路温度采集器设计

J I A N G S U U N I V E R S I T Y 《嵌入式项目应用实践》 恭喜你 学院名称:计算机科学与通信工程学院 班级:计院的孩子 小组成员:雷锋 教师姓名:你猜猜 2016年 5 月 10日

一.实验题目 多路温度采集系统的设计。 二.实验要求 a)使用PROTEUS 8和ARDUINO IDE 进行硬件电路设计和MCU程序设 计 b)使用ALTIUM DXP 进行PCB版图设计 c)三个人一组,完成项目。每组交一份报告,一份PPT并答辩。 1.使用PROTEUS 8和ARDUINO IDE 进行硬件电路设计和MCU程序设计: 将三种温度采集的温度值显示在屏幕上,同时利用串口输出温度值。 d)分别使用LM35、DS18B20、MAX6657器件进行温度采集,使用ARDUINO 设计MCU程序。 e)时用拨动开关进行温度来源选择,开关导通时,对应LED点亮,采到的 温度要输出到液晶屏和串口。即最多可以同时显示3个器件采集的温度,最少1个。当一个都没选时,用蜂鸣器提示。 f)设计时可能数字引脚不够,此时,A0可以做为14脚处理,A1做为15 脚,以此类推。 2.使用ALTIUM DXP进行PCB版图设计 a)在DXP中绘制原理图。 b)注意:DXP中没有MAX6675芯片,需自己创建原理图元件和PCB封装。 c)液晶屏用合适的接线座替代或自行设计。 d)增加电源变压器插座(假设输入为8V)和LM7805稳压芯片将电压稳定在 5V,并做为系统供电。 e)进行PCB版图设计,即进行PCB层数设置、元件布局和布线。设计时要 考虑线宽、布线规定、防噪声设计等。 f)注意:元件位置要合理,便于用户使用。

温度数据采集系统

第三章 系统硬件设计温度数据采集系统和接收显示硬件电路主要包含温度数据采集、发送、接收和显示等模块,温度数据采集采用数字式温度传感器 DS18B20,数据的发送和接收采用无线数据收 发模块PTR2000,整个系统采用单片机STC89C52进行各模块的协调控制,下面对各个模块进行介绍。 3.1 数字温度传感器DS18B20 3.1.1 DS18B20 的性能特点 DS18B20 是由 DALLAS 半导体公司生产的单线型智能数字温度传感器,是新一代适配微处理器的智能温度传感器,广泛应用于工业、农业等领域,具有体积小、接口方便和传输距离远的特点,在一根通信线上可以挂很多个 DS18B20,很方便。具有以下特点:(1)具有独特的 1-Wire 接口,只需要一个端口引脚就可以进行通信;(2)具备多节点能力,能够简化分布式温度检测应用中的设计;(3)不需要外部元件; (4)可以直接从数据线供电,电源电压范围在 3~5.5V ;(5)在待机状态下可以不消耗电源电量;(6)测量温度范围在-55~+125℃;(7)在-10~+85℃时测量精度在±0.5℃;(8)可以用程序设定 9~12 位分辨率;(9)用户可根据需要定义温度的上下限报警设置。DS18B203 脚封装的管脚排列图如图 3.1.1 所示。、管路敷设技术通过管线敷设技术不仅可以解决吊顶层配置不规范高中资料试卷问题,而且可保障各类管路习题到位。在管路敷设过程中,要加强看护关于管路高中资料试卷连接管口处理高中资料试卷弯扁度固定盒位置保护层防腐跨接地线弯曲半径标高等,要求技术交底。管线敷设技术中包含线槽、管架等多项方式,为解决高中语文电气课件中管壁薄、接口不严等问题,合理利用管线敷设技术。线缆敷设原则:在分线盒处,当不同电压回路交叉时,应采用金属隔板进行隔开处理;同一线槽内,强电回路须同时切断习题电源,线缆敷设完毕,要进行检查和检测处理。、电气课件中调试对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料试卷相互作用与相互关系,根据生产工艺高中资料试卷要求,对电气设备进行空载与带负荷下高中资料试卷调控试验;对设备进行调整使其在正常工况下与过度工作下都可以正常工作;对于继电保护进行整核对定值,审核与校对图纸,编写复杂设备与装置高中资料试卷调试方案,编写重要设备高中资料试卷试验方案以及系统启动方案;对整套启动过程中高中资料试卷电气设备进行调试工作并且进行过关运行高中资料试卷技术指导。对于调试过程中高中资料试卷技术问题,作为调试人员,需要在事前掌握图纸资料、设备制造厂家出具高中资料试卷试验报告与相关技术资料,并且了解现场设备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。 、电气设备调试高中资料试卷技术电力保护装置调试技术,电力保护高中资料试卷配置技术是指机组在进行继电保护高中资料试卷总体配置时,需要在最大限度内来确保机组高中资料试卷安全,并且尽可能地缩小故障高中资料试卷破坏范围,或者对某些异常高中资料试卷工况进行自动处理,尤其要避免错误高中资料试卷保护装置动作,并且拒绝动作,来避免不必要高中资料试卷突然停机。因此,电力高中资料试卷保护装置调试技术,要求电力保护装置做到准确灵活。对于差动保护装置高中资料试卷调试技术是指发电机一变压器组在发生内部故障时,需要进行外部电源高中资料试卷切除从而采用高中资料试卷主要保护装置。

基于单片机的多点温度监测系统设计

基于单片机的多点温度监测系统设计 摘要:DS18B20是一种可组网的高精度数字式温度传感器,由于其具有单总线的独特优点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠。PL2303是Prolific公司生产的一种高度集成的RS232-USB接口转换器,可提供一个RS232全双工异步窜行通信装置与USB功能接口便利连接的解决方案。 该系统由上位机和下位机两大部分组成。下位机实现温度的检测并提供标准RS232通信接口,芯片使用了A TMEL公司的AT89S52单片机和DALLAS公司的DS18B20数字温度传感器。上位机部分使用了通用PC。该系统可应用于仓库测温、楼宇空调控制和生产过程监控等领域。 关键字:温度测量;单总线;数字温度传感器;单片机;转换器 Based on SCM more temperature monitoring system design Abstract:DS18B20 is a network of high precision digital temperature sensor, since it has the unique advantages single bus, users can easily set up sensor network, and can make more temperature measurement circuit become simple and reliable. PL2303 Prolific company is the production of a highly integrated RS232-USB interface converter, can provide a RS232 full-duplex asynchronous channeling line of communication equipment and the USB interface convenient connection function of the solution. The system consists of PC and a machine under two main components. A machine to implement the temperature detection and provide standard RS232 communication interface, ATMEL company used chip AT89S52 SCM and DALLAS company DS18B20 digital temperature sensor. PC parts used the general PC. This system can be used in storage temperature measurement, building the air conditioning control and production process monitoring, etc。 Key words:temperature measurement; Single bus; Digital temperature sensors; Single chip microcomputer; converter

基于51单片机的多路温度采集控制系统设计

基于51单片机的多路温度采集控制系统设计 前言: 随着现代信息技术的飞速发展,温度测量控制系统在工业、农业及人们的日常生活中扮演着一个越来越重要的角色,它对人们的生活具有很大的影响,所以温度采集控制系统的设计与研究有十分重要的意义。 本次设计的目的在于学习基于51单片机的多路温度采集控制系统设计的基本流程。本设计采用单片机作为数据处理与控制单元,为了进行数据处理,单片机控制数字温度传感器,把温度信号通过单总线从数字温度传感器传递到单片机上。单片机数据处理之后,发出控制信息改变报警和控制执行模块的状态,同时将当前温度信息发送到LED进行显示。本系统可以实现多路温度信号采集与显示,可以使用按键来设置温度限定值,通过进行温度数据的运算处理,发出控制信号达到控制蜂鸣器和继电器的目的。 我所采用的控制芯片为AT89c51,此芯片功能较为强大,能够满足设计要求。通过对电路的设计,对芯片的外围扩展,来达到对某一车间温度的控制和调节功能。 关键词:温度多路温度采集驱动电路 正文: 1、温度控制器电路设计 本电路由89C51单片机温度传感器、模数转换器ADC0809、窜入并出移位寄存器74LS164、数码管、和LED显示电路等组成。由热敏电阻温度传感器测量环境温度,将其

电压值送入ADC0809的IN0通道进行模数转换,转换所得的数字量由数据端D7-D0输出到89C51的P0口,经软件处理后将测量的温度值经单片机的RXD端窜行输出到74LS164,经74LS164 窜并转换后,输出到数码管的7个显示段,用数字形式显示出当前的温度值。89C51的P2.0、P2.1、P2.2分别接入ADC0809通道地址选择端A、B、C,因此ADC0809的IN0通道的地址为F0FFH。输出驱动控制信号由p1.0输出,4个LED为状态指示,其中,LED1为输出驱动指示,LED2为温度正常指示,LED3为高于上限温度指示,LED4为低于下限温度指示。当温度高于上限温度值时,有p1.0输出驱动信号,驱动外设电路工作,同时LED1亮、LED2灭、LED3亮、LED4灭。外设电路工作后,温度下降,当温度降到正常温度后,LED1亮、LED2亮、LED3灭、LED4灭。温度继续下降,当温度降到下限温度值时,p1.0信号停止输出,外设电路停止工作,同时LED1灭、LED2灭、LED3灭、LED4亮。当外设电路停止工作后,温度开始上升,接着进行下一工作周期。 2、温度控制器程序设计 本软件系统有1个主程序,6个子程序组成。6个子程序为定时/计数器0中断服务程序、温度采集及模数转换子程序ADCON、温度计算子程序CALCU、驱动控制子程序DRVCON、十进制转换子程序METRICCON及数码管显示子程序DISP。 (1)主程序 主程序进行系统初始化操作,主要是进行定时/计数器的初始化。 (2)定时/计数器0中断服务程序 应用定时计数器0中断的目的是进行定时采样,消除数码管温度显示的闪烁现象,用户可以根据实际环境温度变化率进行采样时间调整。每当定时时间到,调用温度采集机模数转换子程序ADCON,得到一个温度样本,并将其转换为数字量,传送给89C51单片机,

基于单片机的多路温湿度检测系统设计

基于单片机的多路温湿度检测系统设计 潘磊 (天津冶金职业技术学院电气工程系,天津300400) 摘要:介绍了以C8051F120单片机和PC 机为核心的温湿度检测系统,论述了系统的组成,各模块硬件电路设计以及系统上位机、下位机的软件设计。系统下位机实时收集多路SHT71传感器采集的数据并显示上传,上位机利用VB 中MSComm 控件完成数据接收和处理,实现了对环境温湿度的现场显示和远距离控制。 关键词:温湿度检测;C8051F120;SHT71;VB 中图分类号:TP274文献标识码:A 文章编号:1673-1131(2013)01-0065-02 随着社会生产的不断发展进步,许多工农业生产过程以 及民用场合都需要对环境的温度和湿度进行检测并控制,比 如:粮仓、温室蔬菜大棚、通信基站、电力变电房、药厂、图书馆、 博物馆等。为此本文设计了一个系统实现对环境温度湿度的 检测控制。 1系统结构 本系统主要由电源模块、单片机系统、键盘及LCD 显示 模块、温度湿度传感器采集模块、时钟芯片模块、语音报警模 块、通信模块以及上位机系统组成。系统能够实时采集四处 检测环境的温度和湿度,并把采集数据显示在LCD 屏上,通 过键盘预先设置温湿度上下限数值,当所检测的温度或湿度 超过所设定的数值语音报警模块报警。同时,下位机上传温 度湿度数据,上位机对数据进行存储、显示以及数据分析。系 统框图如图1 所示。 图1系统框图 2系统硬件设计 2.1单片机系统 本系统选用Cygnal 公司的C8051F120单片机作为核心 处理器,此款单片机有64位I/O 口,满足本系统外设较多的需 求,减少系统I/O 扩展,也为增加检测通路和系统扩展预留接 口。单片机峰值处理速度达到100Mips ,大大提高了系统的实 时性,内部带有128KB FLASHROM 能够满足多路实时数据 的大容量存储,集成2个UART ,1个I 2C ,1个SPI 接口便于与 外围设备及上位机传输数据。 2.2温度湿度传感器采集模块 传统模拟式温湿传感器的测量精度和分辨率很低,只有 1%左右,同时要获得高精度还需要更高精度的基准电压。另 外,所测得的模拟量还要进过A/D 转换才能送入微处理器 进行处理。为避免上述问题本系统采用全校准数字输出相 对湿度和温度传感器SHT71,与单片机接口电路图如图2所 示。图2 温度湿度传感器采集模块图3LCD 显示模块为了实现多点同时测量减少采集等待时间,同时尽量少的占用I/O 口资源,本系统将SHT71的时钟线SCK 都连接到P1.0口,数据线DATA 分别连接到P1口其他4个I/O 口上,并在数据线DATA 端加入上拉电阻。通过软件程序写入命令 即可完成温湿度数据采集,但传感器输出的测量量并不是实 际值,还需进行数据转换。2013年第1期 (总第123期)2013(Sum.No123) 信息通信INFORMATION &COMMUNICATIONS

相关文档
最新文档