haihongyuan.com
海量文库 文档专家
全站搜索:
您现在的位置:首页 > 幼儿教育 > 幼儿读物幼儿读物

李浩

发布时间:2013-11-24 08:46:38  

长春职业技术学院论文(设计)专用纸

毕业论文(设计)任务书

题目 城市轨道车辆温度控制设计

学生姓名 学号

班 级:

专 业:

分 院: 工程技术分院

指导教师: 裴蓓

年 月 日

1

长春职业技术学院论文(设计)专用纸

目 录

摘 要.............................................................. 4 Abstract........................................... 错误!未定义书签。 前 言............................................. 错误!未定义书签。

第一章 设计方案的构想与论证........................................ 4

1.1设计过程及要求............................................... 4

1.1.1设计过程 ............................................... 4

1.1.2参数要求 ............................................... 4

1.2系统各个模块的方案选择....................................... 4

1.2.1 温度传感器的选择....................................... 4

1.2.2 单片机的选择........................................... 5

1.2.3信号采集通道选择 ....................................... 6

第二章 总体设计方案................................................. 8

第三章 各种模块简介................................................. 9

3.1 DS18B20温度传感器简介....................................... 9

3.1.1温度传感器的历史及简介 ................................. 9

3.1.2 DS18B20性能特点与内部结构 ............................. 9

3.1.3 DS18B20工作时序 ...................................... 13

3.1.4 DS18B20的操作协议 .................................... 15

3.1.5 DS18B20序列号编码 .................................... 17

3.1.6 DS18B20的测温原理 .................................... 18

3.1.7 DS18B20的测温流程 .................................... 19

3.1.8 DS18B20数据校验与纠错 ................................ 20

3.1.9 DS18B20在仓库测温系统中的应用 ........................ 22

3.1.10 仓库测温系统的硬件工作原理........................... 22

3.1.11 注意事项............................................. 22

3.2 单片机AT89S51简介 ......................................... 23

3.2.189S51介绍 ............................................. 23

2

长春职业技术学院论文(设计)专用纸

3.2.2AT89S51特点 ........................................... 23

3.2.3AT89S51主要特性: ..................................... 24

3.2.4AT89S51管脚说明: ..................................... 25

3.3 NRF24L01无线模块........................................... 27

3.3.1NRF24L01概述 .......................................... 27

3.3.2引脚功能及描述 ........................................ 28

3.3.3 工作模式.............................................. 29

3.3.4 工作原理.............................................. 30

3.3.5 配置字................................................ 30

3.4 RS-232电平转换电路......................................... 31

第四章 系统硬件设计............................................... 33

4.1 信号采集发送电路 ........................................... 33

4.1.1 主板电路设计.......................................... 33

4.1.2 各部分电路............................................ 35

4.2 信号接收电路 ............................................... 39

4.2.1 主板电路设计.......................................... 39

4.2.2 各部分电路............................................ 41

第五章 系统软件设计的整体思想...................................... 41

5.1采集发送模块程序思想........................................ 42

5.2接收模块程序思想............................................ 43

5.3 上位机程序 ................................................. 45

5.4 地址帧、数据帧 ............................................. 45

5.4.1 数据帧................................................ 45

5.4.2 地址帧................................................ 47

第六章 结束语..................................................... 47 致 谢............................................. 错误!未定义书签。

参考文献........................................................... 47

3

长春职业技术学院论文(设计)专用纸

摘 要

温度是工业控制中主要的被控参数.随着技术的进步和温度精确度要求的提高。简单,便捷,成本低的测温系统越来越受到市场的青睐。本人介绍了利用DS18B20传感器做成的智能测温系统. DS18B20是DALLAS公司的最新单线数字温度传感器,它的体积更小、适用电压更宽、更经济,DS18B20是世界上第一片支持“一线总线”接口的温度传感器,一线总线独特而且经济的特点,使用户可轻松地组建传感器网络。再利用单片机和NRF24L01构建多点无线的传输模式,使仓库的温度监测更加经济便捷。

第一章 设计方案的构想与论证

1.1设计过程及要求

1.1.1设计过程

1)检测温度

2)无线发送至上位机

3)显示温度及过限报警

1.1.2参数要求 1)温度测量范围:-10~+60℃

2)温度测量精度:±1℃

3)最大传输距离:50m~100m

4)能实现多点监测

1.2系统各个模块的方案选择

1.2.1 温度传感器的选择

方案一:采用热电阻温度传感器。热电阻是利用导体的电阻随温度变化

4

长春职业技术学院论文(设计)专用纸

的特性制成的测温元件。现应用较多的有铂、铜、镍等热电阻。其主要的特点为精度高、测量范围大、便于远距离测量。铂的物理、化学性能极稳定,耐氧化能力强,易提纯,复制性好,工业性好,电阻率较高,因此,铂电阻用于工业检测中高精密测温和温度标准。缺点是价格贵,温度系数小,受到磁场影响大,在还原介质中易被玷污变脆。按IEC标准测温范围-200~650℃,百度电阻比W(100)=1.3850时,R0为100Ω和10Ω,其允许的测量误差A级为±(0.15℃+0.002 |t|),B级为±(0.3℃+0.005 |t|)。铜电阻的温度系数比铂电阻大,价格低,也易于提纯和加工;但其电阻率小,在腐蚀性介质中使用稳定性差。

方案二:采用AD590,它的测温范围在-55℃~+150℃之间,而且精度高。M档在测温范围内非线形误差为±0.3℃。AD590可以承受44V正向电压和20V反向电压,因而器件反接也不会损坏。使用可靠。它只需直流电源就能工作,而且,无需进行线性校正,所以使用也非常方便,借口也很简单。作为电流输出型传感器的一个特点是,和电压输出型相比,它有很强的抗外界干扰能力。AD590的测量信号可远传百余米。但采集输出为模拟信号,需用A/D转换变为数字信号,增加了电路的复杂性。

