2024年2月21日发(作者:)

徐州工程学院毕业设计(论文)

温度监控报警系统设计毕业论文

目 录

1 绪论 ............................................................................................................................................. 1

1.1背景及意义 ............................................................................................................................ 1

1.2工作原理 ................................................................................................................................ 1

2 系统硬件设计 ............................................................................................................................. 3

2.1主控制器AT89S52 ................................................................................................................ 3

2.1.1引脚结构 .......................................................................................................................... 3

2.1.2 主要性能 ......................................................................................................................... 3

2.1.3 功能特性描述 ................................................................................................................. 3

2.1.4 各引脚功能 ..................................................................................................................... 4

2.2单总线数字温度传感器DSl8B20 ........................................................................................ 5

2.2.1功能特性描述 .................................................................................................................. 6

2.2.2引脚结构 .......................................................................................................................... 6

2.3无线传感器nRF905模块 ..................................................................................................... 8

2.3.1 模块介绍 ......................................................................................................................... 8

2.3.2 接口电路管脚说明 ......................................................................................................... 8

2.3.3 工作方式 ....................................................................................................................... 10

2.3.4 配置nRF905模块 ........................................................................................................ 11

2.4 LCD1602显示模块 ............................................................................................................. 12

2.4.1 控制器接口说明 ........................................................................................................... 12

2.4.2 初始化过程(复位过程) ........................................................................................... 13

2.5 ISD1420语音模块 .............................................................................................................. 13

2.5.1 特点 ............................................................................................................................... 13

2.5.2 电路外形图及引出端功能说明 ................................................................................... 14

2.5.3 地址模式 ....................................................................................................................... 14

2.5.4 操作模式 ....................................................................................................................... 15

2.6 键盘输入模块 ..................................................................................................................... 15

2.7硬件概要设计 ...................................................................................................................... 16

2.8 硬件总体设计 ..................................................................................................................... 16

3 系统软件设计 ........................................................................................................................... 18

3.1 软件开发环境 ..................................................................................................................... 18

3.1.1 Keil简介 ........................................................................................................................ 18

3.1.2 系统概述 ....................................................................................................................... 18

I

徐州工程学院毕业设计(论文)

3.1.3 Keil C51单片机软件开发系统的整体结构 ................................................................ 18

3.2 主程序 ................................................................................................................................. 19

3.3温度采集电路 ...................................................................................................................... 20

3.4 收发端的程序流程图 ......................................................................................................... 21

3.5 语音播报的程序流程图 ..................................................................................................... 26

结论 ............................................................................................................................................... 29

致谢 ............................................................................................................................................... 30

参考文献 ....................................................................................................................................... 31

附录 ............................................................................................................................................... 32

附录1 英文文献翻译 ............................................................................................................... 32

附录2 部分程序代码 ............................................................................................................... 45

II

徐州工程学院毕业设计(论文)

1 绪论

1.1背景及意义

随着社会的发展和技术的进步,人们越来越注重温度检测与显示的重要性。温度检测与状态显示技术与设备已普遍应用于各行各业,市场上的产品层出不穷。温度检测及显示也逐渐采用自动化控制技术来实现监控。对现代社会来说,不管是医学还是工业温度的检测与监控尤为重要。

本课题就是一个温度检测及状态显示监控系统,该系统由无线接收和发射模块、语音播报、温度采集、自动报警以及显示模块组成。由于单片机技术比较成熟,在价格方面也比较低廉,而且易于控制,所以选用一块8051单片机来控制外围的电路。系统硬件设计主要包括温度传感器模块、单片机系统模块、显示电路模块、nRF905无线通信模块等。系统利用了当今成熟的先进技术,具有高度的可靠性,其温度显示、各种报警功能及各项可用性指标均达到相关的规定。同时简洁、实用、性能价格比高也是其优点。另外,在单片机程序设计方面采用C语言。

该课题的设计是对电子信息工程专业主干课程电子技术基础、单片机原理与应用、程序设计语言(C语言)以及相关课程设计等的延伸与拓展,是将理论与技术联系生产实际的主要内容,对我们的基础知识及相关专业知识的实际应用、计算机应用能力、文献资料检索等均有较高的提升。

1.2工作原理

无线温度采集系统是一种基于射频技术的无线温度检测装置。本系统由传感器和接收机,以及显示芯片组成。传感器部分由数字温度传感器芯片18B20、单片机89S52、低功耗射频传输单元nRF905和天线等组成,传感器采用电源供电;接收机无线接收来自传感器的温度数据,经过处理、保存后在LCD1602上显示,所存储的温度数据可以通过串行口连接射频装置与接收端进行交换。

无线温度的采集主要基于单线数字温度传感器DS18B20芯片。Dallas 半导体公司的单线数字温度传感器DS18B20是世界上第一片支持“一线总线”接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。DS18B20支持“一线总线”接口,测量温度范围为-55°C~+125°C,在-10~+85°C范围内,精度为±0.5°C。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性,适合于恶劣环境的现场温度测量,支持3V~5.5V的电压范围,DS18B20可以程序设定9~12位的分辨率,精度为±0.5°C。

数字单总线温度传感器是目前最新的测温器件,它集温度测量,A/D转换于一体,具有单总线结构,数字量输出,直接与微机接口等优点。既可用它组成单路温度测量装置,也可用它组成多路温度测量装置,文章介绍的单路温度测量装置已研制成产品,产品经测1

徐州工程学院毕业设计(论文)

试在-10°C ~70°C间测得误差为0.25°C,80°C≤T≤105°C时误差为0.5°C,当T>105°C误差为增大到1°C左右。

温度数据的无线传输主要是基于低功耗射频传输单元nRF905芯片。nRF905是挪威Nordic VLSI公司推出的单片射频收发器,工作电压为1.9~3.6V,32引脚QFN封装(5×5mm),工作于433/868/915MHz三个ISM(工业、科学和医学)频道,频道之间的转换时间小于650us。nRF905由频率合成器、接收解调器、功率放大器、晶体振荡器和调制器组成,不需外加声表滤波器,ShockBurstTM工作模式,自动处理字头和CRC(循环冗余码校验),使用SPI接口与微控制器通信,配置非常方便。此外,其功耗非常低,以-10dBm的输出功率发射时电流只有11mA,工作于接收模式时的电流为12.5mA,内建空闲模式与关机模式,易于实现节能。nRF905片内集成了电源管理、晶体振荡器、低噪声放大器、频率合成器功率放大器等模块。

经过无线传输后,温度数据信息将在1602液晶显示芯片上进行显示,1602液晶显示芯片采用标准的14脚接口,其中VSS为地电源,VDD接5V正电源,V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。D0~D7为8位双向数据线。

本系统的温度采集与显示,无线的传输与对比均由单片机89S52来控制完成。相比较而言ATMEL公司的89S51更实用,因它不但和8051指令、管脚完全兼容,而且其片内的4K程序存储器是Flash工艺的,这种工艺的存储器用户可以用电的方式瞬间擦除、改写,一般专为ATMEL AT89xx做的编程器均带有这些功能。显而易见,这种单片机对开发设备的要求很低,开发时间也大大缩短。写入单片机内的程序还可以进行加密,这又很好地保护了我们的劳动成果。

2

徐州工程学院毕业设计(论文)

2 系统硬件设计

2.1主控制器AT89S52

2.1.1引脚结构

AT89S52各引脚如图2-1所示:

图2-1 AT89S52封装

2.1.2 主要性能

●与MCS-51单片机产品兼容

●8K字节在系统可编程Flash存储器

●1000次擦写周期

●全静态操作:0Hz~33Hz

●三级加密程序存储器

●32个可编程I/O口线

●三个16位定时器/计数器

●八个中断源

●全双工UART串行通道

●低功耗空闲和掉电模式

●掉电后中断可唤醒

●看门狗定时器

●双数据指针

●掉电标识符

2.1.3 功能特性描述

3

徐州工程学院毕业设计(论文)

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内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止[1-4]。

2.1.4 各引脚功能

VCC:电源

GND:地

P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。

P1口:P1口是一个具有内部上拉电阻的8位双向I/O 口,P1输出缓冲器能驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表所示:

表2-1 P1口特殊功能

引脚号

P1.0

P1.1

P1.5

P1.6

P1.7

第二功能

T2(定时器/计数器T2的外部计数输入),时钟输出

T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)

MOSI(在系统编程用)

MISO(在系统编程用)

SCK(在系统编程用)

