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

📄 ad_max197.lst

📁 51单片机控ADC(MAX197)采集数据
💻 LST
字号:
C51 COMPILER V7.50   AD_MAX197                                                             08/14/2007 11:10:47 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"
   9          //#include"lcd_12864.h"
  10          
  11          #define AD_CMD  0x48  //选择通道0,输入范围0~5V。
  12                                //0,1,2位为通道选择位。3,4位为输入范围选择位(0:0~5V, 1:-5~+5V, 2:0~10V, 3:-10~+10
             -V)
  13          #define count 50
  14          //uchar AD_Convert=0;
  15          
  16          //void AD_READY(void) interrupt 2
  17          //{
  18          //   AD_Convert=1; 
  19          //}
  20          
  21          void main()
  22          {   bit flag;
  23   1          uchar high_4,low_8,i;
  24   1          long  convert_number;
  25   1          float sample_value;
  26   1      
  27   1          //char high_4;
  28   1              //uchar low_8;
  29   1          //int  convert_number;
  30   1          //float sample_value;
  31   1      
  32   1          LCDInit();
  33   1              LCDClr();
  34   1          Disponechar(0,0,'A');
  35   1          Disponechar(1,0,'D');
  36   1      
  37   1              //EA=1;   //开中断
  38   1              //EX1=1;  //开外部中断1
  39   1              //IT1=1;  //设定外部中断1为负跳变触发
  40   1      
  41   1          while(1)
  42   1          
  43   1          AD_MAX197_Bipolar(0,1);
  44   1          //AD_MAX197_Polar(0,0);
  45   1      /*
  46   1              while(1)
  47   1        {
  48   1          convert_number=0;
  49   1          for(i=0;i<count;i++)
  50   1         {
  51   1            XBYTE[0xfa00]=AD_CMD;             //置AD控制字
  52   1            while(AD_Convert==0);     
  53   1            AD_Convert=0;
  54   1            high_4=AD_SAMPLE_HIGH;             //接收高四位, P2_3=1;  P27 P22,P21,P20控制片选选通
C51 COMPILER V7.50   AD_MAX197                                                             08/14/2007 11:10:47 PAGE 2   

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


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   2225    ----
   CONSTANT SIZE    =   1661    ----
C51 COMPILER V7.50   AD_MAX197                                                             08/14/2007 11:10:47 PAGE 3   

   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     10      91
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       2
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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