基于单片机的无线温度采集系统的设计文档格式.docx
《基于单片机的无线温度采集系统的设计文档格式.docx》由会员分享,可在线阅读,更多相关《基于单片机的无线温度采集系统的设计文档格式.docx(93页珍藏版)》请在冰豆网上搜索。
进行存储,处理,显示或打印的过程,相应的系统称为数据采集系统,可分为以下几种:
1.基于通用微型计算机的数据采集系统
将采集来的信号通过外部的采样和A/D转换后的数字信号通过接口电路送入微机内进行处理,然后再显示处理结果或经过D/A转换输出,主要有以下几个特点:
(1)系统较强的软、硬件支持。
通用微型计算机系统所有的软硬件资源都可以用来支持系统进行工作。
(2)具有自开发能力。
(3)系统的软硬件的应用配置比较小,系统的成本较高,但二次开发时,软硬件扩展能力较好。
(4)在工业环境中运行的可靠性差,对安放的环境要求较高;
程序在RAM中运行,易受外界干扰破坏。
2.基于单片机的数据采集系统
它是由单片机及其些外围芯片构成的数据采集系统,是近年来微机技术快速发展的结
果,它具有如下特点:
(1)系统不具有自主开发能力,因此,系统的软硬件开发必须借助开发工具。
(2)系统的软硬件设计与配置规模都是以满足数据采集系统功能要求为原则,因此系统的软硬件应用配置具有最佳的性价比。
系统的软件一般都有应用程序。
(3)系统的可靠性好、使用方便。
应用程序在ROM中运行不会因外界的干扰而破坏,而且上电后系统立即进入用户状态。
3.基于DSP数字信号微处理器的数据采集系统
DSP数字信号微处理器从理论上而言就是一种单片机的形式,常用的数字信号处理芯
片有两种类型,一种是专用DSP芯片,一种是通用DSP芯片。
基于DSP数字信号微处理器
的数据采集系统的特点如下:
精度高、灵活性好、可靠性好、容易集成、分时复用等,但其价格不菲。
4.基于混合型计算机采集系统
这是一种近年来随着8位单片机出现而在计算机应用领域中迅速发展的一种系统结构形式。
它是由通用计算机(PC机)与单片机通过标准总线(例如RS-232-C标准)相连而成。
单片机及其外围电路构成的部分是专为数据采集等功能的要求而配置的,主机则承担数据采集系统的人机对话、大容量的计算、记录、打印、图形显示等任务。
混合型计算机数据采集系统有以下特点:
(1)通常具有自开发能力;
(2)系统配置灵活,易构成各种大中型测控系统;
(3)主机可远离现场而构成各种局域网络系统;
(4)充分利用主机资源,但不会占有主机的全部CPU时间。
2温度采集系统的设计
2.1系统硬件电路构成
本系统以单片机为核心,组成一个集温度的采集、处理、显示、无线传输、存储为一身的温度采集系统,系统硬件电路由温度传感器、单片机、NRF24L01、RS-232串口通信和计算机组成。
其原理框图见图2-1。
图2-1硬件电路原理框图
在单片机1的控制下,温度传感器把温度数据传至单片机1进行判断、显示并把有效的数据通过单片机的串口传至单片机2。
单片机2把收到的数据进行判断和显示,并控制NRF24L01无线模块1把数据发射出去。
无线模块2收到数据后,把数据通过SPI通信传至单片机3,单片机3在对数据进行再判断与显示。
最后单片机3再把有效的数据通过RS-232串口传至计算机,计算机对收到的数据进行采集和存储。
单片机主要是对温度传感器DS18B20进行控制,读取温度传感器的温度值,并把温度
值通过串口通信送入计算机。
NRF24L01主要对数据进行无线传输。
由于STC89系列单片机与MCS-51系列单片机兼容,并支持在线下载,线路简单,所以本系统采用STC89C52单片机。
2.1.1单片机部分
(一)单片机发展
单片机又称“MCU”,其发展历程主要经历了以下五个阶段[7]:
第一阶段:
单片机的探索阶段。
这一阶段以Intel公司的MCS-48为代表。
MCS-48的推出是在工控领域的探索,参与这一探索的公司还有Motorola,ZiLong等,都取得了满意的效果。
第二阶段:
单片机完善阶段。
Intel公司在MCS-48基础上推出了完善的、典型的MCS-51单片机系列。
它在以下几个方面奠定了典型的通用总线单片机体系结构。
(1)完善的外部总线。
设置了经典的8位单片机的总线结构。
(2)CPU外围功能单元的集中管理模式。
(3)体现工控特性的位地址空间、位操作方式。
(4)指令系统趋于丰富和完善,并且增加了许多突出控制功能的指令。
第三阶段:
8位单片机巩固发展及16位单片机推出阶段,也是向微控制器发展的阶段。
Intel公司推出的MCS-96系列单片机中,将一些用于测控系统的模数转换器、程序运行监测器、脉宽调制器等纳入片中,体现了单片机的微控制器特征。
第四阶段:
微控制器的全面发展阶段。
随着单片机在各个领域全面深入的发展和应用,
出现了高速、大寻址范围、强运算能力的8位、16位、32位通用型单片机,以及小型廉
价的专用型单片机。
第五阶段即现行阶段。
单片机的首创公司Intel将其MCS-51系列中的80C51内核使
用权以专利互换或出售形式转让给世界许多著名IC制造厂商,如Atmei、Philips、NEC
等,这样80C51就变成有众多制造厂商支持的发展出上百种品种的大家族,现统称为8051
系列,也有人简称为51系列。
虽然世界上的MCU品种繁多,功能各异,开发装置也互不
兼容,但是客观发展表明:
80C51系列单片机已成为单片机发展的主流。
在单片机家族中,
80C51系列是其中的佼佼者。
1998年以后系列单片机又出现了一个新的分支,称为系列单片机。
这种单片机是由美国Atmel公司率先推出的,它的最突出优点是把快擦写存储器应用于单片机中。
这使得在系统开发过程中修改程序十分容易,大大缩短了系统的开发周期。
同时,在系统工作过程中,能有效地保存数据信息,即使断电也不会丢失信息。
除此,AT系列单片机的引脚和80C51是一样的,所以,当用89系列单片机取代80C51时可以直接进行代换,并且也可以不更换仿真机。
(二)STC89C52的特点及工作原理
STC89C52完全兼容MCS-51系列单片机的所有功能,并且本身带有2K的内存储器,
可以在编程器上实现闪烁式的电擦写达几万次以上,比以往惯用的8031CPU外加EPROM
为核心的单片机系统在硬件上具有更加简单方便等优点,具体如下[5]:
STC89C52单片机是最早期也最典型的产品,低功耗、高性能、采用CHMOS工艺的8
位单片机。
它在硬件资源和功能、软件指令及编程上与Intel80C3X单片机完全相同。
在应用中可直接替换。
在STC89C52内部有FLASH程序存储器,既可用常规的编程器编程,也可用在线使之处于编程状态对其编程。
编程速度很快,擦除时也无需紫外线,非常方便。
STC89C5X系列可认为是Intel80C3X的内核与STCFLASH技术的结合体。
它为许多嵌入式控制系统提供了灵活、低成本的解决方案。
1.主要性能
●与MCS-51产品指令系统完全兼容;
●片内集成4KB的FLASH存储器,可反复编程/擦除1000次;
●数据保留时间:
10年;
●全静态设计,时钟频率范围为0~24MHz、33MHz;
●三个程序存储器保密位;
●128×
8字节的内部RAM;
●32条可编程的I/O口线;
●2个可工作于4种模式的16位定时/计数器;
●5个中断源/2个中断优先级;
●可编程串行通道;
●具有4种工作模式的全双工串行口;
●低功耗的待机工作模式和掉电工作模式;
●片内振荡器和时钟电路;
图2-2STC89C52引脚图
2.管脚说明
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8个TTL门电流。
当P1口的管脚第一次写“1”时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FLASH编程时,P0口作为原码输入口,当FLASH进行校验时,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口也可作为ST89C52
的一些特殊功能口,P3口管脚备选功能:
P3.0RXD(串行输入口);
P3.1TXD(串行输出口);
P3.2INT0(外部中断0);
P3.3INT1(外部中断1);
P3.4T0(计时器0外部输入);
P3.5T1(计时器1外部输入);
P3.6WR(外部数据存储器写选通);
P3.7RD(外部数据存储器读选通);
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:
来自反向振荡器的输出。
3.振荡器特性
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
由于输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
4.芯片擦除
整个EPROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管
脚处于低电平10ms来完成。
在芯片擦除操作中,代码阵列全被写“1”且在任何非空存
储字节被重复编程以前,该操作必须被执行。
5.编程算法
(1)地址线上输入欲编程的存储单元地址;
(2)在数据线上输入编程数据;
(3)加正确的控制信号组合;
(4)在“高压”模式下使VPP为12V;
(5)在ALE引脚上加一次负脉冲,可对FLASH存储器的一个字节或保密位进行编程。
编程一个字节的周期是内部自定时的,典型时间不会超过1.5ms。
改变编程的存储单元地址和编程数据重复步骤
(1)~(5),直到编程文件最后。
此外,STC89C52设有稳态逻辑,可以在零频率的条件下静态逻辑,支持两种软件可选的掉电模式。
在闲置模式下,CPU停止工作,但RAM、定时器、计数器、串口和中断系统仍在工作。
在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。
6.主要工作和内容安排
综上所述,本着实用、可靠、安全、简洁及经济等设计原则,设计开发了基于单片
机STC89C52的无线温度采集系统。
所做的工作主要包括:
1.利用DS18B20温度传感器采集温度;
2.制作一个基于STC89C52单片机的温度采集系统,并将采集信息数据通过NRF24L01无线传输模块传送给计算机,利用计算机对其进行实时显示、存储,以便进行数据分析。
2.1.2温度传感器部分
测量温度的关键是温度传感器,温度传感器的发展主要大体经过了三个阶段:
1传统
的分立式温度传感器(含敏感元件)2模拟集成温度传感器控制器3智能温度传感器。
模拟集成传感器是采用硅半导体集成工艺而制成的,因此亦称硅传感器或单片集成温度传感器。
模拟集成温度传感器是在20世纪80年代问世的,它是将温度传感器集成在一个芯片上,可完成温度测量及模拟信号输出功能的专用IC。
模拟集成温度传感器的主要特点是功能单一(仅测量温度)、测温误差小、价格低、响应速度快、传输距离远、体积小、微功耗等,适合远距离测温、控温,不需要进行非线性校准,外围电路简单。
它是目前在国内外应用最为普遍的一种集成传感器,典型产品有AD590、AD592、TMP17、LM135等。
模拟集成温度控制器主要包括温控开关和可编程温度控制器,典型产品有LM56、AD22105和MAX6509。
某些增强型集成温度控制器例如(TC652/653)中还包含了刀转换器以及固化好的程序,这与智能温度传感器有某些相似之处。
但它自成系统,工作时并不受微处理器的控制,这是二者的主要区别。
智能温度传感器(亦称数字温度传感器)是在20世纪90年代中期问世的。
它是微电子技术、计算机技术和自动测试技术(ATE)的结晶。
目前,国际上已开发出多种智能温度传感器系列产品。
智能温度传感器内部都包含温度传感器、A/D转换器、信号处理器、存储器(或寄存器)和接口电路。
有的产品还带多路选择器、中央控制器(CPU)、随机存取存储器(RAM)和只读存储器(ROM)。
智能温度传感器的特点是能输出温度数据及相关的温度控制量,适配各种微控制器(MCU);
并且它是在硬件的基础上通过软件来实现测试功能的,其智能化程度也取决于软件的开发水平。
目前,国际上新型温度传感器正从模拟式向数字式、从集成化向智能化和网络化的方
向飞速发展。
数字式温度传感器DS18B20正是朝着高精度、多功能、总线标准化、高可性
及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展。
因此,智能温度传感器DS18B20作为温度测量装置己广泛应用于人民的日常生活和工农业
生产中。
2.1.2.1DS18B20简介
DS18B20是美国半导体公司继之后最新推出的一种数字化单总线器件,属于新一代适
配微处理器的改进型智能温度传感器。
与传统的热敏电阻相比,它能够直接读出被测温度,并且可根据实际要求通过简单的编程实现9-12位的数字值读数方式。
可以分别在93.75ms
和750ms内完成9位和12位的数字量,并且从DS18B20读出的信息或写入DS18B20的信
息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所
挂接的DS18B20供电,而无需额外电源。
因而使用DS18B20可使系统结构更趋简单,可靠
性更高。
同时其“一线总线”独特而且经济的特点,使用户可轻松地组建传感器网络,为
测量系统的构建引入了全新的概念。
DS18B20“一线总线”数字化温度传感器支持“一线
总线”接口,测量温度范围为-55℃~﹢125℃,在-10℃~+85℃“范围内,精度为±
0.5℃。
现场温度直接以“一线总线”的数字方式传输,用符号扩展的16位数字量方式串
行输出,大大提高了系统的抗干扰性。
因此,数字化单总线器件DS18B20适合于恶劣环境
的现场温度测量,如环境控制、设备或过程控制、测温类消费电子产品等。
它在测温精度、
转换时间、传输距离、分辨率等方面较都有了很大的改进,给用户带来了更方便和更令人
满意的效果。
可广泛用于工业、民用、军事等领域的温度测量及控制仪器、测控系统和大
型设备中。
2.1.2.2DS18B20的性能特点和管脚排列
1.特点性能[14]
(1)采用独特的单线接口方式与微处理器连接时仅需要一条口线即可实现微处理器与的双向通讯。
(2)在使用中不需要任何外围元件。
(3)可用数据线供电,供电电压范围+3.0V~﹢5.5V。
(4)测温范围-55℃~﹢125℃。
固有测温分辨率为±
当在-10℃~+85℃
范围内,可确保测量误差不超过0.5℃,在-55℃~﹢125℃范围内,测量误差也不超过2
℃。
(5)通过编程可实现9~12位的数字读数方式。
(6)用户可自设定非易失性的报警上下限值。
(7)支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现多点测温。
(8)负压特性,即具有电源反接保护电路。
当电源电压的极性反接时,能保护DS18B2
不会因发热而烧毁。
但此时芯片无法正常工作。
(9)DS18B20的转换速率比较高,进行9位的温度转换仅需93.75ms。
(10)适配各种单片机或系统。
(11)内含64位激光修正的只读存储ROM,扣除8位产品系列号和8位循环冗余校验
码(CRC)之后,产品序号占48位。
出厂前产品序号存入其ROM中。
在构成大型温控系统
时,允许在单线总线上挂接多片DS18B20。
2.DS18B20的管脚排列
DS18B20采用脚封装或脚封装。
其管脚排列见图2-3。
图2-3DS18B20管脚排列
I/0为数据输入输出端(即单线总线),它属于漏极开路输出,外接上拉电阻后,常态
下呈高电平。
UDD是可供选用的外部电源端,不用时接地,GND为地,NC空脚。
2.1.2.3DS18B20的内部结构。
DS18B20的内部结构框图见图2—4。
它主要包括7部分[5]:
1、寄生电源;
2、温度传感器;
3、64位激光(loser)ROM与单线接口;
4、高速暂存器,即便筏式RAM,用于存放中间数据;
5、TH触发寄存器和TL触发寄存器,分别用来存储用户设定的温度上下限值;
6、存储和控制逻辑;
7、8位循环冗余校验码(CRC)发生器。
图2-4DS18B20内部结构
(1)64位闪速的结构见表2-1。
表2-164位闪存的结构
高8位是CRC校验码,接着是每个器件的惟一的序号,共有48位,低8位是产品类
型的编号,前56位的这也是多个DS18B20可以采用一线进行通信的原因。
(2)非易失性温度报警触发器TH和TL,可通过软件写入用户报警上下限。
(3)高速暂存存储器
DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的的E2RAM。
后者用于存储TH,TL值。
数据先写入RAM,经校验后再传给E2RAM。
而配置寄存器为高速暂存器中的第5个字节,它的内容用于确定温度值的数字转换分辨率,DS18B20工作时按此寄存器中的分辨率将温度转换为相应精度的数值。
该字节各位的定义见表2-2。
表2-2字节定义
低5位一直都是1,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。
在DS18B20出厂时该位被设置为0,用户不要去改动,R1和R0决定温度转换的精度位数,
即用来设置分辨率,见表2-3(DS18B20出厂时被设置为12位)。
表2-3R1和R0模式表
由表2-1可见,设定的分辨率越高,所需要的温度数据转换时间就越长。
因此,在实
际应用中要在分辨率和转换时间两者中权衡考虑。
高速暂存存储器除了配置寄存器外,还
有其他8个字节组成,其分配见表2-4。
表2-4字节定义
其中第1、2字节是温度信息,第3、4字节是TH和TL值,第6~8字节未用,表现
为全逻辑1;
第9字节读出的是前面所有8个字节的CRC码,可用来保证通信正确。
当DS18B20接收到温度转换命令后,开始启动转换。
转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1,2字节。
单片机可通过单线接口读到该数据,读取时低位在前,高位在后。
温度值格式见表2-5。
表2-5温度格式表
以12位转化为例说明温度高低字节存放形式及计算;
12位转化后得到的12位数据,
存储在DS18B20的两个高低8位的RAM中,二进制中的前面5位是符号位。
如果测得的