P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX @DPTR)时,P2口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址(如4

徐州工程学院毕业设计(论文)

MOVX @RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在Flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。

P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。

表2-2 P3口特殊功能

引脚号

P3.0

P3.1

P3.2

P3.3

P3.4

P3.5

P3.6

P3.7

第二功能

RXD(串行输入)

TXD(串行输出)

INT0(外部中断0)

INT1(外部中断1)

T0(定时器0外部输入)

T1(定时器1外部输入)

WR(外部数据存储器写选通)

RD(外部数据存储器读选通)

RST:复位输入。晶振工作时,RST脚持续2 个机器周期高电平将使单片机复位。看门狗计时完成后,RST 脚输出96 个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。

ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8 位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置 “1”,ALE操作将无效。这一位置 “1”,ALE仅在执行MOVX 或MOVC指令时有效。否则,ALE 将被微弱拉高。这个ALE使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。

PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。当AT89S52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。

EA/VPP:访问外部程序存储器控制信号。为使能从0000H 到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应该接VCC。在Flash编程期间,EA也接收12伏VPP电压。

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

XTAL2:振荡器反相放大器的输出端[5]。

2.2单总线数字温度传感器DSl8B20

5

徐州工程学院毕业设计(论文)

2.2.1功能特性描述

无线温度的采集主要基于单线数字温度传感器DS18B20芯片。Dallas 半导体公司的单线数字温度传感器DS18B20是世界上第一片支持“一线总线”接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。DS18B20支持“一线总线”接口,测量温度范围为 -55°C~+125°C,在-10~+85°C范围内,精度为±0.5°C。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性,适合于恶劣环境的现场温度测量,支持3V~5.5V的电压范围,DS18B20可以程序设定9~12位的分辨率,精度为±0.5°C。

数字单总线温度传感器是目前最新的测温器件,它集温度测量、A/D转换于一体,具有单总线结构、数字量输出、直接与微机接口等优点。既可用它组成单路温度测量装置,也可用它组成多路温度测量装置,文章介绍的单路温度测量装置已研制成产品,产品经测试在-10°C ~70°C间测得误差为0.25°C,80°C≤T≤105°C时误差为0.5°C,当T>105°C误差为增大到1°C左右。

其主要件能指标:

●独特的单线接口仅需要一个端口引脚进行通信;

●多个DS18B20可以并联在惟一的三线上,实现多点组网功能;

●无须外部器件;

●可通过数据线供电,电压范围为3.0~5.5V;

●零待机功耗;

●温度以9或12位数字;

●用户可定义报警设置;

●报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;

●负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。

2.2.2引脚结构

DS18B20采用如图2-2所示的3脚PR-35封装或8脚SOIC封装。

图2-2 DS18B20封装

DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端(在寄生6

徐州工程学院毕业设计(论文)

电源接线方式时接地)。

光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625°C/LSB形式表达,其中S为符号位。12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。

DS18B20温度传感器的存储器:

DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的E2RAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。

暂存存储器包含了8个连续字节,前两个字节是测得的温度信息,第一个字节的内容是温度的低八位,第二个字节是温度的高八位。第三个和第四个字节是TH、TL的易失性拷贝,第五个字节是结构寄存器的易失性拷贝,这三个字节的内容在每一次上电复位时被刷新。第六、七、八个字节用于内部计算。第九个字节是冗余检验字节。低五位一直都是1,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0。R1和R0用来设置分辨率,如表2-3所示:

表2-3 分辨率设置表

R1

0

0

1

1

R0

0

1

0

1

分辨率

9位

10位

11位

12位

温度最大转换时间

96.75ms

187.5ms

375ms

750ms

DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。

根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功。

在硬件上,DS18B20与单片机的连接有两种方法,一种是Vcc接外部电源,GND接地,I/O与单片机的I/O线相连;另一种是用寄生电源供电,此时Vcc、GND接地,I/O接单片机I/O。无论是内部寄生电源还是外部供电,I/O口线要接5KΩ左右的上拉电阻。

7

徐州工程学院毕业设计(论文)

DS18B20有六条控制命令,如表2-4所示:

表2-4 DS18B20控制命令

指令

温度转换

读暂存器

写暂存器

复制暂存器

重新调E2RAM

读电源供电方式

约定代码

44H

BEH

4EH

48H

B8H

B4H

操作说明

启动DS18B20进行温度转换

读暂存器9个字节内容

将数据写入暂存器的TH、TL字节

把暂存器的TH、TL字节写到E2RAM中

把E2RAM中的TH、TL字节写到暂存器TH、TL字节

启动DS18B20发送电源供电方式的信号给主CPU

单片机对DS18B20的访问流程是:先对DS18B20初始化,再进行ROM操作命令,最后才能对存储器操作,数据操作。DS18B20每一步操作都要遵循严格的工作时序和通信协议。如主机控制DS18B20完成温度转换这一过程,根据DS18B20的通讯协议,须经三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作[6-7]。

2.3无线传感器nRF905模块

2.3.1 模块介绍

无线传感器nRF905模块是以Nordic公司的单片射频发射器nRF905芯片开发而成,工作电压为1.9~3.6V,工作于433/868/915MHz3个ISM频道。nRF905片内集成了电源管理、晶体振荡器、低噪声放大器、频率合成器、功率放大器等模块。实物如图2-3所示:

图2-3 nRF905实物图

2.3.2 接口电路管脚说明

nRF905接口电路如图2-4所示:

8

徐州工程学院毕业设计(论文)

图2-4 nRF905硬件接口

各引脚的说明如表2-3所示:

表2-5 nRF905管脚说明表

管脚 名称

VCC

TX_EN

TRX_CE

PWR_UP

uCLK

CD

AM

DR

MISO

MOSI

SCK

GSN

GND

GND

管脚功能

电源

数字输入

数字输入

数字输入

时钟输出

数字输出

数字输出

数字输出

SPI接口

SPI接口

SPI时钟

SPI使能

说明

电源+1.9-3.6V DC

TX_EN=1 TX模式 TX_EN=0 RX模式

使能芯片发射或接收

芯片上电

本模块该脚废弃不用,向后兼容

载波检测

地址匹配

接收或发射数据完成

SPI输出

SPI输入

SPI时钟

SPI使能

接地

接地

1

2

3

4

5

6

7

8

9

10

11

12

13

14

说明:

(1) VCC脚接口电压范围为3V-3.6V之间,不能在这个区间之外,超过3.6V将会烧毁模块。推荐电压3.3V左右。

(2) 除电源VCC和接地端,其余脚都可以直接和普通的5V单片机IO口直接相连,无需电平转换。当然对3V左右的单片机更加适用了。

(3) 硬件上面没有SPI的单片机也可以控制本模块,用普通单片机IO口模拟SPI不需9

徐州工程学院毕业设计(论文)

要单片机SPI模块介入,只需添加代码模拟SPI时序即可。

(4) 13脚、14脚为接地脚,需要和母板的逻辑地连接起来。

(5) 与51系列单片机P0口连接时,需要加10K的上拉电阻,与其余借口连接不需要。

(6) 其他系列的单片机,如果是5V的,需参考该系列单片机IO口输出电流大小,如果超过19 mA,需要串联电阻分压,否则容易烧毁模块!如果是3.3V的,可以直接和nRF905模块的IO口线连接。

2.3.3 工作方式

nRF905工作模式及TRX_CE、TX_EN、PWR_UP的设置如表2-6所示:

表2-6 nRF905工作模式

PWR_UP TRX_CE

X

0

1

1

TX_EN

X

X

0

1

说明

掉电和SPI编程

Standby和SPI编程

ShockBurst Rx

ShockBurst Tx

0

1

1

1

1)ShockBurst模式

ShockBurstTM收发模式下,使用片内的先入先出堆栈区,数据低速从微控制器也能得到很高的射频数据发射速率。与射频协议相关的所有高速信号处理都在片内进行,这种做法有三大好处:尽量节能;低的系统费用(低速微处理器也能进行高速射频发射);数据在空中停留时间短,抗干扰性高。ShockBurstTM技术同时也减小了整个系统的平均工作电流。

在ShockBurstTM收发模式下,nRF905自动处理字头和CRC校验码。在接收数据时,自动把字头和CRC校验码移去,在发送数据时,自动加上字头和CRC校验码,当发送过程完成后,DR引脚同志微处理器数据发射完毕。

2)ShockBurst TX发送流程

典型的nRF905发送流程分以下几步:

A.当微控制器有数据要发送时,通过SPI借口,按时序把接收机的地址和要发送的数据发送给nRF905,SPI接口的速率在通信协议和器件配置时确定;

B.微控制器置高TRX_CE和TX_EN,激发nRF905的ShockBurst TM发送模式;

C.nRF905的ShockBurst TM发送;

(1)射频寄存器自动开启;

(2)数据打包(加字头和CRC校验码);

(3)发送数据包;

(4)当数据发送完成,数据准备还引脚被置高;

D.AUTO_RETRAN被置高,nRF905不断重发,知道TRX_CE被置低;

E.当TRX_CE被置低,nRF905发送过程完成,自动进入空闲模式。

10

徐州工程学院毕业设计(论文)

3) ShockBurst RX接收流程

A.当TRX_CE为高、TX_EN为低时,nRF905进入ShockBurst TM接收模式;

B.650us后,nRF905不断监测,等待接受数据;

C.当nRF905检测到同一频段的载波时,载波检测引脚被置高;

D.当接收到一个匹配的地址,AM引脚被置高;

E.当一个正确的数据包接收完毕,nRF905自动移去字头、地址和CRC校验位,然后把DR引脚置高;

F.微控制器把TRX_CE置低,nRF905进入空闲模式;

G.微控制器通过SPI口,以一定的速率把数据移到微控制器内;

H.当所有的数据接收完毕,nRF905把DR引脚和AM引脚置低;

I.nRF905此时可以进入ShockBurst TM接收模式、ShockBurst TM发送模式或关机模式。

当正在接收一个数据包时,TRX_CE或TX_EN引脚的状态发生改变,nRF905立即把其工作模式改变,数据包则丢失。当微控制器接到AM引脚的信号之后,其就知道nRF905正在接收数据包,其可以决定是让nRF905继续接收该数据包还是进入另一个工作模式。

4)节能模式

nRF905的节能模式包括关机模式和节能模式。

在关机模式,nRF905的工作电流最小,一般为2.5uA。进入关机模式后,nRF905保持配置字中的内容,但不会接收或发送任何数据。空闲模式有利于减小工作电流,其从空闲模式到发送模式或接收模式的启动时间也比较短。在空闲模式下,nRF905内部的部分晶体振荡器处于工作状态 [8-10] 。

2.3.4 配置nRF905模块

所有配置字都是通过SPI接口送给nRF905。SIP接口的工作方式可通过SPI指令进行设置。当nRF905处于空闲模式或关机模式时,SPI接口可以保持工作状态。

1)SPI接口寄存器配置

SPI接口由状态寄存器、射频配置寄存器、发送地址寄存器、发送数据寄存器和接收数据寄存器5个寄存器组成。状态寄存器包含数据准备好引脚状态信息和地址匹配引脚状态信息;射频配置寄存器包含收发器配置信息,如射频和输出功能等;发送地址寄存器包含接收机的地址和数据的字节数;发送数据寄存器包含待发送的数据报信息,如字节数等;接收数据寄存器包含要接收的数据的字节数等信息。

SPI接口由5个内部寄存器组成执行寄存器的回读模式来确认寄存器的内容。

2)SPI指令设置

当CSN为低时,SPI接口开始等待一条指令。任何一条新指令均由CSN的由高到低的转换开始。用于SPI接口的有用命令见下表2-7:

11

徐州工程学院毕业设计(论文)

表2-7 SPI串行接口指令设置

SPI串行接口指令

指令名称

W_CONFIG(WC)

R_CONFIG(RC)

W_TX_PAYLOAD(WTP)

R_TX_PLAYLOAD(RTP)

W_TX_ADDRESS(WTA)

R-TX-ADDRESS(RTA)

R_RX_PAYLOAD(RRP)

CHANNEL_CONFIG(CC)

指令格式

0000AAAA

0001AAAA

00100000

00100001

00100010

00100011

00100100

1000pphc

cccccccc

操作

写配置寄存器AAAA指出写操作的开始字节字节数量取决于AAAA指出的开始地址

读配置寄存器AAAA指出读操作的开始字节字节数量取决于AAAA指出的开始地址

