⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ds1920.lst

📁 7219、1620的综合温度显示
💻 LST
字号:
C51 COMPILER V7.06   DS1920                                                                05/07/2009 08:52:36 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE DS1920
OBJECT MODULE PLACED IN DS1920.OBJ
COMPILER INVOKED BY: E:\k51\C51\BIN\C51.EXE DS1920.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          /**********************************************
   2          *   File: DS1620.C
   3          *   Description: Tri-Angle  
   4          *   Created Date:  2007-10-01
   5          *   Last Modified: 2007-10-01
   6          *   Author: Jeffrey - Schicksal@126.com
   7          *   Notes: None
   8          **********************************************/
   9          #include "Atmel/AT89X51.h"
  10          #include "INTRINS.H"
  11          #include "DS1620.h"
  12          
  13          
  14          /**********************************************
  15          *   Function: WR_byte(unsigned char val)
  16          *   Input Variables: unsigned char val
  17          *   Return Variables: None
  18          *   Usage: Write Byte to DS1920
  19          **********************************************/
  20          void WR_byte(unsigned char val)
  21          {
  22   1              char i;                                 // 临时变量
  23   1              unsigned char b;                // 移位变量     
  24   1              b=1;                                    // 赋初值
  25   1              for(i=0;i<8;i++)                // 循环发送
  26   1              {
  27   2                      CLK_CONV=0;                     // CLK_CONV 低
  28   2                      DQ=(val&b);                     // 输出数据
  29   2                      CLK_CONV=1;                     // CLK_CONV 高
  30   2                      b<<=1;                          // 移位
  31   2              }
  32   1      }
  33          
  34          /**********************************************
  35          *   Function: RD_byte(void)
  36          *   Input Variables: void
  37          *   Return Variables: unsigned char
  38          *   Usage:Read a Byte from DS1920
  39          **********************************************/
  40          unsigned char RD_byte(void)
  41          {
  42   1              unsigned char i;                        // 临时变量
  43   1              unsigned char b;                // 移位变量
  44   1              unsigned char value;            // 返回变量值
  45   1              value=0;                    // 赋初值
  46   1              b=1;                        // 赋初值
  47   1              for(i=0;i<8;i++)            
  48   1              {                           
  49   2                      DQ=1;                   // 置高,准备读取
  50   2                      CLK_CONV=0;             // CLK_CONV 低          
  51   2                      if (DQ)                 // 读取
  52   2                              value|=b;                       // 读取一位
  53   2                      CLK_CONV=1;                             // CLK_CONV 高          
  54   2                      b<<=1;                                  // 移位
  55   2              }
C51 COMPILER V7.06   DS1920                                                                05/07/2009 08:52:36 PAGE 2   

  56   1              return(value);                          // 返回读取值
  57   1      }
  58          
  59          /**********************************************
  60          *   Function: unsigned char DS1620startConv(void)
  61          *   Input Variables: void
  62          *   Return Variables: unsigned char
  63          *   Usage:start conversion
  64          **********************************************/
  65          unsigned char DS1620startConv(void)
  66          {
  67   1              RST=1;                                  // RST 高
  68   1              WR_byte(0xEE);                  // 写命令字
  69   1              RST=0;                                  // RST低
  70   1              return 0x00;                    // 返回值
  71   1      }
  72          
  73          /**********************************************
  74          *   Function:DS1620ReadConf(void)
  75          *   Input Variables:
  76          *   Return Variables: unsigned char
  77          *   Usage:Read Config Register of DS1620
  78          **********************************************/
  79          unsigned char DS1620ReadConf(void)
  80          {
  81   1              unsigned char tmp;                      // 返回值临时变量
  82   1              RST=1;                                          // RST高
  83   1              WR_byte(0xAC);                          // 写命令字
  84   1              tmp=RD_byte();                          // 读控制寄存器值
  85   1              RST=0;                                          // RST低
  86   1              return tmp;                                     // 返回值
  87   1      }
  88          
  89          /**********************************************
  90          *   Function: DS1620SetConf(unsigned char val)
  91          *   Input Variables: unsigned char va
  92          *   Return Variables: unsigned char
  93          *   Usage:Setting Config Register of DS1620
  94          **********************************************/
  95          unsigned char DS1620SetConf(unsigned char val)
  96          {
  97   1              RST=1;                                                  // RST高
  98   1              WR_byte(0x0C);                                  // 写命令字
  99   1              WR_byte(val);                                   // 写控制寄存器参数
 100   1              RST=0;                                                  // RST低
 101   1              return 1;                                               
 102   1      }
 103          
 104          /**********************************************
 105          *   Function: unsigned int DS1620read(void)
 106          *   Input Variables: void
 107          *   Return Variables: unsigned int
 108          *   Usage:Read temp of DS1620
 109          **********************************************/
 110          unsigned int DS1620read(void)
 111          {
 112   1              unsigned char hbyte,lbyte;              // 温度值高低字节
 113   1              unsigned int temp;                              // 临时变量
 114   1              RST=1;                                                  // RST高
 115   1              WR_byte(0xAA);                                  // 写命令字
 116   1              lbyte=RD_byte();                                // 读取温度低字节
 117   1              hbyte=RD_byte();                                // 读取温度高字节
C51 COMPILER V7.06   DS1920                                                                05/07/2009 08:52:36 PAGE 3   

 118   1              RST=0;                                                  // RST低
 119   1              temp=hbyte;                                             // 合成温度值
 120   1              temp<<=8;
 121   1              temp|=lbyte;
 122   1              return temp;                                    // 返回值
 123   1      }
 124          
 125          /**********************************************
 126          *   Function: void InitDS1620(void)
 127          *   Input Variables: void
 128          *   Return Variables: void
 129          *   Usage:InitDS1620
 130          **********************************************/
 131          void InitDS1620(void)
 132          {
 133   1              DS1620SetConf(0x8A);                            // 设置初始化值为0x8A
 134   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    122    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -