温度计作为测温器件,不仅在日常生活中而且在工农业(例如粮食储藏)技术中应用十分广泛。但是常用的温度计多夕管式温度计,不仅读数很不方便,还容易损坏。为此我们在DSl8B2O数字温度传感器技术的基础上制作了数字温度计,数码管直接显示温度,读数方便快易,而且电路简单、安全可靠。
DS18B20简介
1.DSl8B2O的主要内部结构
美国DALLAS公司生产的DSl8B2O单总线数字式智能型传感器,直接将温度物理量转化为数字信号并以总线方法传送到计算机进行数据处理。DSl8B2O数字式智能型温度传感器对于实测的温度提供了9-12位的数据和报沓温度寄存器,它的测温范围为-55℃~+125℃,其中在-10℃~+85℃的范围内的测量精度为±0.5℃,此传感器可适用于各种领域、各种环境的自动化测量及控制系统。它具有微型化、低功耗、高性能、抗干扰能力强、易配微处理器等优点。
DSl8B2O内部结构主要由4部分组成:64位ROM、温度传感器、非挥
DSl8B2O单总线数字式智能型温度传感器内部电路图见图1。
2.DSl8B2O温度值存储DSl8B2O的技术核心是数字信号的直接输出,其分辨率在9、10、11、12位时分别为0.5℃、0.25℃,0.125℃,0.0625℃,其中传感器默认为12位,第12位s为正负符号位,如果温度为正数s=0,反之温度为负数s=1。在11位有效时,数据的第0位未定义。在10位有效时数据的第1位、第0位未定义。
在9位有效时数据的第2位、第1位、第0位未定义。
DSllfB20内部的低温度系数振荡器能产生稳定的频率为f0的信号,高温度系数振荡器则将被测温度转化为频率为f的信号。当计数器打开时,DSl8B20对信号计数,计数门开通时间由高温度系统振荡器决定。传感器内部还有斜率累加器可对频率的非线性予以补偿,测量结果存入温度寄存器中。
3.DSl8B2O的工作命令和时序
1);典型的单总线命令序列
第一步:初始化;
第二步:ROM操作命令(跟随需要交换的数据);
第三步:功能命令(跟随需要交换的数据).
每次访问单总线器件,必须严格避守这个命令序列.如果出现序列混乱,则单总线器件不会响应主机.但是该限制对于搜索ROM命令和报警搜索命令例外,在执行两者中任何一条命令之后,主机不能执行其后的功能命令,必须返回至第一步.
2)ROM操作命令
当主机收到DS18820的响应信号后,便可以发出ROM操作命令之一,这些命令如下:
指令代码
ReadROM(读ROM)[33H]
MatchROM(匹配ROM)[55H]
SearchROM(搜索ROM)[
FOH]
Alarmsearch(告警搜索)[ECH]
3)存储器操作命令(功能命令)
指令代码
WriteScratchpad(写暂存
存储器)[4EH]
ReadScratchpad(读暂存存
储器)[BEH]
CopyScratchpad(复制暂存
存储器)[48H]
ConvertTemperature(温
度变换)[44H]
RecallEPROM(重新调出)
[BSH]
Read Power supply(读电
源) [B4H]
实验硬件电路及测试程序
1.硬件电路
本实验的硬件电路很简单,丰要由数码管显示部分和单片机晶振及复位电路组成,见图2。
电路板照片见图3。
2.测试程序
为检验电路连接的正确及器件的好坏,我们写了一个数码管动态显示程序,实现数码管动态扫描显示82l三个数并能复位,如果成功则数码管显示部分电路和单片机的晶振电路及复位部分连接成功,从而保证后面实验的正确进行。测试程序如下:
0RG 0000H
MOV R0,#8
MOV R1,#2
MOV R2,#1
MOV DPTR,#NUMTAB
DISPLY:MOV A,R0
MOVC A.@A+DPTR
MOV P1,A
CLR P3.3
ACALL DTMS
SETB P3.3
MOV A.R1
MOVC A,@A+DPTR
MOV P1,A
CLR P3.4
ACALL DTMS
SETB p3.4
MOV A.R2
MOVC A.@A+DPTR
MOV P1.A
CLR P3.5
ACALL DTMS
SETB P3.5
AJMp DISPLY
RET
DTMS: NOV.R7,#80
DJNZ R7,$
RET
NUMTAB:DB 3FH,06H,5BH,
4FH,66H。6DH,7DH。07H,7FH,6FH
END