写TX有效数据1-32字节写操作全部从字节0开始

读TX有效数据1-32字节读操作全部从字节0开始

写TX地址1-4字节写操作全部从字节0开始

读TX地址1-4字节读操作全部从字节0开始

读RX有效数据1-32字节读操作全部从字节0开始

快速设置配置寄存器中CH_NO HFREQ_PLL和PA_PWR的专用命令CH_NO=cccccccc

HFREQ_PLL=h PA_PWR=pp

2.4 LCD1602显示模块

2.4.1 控制器接口说明

各引脚符号及功能如表2-8所示:

表2-8 接口信号表

编号

1

2

3

4

5

6

7

8

符号

VSS

VDD

VL

RS

R/W

E

D0

D1

引脚说明

电源地

电源正极

液晶显示偏压信号

数据/命令选择端(H/L)

读/写选择端(H/L)

使能信号

Data I/O

Data I/O

编号

9

10

11

12

13

15

15

16

符号

D2

D3

D4

D5

D6

D7

BLA

BLK

引脚说明

Data I/O

Data I/O

Data I/O

Data I/O

Data I/O

Data I/O

背光源正极

背光源负极

1)基本操作时序

(1)读状态:输入:RS=L,RW=H,E=H 输出:D0~D7=状态字

(2)写指令:输入:RS=L,RW=L,D0~D7=指令码,E=高脉冲 输出:无

(3)读数据:输入:RS=H,RW=H,E=H 输出:D0~D7=数据

(4)写数据:输入:RS=H,RW=L,D0~D7=数据,E=高脉冲 输出:无

2) RAM地址映射图

12

徐州工程学院毕业设计(论文)

控制器内部带有80×8位(80字节)的RAM缓冲区,对应关系如图2-5所示:

图2-5 RAM地址映射图

2.4.2 初始化过程(复位过程)

1.延时15ms

2.写指令38H(不检测忙信号)

3.延时5ms

4. 写指令38H(不检测忙信号)

5. 延时5ms

6. 写指令38H(不检测忙信号)

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

8. 写指令38H:显示模式设置

9. 写指令08H:显示关闭

10. 写指令01H:显示清屏

11. 写指令06H:显示光标移动设置

12. 写指令0CH:显示开及光标设置

2.5 ISD1420语音模块

ISD1420是美国ISD公司出品的新型单片优质语音录放电路,较之以往所有的语言电路,具有专利技术的模拟处理存储方式,使录放音质极佳,没有常见的背景噪音,且电路断电后语音内容仍不丢失。电路内部由振荡器、语音存储单元、前置放大器、自动增益控制电路、抗干扰滤波器、输出放大器组成。一个最小的录音系统仅由一个麦克风、一个喇叭、两个按钮、一个电源、少数电阻和电容组成。

2.5.1 特点

• 重现优质原声

• 基本上不耗电信息存储

• 信息可保存100年,可反复录放10万次

• 选址处理多达160段

13

徐州工程学院毕业设计(论文)

• 具有自动节电模式

• 维持状态,仅需0.5uA电流

2.5.2 电路外形图及引出端功能说明

ISD1420接口电路如图2-6所示:

图2-6 ISD1420引脚图

引脚说明如表2-9所示:

表2-9 引出端说明表

名称

A0~A5

A6、A7

VCCD

VCCA

VSSD

VSSA

SP+、-

XCLK

NC

管脚

1-6

9、10

28

16

12

13

14、15

26

11

功能

地址

地址(MSB)

数字电路电源

模拟电路电源

数字地

模拟地

喇叭输出+、-

外接定时器(可选)

空脚

名称

Ana Out

Ana In

AGC

Mic

Mic Ref

管脚

21

20

19

17

18

24

27

25

23

功能

模拟输出

模拟输入

自动增益控制

麦克风输入

麦克风参考输入

放音,边缘触发

录音

发光二极管

放音,电平触发

PLAYE

REC

RECLED

PLAYL

2.5.3 地址模式

A0~A7地址输入有双重功能,根据地址中的A6,A7的电平状态决定功能。如果A6,A7有一个是低电平,A0~A7输入解释为地址位,作为起始地址用。根据PLAYL、PLAYE或REC的下降沿信号,地址输入被锁定。

A0~A7由低位向高位排列,每位地址代表125毫秒的寻址,160个地址覆盖20秒的语音范围(160*0.125s=20s),录音及放音功能均从设定的起始地址开始,录音结束由停止键14

徐州工程学院毕业设计(论文)

操作决定,芯片内部自动在该段的结束位置插入结束标志(EOM);而放音时芯片遇到EOM标志即自动停止放音。

2.5.4 操作模式

如果A6,A7同为高电平时,它们即为模式位。地址位仅作为输入端,在操作过程中不能输出内部地址信息。

使用操作模式有两点要注意:

1、所有初始操作都是从0地址开始,0地址是ISD1420存储空间的起始端,以后的操作可根据模式的不同,而从不同的地址开始工作。当电路中录放音转换或进入省电状态时,地址计数器复位为0。

2、当PLAYL、PLAYE或REC变为低电平,同时A6,A7为高电平时,执行对应操作模式。这种操作模式一直执行到下一个低电平控制输入信号出现为止,这一刻现行的地址/模式信号被取样并执行。

操作模式描述:

操作模式可以与微控制器一起使用,也可用硬件连线得到所需系统操作。

A0---信息检索(PLAYE或PLAYLonly)

不知道每个信息的实际地址,A0可使操作者快速检索每条信息,A0每输入一个低脉冲,可使得内部地址计数器跳到下一个信息。这种模式仅用于放音,通常与A4操作同时应用。

A1---删除EOM标志(REConly)可使录入的分段信息成为连续的信息,用A1可删除掉每段中间信息后的EOM标志,仅在所有信息后留一个EOM标志。当这个操作模式完成时,录入的所有信息作为一个连续的信息放出。

A2---未用。

A3---循环重放信息(PLAYE或PLAYLonly)可使存于存储空间始端的信息自动地连续重放。一条信息可以完全占满存储空间,那么循环就可以从头至尾进行工作,并由始至终反复重放。

A4---连续寻址:在正常操作中,当一个信息放出,遇到一个EOM标志时,地址计数器会复位,A4可防止计数器复位,使得信息连续不断地放出。

A5---未用。

2.6 键盘输入模块

键盘采用4×4矩阵式键盘,利用8跟数据线(即占用8个I/O)来实现对16个按键的扫描处理。矩阵式键盘对按键的处理一般采用逐行扫描查询或者逐列扫描查询法。本模块采用逐行扫描查询法,其原理是:首先,判断有无按键按下,将键盘中的行线全部置0,然后读入列线的信号,若有按键按下,则必有列线信号为0;接着,来判断是哪个按键被按15

徐州工程学院毕业设计(论文)

下,将按键中的行线逐行依次设置为0;最后读入列线的状态,当列线中有0时,则该列线与当前行线交叉的那个按键被按下。这样,就实现了对矩阵式键盘按键的识别与处理。

2.7硬件概要设计

系统由两部分组成:一是采集数据、数据处理、发出报警信号和进行无线传输的主机;其原理框图如图2-7所示:

图2-7 主机采集发送模块

二是接收数据并把数据显示出来的接受端,同时进行语音播报。其原理框图如图2-8所示:

图2-8 从机语音播报接收模块

2.8 硬件总体设计

系统分为两大部分,由概要设计图可知第一部分主要由AT89S52、温度传感器DSl8820、LCD液晶、无线nRF905模块、4×4矩阵式键盘组成,通过DS18B20将温度信息采集后,经过89S52将数据进行处理后,通过无线模块传输到第二部分,同时第一部分还可以通过键盘对报警温度上下限进行设置。第二部分主要由AT89S52、LCD液晶、无线nRF905模块、ISD1420语音模块组成,通过无线模块进行进行数据的接收,然后通过ISD1420进行语音播报[14]。系统硬件连线如图2-9、2-10所示。

16

徐州工程学院毕业设计(论文)

图2-9采集发送模块

图2-10语音播报接收模块

17

徐州工程学院毕业设计(论文)

3 系统软件设计

3.1 软件开发环境

3.1.1 Keil简介

单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。

3.1.2 系统概述

Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。

Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。下面详细介绍Keil C51开发系统各部分功能和使用。

3.1.3 Keil C51单片机软件开发系统的整体结构

C51工具包的整体结构中uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。

使用独立的Keil仿真器时,注意事项:

18

徐州工程学院毕业设计(论文)

* 仿真器标配11.0592MHz的晶振,但用户可以在仿真器上的晶振插孔中换插其他频率的晶振。

* 仿真器上的复位按钮只复位仿真芯片,不复位目标系统。

* 仿真芯片的31脚(/EA)已接至高电平,所以仿真时只能使用片内ROM,不能使用片外ROM;但仿真器外引插针中的31脚并不与仿真芯片的31脚相连,故该仿真器仍可插入到扩展有外部ROM(其CPU的/EA引脚接至低电平)的目标系统中使用。

3.2 主程序

该系统的软件采用模块结构,由C语言编写完成。主要由初始化程序、读传感器状态、键扫、LCD显示程序、射频模块无线发送等模块组成。程序结构图如图3-1、3-2所示:

图3-1主机程序结构图

19

徐州工程学院毕业设计(论文)

图3-2从机程序结构图

3.3温度采集电路

DS18B20的工作严格遵守单总线器件的通信协议,以保证数据的完整性。单总线协议定义了复位脉冲、应答脉冲、写0、写1、读0和读1几种类型的信号,所有的单总线命令序列都是由这些基本的信号类型组成。在这些信号中,除了应答脉冲外,其他均由主机发出同步信号,并且发送的所有命令和数据都是字节的低位在前[11-13]。在本设计中,总线上只有一个温度传感器,转换精度为12位。读温度的流程如图3-3所示:

图3-3温度转换流程图

20

徐州工程学院毕业设计(论文)

初始化DS18B20代码如下:

Init_DS18B20(void)

{

DQ = 1 ; //DQ复位

Delay1(8) ; //稍做延时

DQ = 0 ; //单片机将DQ拉低

Delay1(90) ; //精确延时大于480us

DQ = 1 ; //拉高总线

Delay1(8) ;

presence = DQ ; //如果=0则初始化成功 =1则初始化失败

Delay1(100) ;

DQ = 1 ;

return(presence) ; //返回信号,0=presence,1=no presence

}

