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

📄 ad7715.lst

📁 实现了51的普通IO口读取AD7715数值的功能
💻 LST
字号:
C51 COMPILER V8.02   AD7715                                                                02/16/2009 20:57:03 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE AD7715
OBJECT MODULE PLACED IN ad7715.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ad7715.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include "at89x52.h"
   2          #include "mytype.h"
   3          #include "ad7715.h"
   4          
   5          
   6          void WriteADData(uchar write_data)
   7          {
   8   1              uchar i;
   9   1              for(i=0;i<8;i++)
  10   1              {
  11   2                       
  12   2                      if ( (write_data & 0x80)!= 0 ) AD_DIN = 1;   
  13   2              else AD_DIN = 0;   
  14   2              write_data = write_data << 1;
  15   2      
  16   2                      AD_SCLK = 1;
  17   2                      AD_SCLK = 0;
  18   2                      AD_SCLK = 1;
  19   2                      
  20   2                      
  21   2              }
  22   1      
  23   1      }
  24          
  25          uint ReadADData(uchar zijie)
  26          {
  27   1              uchar i;
  28   1              uint ad_data = 0;
  29   1                
  30   1              for(i=0;i<zijie*8;i++)
  31   1              {
  32   2                      AD_SCLK = 1;
  33   2                      AD_SCLK = 0;
  34   2                      AD_SCLK = 0;
  35   2                      
  36   2      
  37   2                      ad_data = ad_data << 1;
  38   2                      
  39   2                      if(AD_DOUT) 
  40   2                              ad_data += 1;
  41   2      
  42   2                      AD_SCLK = 1;
  43   2                      
  44   2              }
  45   1              return ad_data;
  46   1      }
  47          
  48          void InitAD7715(void)
  49          {
  50   1              
  51   1              WriteADData(0x10);              //设置增益为1;同时设定下次为设置Setregister;
  52   1              WriteADData(0x66);              //设置校准为自标定(很重要!),主频率为大于2M,更新频率为20Hz,单极;
  53   1                           
  54   1                                                              //关于很多网站上说的频率必须为2.4576M或1M,本人不能认同,
  55   1                                                              //官方网站上提到,大于2M时,CLK应设为1,以便提供足够的电流给芯片工作
C51 COMPILER V8.02   AD7715                                                                02/16/2009 20:57:03 PAGE 2   

  56   1      
  57   1      }
  58          
  59          uint GetADNum(void)
  60          {
  61   1              while(AD_DRDY == 1) ;           //等待转换完成;
  62   1              
  63   1              WriteADData(0x38);             //,写通讯寄存器,读取更新的数值;
  64   1              
  65   1      
  66   1              return ReadADData(2);
  67   1      }
  68          
  69          
  70                  
  71                          
  72          
  73          
  74          


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