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

📄 ads1100.lst

📁 本人开发的测量水的浊度的仪器
💻 LST
字号:
C51 COMPILER V7.06   ADS1100                                                               04/09/2005 13:15:55 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE ADS1100
OBJECT MODULE PLACED IN ads1100.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE ads1100.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #define ADS1100_C
   2          #include "common.h"
   3          #include "ads1100.h"
   4          #include "intrins.h"
   5          #include "stdio.h"
   6          #include "system.h"
   7          
   8          #define nops(); _nop_(); _nop_(); _nop_(); _nop_();
   9          
  10          void startads1100()
  11          {
  12   1              EA = 0;
  13   1              ADS1100_SDA = 1;
  14   1              ADS1100_SCL = 1;
  15   1              nops();
  16   1              ADS1100_SDA = 0;
  17   1              nops();
  18   1              ADS1100_SCL = 0;
  19   1              EA = 1;
  20   1      }
  21          
  22          void stopads1100()
  23          {
  24   1              EA = 0;
  25   1              ADS1100_SCL = 0;
  26   1              ADS1100_SDA = 0;
  27   1              ADS1100_SCL = 1;
  28   1              nops();
  29   1              ADS1100_SDA = 1;
  30   1              nops();
  31   1              ADS1100_SCL = 0;
  32   1              EA = 1;
  33   1      }
  34          
  35          void ackads1100()
  36          {
  37   1              EA = 0;
  38   1              ADS1100_SCL = 0;
  39   1              ADS1100_SDA = 0;
  40   1              nops();
  41   1              ADS1100_SCL = 1;
  42   1              nops();
  43   1              ADS1100_SCL = 0;
  44   1              nops();
  45   1              EA = 1;
  46   1      }
  47          /*
  48          void noackads1100()
  49          {
  50                  ADS1100_SDA = 1;
  51                  nops();
  52                  ADS1100_SCL = 0;
  53                  nops();
  54                  ADS1100_SCL = 1;
  55                  nops();
C51 COMPILER V7.06   ADS1100                                                               04/09/2005 13:15:55 PAGE 2   

  56                  ADS1100_SCL = 0;
  57                  nops();
  58          }
  59          */
  60          uchar waitackads1100()
  61          {
  62   1              uchar i=255;
  63   1      
  64   1              EA = 0;
  65   1              ADS1100_SDA = 1;
  66   1              while(i--)
  67   1              {
  68   2                      nops();
  69   2                      if(ADS1100_SDA == 0)
  70   2                      {
  71   3                              ADS1100_SCL = 0;
  72   3                              nops();
  73   3                              ADS1100_SCL = 1;
  74   3                              nops();
  75   3                              ADS1100_SCL = 0;
  76   3                              nops();
  77   3                              return 1;
  78   3                      }
  79   2              }
  80   1              
  81   1              stopads1100();
  82   1              EA = 1;
  83   1      
  84   1              return 0;
  85   1      }
  86          
  87          void clockoutads1100(uchar dat)
  88          {
  89   1              uchar i;
  90   1      
  91   1              EA = 0;
  92   1      
  93   1              for(i=0;i<8;i++)
  94   1              {
  95   2                      ADS1100_SCL = 0;
  96   2                      nops();
  97   2      
  98   2                      if(dat &0x80)
  99   2                              ADS1100_SDA = 1;
 100   2                      else
 101   2                              ADS1100_SDA = 0;
 102   2                      dat <<= 1;
 103   2      
 104   2                      ADS1100_SCL = 1;
 105   2                      nops();
 106   2      
 107   2                      ADS1100_SCL = 0;
 108   2                      nops();
 109   2              }
 110   1      
 111   1              EA = 1;
 112   1      }
 113          
 114          uchar clockinads1100()
 115          {
 116   1              uchar i;
 117   1              uchar c = 0;
C51 COMPILER V7.06   ADS1100                                                               04/09/2005 13:15:55 PAGE 3   

 118   1              EA = 0;
 119   1      
 120   1              for(i=0;i<8;i++)
 121   1              {
 122   2                      c <<= 1;
 123   2      
 124   2                      ADS1100_SCL = 0;
 125   2                      nops();
 126   2      
 127   2                      ADS1100_SCL = 1;
 128   2                      nops();
 129   2      
 130   2                      ADS1100_SDA = 1;
 131   2                      if(ADS1100_SDA == 1)
 132   2                              c |= 0x01;
 133   2      
 134   2                      ADS1100_SCL = 0;
 135   2                      nops();
 136   2              }
 137   1      
 138   1              EA = 1;
 139   1      
 140   1              return c;
 141   1      }
 142          
 143          uchar readads1100(ushort *pdat)
 144          {
 145   1              uchar c1,c2;
 146   1      
 147   1              EA = 0;
 148   1      
 149   1              startads1100();
 150   1      
 151   1              //device address
 152   1              clockoutads1100(0x9f);
 153   1              if(!waitackads1100()) return 0;
 154   1      
 155   1              //read data
 156   1              c1 = clockinads1100();
 157   1              ackads1100();
 158   1              c2 = clockinads1100();
 159   1              ackads1100();
 160   1              
 161   1              stopads1100();
 162   1      
 163   1              *pdat = c1*256+c2;
 164   1      
 165   1              EA = 1;
 166   1      
 167   1              return 1;
 168   1      }
 169          
 170          /*
 171          uchar readads1100(uchar addr,uchar *pdat)
 172          {
 173                  uchar c;
 174          
 175                  startads1100();
 176          
 177                  //device address
 178                  c = 0x9e;
 179                  clockoutads1100(c);
C51 COMPILER V7.06   ADS1100                                                               04/09/2005 13:15:55 PAGE 4   

 180                  if(!waitackads1100()) return 0;
 181          
 182                  //memory address
 183                  c = addr;
 184                  clockoutads1100(c);
 185                  if(!waitackads1100()) return 0;
 186          
 187                  startads1100();
 188          
 189                  //device address
 190                  c = 0x9f;
 191                  clockoutads1100(c);
 192                  if(!waitackads1100()) return 0;
 193          
 194                  //read data
 195                  *pdat = clockinads1100();
 196          
 197                  noackads1100();
 198          
 199                  stopads1100();
 200          
 201                  return 1;
 202          }
 203          */
 204          uchar writeads1100(uchar dat)
 205          {
 206   1              EA = 0;
 207   1      
 208   1              startads1100();
 209   1      
 210   1      //device address
 211   1              clockoutads1100(0x9e);
 212   1              if(!waitackads1100()) return 0;
 213   1      
 214   1      //memory address
 215   1      //      c = addr;
 216   1      //      clockoutads1100(c);
 217   1      //      if(!waitackads1100()) return 0;
 218   1      
 219   1      //write data
 220   1              clockoutads1100(dat);
 221   1              if(!waitackads1100()) return 0;
 222   1      
 223   1              stopads1100();
 224   1      
 225   1              EA = 1;
 226   1      
 227   1              return 1;
 228   1      }
 229          
 230          uchar resetads1100()
 231          {
 232   1              EA = 0;
 233   1      
 234   1              startads1100();
 235   1      
 236   1      //device address
 237   1              clockoutads1100(0x00);
 238   1              if(!waitackads1100()) return 0;
 239   1      
 240   1      //write data
 241   1              clockoutads1100(0x06);
C51 COMPILER V7.06   ADS1100                                                               04/09/2005 13:15:55 PAGE 5   

 242   1              if(!waitackads1100()) return 0;
 243   1      
 244   1              stopads1100();
 245   1      
 246   1              EA = 1;
 247   1      
 248   1              return 1;
 249   1      }
 250          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    337    ----
   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 + -