读取DS18B20温度信息,代码如下:

Read_Temperature(void)

{

Init_DS18B20() ;

WriteOneChar(0xCC) ; // 跳过读序号列号的操作

WriteOneChar(0x44) ; // 启动温度转换

Init_DS18B20() ;

WriteOneChar(0xCC) ; //跳过读序号列号的操作

WriteOneChar(0xBE) ; //读取温度寄存器

}

temp_data[0] = ReadOneChar() ; //温度低8位

temp_data[1] = ReadOneChar() ; //温度高8位

3.4 收发端的程序流程图

单片机串口对无线收发模块接收状态转换的控制,可通过设置空间的属性来实现。如图3-4为发送端程序流程图,图3-5为接收端程序流程图。

21

徐州工程学院毕业设计(论文)

图3-4发送端流程图

图3-5接收端流程图

22

徐州工程学院毕业设计(论文)

无线模块nRF905的程序设计是本系统的重点也是难点,首先是对nRF905模块进行初始配置,配置完成后按需要编写用户数据的发送或接收程序。而nRF905的所有配置都是通过SPI接口进行的。nRF905的SPI接口只有在掉电模式和standby模式是激活的。当CSN为低时,SPI接口开始等待一条指令,任何一条新指令均由CSN由高到低的转换开始。

nRF905发送模式工作过程如下:

a)当AT89S52发送数据时,将接收设备地址和所要发送的数据通过SPI接口写人nRF905,SPI传输速率由初始化设置。

b)置位TRX_CE、TX_EN,激活nRF905发送模式。

c)nRF905自动完成数据打包(加入前导码和CRC),包经过GFSK调制以100 Kbit/s发送,当传输完毕DR置位。

d)如果将AUTO_RETRAN位置高,nRF905将连续发送数据包。直至将TRX_CE引脚复位。

e)当TRXCE引脚被设置为低时,nRF905结束发送模式,并进入standby模式。

nRF905接收模式工作过程如下:

a)将TRX_CE置位,TX_EN复位后650us,nRF005进入接收模式等待数据到来。

b)当nRF905在接收信号检测到载波,则CD(carrier detect)引脚置位;然后,如果接收到有效地址则AM(address match)置位,最后将接收到的有效数据包去掉前导码、地址,CRC正确后,将DR(data ready)引脚置位。

c)CPU复位TRX_CE引脚,使nRF905进入空闲模式,然后通过SPI接口读取数据。

d)数据接收完毕后,nRF905 DR和AM引脚复位并准备进入下一个工作模式。

其中部分主要子程序代码如下:

nRF905模块初始化配置:

void nRF905Init(void)

{

CSN=1; // Spi disable

SCK=0; // Spi clock line init low

DR=0; // Init DR for input

AM=0; // Init AM for input

CD=0; // Init CD for input

PWR=1; // nRF905 power on

TRX_CE=0; // Set nRF905 in standby mode

TXEN=0; // set radio in Rx mode

}

nRF905初始化寄存器:

void Config905(void)

23

徐州工程学院毕业设计(论文)

{

uchar i;

CSN=0; // Spi enable for write a spi command

SpiWrite(WC); // Write config command写放配置命令

for (i=0;i<11;i++) // Write configration words 写放配置字

{

SpiWrite(RFConf[i]);

}

CSN=1; // Disable Spi

}

nRF905发送数据打包:

void TxPacket(uchar *TxRxBuf)

uchar i;

Config905();

CSN=0;

SpiWrite(WTP); // Write payload command

for (i=0;i<4;i++)

{

SpiWrite(TxRxBuf[i]); // Write 32 bytes Tx data

} // Spi enable for write a spi command

CSN=1;

delay(1); // Spi disable

CSN=0; // Spi enable for write a spi command

SpiWrite(WTA); // Write address command

for (i=0;i<4;i++) // Write 4 bytes address

{

SpiWrite(TxAddress[i]);

}

CSN=1; // Spi disable

TRX_CE=1; // Set TRX_CE high,start Tx data transmission

delay(1); // while (DR!=1);

TRX_CE=0; // Set TRX_CE low

}

nRF905设置发送状态:

void SetTxMode(void)

24

徐州工程学院毕业设计(论文)

{

TRX_CE=0;

TXEN=1;

delay(1); // delay for mode change(>=650us)

}

nRF905设置发送状态:

void SetRxMode(void)

{

TXEN=0;

TRX_CE=1;

Delay(1); // delay for mode change(>=650us)

}

nRF905判断数据接收状态:

unsigned char CheckDR(void) //检查是否有新数据传入 Data Ready

{

if (DR=1&&TRX_CE==1 && TXEN==0)

{

return 1;

}

else

{

return 0;

}

}

读nRF905接收数据:

void RxPacket(void)

{

uchar i;

Delay(1);

Delay(100);

TRX_CE=0;

CSN=0; // Spi enable for write a spi command

Delay(1);

SpiWrite(RRP);

for (i = 0 ;i < 4 ;i++)

{

TxRxBuffer[i]=SpiRead(); // Read data and save to buffer

}

CSN=1;

Delay(10);

TRX_CE=1;

}

nRF905-数据接收:

void RX(void)

{

25

徐州工程学院毕业设计(论文)

SetRxMode(); // Set nRF905 in Rx mode

while (CheckDR()==0);

Delay(10);

RxPacket();

Delay(10);

}

3.5 语音播报的程序流程图

ISD1420 地址输入端具有双重功能,根据地址中的A6、A7的电平状态决定A0~A7的功能。如果A6、A7中间至少有一个低电平,则A0~A7输入全解释为地址位,作为起始地址用,此时地址线仅仅作为输入端口,在操作过程中不能输出内部地址信息。根据PLAYE、PLAYL 或REC的下降沿信号,地址输入被锁定。如果A6、A7同为高电平时,ISD1420芯片进入模式操作方式。其流程图如图3-6所示:

图3-6语音播报流程图

根据系统设计要求,需要存储“0”、“1”、“2”、“3”、“4”、“5”、“6”、“7”、“8”、“9”、“摄氏度”共计11 段语音信息。系统正常运行时,从无线端接收到温度后系统播放当前温度值,例如当前温度为26°C时,系统分别送出存储“2”的地址,使PLAYL 端口为低电平,调用一段延时,系统开始播放预先存储“2”的模拟语音,当语音播放完毕,给PLAYL

端口送高电平,停止播放语音。播放“6”,“°C度”语音信息方法类似。如果播放时,设定延时恰当,那么听起来就是26°C度。

26

徐州工程学院毕业设计(论文)

部分代码如下所示:

void say(char x)

{

switch(x)

{

case '0': P2=0x00;

play=0;

delay_y(1050);

play=1;

break;

case '1': P2=0x08;

play=0;

delay_y(1050);

play=1;

break;

case '2': P2=0x10;

play=0;

delay_y(1050);

play=1;

break;

case '3': P2=0x18;

play=0;

delay_y(1050);

play=1;

break;

case '4': P2=0x20;

play=0;

delay_y(1050);

play=1;

break;

case '5': P2=0x28;

play=0;

delay_y(1050);

play=1;

break;

case '6': P2=0x30;

play=0;

delay_y(1050);

play=1;

break;

case '7': P2=0x38;

play=0;

delay_y(1050);

play=1;

break;

case '8': P2=0x40;

27

徐州工程学院毕业设计(论文)

play=0;

delay_y(1050);

play=1;

break;

case '9': P2=0x48;

play=0;

delay_y(1050);

play=1;

break;

case '.': P2=0x50;

play=0;

delay_y(950);

play=1;

break;

case 'c': P2=0x58;

play=0;

delay_y(2050);

play=1;

break;

}

}

28

徐州工程学院毕业设计(论文)

结论

通过这次试验,更加深入的了解了温度传感器,无线传输模块,以及51单片机的结构功能和具体应用,对电路PCB板有了更深的认识,开阔了眼界,丰富了知识,增长了见识。

在老师和同学们的帮助下,完成了本次试验,所设计的无线温度采集系统,可以实现温度的无线采集,并且相当精确。电路板虽然简单,没有运放等元件,但可以基本上完成此系统的任务,在电源的稳定,二极管发光,和电路的焊接方面,也相应的补充改进了设计方案。

本系统由传感器和接收机,以及显示芯片组成。传感器部分由数字温度传感器DS18B20,单片机AT89S52,低功耗射频传输单元nRF905和天线等组成,传感器采用电源供电;接收机无线接收来自传感器的温度数据,经过处理、保存后在LCD1602上显示,所存储的温度数据可以通过串行口连接射频装置与接收端 进行交换。

通过这次毕业设计,得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧(特别是C语言)的掌握方面都能向前迈了一大步,为日后成为合格的应用型人才打下良好的基础。

29

徐州工程学院毕业设计(论文)

致谢

在这次课程设计的完成过程中,我得到了许多人的帮助。

首先我要感谢我的老师在课程设计上给予我的指导、提供给我的支持和帮助,这是我能顺利完成这次报告的主要原因,更重要的是老师帮我解决了许多技术上的难题,让我能把系统做得更加完善。在此期间,我不仅学到了许多新的知识,而且也开阔了视野,提高了自己的设计能力。

其次,我要感谢帮助过我的同学,他也为我解决了不少我不太明白的设计上的难题。同时也感谢学院为我提供良好的做毕业设计的环境。

最后再一次感谢所有在设计中曾经帮助过我的良师益友和同学。

30

徐州工程学院毕业设计(论文)

参考文献

[1]李朝青.单片机原理及接口技术[M].杭州:北京航空航天大学出版社,1998:4-9.

[2]张毅坤. 单片微型计算机原理及应用[M].西安:西安电子科技大学出版社,1998:3-11.

[3]余锡存,曹国华.单片机原理及接口技术[M].陕西:西安电子科技大学出版社,2000:2-8.

[4]雷丽文.微机原理与接口技术[M].北京:电子工业出版社,1997.2:4-15.

[5]李广弟.单片机基础[M].北京:北京航空航天大学出版社,1994:5-12.

[6]黄贤武.传感器实际应用电路设计[M].成都:成都电子科技大学出版社,1997:30-44.

[7]廖常初.现场总线概述[J].电工技术,1999:4-16.

[8]汤绮婷.基于射频模块nRF905的粮库无线温湿度监控系统[J].电子产品世界,2007(7) :23-28.

[9]焦传海.基于nRF9E5的有源超高频RFID系统设计[M].China Academic Journal Electronic