方案三:采用DSl8B20。DSl8B20是美国Dallas半导体公司继DSl820之后最新推出的一种改进型智能数字温度传感器,可把温度信号直接转换成串行数字信号供单片机处理,采用1-Wire接口。具有独特的单总线接口,仅需要占用一个通用I/O端口即可完成与微处理器的通信;在一10~+85℃温度范围内具有±O.5℃精度;用户可编程设定9~12位的分辨率。DSl8B20非常适用于构建高精度、多点温度测量系统[7]。

根据电路设计的复杂性和成本,综合比较三个方案,方案三更适合于本设计系统对于温度传感器的要求。故选用方案三。

1.2.2 单片机的选择 1)80C31

80C31是INTEL公司MCS-51系列单片机中最基本的产品,它采用INTEL公司可靠的CHMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS产品。它结合了HMOS的高速和高密度技术及CHMOS的低功耗特征,标准MCS-51单片机的体系结构和指令系统。

80C31内置中央处理单元、128字节内部数据存储器RAM、32个双向输入/输

5

长春职业技术学院论文(设计)专用纸

出(I/O)口、2个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。但80C31片内并无程序存储器,需外接ROM。

2)80C51

80C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器。80C51是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,80C51是一种高效微控制器,。80C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

3)AT89S51

AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案[11]。

因此,考虑到仓库温度监测的实时性无需精确到每一秒,外加上存储需要,以及经济性和方便性等考实际情况,本设计中我们使用AT89S51。 1.2.3信号采集通道选择 方案一:采用RS-232接口。RS-233-C接口(又称 EIA RS-233-C)是目前最常用的一种串行通讯接口。它是在1970年由美国电子工业协会(EIA)联合贝尔系统、 调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标 准。它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间 串行二进制数据交换接口技术标准”该标准规定采用一个25个脚的 DB25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。接口的信号内容实际上RS-233-C的25条引线中有许多是很少使用的,在计算机与终端通讯中一般只使用3-9条引线。接口的电气特性 在RS-233-C中任何一条信号线的电压均为负逻辑关系。即:逻 辑“1”,-5— -15V;逻辑“0” +5— +15V 。噪声容限为2V。即 要求接收器能识别低至+3V的信号作为逻辑“0”,高到-3V的信号作为逻辑“1”。 方案二:采用RS-422接口。RS-422标准全称是“平衡电压数字接口电路的电气特性”,它定义了接口电路的特性。实际上还有一根信号地线,

6

长春职业技术学院论文(设计)专用纸

共5根线。由于接收器采用高输入阻抗和发送驱动器比RS232更强的驱动能力,故允许在相同传输线上连接多个接收节点,最多可接10个节点。即一个主设备(Master),其余为从设备(Salve),从设备之间不能通信,所以RS-422支持点对多的双向通信。接收器输入阻抗为4k,故发端最大负载能力是10×4k+100Ω(终接电阻)。RS-422四线接口由于采用单独的发送和接收通道,因此不必控制数据方向,各装置之间任何必须的信号交换均可以按软件方式(XON/XOFF握手)或硬件方式(一对单独的双绞线)。 RS-422的最大传输距离为4000英尺(约1219米),最大传输速率为10Mb/s。其平衡双绞线的长度与传输速率成反比,在 100kb/s速率以下,才可能达到最大传输距离。只有在很短的距离下才能获得最高速率传输。一般100米长的双绞线上所能获得的最大传输速率仅为 1Mb/s。RS-422需要一终接电阻,要求其阻值约等于传输电缆的特性阻抗。在矩距离传输时可不需终接电阻,即一般在300米以下不需终接电阻。终接电阻接在传输电缆的最远端。

方案三:采用NRF24L01发射器构建无线局域网。nRF24.L01 是一款新型单片射频收发器件,工作于2.4 GHz~2.5 GHz ISM 频段。内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型ShockBurst 技术,其中输出功率和通信频道可通过程序进行配置。nRF24L01 功耗低,在以-6 dBm 的功率发射时,工作电流也只有9 mA;接收时,工作电流只有12.3 mA,多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便。

nRF24L01 主要特性如下:GFSK 调制:硬件集成 OSI 链路层;具有自动应答和自动再发射功能;片内自动生成报头和 CRC 校验码;数据传输率为 l Mb/s 或2Mb/s;PI 速率为0 Mb/s~10 Mb/s;125 个频道;其他 nRF24 系列射频器件相兼容;QFN20 引脚4 mm×4 mm 封装;供电电压为 1.9 V~3.6 V[16]。

考虑到安装的复杂性和设备的可移动性,以及成本和维护难易程度,本设计选用无线传输模式,故采集信号传输选用方案三。但在信号处理端,NRF24L01接一个RS232接口直接连接到PC机上。

7

长春职业技术学院论文(设计)专用纸

第二章 总体设计方案

本设计是基于单片机对数字信号的高敏感和可控性、温度传感器可以产生数字信号,我设计了以AT89C51为核心,以温度传感器DSl8B20为采集元件,以NRF24L01建立的无线传输模块,最终把信号传送到PC机。

图2.1 系统总设计图

本系统由信号的采集与发送、信号的接收与处理两部分组成。

(一)信号的采集与发送温度传感器DSl8B20采集,再交由单片机AT89C51存储和分析,然后通过NRF24L01将信号发送;

(二)信号接收与处理 由NRF24L01接收到信号,再传送到单片机AT89C51通过分析后,通过RS-232将信号传送至上位机,信号的处理由上位机完成;

8

长春职业技术学院论文(设计)专用纸

第三章 各种模块简介

3.1 DS18B20温度传感器简介

3.1.1温度传感器的历史及简介

