数字式温度传感器(简称SWC)是一种直接输出已经标定的数字脉冲信号的三端温度变送器件,三个端子分别为控制线K、信号线S和公共线G。控制线实际上就是SWC的电源线。当对其加电时,信号线上即输出一串方波脉冲。每个脉冲固定表示0.1℃的温度数量,对应于SWC标称感温范围最下限的脉冲输出个数为零。
较之传统的温度传感器件,SWC最重要的特点之一就是,标定输出的数字信号在与电子计算机等数字化设备配套接口时特别方便。因此.利用SWC和51系列单片机,再配以适当接口电路,不难组成廉价、实用的温度测量系统。本节介绍一些SWC与8031单片机接口的软硬件设计实例。
一、用内部定时/计数器实现SWC与8031的接口
由SWC的工作原理可知,所谓SWC的应用,实际上就是对SWC的控制线加电后,紧接着检测信号线上输出脉冲的个数,从而得到被测温度的数字量。8031内部有两个相同的16位定时/计数器,可用来对外部事件进行计数。利用这一点,将SWC的信号线接入8031某计数器(例如T1)输入端,再由8031的某I/O口(例如P1.0)控制,向SWC的控制线加电,便实现了对被测温度的采样。电路如图1所示。源程序见清单1所示。
二、用查询法实现SWC与8031的接口
当8031内部两个定时器/计数器已派作别用时,可用其他任意两条I/O线,采用查询法实现SWC与8031的接口。
电路仍可参考图1,将P3.5改为Pl.1。利用数据指针寄存器DPTR作为温度脉冲计数器。当Pl.0输出低电平,SWC的控制线被加电时,Pl.1检测SWC信号线上的电平状态,每出现一轮O和1的转变,便将DPTR内容加1。寄存器B用于延时,以保证SWC有足够的时间工作完毕。最后将DPTR中代表温度值的数据分别存入内部RAM的30H、31H。源程序见清单2所示。
三、一种实用温度、湿度遥测仪电路
图2是采用8751设计的一种实用电路,用于实现温度和湿度的远距离测量。据实测,探头(SWC)与主机的工作距离可达500 m以上。
湿度的测量采用干湿表法,两只SWC分别作为干温探头和湿温探头。首先测得干球温度t和湿球温度t',再用公式计算出绝对湿度e和相对湿度u。
接口部分采用了前述外部计数输入方式,仍用定时/计数器T1接收温度脉冲,用Pl.0、Pl.1控制分别向两只SWC加电。
用8751的串行口向移位寄存器74HC164输出数据。74HC164驱动LED数码管组成的显示电路。三只数码管间歇交替显示温度与绝对湿度,其余两只显示相对湿度。为区别温度和绝对湿度,在三只数码管后加接一只“℃”符号管(用同型号数码管倒过来,利用小数点与有关段组成℃)。该符号管由P1.2控制驱动,显示温度时符号“℃”亮,显示绝对湿度时“℃”熄灭。另外还用P1.3驱动一只扁形发光二极管,作为负温时的负号显示。
该温度、湿度遥测仪的测温量程为-10~+40℃、0~+100℃;分辨率为:温度0.1℃,绝对湿度0.1 hPa,相对湿度1%;允许误差为:温度<士0.3℃,相对湿度<±5%,绝对湿度<±1 hPa。
程序流程如图3所示。
上一篇:用单片机实现织布机的监测系统分析