PublishingHouse,2007:3-15.

[10]王代华,薛云朝,任立宗.无线遥控触发系统研究[J].自然科学版,2007(2) :7-19.

[11]王丽娟.单片机在锅炉温度控制系统中的应用[J].微计算机信息,2007,(23):122-123.

[12]童本敏.标准集成电路数据手册TTL集成电路[M].北京:电子工业出版社,1989.

[13]阎石.数字电子技术基础(第三版)[M].北京:高等教育出版社,1989.

[14]曾令荣,林茂.温度检控报警系统设计[M].电子制作,2009(10):40-44.

[15]马宝甫.一种混合纠错算法及其单片机软件实现[J].山东矿业学院学报,1997,16(3):270-274.

[16]薛丽萍.用单片机实现的磁卡读卡机[J].电子技术应用,1998,5(8):68-70.

[17]刘永强.用FIFo芯片实现双单片机系统的数据传送[J].淮海工学院学报,2000,9(3):22-24.

[18]游道明,陈坚.基于DEs的滚动加密算法在机车防盗系统中的单片机实现[J].微型电脑应用,2001,

17(12):33-36.

[19]张国云,彭仕玉.加密型Ic卡与AT89c51单片机接口程序设计[J].电子与自动化,2000,5:32-34

[20]李冬梅.用89C51单片机实现5DLC方式通讯[J].江西煤炭科技,2001,4(2):38-39.

31

徐州工程学院毕业设计(论文)

附录

附录1 英文文献翻译

The wireless temperature collects a system design

Wireless temperature's collecting system is 1 kind to equip according to the radio frequency

technical wireless temperature system from spread feeling machine and

receiver, and show that the chip a feeling machine part is spread the feeling

machine chip 18 B20s by the numerical temperature, single slice the machine 89 S52s, the low

achievement consumes a radio frequency to deliver the unit NRF905 and antenna etc. to

constitute and spread the feeling machine adoption power supply power supply;Receiver

wireless receive to come from the temperature data which spreads a feeling machine, through

processing, keep behind on the LCD1602 manifestation, the temperature data save can pass the

conjunction radio frequency of in a string of line device and receive to carry to carry on

commutation.

The wireless temperature collects mainly to spread the feeling machine DS18 B20 chips

according to the single line numerical single line numerical temperature of

Dallas semi-conductor company's spreading the feeling machine DS18 B20 is in the world"a

glimmer of and total line" of one support connect oscular temperature to spread a feeling

machine.A glimmer of and total line is special and the characteristics of economy, use the door

can easily the set set up to spread a feeling machine network, for measure set up of system to

lead into the all new DS18 B20 support"a glimmer of and total line" connects,

measure the temperature scope is-55°Cto+125°C, in-10~+85 scopes of °C, the accuracy is

0.5 °Cfor the ±.The spot temperature is deliver with the numerical way of "a glimmer of and

total line", consumedly raised the anti- interference of system, suitable for bad environment of

the spot temperature measure, support a 3 Vs~the electric voltage scope with 5.5 Vs, the DS18

B20 can set 9~12 resolutions by procedure and the accuracy is 0.5 °C for the±.

Numerical single and total line temperature's spreading a feeling machine is lately

currently to measure a spare part, it gathers temperature diagraph, the A/D converts at the

integral whole, have single and total line structure, numerical the quantity output, the direct and

tiny machine picks up a people etc. can constitute single road temperature to

measure device with it, can also with it constitute many the road temperature measure device,

article introductive single road temperature measure the device have already developped into a

product, product through test at-10°C -70°C measure error margin is 0.25 °C, 80 °C≤T≤105 °Cthe error margin is T for 0.5°C >105 °C error margins for enlarge to 1°C or so.

The wireless of temperature data's deliver is according to the low achievement to consume a

radio frequency to deliver the unit NRF905 905 is Nordic VLSI company in Norway

to release of single slice radio frequency transceiver, the work electric voltage is a 1.9~3.6 Vs, 32

lead the feet QFN to pack(5×s 5 mms), work is three ISM(industry, science and medical science)

channels at the 433/868/915 MHzs, of channel of conversion time be small in 650 905

synthesize to°from the frequency a machine and receive a solution to adjust a machine, power

enlarger, crystal to flap to concuss a machine and make a machine to constitute, don't need an in

addition voice form filter, ShockBurstTM work mode, automatic processing word head and

CRC(circulation redundancy code the school check), use SPI to connect to correspond by letter

with tiny controller, install very addition, it achievement consume very low,

with-the exportation power with 10 dBms shoot electric current only have 11 mAs, work while

receive mode of electric current is 12.5 mAs, inside set up spare time mode and shut down mode,

be easy to a realization economy energy.

The nRF integration inside 905 slices the power supply management, crystal flap to

32

徐州工程学院毕业设计(论文)

concuss a machine, low Zao voice enlarger, frequency to synthesize machine power enlarger etc.

mold piece.

After pass by the wireless deliver, the temperature data information will show in 1602

LCDs chip up carry on a manifestation, 1602 LCDs show a chip adoption 14 feet of the standard

connect and among them, the VSS is a ground of power supply and the VDD connects the 5 V

positive electricity source and the V0 adjusts to carry for the liquid crystal display contrast

degree and while connecting a positive electricity source the contrast degree be the most weak

and while connecting a ground of power supply the contrast degree be the tallest and contrasting

to spend Gao Shi2 will produce "ghost shadow", can pass the adjustment contrast degree of the

electric potential machine of a 10 Ks while order to deposit a machine choice RS, Gao

Dian4 chooses a data to deposit a machine, low electricity to choose instruction to deposit a

machine at ordinary times at ordinary order to read and write signal line RW, Gao

Dian4 is at ordinary times carry on reading an operation and the low electricity is at ordinary

times carry on writing an RS and RW together can write in instruction to

perhaps show an address at ordinary times for the low electricity, be RS for low give or get an

electric shock the even RW as Gao Dian4 can read busy signal at ordinary times, be RS for Gao

Dian4 Ping2 RW for low the electricity can write in a data at ordinary times.E's carry can carry

for make and be E to carry is jump by Gao Dian4 Ping2 to become a low electricity peacetime,

the LCD mold piece execute an order.D0~ D7s is 8 pairs to the data line.

The temperature of this system collects and shows, deliver of wireless with contrast all

from single slice the machine 89 S52s to control e but talk the 89 S51s of

ATMEL company more practical, because of he not only with 8051 instructions, pin complete

and permit, and it 4 K in the slice procedure saving the machine be a FLASH craft of, the saving

machine customer of this kind of craft can use the way of electricity in a twinkling wipes in

addition to, rewrite, generally and just for the ATMEL AT89 xxes do of plait distance the

machine all takes these sly, this kind of single slice's request of the machine

folio hair equipments be very low and develop time also consumedly procedure

which writes in a single slice inside machine can be also carry on encrypt and this nicely

protected our labor results again.

System work principle and detailed process.

First, after turn power on, this system from single slice the machine 89 S52s spreads the

feeling machine DS18 B20 chips to issue instruction to carry on measuring toward the single line

numerical temperature and the DS18 B20 internal structure mainly constitutes from four-part

cent:64 temperatures that only engrave ROM, temperature to spread a feeling machine and don't

vaporize report to the police to trigger machine TH and TL and install to deposit a machine.

The DQ inputs for the numerical signal/the exportation carry;The GND is a power supply

ground;VDD for circumscribe power supply power supply an importation to carry.(connect

ground while living on power supply to connect a line method)

The temperature in the DS18 B20 spreads a feeling machine and can complete the diagraph

toward the temperature and take 12 conversions as an example:The binary system which expands

with 16 signs repairs code to read that the few forms provide, express by 0.0625°C/LSB form,

among them, the S is a sign.12 be 12 datas which convert to get behind, saving in 2 with 18 B20s

8 the ratios especially of the RAM, front within binary system 5 are signs, if measure of the

temperature be big in 0, this 5 is 0, only will measure of the number multiply by in 0.0625 can

immediately get actual temperature;If the temperature is small in 0, this 5 is 1, the number for

measure needs to be take anti- add 1 is multiply by in again 0.0625 can immediately get actual

temperature.

The DS18 B20 temperatures spread the saving machine of feeling machine:

The DS18 B20 temperatures spread the internal and saving machine of feeling machine to

include a high speed temporary saves RAM to not and easily lose with 1 sex of can give or get

33

徐州工程学院毕业设计(论文)

an electric shock to wipe in addition to of E2 RAM, the latter deposits heat degree and low

temperature degree to trigger machine TH, TL and structure to deposit a machine.

Temporary saved a machine to include 8 continuous word stanzas, two ex- word stanzas

is measure of temperature information, the first contents of word stanza is low 8 of the

temperature and the second word stanza is Gao Ba Wei4 of the third is a TH,

TL to easily lose sex to copy with the fourth word stanza, the fifth word stanza is a structure to

deposit an easily lose of the machine sex to copy, these three contentses of word stanzas at every

up wire reply is 6, 7 and 8th word reduces expenses to compute at the inner

ninth word stanza is the redundancy examination word 5 always is 1, the TM tests a

mode and used for to establish the DS18 B20 is work the mode still keep testing the

DS18 B20 factory that is established to 0.R1 and R0 are use to establish a resolution and is

shown as watch below:(The DS18 B20 factory is established to 12)

The resolution establishes form:

The R1 R0 resolution temperature the biggest conversion time

0 0 9 96.75ms

0 1 10187.5 mses

1 0 11375 mses

1 1 12750 mses

According to the communication agreement of the DS18 B20, the completion temperature

conversion of the host control DS18 B20 has to be through three steps:Read and write to before

and all want to carry on reset to the DS18 B20 every time, send out a ROM instruction after reset

success, finally send out RAM instruction, then can carry on a reserved operation to the DS18

B20 to request main CPU to pull the bottom of the data line 500, then release, the DS18

B20 waits for after receive the signal 16~60 tiny second be or so, send out exist of 60~240 low

pulse behind and the main CPU receives this signal to mean to reset success.

On the hardware, the DS18 B20 contains two kinds of methods with single slice the

conjunction of the machine, 1 kind is a Vcc to connect exterior power supply, the GND connects

ground, I/O and single slice the I/O line of the machine connect with each other;Using to live on

power supply power supply is another , the UDD, GND connects ground at this time, and the I/O