温度的测量是从金属(物质)的热胀冷缩开始。水银温度计至今仍是各种温度测量的计量标准。可是它的缺点是只能近距离观测,而且水银有毒,玻璃管易碎。代替水银的有酒精温度计和金属簧片温度计,它们虽然没有毒性,但测量精度很低,只能作为一个概略指示。不过在居民住宅中使用已可满足要求。在工业生产和实验研究中为了配合远传仪表指示,出现了许多不同的温度检测方法,常用的有电阻式、热电偶式、PN结型、辐射型、光纤式及石英谐振型等。它们都是基于温度变化引起其物理参数(如电阻值,热电势等)的变化的原理。随着大规模集成电路工艺的提高,出现了多种集成的数字化温度传感器。

3.1.2DS18B20性能特点与内部结构

(1) DS18B20的性能特点如下[9]:

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

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

3) 无须外部器件;

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

5) 零待机功耗;

6) 温度以3位数字显示;

7) 用户可定义报警设置;

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

9

长春职业技术学院论文(设计)专用纸

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

(2) DS18B20的内部结构

DS18B20采用3脚PR-35封装,如图3.1所示;DS18B20的内部结构,

如图3.2所示。

引脚说明:

数据线

可选

图3.1 DS18B20封装

(3) DS18B20内部结构主要由四部分组成[5]:

1) 64位光刻ROM。开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前56位的CRC校验码,这也是多个DS18B20可以采用一线进行通信的原因。64位闪速ROM的结构如下:

MSB LSB MSB LSB MSB LSB

图3.2 DS18B20内部结构

10

长春职业技术学院论文(设计)专用纸

2) 非挥发的温度报警触发器TH和TL,可通过软件写入用户报警上下限值。 3) 高速暂存存储,可以设置DS18B20温度转换的精度。

DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EPRAM[2]。高速暂存RAM的结构为8字节的存储器,结构如图2.1所示。头2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷新。第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。它的内部存储器结构和字节定义如图3.3所示。低5位一直为1,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式,

Byte0

Byte1 Byte2 Byte3 Byte4 Byte5 Byte6 Byte7 Byte8

EPROM

----?----?

----?

图3.3 DS18B20内部存储器结构

DS18B20出厂时该位被设置为0,用户要去改动,R1和R0决定温度转换的精度位数,来设置分辨率,如图3.3。

图3.4 DS18B20字节定义

由表3.1可见,分辨率越高,所需要的温度数据转换时间越长。因此,在实际应用中要将分辨率和转换时间权衡考虑。

高速暂存RAM的第6、7、8字节保留未用,表现为全逻辑1。第9字节读出前面所有8字节的CRC码,可用来检验数据,从而保证通信数据的正确性。

11

长春职业技术学院论文(设计)专用纸

当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625℃/LSB形式表示。

当符号位S=0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位S=1时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。表3.2是一部分温度值对应的二进制温度数据[6]。

表3.1 DS18B20温度转换时间表:

表3.2 一部分温度对应值表

4) CRC的产生

在64 b ROM的最高有效字节中存储有循环冗余校验码(CRC)。主机根据ROM

12

长春职业技术学院论文(设计)专用纸

的前56位来计算CRC值,并和存入DS18B20中的CRC值做比较,以判断主机收到的ROM数据是否正确。

另外,由于DS18B20单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作按协议进行。操作协议为:初使化DS18B20(发复位脉冲)→发ROM功能命令→发存储器操作命令→处理数据。

3.1.3 DS18B20工作时序

根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤:

1. 每一次读写之前都必须要对DS18B20进行复位;

2. 复位成功后发送一条ROM指令;

3. 最后发送RAM指令,这样才能对DS18B20进行预定的操作。

复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待15~60微秒左右后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功。其工作时序包括初始化时序、写时序和读时序,具体工作方法如图

3.5,3.6,3.7所示。

(1) 初始化时

等待15-60

图3.5 初始化时序

总线上的所有传输过程都是以初始化开始的,主机响应应答脉冲。应答脉

13

长春职业技术学院论文(设计)专用纸

冲使主机知道,总线上有从机设备,且准备就绪。主机输出低电平,保持低电平时间至少480us,以产生复位脉冲。接着主机释放总线,4.7KΩ上拉电阻将总线拉高,延时15~60us,并进入接受模式,以产生低电平应答脉冲,若为低电平,再延时480us[12]。

(2) 写时序 主机写"0"时序

>1>1主机写"1"时序

样15~45

图3.6 写时序

写时序包括写0时序和写1时序。所有写时序至少需要60us,且在2次独立的写时序之间至少需要1us的恢复时间,都是以总线拉低开始。写1时序,主机输出低电平,延时2us,然后释放总线,延时60us。写0时序,主机输出低电平,延时60us,然后释放总线,延时2us[8]。

(3) 读时序

主机写"0"时序

主机写"1"时序

图3.7 读时序

总线器件仅在主机发出读时序是,才向主机传输数据,所以,在主机发出读

14

长春职业技术学院论文(设计)专用纸

数据命令后,必须马上产生读时序,以便从机能够传输数据。所有读时序至少需要60us,且在2次独立的读时序之间至少需要1us的恢复时间。每个读时序都由主机发起,至少拉低总线1us。主机在读时序期间必须释放总线,并且在时序起始后的15us之内采样总线状态。主机输出低电平延时2us,然后主机转入输入模式延时12us,然后读取总线当前电平,然后延时50us[4]。

3.1.4DS18B20的操作协议

DS18B20单线通信功能是分时完成的。单线信号包括复位脉冲,响应脉冲,写“0”,写“1”,读“1”。它们有严格的时隙概念。系统对DS18B20的操作以ROM命令(5个)和存储器命令(6)形式表现,各种指令功能如表3-3,3-4所示。

