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

📄 ad_max197.lst

📁 51单片机控ADC(MAX197)采集数据
💻 LST
字号:
C51 COMPILER V7.50   AD_MAX197                                                             08/23/2007 22:15:43 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE AD_MAX197
OBJECT MODULE PLACED IN AD_MAX197.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE AD_MAX197.C BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #define uchar unsigned char
   2          #define uint  unsigned int
   3          #define ulong unsigned long
   4          
   5          #include<reg52.h>
   6          #include<absacc.h>
   7          #include<intrins.h>
   8          #include"ad_max197.h"
*** WARNING C280 IN LINE 35 OF AD_MAX197.H: 'flag': unreferenced local variable
   9          //#include"da_tlv5614.h"
  10          //#include"lcd_12864.h"
  11          
  12          #define AD_CMD  0x48  //选择通道0,输入范围0~5V。
  13                                //0,1,2位为通道选择位。3,4位为输入范围选择位(0:0~5V, 1:-5~+5V, 2:0~10V, 3:-10~+10
             -V)
  14          #define count 50
  15          //uchar AD_Convert=0;
  16          
  17          //void AD_READY(void) interrupt 2
  18          //{
  19          //   AD_Convert=1; 
  20          //}
  21          
  22          void main()
  23          {  // bit flag;
  24   1         // uchar high_4,low_8,i;
  25   1         // long  convert_number;
  26   1         // float sample_value;
  27   1      
  28   1          //char high_4;
  29   1              //uchar low_8;
  30   1          //int  convert_number;
  31   1          //float sample_value;
  32   1      
  33   1          LCDInit();
  34   1              LCDClr();
  35   1          Disponechar(0,0,'A');
  36   1          Disponechar(1,0,'D');
  37   1      
  38   1              //EA=1;   //开中断
  39   1              //EX1=1;  //开外部中断1
  40   1              //IT1=1;  //设定外部中断1为负跳变触发
  41   1      
  42   1          while(1)
  43   1          
  44   1            AD_MAX197_Bipolar(0,1);
  45   1          //AD_MAX197_Polar(0,0);
  46   1      /*
  47   1              while(1)
  48   1        {
  49   1          convert_number=0;
  50   1          for(i=0;i<count;i++)
  51   1         {
  52   1            XBYTE[0xfa00]=AD_CMD;             //置AD控制字
  53   1            while(AD_Convert==0);     
C51 COMPILER V7.50   AD_MAX197                                                             08/23/2007 22:15:43 PAGE 2   

  54   1            AD_Convert=0;
  55   1            high_4=AD_SAMPLE_HIGH;             //接收高四位, P2_3=1;  P27 P22,P21,P20控制片选选通
  56   1            // Dispnumber(high_4,3,10,0);
  57   1            low_8=AD_SAMPLE_LOW;              //接收低八位, P2_3=0;  P27 P22,P21,P20控制片选选通
  58   1            // Dispnumber(low_8,3,10,1);
  59   1      
  60   1            if((high_4&0x08)==0x08)   //&逻辑运算,&&关系运算
  61   1            { 
  62   1                  high_4=0x0f-(high_4&0x0f);
  63   1              low_8=0x0100-low_8; 
  64   1                      convert_number=convert_number - high_4*256 - low_8;   
  65   1            }                        //处理采集负电压时得到的补码
  66   1            else   convert_number=convert_number+ high_4*256 + low_8;
  67   1              }
  68   1             convert_number=convert_number/count;
  69   1             switch(AD_CMD&0x18)
  70   1             {
  71   1              case 0x08:convert_number=convert_number*2;break;
  72   1                  case 0x10:convert_number=convert_number*2;break;
  73   1                  case 0x18:convert_number=convert_number*4;break;
  74   1                  default: break;
  75   1             }
  76   1            sample_value=(uint)(convert_number*1.2207);
  77   1      
  78   1            Dispnumber_float(sample_value,4,3,10,2);
  79   1            if(convert_number<0) Disponechar(5,2,'-');
  80   1                else  Disponechar(5,2,'+');
  81   1        }
  82   1      */
  83   1      
  84   1      
  85   1      }
  86          
  87          
  88          /*******测时程序*********
  89                  TMOD=0X10;
  90                  TH1=0;
  91                  TL1=0;
  92                  TR1=1;
  93                  process();
  94              TR1=0;
  95              Dispnumber(TH1*256+TL1,4,10,1);
  96                  while(1);
  97          ***********************/
  98          /*
  99              while(1)
 100             {
 101                sample_value=(uint)(AD_MAX197(1,1)*1.2207);
 102                Dispnumber_float(sample_value,4,3,10,2);
 103                if(flag==1) Disponechar(5,2,'-');
 104                    else  Disponechar(5,2,'+');
 105             }
 106          */


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   2038    ----
   CONSTANT SIZE    =   1646    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     12      69
   IDATA SIZE       =   ----    ----
C51 COMPILER V7.50   AD_MAX197                                                             08/23/2007 22:15:43 PAGE 3   

   BIT SIZE         =      1       2
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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