connects a single slice the machine I/less is an inner part to live on a power supply or

an exterior power supply, the I/O line wants to connect a 5 K and the Ω or soly and up pulls

electric resistance.

Single slice machine to the interview process of DS18 B20 BE:First start to turn to the

DS18 B20 beginnings, carry on a ROM operation order again, finally then can to saving machine

operation, data DS18 B20 each one step operations want to follow strict work

cycle time and correspond by letter the completion temperature of the host control

DS18 B20 converts this process, according to the communication of the DS18 B20 negotiate and

the beard is through three steps:Read and write to before and all want to carry on reset to the

DS18 B20 every time, send out a ROM instruction after reset success, finally send out RAM

instruction, then can carry on a reserved operation to the DS18 B20 so.

Then the data is deliver to the single slice the machine 89 S52s, eight datas divide to twice

deliver, again from single slice machine plait distance for can four datas show by figures tube,

head 1 is plus or minus temperature data, empress 3 for take the current temperature of decimal

data is also sent to a low achievement to consume a radio frequency to deliver the unit

NRF905 to carry on a wireless to deliver.

Should notice 1:00, 51 single slice machines have the string of a whole pair works line

communication, so single slice of the machine and NRF905 carries on a string of

satisfy a certain condition while carrying on a string of line communication,

for example the string of computer is a RS232 the electricities be even, and single slice the string

of the machine be a TTL electricity even of, both have to have 1 to give or get an electric shock

34

徐州工程学院毕业设计(论文)

even conversion electric circuit, we adopted the appropriation chip MAX232 to carry on a

conversion, although can also be with a few triode transistors carry on imitating a conversion,

still use appropriation chip more in brief adopted three, be also say with 9 of the

NRF905 conjunction among them of 3 lines:The GND of 5 feet, the RXD of 2 feet, the TXD of 3

is the most simple conjunction method, but has already enough used to us, the electric

circuit is shown as diagram below, MAX232 of 10 feet and single slice be 11 feet conjunctions

of the machine, 9 feet and single slice 10 feet conjunction of the machine, 15 feet and single slice

20 feet of the machine link.

NRF 905 have two kinds of work modes and two kinds of economy energy

kinds of work modes are a ShockBurstTM to receive mode and ShockBurstTM to send out mode

respectively, two kinds of economy energy modes respectively is shut down mode and spare

time 905 work modes from TRX_CE, TX_EWR_P 3 lead feet decision.

The high-speed signal having something to do with radio frequency data wrap handles all

to carry on in the nRF 905 slices, the data velocity SPI install by tiny controller connects a

people's decision, the data is in the tiny controller low speed processing, but the high speed send

out in the nRF 905, so in the center have a very long-playing spare time, this is advantageous to

economy energy very 905 works are at the ShockBurstTM mode, so the tiny

controller of usage low speed can also get a very high radio frequency data blast-off

the ShockBurstTM receive under the mode, after being a data which includes correct address and

data to wrap to be receive, the address match(AM) to ready to(DR) with data two lead feet to

notify tiny out mode in the ShockBurstTM, nRF 905 automatic creation word

head and CRC school check code, after being to send out process completion, data ready to lead

the data blast-off of the notice microprocessor of feet to above analytical can

know, nRF 905 ShockBurstTMs receive and dispatch mode to be advantageous to an economy

saving machine and tiny controller resources, also let up to write time of procedure in the

eath concrete detailed analytical nRF 905 of send out process and receive

process.

The nRF of typical model 905 send out process following several step for cent:

A. When the tiny controller has a data to send out, connect through a SPI, on time preface

the address of receiver with want to send out of the data send to pass nRF 905, the SPI connects

oscular velocity to make sure while corresponding by letter agreement and spare part to install;

B. The tiny controller places high TRX_CE and TX_EN, stir up nRF 905 of the

ShockBurstTM send out mode;

C. NRF 905 ShockBurstTMs send out:

The l radio frequency deposits a machine to automatically open;

The l data pack;(add word head and CRC school to check code)

The l sends out a data to wrap;

The l is a data to send out completion, the data readies to lead feet drive place Gao;

The D. AUTO_RETRAN is placed Gao, nRF 905 continuously heavy deliver, until the

TRX_CE is place low;

E. When the TRX_CE is place low, nRF 905 send out process to complete, automatically

get into spare time mode.

The ShockBurstTM work mode promise that once sending out the process beginning of data,

whether TRX_EN and TX_EN's leading feet be high or low or not, sending out processes will be

finished fore one piece according to wrap disheveled hair send to complete, nRF

905 then can accept next send out a data to wrap.

Receive process

A. When TRX_CE's ising a Gao, TX_EN is low, nRF 905 get into ShockBurstTM to

receive mode;

B. The empress of the 650 us, nRF 905 continuously monitor, wait for receiving a data;

35

徐州工程学院毕业设计(论文)

C. When nRF 905 examine a carry of same Pin segment wave, carry an examination to lead

feet to be placed Gao;

D. When receive to an address which mutually matches, the address matches to lead feet to

be placed Gao;

E. When a correct data pack receives to complete, nRF 905 automatically move to check in

word head, address and CRC school, then ready to a data to lead feet to place Gao

F. The tiny controller places the TRX_CE low, nRF 905 get into spare time mode;

G. The tiny controller passes a SPI and move to the tiny controller to the data by certain

velocity inside;

H. When all datas receive to complete, nRF 905 ready to a data to lead feet and address to

match to lead feet to place low;

I. NRF 905 can get into ShockBurstTM to receive mode, ShockBurstTM to send out mode

or shut down mode at this time.

In course of receive one piece according to wrap, TRX_CE or TX_EN lead the appearance

occurrence of feet change, nRF 905 immediately chase its work mode a change, the data wraps

to then throw to the microprocessor receives an address to match signal of lead the

feet after, it knows nRF 905 is receive a data to wrap, it can decide is let nRF 905 continue to

receive that data to wrap to still keep getting into another work mode.

Economize on energy mode

NRF 905 economy energy modes include mode and economy energy mode of shut down.

BE shut down mode, nRF 905 of the work electric current be minimum, general is 2.5

getting in to shut down mode, nRF 905 keep the contents in the allocation word, but

will not receive or send out any data.

The spare time mode is advantageous to letting up work electric current, it arrives to send

out mode or receives start time of mode from the spare time mode also the spare

time mode, nRF parts of crystals of 905 inner parts flap to concuss a machine to be placed in

work 905 under the spare time mode of the work electric current flaps

frequency of concuss the machine with exterior crystal relevant.

The spare part install

All allocation words are through a SPI to connect to send to the nRF SIP connects

an oscular work method and can carry on a constitution through a SPI nRF 905

be placed in spare time mode or shut down mode, SPI's connecting and can keep is work

appearance.

The SPI connects a people's allocation

The SPI connects to be depositted a machine, radio frequency allocation by the appearance

to deposit a machine, send out an address to deposit a machine and send out a data to deposit a

machine and receive a data to deposit a machine 5 to deposit a machine to

appearance deposits machine containment a data to ready to lead the feet appearance information

and address to match to lead feet appearance an information;The radio frequency allocation

deposits the machine containment transceiver allocation information, like frequency and

exportation function etc.;Send out the word stanza that the address deposits the address and data

that the machine includes a receiver a number;Send out the data deposits machine containment

the due-out send of the data wrap of information, such as word stanza count etc.;Receive the

word stanza that the data deposits the data that the machine containment wants to receive a

number etc. information.

The radio frequency (RF) install

Radio frequency 'sF depositting everyone's length of machine is r, in the

ShockBurstTM receive and dispatch the process, TX_PAYLOAD, RX_PAYLOAD,

TX_ADDRESS and RX_ADDRESS 4's depositting the machine usage word stanza a number be

decide by the allocation 905 get in to shut down mode or spare time mode, deposit

36

徐州工程学院毕业设计(论文)

machine in of the contents keep constant.

NRF 905 connect and tiny controller to carry on data transmission through a SPI, receive

and dispatch mode to carry on a wireless data to send out through a ShockBurstTM, receive and

dispatch credibility, usage convenience.

The data process wireless delivers and receives behind again is deliver to accept to carry of

89 S52s single slice machine in, then is converted a data by the single slice machine for can be

shown plank by the LCD 1602 manifestation of data.

Data is spread to 1602 LCDs to show chip, carry on show.

1602 adoption 16 feet of the standard connect, among them:

One feet:The VSS is a ground of power supply

2 feet:The VDD connects the 5 Vs positive power supply

3 feet:The V0 adjusts to carry for the liquid crystal display contrast degree, the contrast

degree is the most weak while connecting a positive electricity source, the contrast degree is the

tallest while connecting a ground of power supply, contrast's spending Gao Shi2 will produce

"ghost shadow", usage can pass the adjustment contrast degree of the electric potential machine

of a 10 Ks

4 feet:In order to deposit a machine choice RS, Gao Dian4 chooses a data to deposit a

machine, low electricity to choose instruction to deposit a machine at ordinary times at ordinary

times.

5 feet:In order to read and write signal line RW, Gao Dian4 is at ordinary times carry on

reading an operation and the low electricity is at ordinary times carry on writing an

RS and RW together can write in instruction to perhaps show an address at

ordinary times for the low electricity, be RS for low give or get an electric shock the even RW as

Gao Dian4 can read busy signal at ordinary times, be RS for Gao Dian4 Ping2 RW for low the

electricity can write in a data at ordinary times.

6 feet:E's carry can carry for make and be E to carry is jump by Gao Dian4 Ping2 to become

a low electricity peacetime, the LCD mold piece execute an order.

7~14 feet:The D0 ~ D7 is 8 pairs to the data line.

15 feet:Connect+5 Vs

16 feet:Connect GND

1602 LCDs show that the mold piece is a slow manifestation spare part, so must confirm the

busy marking of mold piece before carry out each instruction for low electricity even, mean not

busy, otherwise this instruction input a manifestation character list address first

while wanting to show character list, be also tell mold piece where manifestation character list.

Finally pass a LCD manifestation to hold the temperature data which takes care of with

figures contrast, judgment whether can carry on wireless temperature to deliver a data whether

exactitude.

2 wireless temperatures collect the soft hardware design of system

Measure device according to the temperature of DS18 B20:The temperature spreads the

feeling machine DS18 B20 and will be measured environment temperature to convert into the

numerical signal(repair a code form by 16, share two word stanzas) which takes sign, the P1.1