表3-3 DS18B20 ROM命令

15

长春职业技术学院论文(设计)专用纸

表3-4 DS18B20 RAM命令

对DS18B20操作协议是:初始化DS18B20(发复位脉冲)→发ROM功能命令→处理数据→发存储命令处理数据。

初始化:主机发一位复位脉冲(对短为480us的低电平),接着主机释放总线进入接收状态,DS18B20在检测到I/O引脚上的上升沿之后,等待15~60us然后发出存在脉冲(60~240us的低电平)。

写时间片:将数据线从高电平拉至低电平,产生起始信号。在15us之内将所需写的位送到数据线上,在15us到60us之间对数据线进行采样,如果采样为高电平,就写1,如果是低电平,写0就发生。在开始另一个写周期前必须有1us以上的高电平恢复期。

读时间片:主机将数据线从高电平拉至低电平1us以上,再使数据线升为高电平,从而产生读起始信号。主机在读时间片下降沿之后15us内完成读位。每个读周期最短的持续时间为60us,各个读周期之间必须有1us以上的高电平恢

16

长春职业技术学院论文(设计)专用纸

复期。

用户对于DS18B20的访问有三个步骤: (1).初始化

用户通过信号线,向DS18B20发送一个满足特定时序的负脉冲,信号线上所有DS18B20芯片都被复位。准备接受用户的序列号命令。 (2).序列号访问命令

接下来,用户通过信号线,发送一个特定的64位序列号编码。这时,信号线上所有相连DS18B20都进行编码匹配,只有编码一致的DS18B20才被激活,可以接受下面的内存访问命令。 (3).存访问命令

在用户发送序列号访问命令选定DS18B20芯片后,被选中的芯片便可以接受内存访问命令。读取温度数据,设定温度报警限。二进制数据与温度的对应关系见表3-5。

表3-5 二进制数据与温度的对应关系

3.1.5DS18B20序列号编码

DS18B20内部具有出厂前固化的8字节代码,如表所示。

17

长春职业技术学院论文(设计)专用纸

表3-6 64位光刻ROM

其首字节位产品类型代码,固化为10H,后6字节是每个传感器的序列号,最后一字节是CRC检验码。其中6字节共48位的器件序列号可看成是每个传感器固有的地址编码而在多点测温中作为识别标志。

多点测温中若用序列号作为传感器的地址编码,一种简单的方法是采取以下几个步骤:

(1)逐个测出每个传感器的序列号,连同其在测温现场位置的手工编号,作为地址编码做成标签贴在传感器的表面。

(2)手工建立传感器地址与其序列号的关系表,并将其固化在程序中。系统运行时,微机根据序列号读取相应传感器温度,数据按关系表放入数据库与地址编码的数据项位

置。

3.1.6DS18B20的测温原理

每一片DSl8B20在其ROM中都存有其唯一的48位序列号,在出厂前已写入片内ROM 中。主机在进入操作程序前必须用读ROM(33H)命令将该DSl8B20的序列号读出。

程序可以先跳过ROM,启动所有DSl8B20进行温度变换,之后通过匹配ROM,再逐一地读回每个DSl8B20的温度数据。

DS18B20的测温原理如图3.8所示,图中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入,图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55 ℃所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55 ℃所对应的一个基数值。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器1的预置将重新被装入,

18

长春职业技术学院论文(设计)专用纸

减法

计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图3.8中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值,这就是DS18B20的测温原理。

另外,由于DS18B20单线通信功能是分时完成的,他有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作必须按协议进行。操作协议为:初始化DS18B20(发复位脉冲)→发ROM功能命令→发存储器操作命令→处理数据。

图3.8 测温原理内部装置 3.1.7 DS18B20的测温流程

图3.9 DS18B20测温流程

19

长春职业技术学院论文(设计)专用纸

3.1.8DS18B20数据校验与纠错

(1) 在进行多点测温时,敏感元件与数据采集系统一般有一定的距离,不可避

免的要

遇到电磁干扰。信号衰减问题,使数据发生错误。如果在数据的传输过程中系统具有一定的容错能力,在纠错范围内,就可以对错误的数据进行纠正,提高抗干扰能力和加大传输距离,当错误超出纠错范围时,也可以识别出错误的数据进行从新采集,从而提高了采集数据的可信度。DS18B20在设计时已经为用户提高了用于检验遇救错的循环冗余校验码(cyclic redundancy code crc)。下边将就用软件对DS18B20中数据的校验与纠错进行详细的讨论,并给出了用查表法进行校验及纠错的算法以及实现这一算法的过程。字节数据存储结构如表3-10所示。

图3.10 9字节数据存储结构图

由温度存储器的低字节、高字节,低温报警器TL,高字节报警触发器TH,配置寄存器,和CRC字节组成了DS18B20的数据存储器,共九个字节,结构如图3-9。其中温度存储器的低位字节、高位字节是以符号扩展,0表示正数,1表示负数值,其余位正整数部分。例如16进制温度值018CH对应的二进制数为0000000110001100,温度值是24.75℃;FF5EH对应的二进制为1111111101011110,温度值-10.125℃。图中的CRC是通过CRC发生器产生的。CRC发生器产生的逻辑电路是由移位寄存器或异或门组成,也称除法逻辑电路。CRC发生器的逻辑电路对应的表达式是X8+X5+X4+1(对应的二进制数为100110001),也称生成多项式,记位g(x)。实际应用中就是通过这种除法逻辑电路对一组数据进行校验和纠错。如果速度允许,也常使用生成多项式g(x)通过软件方法进行校验与纠错。

(2) CRC校验的算法与编码的算法是相同的,校验时要将CRC作为数据一同进行计算。下边对其进行讨论并给出查表算法。

