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

📄 ds1920.lst

📁 8051单片机对八位LED显示芯片以及温度传感器芯片DS1620的驱动程序。
💻 LST
字号:
C51 COMPILER V7.06   DS1920                                                                08/04/2008 00:24:31 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE DS1920
OBJECT MODULE PLACED IN DS1920.OBJ
COMPILER INVOKED BY: C:\Keil\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 "SST/SST89x5x4.H"
  11          #include "INTRINS.H"
  12          #include "DS1620.h"
  13          
  14          
  15          /**********************************************
  16          *   Function: WR_byte(unsigned char val)
  17          *   Input Variables: unsigned char val
  18          *   Return Variables: None
  19          *   Usage: Write Byte to DS1920
  20          **********************************************/
  21          void WR_byte(unsigned char val)
  22          {
  23   1              char i;                                 // 临时变量
  24   1              unsigned char b;                // 移位变量     
  25   1              b=1;                                    // 赋初值
  26   1              for(i=0;i<8;i++)                // 循环发送
  27   1              {
  28   2                      CLK_CONV=0;                     // CLK_CONV 低
  29   2                      DQ=(val&b);                     // 输出数据
  30   2                      CLK_CONV=1;                     // CLK_CONV 高
  31   2                      b<<=1;                          // 移位
  32   2              }
  33   1      }
  34          
  35          /**********************************************
  36          *   Function: RD_byte(void)
  37          *   Input Variables: void
  38          *   Return Variables: unsigned char
  39          *   Usage:Read a Byte from DS1920
  40          **********************************************/
  41          unsigned char RD_byte(void)
  42          {
  43   1              unsigned char i;                        // 临时变量
  44   1              unsigned char b;                // 移位变量
  45   1              unsigned char value;            // 返回变量值
  46   1              value=0;                    // 赋初值
  47   1              b=1;                        // 赋初值
  48   1              for(i=0;i<8;i++)            
  49   1              {                           
  50   2                      DQ=1;                   // 置高,准备读取
  51   2                      CLK_CONV=0;             // CLK_CONV 低          
  52   2                      if (DQ)                 // 读取
  53   2                              value|=b;                       // 读取一位
  54   2                      CLK_CONV=1;                             // CLK_CONV 高          
  55   2                      b<<=1;                                  // 移位
C51 COMPILER V7.06   DS1920                                                                08/04/2008 00:24:31 PAGE 2   

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

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