which outputs the feet I/O directly machine with single slice connect with each other, R1 in order

to up pull electric resistance, spread a feeling machine to adopt exterior power supply power

89 S51s is the whole control core for equip, take the FlashROM of the 1 K word

stanza inside 89 S51s and customer's procedure deposits in y mold piece from the

total sun figures of four integral whole tube and 49012 procedure cent spreads

the feeling machine control procedure and display procedure two parts, spread the feeling

machine control procedure is according to the DS18 B20 of the correspondence agreement draw

work of system is in the procedure to control under, completion to spread a read and

write of feeling machine with to the manifestation of temperature..

37

徐州工程学院毕业设计(论文)

3 systems adjust to try analytical with function

We at dollar the layout of the spare part, put mutually the relevant component nearer, for

example:Crystal flap, single slice the clock importation of the machine carry to all easily produce

noise and the time that is while place component closes to them those spare parts,

small electric current electric circuit, big electric current electric circuit, switch electric

which easily produce a Zao voice, we as far as possible make it keep off a single

slice the logics control electric circuits of the machine with saving electric circuit(ROM, RAM),

be advantageous to anti- interference more, raise an electric circuit work of credibility!

Our grounds line should constitute to shut a wreath form and raised the anti- interference of

the electric circuit also installed triode transistor 7805 carry on steady press, is our

electric circuits to have stable of+5 V power exerting according to the size of electric

current in the aspects of setting out power cable is to add thick straight line width, at cloth line

enter still make power cable, ground linear of walk the walk of line direction and data line line

direction consistent, work in the cloth line of, use a ground of line circuit board of the first floor

has never walk the linear place spread full, because of contribute to strengthen electric circuit of

anti- interference ability.

We choose to use a 11.0592 MHZs of crystal flap, because of so being advantageous to the

wave which is without error margin a rate ally be to carry on the words of the

correspondence with single slice machine, choose to use this kind of crystal flap better.

Because the single line numerical temperature spreads the feeling machine DS18 B20,

measure very accurate, we main time spend at, single slice machine software the editor of the

procedure with adjust to try and electric circuit mold the creation of the piece.

At use nRF 905 carry on a wireless to deliver, the procedure of usage be mold piece from

take of procedure, what we want to do is slightly to carry on allowing a modification and carry

on adjusting to use function.

Notice while carry on a string of conversion of be with wireless mold piece to connect,

single slice the DB9 of the machine of 2, 3 people to in response to of is wireless deliver a mold

piece of 3, 2 people, therefore, while welding a single slice the DB9 of the machine to connect,

and electric circuit diagram of 2, 3 feet want to exchange a conjunction mutually.

38

徐州工程学院毕业设计(论文)

无线温度采集系统设计

无线温度采集系统是一种基于射频技术的无线温度检测装置。本系统由传感器和接收机,以及显示芯片组成。传感器部分由数字温度传感器芯片18B20,单片机89S52,低功耗射频传输单元NRF905和天线等组成,传感器采用电源供电;接收机无线接收来自传感器的温度数据,经过处理、保存后在LCD1602上显示,所存储的温度数据可以通过串行口连接射频装置与接收端 进行交换。

无线温度的采集主要基于单线数字温度传感器DS18B20芯片。Dallas 半导体公司的单线数字温度传感器DS18B20是世界上第一片支持 “一线总线”接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。DS18B20支持“一线总线”接口,测量温度范围为 -55°C~+125°C,在-10~+85°C范围内,精度为±0.5°C。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性,适合于恶劣环境的现场温度测量,支持3V~5.5V的电压范围,DS18B20可以程序设定9~12位的分辨率,精度为±0.5°C。

数字单总线温度传感器是目前最新的测温器件,它集温度测量,A/D转换于一体,具有单总线结构,数字量输出,直接与微机接口等优点。既可用它组成单路温度测量装置,也可用它组成多路温度测量装置,文章介绍的单路温度测量装置已研制成产品,产品经测试在-10℃-70℃间测得误差为0.25℃,80℃≤T≤105℃时误差为0.5℃,当T>105℃误差为增大到1℃左右。

温度数据的无线传输主要是基于低功耗射频传输单元NRF905芯片。nRF905是挪威Nordic VLSI公司推出的单片射频收发器,工作电压为1.9~3.6V,32引脚QFN封装(5×5mm),工作于433/868/915MHz三个ISM(工业、科学和医学)频道,频道之间的转换时间小于650us。nRF905由频率合成器、接收解调器、功率放大器、晶体振荡器和调制器组成,不需外加声表滤波器, ShockBurstTM工作模式,自动处理字头和CRC(循环冗余码校验),使用SPI接口与微控制器通信,配置非常方便。此外,其功耗非常低,以-10dBm的输出功率发射时电流只有11mA,工作于接收模式时的电流为12.5mA,内建空闲模式与关机模式,易于实现节能。

nRF905片内集成了电源管理、晶体振荡器、低噪声放大器、频率合成器功率放大器等模块。

经过无线传输后,温度数据信息将在1602液晶显示芯片上进行显示,1602液晶显示芯片采用标准的14脚接口,其中VSS为地电源,VDD接5V正电源,V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。E端为使能端,39

徐州工程学院毕业设计(论文)

当E端由高电平跳变成低电平时,液晶模块执行命令。D0~D7为8位双向数据线。

本系统的温度采集与显示,无线的传输与对比均由单片机89S52来控制完成。相比较而言ATMEL 公司的89S51更实用,因他不但和8051指令、管脚完全兼容,而且其片内的4K程序存储器是FLASH工艺的,这种工艺的存储器用户可以用电的方式瞬间擦除、改写,一般专为 ATMEL AT89xx 做的编程器均带有这些功能。显而易见,这种单片机对开发设备的要求很低,开发时间也大大缩短。写入单片机内的程序还可以进行加密,这又很好地保护了我们的劳动成果。

系统工作原理及详细流程。

首先,打开电源后,本系统由单片机89S52向单线数字温度传感器DS18B20芯片发出指令进行测温,DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。

DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端(在寄生电源接线方式时接地)。

DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。

DS18B20温度传感器的存储器:

DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的E2RAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。

暂存存储器包含了8个连续字节,前两个字节是测得的温度信息,第一个字节的内容是温度的低八位,第二个字节是温度的高八位。第三个和第四个字节是TH、TL的易失性拷贝,第五个字节是结构寄存器的易失性拷贝,这三个字节的内容在每一次上电复位时被刷新。第六、七、八个字节用于内部计算。第九个字节是冗余检验字节。低五位一直都是1 ,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0。R1和R0用来设置分辨率,如下表所示:(DS18B20出厂时被设置为12位)

分辨率设置表:

R1 R0 分辨率 温度最大转换时间

0 0 9位 96.75ms

0 1 10位 187.5 ms

1 0 11位 375ms

1 1 12位 750ms

根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释40

徐州工程学院毕业设计(论文)

放,DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功。

在硬件上,DS18B20与单片机的连接有两种方法,一种是Vcc接外部电源,GND接地,I/O与单片机的I/O线相连;另一种是用寄生电源供电,此时UDD、GND接地,I/O接单片机I/O。无论是内部寄生电源还是外部供电,I/O口线要接5KΩ左右的上拉电阻。

单片机对DS18B20的访问流程是:先对DS18B20初始化,再进行ROM操作命令,最后才能对存储器操作,数据操作。DS18B20每一步操作都要遵循严格的工作时序和通信协议。如主机控制DS18B20完成温度转换这一过程,根据DS18B20的通讯协议,须经三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。

然后数据被传输至单片机89S52,八位数据分两次传输,再由单片机编程为可以由数码管显示的四位数据,头一位为正负温度数据,后三位为带小数点的当前温度。数据也被送至低功耗射频传输单元NRF905进行无线传输。

应注意一点,51单片机有一个全双工的串行通讯口,所以单片机和NRF905之间进行串口通讯。进行串行通讯时要满足一定的条件,比如电脑的串口是RS232电平的,而单片机的串口是TTL电平的,两者之间必须有一个电平转换电路,我们采用了专用芯片MAX232进行转换,虽然也可以用几个三极管进行模拟转换,但是还是用专用芯片更简单可靠。我们采用了三线制连接串口,也就是说和NRF905的9针串口只连接其中的3根线:第5脚的GND、第2脚的RXD、第3脚的TXD。这是最简单的连接方法,但是对我们来说已经足够使用了,电路如下图所示,MAX232的第10脚和单片机的11脚连接,第9脚和单片机的10脚连接,第15脚和单片机的20脚连接。

nRF905有两种工作模式和两种节能模式。两种工作模式分别是ShockBurstTM接收模式和ShockBurstTM发送模式,两种节能模式分别是关机模式和空闲模式。nRF905的工作模式由TRX_CE、TX_EWR_P三个引脚决定。

与射频数据包有关的高速信号处理都在nRF905片内进行,数据速率由微控制器配置的SPI接口决定,数据在微控制器中低速处理,但在nRF905中高速发送,因此中间有很长时间的空闲,这很有利于节能。由于nRF905工作于ShockBurstTM模式,因此使用低速的微控制器也能得到很高的射频数据发射速率。在ShockBurstTM接收模式下,当一个包含正确地址和数据的数据包被接收到后,地址匹配(AM)和数据准备好(DR)两引脚通知微控制器。在ShockBurstTM发送模式,nRF905自动产生字头和CRC校验码,当发送过程完成后,数据准备好引脚通知微处理器数据发射完毕。由以上分析可知,nRF905的ShockBurstTM收发模式有利于节约存储器和微控制器资源,同时也减小了编写程序的时间。下面具体详细分析nRF905的发送流程和接收流程。

典型的nRF905发送流程分以下几步:

A. 当微控制器有数据要发送时,通过SPI接口,按时序把接收机的地址和要发送的数据送传给nRF905,SPI接口的速率在通信协议和器件配置时确定;

41

徐州工程学院毕业设计(论文)

B. 微控制器置高TRX_CE和TX_EN,激发nRF905的ShockBurstTM发送模式;

C. nRF905的ShockBurstTM发送:

l 射频寄存器自动开启;

l 数据打包(加字头和CRC校验码);

l 发送数据包;

l 当数据发送完成,数据准备好引脚被置高;

D. AUTO_RETRAN被置高,nRF905不断重发,直到TRX_CE被置低;

E. 当TRX_CE被置低,nRF905发送过程完成,自动进入空闲模式。

ShockBurstTM工作模式保证,一旦发送数据的过程开始,无论TRX_EN和TX_EN引脚是高或低,发送过程都会被处理完。只有在前一个数据包被发送完毕,nRF905才能接受下一个发送数据包。

接收流程

A. 当TRX_CE为高、TX_EN为低时,nRF905进入ShockBurstTM接收模式;

B. 650us后,nRF905不断监测,等待接收数据;

C. 当nRF905检测到同一频段的载波时,载波检测引脚被置高;

D. 当接收到一个相匹配的地址,地址匹配引脚被置高;

E. 当一个正确的数据包接收完毕,nRF905自动移去字头、地址和CRC校验位,然后把数据准备好引脚置高

F. 微控制器把TRX_CE置低,nRF905进入空闲模式;

G. 微控制器通过SPI口,以一定的速率把数据移到微控制器内;

H. 当所有的数据接收完毕,nRF905把数据准备好引脚和地址匹配引脚置低;

I. nRF905此时可以进入ShockBurstTM接收模式、ShockBurstTM发送模式或关机模式。

当正在接收一个数据包时,TRX_CE或TX_EN引脚的状态发生改变,nRF905立即把其工作模式改变,数据包则丢失。当微处理器接到地址匹配引脚的信号之后,其就知道nRF905正在接收数据包,其可以决定是让nRF905继续接收该数据包还是进入另一个工作模式。

节能模式

nRF905的节能模式包括关机模式和节能模式。

在关机模式,nRF905的工作电流最小,一般为2.5uA。进入关机模式后,nRF905保持配置字中的内容,但不会接收或发送任何数据。

空闲模式有利于减小工作电流,其从空闲模式到发送模式或接收模式的启动时间也比较短。在空闲模式下,nRF905内部的部分晶体振荡器处于工作状态。nRF905在空闲模式下的工作电流跟外部晶体振荡器的频率有关。

器件配置

所有配置字都是通过SPI接口送给nRF905。SIP接口的工作方式可通过SPI指令进行设置。当nRF905处于空闲模式或关机模式时,SPI接口可以保持在工作状态。

SPI接口配置

42

徐州工程学院毕业设计(论文)

SPI接口由状态寄存器、射频配置寄存器、发送地址寄存器、发送数据寄存器和接收数据寄存器5个寄存器组成。状态寄存器包含数据准备好引脚状态信息和地址匹配引脚状态信息;射频配置寄存器包含收发器配置信息,如频率和输出功能等;发送地址寄存器包含接收机的地址和数据的字节数;发送数据寄存器包含待发送的数据包的信息,如字节数等;接收数据寄存器包含要接收的数据的字节数等信息。

射频配置

射频寄存器的各位的长度是固定的。然而,在ShockBurstTM收发过程中,TX_PAYLOAD、RX_PAYLOAD、TX_ADDRESS和RX_ADDRESS 4个寄存器使用字节数由配置字决定。nRF905进入关机模式或空闲模式时,寄存器中的内容保持不变。

nRF905通过SPI接口和微控制器进行数据传送,通过ShockBurstTM收发模式进行无线数据发送,收发可靠,使用方便。

数据经过无线传输及接收后再被传输至接受端的89S52单片机中,然后再由单片机将数据转化为可以由液晶显示板1602显示的数据。

数据被传至1602液晶显示芯片,进行显示。

1602采用标准的16脚接口,其中:

第1脚:VSS为地电源

第2脚:VDD接5V正电源

第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度

第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。

第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。

第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。

第7~14脚:D0~D7为8位双向数据线。

第15脚:接+5V

第16脚:接GND

1602液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符。

最后通过液晶显示屏和数码管的温度数据对比,判断是否可以进行无线的温度传输数据是否正确。

2 无线温度采集系统的软硬件设计

基于DS18B20的温度测量装置:温度传感器DS18B20将被测环境温度转化成带符号的数字信号(以十六位补码形式,占两个字节),输出脚I/O直接与单片机的P1.1相连,R1为上拉电阻,传感器采用外部电源供电。89S51是整个装置的控制核心,89S51内带1K字节的43

徐州工程学院毕业设计(论文)

FlashROM,用户程序存放在这里。显示器模块由四位一体的共阳数码管和4个9012组成。系统程序分传感器控制程序和显示器程序两部分,传感器控制程序是按照DS18B20的通信协议编制。系统的工作是在程序控制下,完成对传感器的读写和对温度的显示。.

3系统调试与性能分析

我们在元器件的布局方面,把相互有关的元件放得比较近,例如:晶振、单片机的时钟输入端都易产生噪音,在放置元件时的时候把它们靠近些。对于那些易产生噪声的器件、小电流电路、大电流电路、开关电路等,我们尽量使其远离单片机的逻辑控制电路和存储电路(ROM、RAM),更加有利于抗干扰,提高电路工作时的可靠性!

我们的地线应构成闭环形式,提高了电路的抗干扰能力。我们也安装了三极管7805进行稳压,是我们的电路有稳定的+5V电源。我们在布置电源线方面根据电流的大小尽是加粗直线宽度,在布线进还使电源线、地线的走线方向与数据线的走线方向一致,在布线工作的,用地线将电路板的底层没有走线的地方铺满,因为有助于增强电路的抗干扰能力。

我们选用11.0592MHZ的晶振,因为这样有利于得到没有误差的波特率。特别是当与单片机进行通信的话,选用这种晶振比较好。

由于单线数字温度传感器DS18B20,测温相当准确,我们主要时间花在了,单片机软件程序的编辑和调试以及电路模块的制作方面。

在使用nRF905进行无线传输时,使用的程序就是模块自带的程序,我们所要做的就是进行稍许修改,进行调用函数。

在进行串口转换时,要注意的就是与无线模块对接时,单片机的DB9的2,3口所对应的是无线传输模块的3,2口,因此,在焊接单片机的DB9接口时,与电路图的2,3脚要相互交换连接。

44

徐州工程学院毕业设计(论文)

附录2 部分程序代码

/************************主控制程序*************************/

#include

#include

#include

#include

#include

#define uint unsigned int

#define uchar unsigned char

uchar keycode,presence;

float temp_value;

uchar maxtemp=40,mintemp=0,nowtemp,flo;

uint date;

uchar temp_data[2] = {0x00,0x00} ;

uchar display[5] ={0x00,0x00,0x00,0x00,0x00} ;

uchar write[6]={0,0,0,0,0,0};

uchar ditab[16] ={0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,

0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09} ;

sbit bell=P3^6;

//----------------------------------------------------------------------------------------------------------------

#define BYTE_BIT0 0x01

#define BYTE_BIT1 0x02

#define BYTE_BIT2 0x04

#define BYTE_BIT3 0x08

#define BYTE_BIT4 0x10

#define BYTE_BIT5 0x20

#define BYTE_BIT6 0x40

#define BYTE_BIT7 0x80

//----------------------------------------------------------------------------------------------------------------

bdata unsigned char DATA_BUF;

#define DATA7 ((DATA_BUF&BYTE_BIT7) != 0)

#define DATA0 ((DATA_BUF&BYTE_BIT0) != 0)

sbit flag =DATA_BUF^7;

sbit flag1 =DATA_BUF^0;

//------------------------------------------发送数据缓冲区-------------------------------------------------

#define TxRxBuf_Len 4

unsigned char TxRxBuf[TxRxBuf_Len]= { 0x29,0x30,0x31,0x32,};

uchar sent[2]={0x00,0x00};

sbit DQ=P3^7;

//配置口定义//

sbit TXEN = P2^4;

sbit TRX_CE = P2^0;

45

/*18b20*/

徐州工程学院毕业设计(论文)

sbit PWR = P2^5;

//SPI口定义//

sbit MISO = P2^2;

sbit MOSI = P3^3;

sbit SCK = P2^3;

sbit CSN = P3^4;

sbit AM=P2^1;

//状态输出口//

sbit DR = P2^7;

sbit CD = P2^6;

#define WC 0x00

#define RC 0x10

#define WTP 0x20

#define RTP 0x21

#define WTA 0x22

#define RTA 0x23

#define RRP 0x24

//------------------------------nRF905寄存器配置------------------------------------------------

unsigned char idata RFConf[11]=

{ 0x00, //配置命令//

0x9F, //CH_NO,配置频段在902.8MHZ

0x0c, //输出功率为10db,不重发,节电为正常模式

0x44, //地址宽度设置,为4字节

0x04,0x04, //接收发送有效数据长度为32字节

0xe7,0xe7,0xe7,0xe7, //接收地址

0x58, //CRC充许,8位CRC校验,外部时钟信号不使能,16M晶振

};

bit lcdbit;

code TxAddress[4]={0xe7,0xe7,0xe7,0xe7};

void delay(uint a)

{

uint b,c;

for(b=a;b>0;b--)

for(c=120;c>0;c--);

}

void SpiWrite(unsigned char send)

{

unsigned char i;

DATA_BUF=send;

for (i=0;i<8;i++)

{

if (DATA7) //总是发送最高位

46

徐州工程学院毕业设计(论文)

{MOSI=1; }

else

{MOSI=0; }

SCK=1;

DATA_BUF=DATA_BUF<<1;

SCK=0;

}

}

//---------------------------------------------初始化nRF905---------------------------------------------

void nRF905Init(void)

{ CSN=1; // Spi disable

SCK=0; // Spi clock line init low

DR=0; // Init DR for input

AM=0; // Init AM for input

CD=0; // Init CD for input

PWR=1; // nRF905 power on

TRX_CE=0; // Set nRF905 in standby mode

TXEN=0; // set radio in Rx mode

}

//--------------------------------------------初始化寄存器-----------------------------------------------

void Config905(void)

{ uchar i;

CSN=0; // Spi enable for write a spi command

//SpiWrite(WC); // Write config command写放配置命令

for (i=0;i<11;i++) // Write configration words 写放配置字

{SpiWrite(RFConf[i]); }

CSN=1; // Disable Spi

}

//-----------------------------------------------发送数据打包---------------------------------------------------

void TxPacket(uchar *TxRxBuf)

{

uchar i;

//Config905();

CSN=0;

SpiWrite(WTP);

for (i=0;i<4;i++)

{ SpiWrite(TxRxBuf[i]); // Write 32 bytes Tx data

}// Spi enable for write a spi command

CSN=1;

delay(1); // Spi disable

CSN=0; // Spi enable for write a spi command

SpiWrite(WTA);

47