直接算法:用于生成多项式直接进行校验的方法是将低字节位放在前(左)。然后用g(x)去做异或除法。得到的余数若为0,则表示数据正确,余数不为0,则表示数据有错,通过余数便可知道结果是否正确。DS18B20的CRC码是可以纠

20

长春职业技术学院论文(设计)专用纸

正一位错误的。

改进算法;直接算法由于循环次数较多而且需要的时间很长。改进算法能叫为方便的进行处理,该算法是对数据进行逐步字节处理,处理顺序是由低字节到高字节。这里首先将CRC单元赋0,取一个字节数据做异或并将结果存入暂存单元AY,然后字节数据左环移。如果AY的最低位是一,则CRC只左移。在将AY的最低移入CRC的最高位。做完一个字节之后,将CRC的结果与下一个字节做同样处理直至最后一个字节处理完。

(3)纠错:如果结果不为0,则意味着数据错误。DS18B20的编码是可以纠正一位错误的,当错误多余一个就是要重新采集数据,

表3-7 一位错误代码的样图

然后根据查表得到这个余数在图中的位置(这里设为N,N的值从0到71),通过N的值就可以计算出错误在数据中的值,计算的方法是,将N被8除,商的整数部分位错误字节的位置,用7减去余数则得到错误位在该字节中的位号,只需对错误位取反即可纠正错误。

总结:由于使用了校验与纠错方法,增加了数据的传输距离与可信度。在没有使用校验与纠错方式时,线路大于20米,显示的温度常出现大幅度的跳动。在使用了校验与纠错方法后,线路在50米时仍然十分稳定。

21

长春职业技术学院论文(设计)专用纸

3.1.9DS18B20在仓库测温系统中的应用

DS18B20与单片机的接口极其简单,只需将DS18B20的信号线与单片机的一位双向端口相连即可。一般测温电缆采用屏蔽4芯双绞线,其中一对接地线与信号线,另一对Vdd和地线,屏蔽层在源端单点接地。

3.1.10 仓库测温系统的硬件工作原理

对DS18B20初始化后,主机发出SKIP ROM命令,此命令执行后的存储器操作命令将对所在线的DS18B20,在发出温度转换启动码44H,等待750ms后,先发出匹配ROM命令(55H),紧接着主机提供一片DS18B20的64位序列号,读取其温度存储器值,存入数据缓存。

3.1.11 注意事项

DS18B20具有测温系统简单,测温精度高,连接方便,站用口线少等优点,但是在实际使用中也应注意以下几方面的问题:

(1)DS18B20从测温结束到将温度值转换成数字量需要一定的转换时间,这是必须保证的,不然会出现转换错误的现象,使温度输出总是显示85。

(2)在实际使用时发现,应使电源保持在5V左右。若电源电压过低,会使所测得的温度与实际温度出现偏高现象,经过实验发现,一般在5V左右。

(3)初始化时,当主机受到DS18B20回应的低电平信号后等到单总线恢复高电平后,主机才能接着对DS18B20进行操作。

(4)当主机发温度转换命令使DS18B20进行温度转换时,数据线要保持高电平的时间为750ms。

(5)当主机发数值拷贝命令使DS18B20将温度寄存器的数值拷贝到EERAM中时,数据线保持高电平时间至少为10ms。

(6)当不进行复位时,数据线保持为低电平时间不超过60us,否则将产生复位读操作。

(7)要严格的按照时隙图对DS18B20进行复位和读写操作。

(8)单总线上所挂的DS18B20超过8个时,要注意微处理器的总线驱动问题。

[15]

22

长春职业技术学院论文(设计)专用纸

(9)在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序总要等待DS18B20的返回信号,一旦某个DS18B20接触不好或断线,当程序读该DS18B20时,将没有返回信号,程序进入死循环。这一点在进行DS18B20硬件连接和软件设计时要注意。

(10) 测温电缆线在这里采用屏蔽4双绞线,其中一对线接地线与信号线,另一组接Vcc和地线,屏蔽层在源端点单点接地。

3.2 单片机AT89S51简介

3.2.189S51介绍

AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。

3.2.2AT89S51特点

AT89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。 此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求

此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,

23

长春职业技术学院论文(设计)专用纸

外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。

3.2.3AT89S51主要特性:

? 8031 CPU与MCS-51 兼容

? 4K字节可编程FLASH存储器(寿命:

? 全静态工作:0Hz-24KHz

? 三级程序存储器保密锁定

? 128*8位内部RAM

? 32条可编程I/O线

? 两个16位定时器/计数器

? 6个中断源

? 可编程串行通道

? 低功耗的闲置和掉电模式

? 片内振荡器和时钟电路

24 写/擦循环) 1000

长春职业技术学院论文(设计)专用纸

3.2.4AT89S51管脚说明[9]:

图3.11 AT89S51引脚图

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位地址

25

长春职业技术学院论文(设计)专用纸

外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

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

P3.0 RXD(串行输入口)

P3.1 TXD(串行输出口)

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

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

P3.4 T0(记时器0外部输入)

P3.5 T1(记时器1外部输入)

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

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

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

I/O口作为输入口时有两种工作方式即所谓的读端口与读引脚读端口时实际上并不从外部读入数据而是把端口锁存器的内容读入到内部总线经过某种运算或变换后再写回到端口锁存器只有读端口时才真正地把外部的数据读入到内部总线上面图中的两个三角形表示的就是输入缓冲器CPU将根据不同的指令分别发出读端口或读引脚信号以完成不同的操作这是由硬件自动完成的不需要我们操心1然后再实行读引脚操作否则就可能读入出错为什么看上面的图如果不对端口置1端口锁存器原来的状态有可能为0Q端为0Q^为1加到场效应管栅极的信号为1该场效应管就导通对地呈现低阻抗,此时即使引脚上输入的信号为1也会因端口的低阻抗而使信号变低使得外加的1信号读入后不一定是1若先执行置1操作则可以使场效应管截止引脚信号直接加到三态缓冲器中实现正确的读入由于在输入操作时还必须附加一个准备动作所以这类I/O口被称为准双向口89C51的P0/P1/P2/P3

