温度数据采集系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三章系统硬件设计
温度数据采集系统和接收显示硬件电路主要包含温度数据采集、发送、接收和显示等模块,温度数据采集采用数字式温度传感器DS18B20,数据的发送和接收采用无线数据收发模块PTR2000,整个系统采用单片机STC89C52进行各模块的协调控制,下面对各个模块进行介绍。
3.1 数字温度传感器DS18B20
3.1.1 DS18B20 的性能特点
DS18B20 是由DALLAS 半导体公司生产的单线型智能数字温度传感器,是新一代适配微处理器的智能温度传感器,广泛应用于工业、农业等领域,具有体积小、接口方便和传输距离远的特点,在一根通信线上可以挂很多个DS18B20,很方便。具有以下特点:
(1)具有独特的1-Wire 接口,只需要一个端口引脚就可以进行通信;
(2)具备多节点能力,能够简化分布式温度检测应用中的设计;
(3)不需要外部元件;
(4)可以直接从数据线供电,电源电压范围在3~5.5V;
(5)在待机状态下可以不消耗电源电量;
(6)测量温度范围在-55~+125℃;
(7)在-10~+85℃时测量精度在±0.5℃;
(8)可以用程序设定9~12 位分辨率;
(9)用户可根据需要定义温度的上下限报警设置。
DS18B203 脚封装的管脚排列图如图3.1.1 所示。
图 3.1.1 DS18B20 管脚排列图
DS18B20 只有三个引脚。其中,引脚1 和3 分别是GND 和VDD,引脚2 是DQ 端,是用于数据信息的输入和输出。当给DS18B20 加电后,单片机可以通过DQ 端写入命令,并可以读出含有温度信息的数字量。在使用寄生电源情况下,可以向DS18B20 提供电源。
3.1.2 DS18B20 的内部结构
DS18B20的内部框图如图3.1.2所示。
图3.1.2 DS18B20的内部框图
DS18B20主要由64位ROM、温度传感器、非易失性温度报警触发器TH和TL及暂存器四部分组成。64位ROM存储器具有独一无二的序列号,可以看作是该DS18B20的地址系列号,是在出厂前就被光刻好的。暂存器各字节具有不同的意义,0和1字节是用于存储温度传感器数字输出的温度寄存器;2字节和3字节分别是非易失性上限报警触发寄存器(TH)和下限报警触发寄存器(TL);4字节的配置寄存器能够用来设置温度转换的精度;
5、6和7字节作为内部保留使用。DS18B20有两种供电方式,可以使用寄生电源供电,也可以使用外部电源。在使用寄生电源的时候,不用外部电源,而是在总线为高时由DQ端提供电源,同时向内部电容充电,以求在总线拉低时为DS18B20提供电量。上电后,DS18B20进入空闲状态;当MCU向DS18B20发出Convert T [44h]的命令后,DS18B20 向MCU传送转换状态,开始温度测量和A/D转换。温度数据以带符号位的补码形式存储在温度寄存器中,温度寄存器格式如图3.1.3所示。
图3.1.3 DS18B20温度寄存器格式
温度的正负值是由符号为来说明的,正为0,负为1。表3.1给出一部分数字数据与温度的对应关系。
表3.1 DS18B20温度与数据对应关系
3.1.3 DS18B20芯片ROM指令表
Read ROM(读ROM)[33H] (方括号中的为16进制的命令字)
这个命令允许总线控制器读到DS18B20的64位ROM。只有当总线上只存在一个DS18B20的时候才可以使用此指令,如果挂接不止一个,当通信时将会发生数据冲突。
Match ROM(指定匹配芯片)[55H]
这个指令后面紧跟着由控制器发出了64位序列号,当总线上有多只DS18B20时,只有与控制发出的序列号相同的芯片才可以做出反应,其它芯片将等待下一次复位。这条指令适应单芯片和多芯片挂接。
Skip ROM(跳跃ROM指令)[CCH]
这条指令使芯片不对ROM编码做出反应,在单芯片的情况之下,为了节省时间则可以选用此指令。如果在多芯片挂接时使用此指令将会出现数据冲突,导致错误出现。
Search ROM(搜索芯片)[F0H]
在芯片初始化后,搜索指令允许总线上挂接多芯片时用排除法识别所有器件的64位ROM。
Alarm Search(报警芯片搜索)[ECH]
在多芯片挂接的情况下,报警芯片搜索指令只对符合温度高于TH或小于TL报警条件的芯片做出反应。只要芯片不掉电,报警状态将被保持,直到再一次测得温度什达不到报警条件为止。
3.1.4 DS18B20芯片存储器操作指令表:
Write Scratchpad (向RAM中写数据)[4EH]
这是向RAM中写入数据的指令,随后写入的两个字节的数据将会被存到地址2(报警RAM之TH)和地址3(报警RAM之TL)。写入过程中可以用复位信号中止写入。
Read Scratchpad (从RAM中读数据)[BEH]
此指令将从RAM中读数据,读地址从地址0开始,一直可以读到地址9,完成整个RAM 数据的读出。芯片允许在读过程中用复位信号中止读取,即可以不读后面不需要的字节以减少读取时间。
Copy Scratchpad (将RAM数据复制到EEPROM中)[48H]
此指令将RAM中的数据存入EEPROM中,以使数据掉电不丢失。此后由于芯片忙于EEPROM储存处理,当控制器发一个读时间隙时,总线上输出“0”,当储存工作完成时,总线将输出“1”。在寄生工作方式时必须在发出此指令后立刻超用强上拉并至少保持10MS,来维持芯片工作。
Convert T(温度转换)[44H]
收到此指令后芯片将进行一次温度转换,将转换的温度值放入RAM的第1、2地址。