新闻中心

EEPW首页 > 物联网与传感器 > 设计应用 > 基于DS1620和AT89C2051的数字温度计的设计

基于DS1620和AT89C2051的数字温度计的设计

——
作者:吕宏强时间:2006-11-13来源:单片机与嵌入式系统ic收藏
1 芯片介绍
  
是一片8引脚的片内建有温度测量并转换为数字值的,他集温度传感、温度数据转换与传输、温度控制等功能于一体。测温范围:-55~+125℃,精度为0.5℃。该芯片非常容易与连接,实现温度的测控应用,单独做温度控制器使用时,可不用外加其他辅助元件。
   
引脚功能及排列如图1所示。

                  引脚功能及排列

其中:RST,CLK/CONV及DQ为三线串行通信线;DQ为数据输入输出端。当RST保持高电平,对应CLK/CONV时钟脉冲的上升沿处,DQ可按位输入各种控制指令及数据,在CLK/CONV时钟脉冲的下降沿处开始按位输出9 B温度值,分2个字节输出,最低位(LSB)在最先输出,先输出的1个字节(8 B)除以2就是摄氏温度值,后输出的1个字节(仅1 B)为温度的符号位,是0为正,是1为负。RST为低电平时结束通信,CLK/CONV保持低电平,DQ呈现高阻态,但芯片内部在进行温度的测量与数字转换(即温度值的更新),这需要大约1 s的时间。
  
引脚THIGH为高温临界触发输出端,当所测温度高于高温临界寄存器中设定的温度TH时,该引脚由低电平变为高电平,而温度低于TH时又回到低电平;TLOW为低温临界触发输出端,其电平变化与THIGH类似;TCOM为高/低温临界组合触发输出端;他们都可作为温度调节器的输出端,直接控制加热或冷却设备。
  
内部有一个工作方式寄存器,如表1所示。

      工作方式寄存器

其中:DONE为温度数据转换位,为0时表示正,在转换过程中,为1表示已转换完毕;THF:高温标志位,当温度高于或等于高温临界寄存器中的设定值TH时,硬件对该位置位,但硬件不能对该位清零;TLF:低温标志位,当温度低于或等于设定值TL时,硬件对该位置位,同样,硬件不能对该位清零;CPU:CPU使用位,通过软件对该位清零时,若RST为低电平,则可由CLK/CONV控制温度数据的转换,通过软件对该特定温度转换位,若通过软件对该位置1,则DS1620进行该时刻的温度转换,并等待读取,若该位被置0,则DS1620将不停地进行温度转换。
  
DS1620的工作状态都是由外部输入的指令来控制的,具体的指令如下:
  
AAH 读取转换好的温度数据;从指令输入后的第9个时钟(亦称移位)脉冲开始,将输出温度寄存器中的数据。
    01H 给高温临界寄存器写入TH数据。
    02H 给低温临界寄存器写入TL数据。
    A1H 读高温临界寄存器中的TH数据。
    A2H 读低温临界寄存器中的TL数据。
    EEH 开始转换温度数据。
    22H 停止转换温度数据。
    0CH 写工作方式寄存器。
  ACH 写工作方式寄存器。

 2 电路设计
  
如图2所示,P3.3~P3.5与DS1620按三线通信方式相连,P1口输出七段码,P3.0~P3.2通过驱动三极管接到共阳数码管的COM端,3个按键在P3.7的配合下提供功能扩展。

                 电路设计

3 程序设计
  
程序的流程图如图3所示,各程序模块均为子程序及嵌套有子程序的调用,其中读、写DS1620模块模块为子程序,完成1个字节的温度值或指令的读写;按键服务模块主要完成对高/低温临界寄存器中TH、TL值的改写。
  
下面给出写/读DS1620、配置DS1620、开始转换、读取温度等5个子程序的汇编语言程序,其余模块及程序不再赘述。

   



   程序的流程图 

4 结 语
   
所设计的测量精度高、工作可靠、体积小、成本低,可扩展为温度调节器。不足之处是由于DS1620测温的迟滞性,不宜做即时温度测量。



评论


相关推荐

技术专区

关闭