26

长春职业技术学院论文(设计)专用纸

口作为输入时都是准双向口接下来让我们再看另一个问题从图中可以看出这四个端口还有一个差别除了P1口外P0P2P3口都还有其他的功能

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.3 NRF24L01无线模块

3.3.1NRF24L01概述

NRF24.L01是一款新型单片射频收发器件,工作于2.4 GHz~2.5 GHz ISM频段。内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型ShockBurst技术,其中输出功率和通信频道可通过程序进行配置。NRF24L01功耗低,在以-6 dBm的功率发射时,工作电流也只有9 mA;接收时,工作电流只

27

长春职业技术学院论文(设计)专用纸

有12.3 mA,多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便。 NRF24L01主要特性如下:

GFSK调制:

硬件集成OSI

链路层;

具有自动应答和自动再发射功能;

片内自动生成报头和CRC校验码;

数据传输率为l Mb/s或2Mb/s;

SPI速率为0 Mb/s~10 Mb/s;

125个频道:

与其他NRF24系列射频器件相兼容;

QFN20引脚4 mm×4 mm封装;

供电电压为1.9 V~3.6 V。

3.3.2引脚功能及描述

NRF24L01的封装及引脚排列如图3.12所示。各引脚功能如下:

图3.12 NRF24L01引脚图

28

长春职业技术学院论文(设计)专用纸

CE:使能发射或接收;

CSN,SCK,MOSI,MISO:SPI引脚端,微处理器可通过此引脚配置NRF24L01: IRQ:中断标志位; VDD:电源输入端; VSS:电源地:

XC2,XC1:晶体振荡器引脚;

VDD_PA:为功率放大器供电,输出为1.8 V; ANT1,ANT2:天线接口; IREF:参考电流输入。 3.3.3 工作模式

通过配置寄存器可将NRF241L01配置为发射、接收、空闲及掉电四种工作模式,如表3-8所示。

29

长春职业技术学院论文(设计)专用纸 器的值仍然保留。

3.3.4 工作原理

发射数据时,首先将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。

3.3.5 配置字

SPI口为同步串行通信接口,最大传输速率为10 Mb/s,传输时先传送低位字节,再传送高位字节。但针对单个字节而言,要先送高位再送低位。与SPI相关的指令共有8个,使用时这些控制指令由NRF24L01的MOSI输入。相应的状态和数据信息是从MISO输出给MCU。

NRF24L0l所有的配置字都由配置寄存器定义,这些配置寄存器可通过SPI口访问。NRF24L01

30

长春职业技术学院论文(设计)专用纸

3.4 RS-232电平转换电路

RS-232标准是由美国电子工业协会(Electronic Industry Association)的推荐标准。它是一种电压型总线标准,以不同极性的电压表示逻辑值:-3V~-25V表示逻辑“1”;+3V~+25V表示逻辑“0”。标准数据传送速率有50、75、110、150、300、600、1200、2400、4800、9600、19200波特等。目前较为常用的串口有9针串口(DB9)和25针串口(DB25),通信距离较近时(<12m),可以用电缆线直接连接标准RS232端口(RS422,RS485较远),若距离较远,需附加调制解调器(MODEM)。最为简单且常用的是三线制接法,即地、接收数据和发送数据三脚相连。

本系统所设计的电平转换电路的芯片选用MAX232CPE。它是一个双9 芯的转换接头,具有2路RS-232 电平至TTL及2 路TTL至RS-232电平的转换。一般情况下,MAX232外加几个0.1uF的电容就可以轻松地完成TTL电平与RS-232电平相互转换的功能。本设计RS-232串口通信的接线采用最为基本的接法:三线制,即接收

31

长春职业技术学院论文(设计)专用纸

数据针脚(或线)与发送数据针脚(或线)相连,彼些交叉,信号地对应相接。MAX232应用电路图如3.13,注意电容接法。232是电荷泵芯片,可以完成两路TTL/RS-232电平的转换,它的的9、10、11、12引脚是TTL电平端,用来连接单片机的。

图3.13 MAX232应用电路

MAX232获得正负电源的另一种方法 在单片机控制系统中,我们时常要用到数/模(D/A)或者模/数(A/D)变换以及其它的模拟接口电路,这里面要经常用到正负电源,例如: 9V,-9V; 12V,-12V.这些电源仅仅作为数字和模拟控制转换接口部件的小功率电源。 在控制板上,我们有的只是5V电源,可又有很多方法获得非5V电源。 1.外接;2.DC-DC变换......在这里我介绍一块大家常用的芯片:MAX232. MAX232是TTL--RS232电平转换的典型芯片,按照芯片的推荐电路,取振荡电容为uF的时候,若输入为5V,输出可以达到-14V左右,输入为0V ,输出可以达到14V,在扇出电流为20mA的时候,处处电压可以稳定在 12V和-12V.因此,在功耗不是很大的情况下,可以将MAX232的输出信号经稳压块后作电源使用。

32

长春职业技术学院论文(设计)专用纸

第四章 系统硬件设计

系统的硬件设计主要由采集发送电路和接受电路两部分组成。

4.1 信号采集发送模块电路 4.1.1 主板电路设计

采集发送电路由单片机电路为主体,结合DS18B20温度传感器电路、NRF24L01无线模块电路、复位控制电路、晶振电路、拨码开关电路等等构成。

单片机的P1.0接DS18B20的2号引脚,P2口接NRF24L01发送数据。P0口接一个拨码开关,通过开关的断开和闭合形成一个8位的2进制地址码。

33

长春职业技术学院论文(设计)专用纸

图4.1 采集发送模块电路图

34

长春职业技术学院论文(设计)专用纸

4.1.2 各部分电路

(1)单片机电路

图4.2单片机电路引脚图

35

长春职业技术学院论文(设计)专用纸

(2) AT89SISP下载口电路

图4.3 下载口电路引脚图

(3) DS18B20温度传感器电路

图4.4 温度传感器电路引脚图

36

长春职业技术学院论文(设计)专用纸

(4) 晶振控制电路

图4.5晶振控制电路图

(5) 复位电路

图4.6复位电路图

37

长春职业技术学院论文(设计)专用纸

(6) NRF24L01无线模块电路

图4.7 NRF24L01无线模块电路

38

长春职业技术学院论文(设计)专用纸

(7) 单片机地址电路

图4.8 拨码开关电路

4.2 信号接收模块电路

4.2.1 主板电路设计

信号接收电路的主体仍为单片机电路。与采集发送模块电路相比,少了DS18B20温度采集电路,多了MAX232电平转换电路。这样使单片机接收到的信号可以传送到PC机。以便于信号的后续处理。

39

长春职业技术学院论文(设计)专用纸

图4.9 接收模块电路图

40

长春职业技术学院论文(设计)专用纸

4.2.2 各部分电路

因接收模块电路很多部分与采集发送模块电路相同,故在此相同的电路部分不再重复介绍。

(1)MAX232电平转换电路

图4.8 MAX232电平转换电路

第五章 系统软件设计的整体思想

一个应用系统要完成各项功能,首先必须有较完善的硬件作保证。同时还必须得到相应设计合理的软件的支持,尤其是微机应用高速发展的今天,许多由硬件完成的工作,都可通过软件编程而代替。甚至有些必须采用很复杂的硬件电路才能完成的工作,用软件编程有时会变得很简单,如数字滤波,信号处理等。因此充分利用其内部丰富的硬件资源和软件资源,采用与S51系列单片机相对应的51汇编语言和结构化程序设计方法进行软件编程。

程序设计语言有三种:机器语言、汇编语言和高级语言。机器语言是机器唯一能“懂”的语言,用汇编语言或高级语言编写的程序(称为源程序)最终都必须翻译成机器语言的程序(成为目标程序),计算机才能“看懂”,然后逐一执行。

高级语言是面向问题和计算过程的语言,它可通过于各种不同的计算机,用户编程时不必仔细了解所用的计算机的具体性能与指令系统,而且语句的功能强,常常一个语句已相当于很多条计算机指令,于是用高级语言编制程序的速度比较快,也便于学习和交流,但是本系统却选用了汇编语言。原因在于,本系统是编制程序工作量不大、规模较小的单片机微控制系统,使用汇编语言可以不用像高级语言那样占用较多的存储空间,适合于存储容量较小的系统。同时,本系统对位处理要求很高,需要解决大量的逻辑控制问题。

MCS—51指令系统的指令长度较短,它在存储空间和执行时间方面具有较高

41

长春职业技术学院论文(设计)专用纸

的效率,编成的程序占用内存单元少,执行也非常的快捷,与本系统的应用要求很适合。而且MCS—51指令系统有丰富的位操作(或称位处理)指令,可以形成一个相当完整的位操作指令子集,这是MCS—51指令系统主要的优点之一。对于要求反应灵敏与控制及时的工控、检测等实时控制系统以及要求体积小、系统小的许多“电脑化”产品,可以充分体现出汇编语言简明、整齐、执行时间短和易于使用的特点。

本装置的软件包括采集发送模块程序,接收模块程序,上位机程序三部分组成。

整个体统对多个点采用轮询访问方式,进行控制。

5.1采集发送模块程序思想

采集发送模块程序由DS18B20的温度采集程序读出数据,然后把数据的整数部分和小数部分通过P10口分别写入单片机存储,等收到传送指令,再由P2口通过NRF24L01发送数据。整体结构如图5.1所示。

温度的读出主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。

DS18B20的各个命令对时序的要求特别严格,所以必须按照所要求的时序才能达到预期的目的,同时,要注意读进来的是高位在后低位在前,共有16位数。 因为每1s读取一次温度,因此1s内没发送即放弃前温度,录入新的温度,即始终发送最近1s的温度,以保证温度的实时性。

无线传输程序(发送)负责等待接收模块指令,待收到相对应自己的地址帧的时候,发出响应地址帧,表示准备就绪。等到发送指令后,把温度的数据封装成数据帧发送到接收模块.

长春职业技术学院论文(设计)专用纸

图5.1 采集发送模块程序整体思想

5.2接收模块程序思想

温度接收模块程序由无线传输程序(接收)、单片机处理程序、R232串口通信程序等子程序组成。其整体思想如图5.2所示。

无线传输程序(接收)负责向采集模块发送地址帧以分别让哪一个来传送数据,然后等到对方应答后,再发出传送指令,等待接收数据帧。将接收到数据帧仍然按相对应的整数部分和小数部分送入单片机储存。

系统对所有的温度采集发送模块采用轮询访问机制,以便于各点传输温度到PC机的公平性,这样才能保证系统的可靠性。

43

长春职业技术学院论文(设计)专用纸

单片机对接收到数据进行校验,以确定数据的正确性,如果数据错误,则放弃数据,等待下一数据组。若数据正确,则发送至PC。

单片机和PC的通信通过R232完成,它主要负责把单片机里的数据传送给PC机。数据的处理与显示由上位机完成。

长春职业技术学院论文(设计)专用纸

图5.2 接收模块程序整体思想 5.3 上位机程序

上位机程序由显示程序,数据判断程序、采集地址对应表以及报警程序等子程序组成。

数据判断程序负责把送进来的数据进行分析,首先找出对应的采集模块。再分别找出该模块传回的数据帧的数据经行解封找出需要用到的数据。然后交由显示程序处理。

采集地址对应表主要负责记录发送模块相应存放的位置,以方便显示程序显示具体位置的温度。此程序的的数据(即发送模块对应位置)输入由管理员手动完成。

报警程序负责温度过限报警,由彩灯和报警灯同时完成对管理员的提醒。 显示程序是上位机程序的主体部分,它负责显示对应位置的温度。基于方便性考虑,本程序将用C++经行编程。对于本程序的整体构思为窗口程序,在主体窗口上,显示实时时间,以及报警灯。然后把窗口分成多个子窗口,分别显示序号以及感应器位置和当前温度。在子窗口中仍设立报警灯,以便于发生问题时方便寻找发生地点。

5.4 地址帧、数据帧

5.4.1 数据帧

本设计数据帧采用10个字节,即80位。第一个字节为接收地址,第二个字节为发送地址,第三个字节为控制命令,第四到第九个字节为数据字段,第十个字节为校验字段。具体结构如图4.3

45

长春职业技术学院论文(设计)专用纸

0 78 15 16 23 24 7172 79

图4.3 数据帧结构

接收地址:数据帧的0-7位的8个bit,内容为接收端的地址,即单片机的编号。

本设计00000000和11111111预留不用,故总共有254个地址。接收模块的单片

机编号为1,地址为00000001。其余为发送模块地址。

发送地址:数据帧的8-15位的8个bit,内容为发送端的地址,同接收地址一

样,同为单片机编号。

控制命令:数据帧的16-23位的8个bit,内容为系统的控制命令,负责对该数

据帧经行说明或者对接收端下达指令。

本设计的控制命令指定如下表:

表5-1 帧的控制命令

对应表中可以看出01、03、04在地址帧中使用,一般都为接收模块对采集发

送模块传达的指令。02为采集发送模块对接收模块响应其寻找指令时发出。05

为传送数据时使用,表明当前帧为数据帧。在01、02、03、04使用时,数据字

段全为0,此时为地址帧(控制帧)。

数字字段:数据帧的24-71位的48个bit,内容为传输的温度数据。因为此设

计把温度的数据封装在同一数据帧中,一同传送,共16bit。所以此字段我们采

用对温度数据的每一位连续发送3次的方法,增长数据的长度,提高冗余度,以

46

长春职业技术学院论文(设计)专用纸

提高数据传输的可靠性。

校验字段:数据帧的71-79位的8个bit,负责校验整个帧的数据的正确性,避免在传输中受干扰而导致数据出错。

5.4.2 地址帧

在本设计中,地址帧又为控制帧。它负责对传输中的各个环节的控制工作。例如寻找发送模块,让发送模块传输数据到接受模块等。

地址帧的本质也是数据帧,只是在控制字段中,数据帧为05,地址帧为01-04。地址帧的数据字段全部为0。

第六章 结束语

本设计使用的温度控制器结构简单、测温准确,具有一定的实际应用价值。该智能温度控制器只是DS18B20在温度控制领域的一个简单实例,还有许多需要完善的地方,例如可以将测得的温度通过单片机与自动处理模块相连接,使系统能够随时对温度过限进行应变处理。此外,还能广泛地应用于其他一些工业生产领域,如建筑,超市等行业。本温度控制系统可以应用于多种场合,像的温度、育婴房的温度、水温的控制。用户可灵活选择本设计的用途,有很强的实用价值。

参考文献

[1].于永学、葛建,1-WIRE总线数字温度传感器DS18B20及应用[J],电子产品

世界,2003

[2].陈跃东,DS18B20集成温度传感器原理与应用[J],安徽机电学院学报,2002

[3].胡振宇、刘鲁源、杜振辉,DS18B20接口的C语言程序设计[J],单片机与

嵌入式系统应用,2002

[4].金伟正,单线数字温度传感器的原理与应用[J],电子技术与应用,2000

[5].Maxim 公司, 1-Wire 单总线的基本原理[ EB/ OL ]

[6].马云峰、陈子夫、李培全, 数字温度传感器DS18B20的原理与应用[ EB/ OL ]

[7].Dallas Corp,DS18B20 [ EB/ OL ]

47

长春职业技术学院论文(设计)专用纸

[8].李 钢,1-Wire总线数字温度传感器DS18B20原理及应用,现代电子技术[J],

2005

[8].李 钢,1-Wire总线数字温度传感器DS18B20原理及应用,现代电子技术[J],

2005

[9]王晓君,安国臣.MCS-51及兼容单片机原理与选型[M]北京:电子工业出版社,2003

[10]朱定华.单片机原理与接口技术[M].北京:电子工业出版社,2001

[11]胡欣.数字式温度传感器DS18B20及其应用[J].电子技术,2002(5)

[12]克强.DS18B20智能温度检测器及其应用[J].电子世界,2002(2)

[13]李鑫,曾光,廖荣辉.基于AT89C52智能温度传感器控制器的设计[J].现代电子技术,2006年1月.第217期

[14]潘新民,王燕芳.微型机算计控制技术[M].北京:电子工业出版社,2004:74~75

[15]讯通科技,PRT6000数据手册[ EB/ OL ]

[16]NRF24L01中文说明书[ EB/ OL ]

[17]刘志平,赵国良.NRF24L01的近距离无线数据传输[J].应用科技,2008年3月

[18]陈丽娟,常丹华.基于nRF2401的无线数据通信[J].电子器件,2006.1

48

上一篇:书圣王羲之
下一篇:穿袜子
网站首页网站地图 站长统计
All rights reserved Powered by 海文库
copyright ©right 2010-2011。
文档资料库内容来自网络,如有侵犯请联系客服。zhit326@126.com