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

📄 ad0.lst

📁 ad转换的程序
💻 LST
字号:
C51 COMPILER V6.12  AD0                                                                    06/09/2003 19:14:24 PAGE 1   


C51 COMPILER V6.12, COMPILATION OF MODULE AD0
OBJECT MODULE PLACED IN ad0.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ad0.c DB OE

stmt level    source

   1          /*=========================================================================================
   2                               AD RUTINE
   3          ===========================================================================================
   4          AHTH: GZG
   5          DATE:
   6          COMMENT: 
   7          ===========================================================================================*/
   8          /*-------------------------------------------INCLUDE---------------------------------------*/
   9          #include <c8051f020.h>
  10          /*-------------------------------------------GLOBLE DEFINE OR DECLARING--------------------*/
  11          extern long int transfer_ad;
  12          extern unsigned int xdata canmodify_package[];
  13          extern int cycle_times;
  14          /*-------------------------------------------FUCTIN DECLARING-----------------------------*/
  15          extern void delay(int t);
  16          /*-------------------------------------------16BIT SFR DEFINE------------------------------*/
  17          sfr16 ADC0=0xbe;
  18          sfr16 DAC0=0Xd2;
  19          
  20          /*-----------------------------------------------------------------------------------------
  21          AD ROOUTINE
  22          ------------------------------------------------------------------------------------------*/
  23          
  24          void ad0(void)
  25          	{
  26   1      	 static unsigned xdata dec=256;
  27   1           static long xdata total=0L;
  28   1       	 static long  xdata jiyi[10];
  29   1      	 xdata long transfer;
  30   1      	 long  xdata transfer1;
  31   1      	 long  xdata transfer2;
  32   1      	
  33   1          
  34   1         if(canmodify_package[6]==1)
  35   1            { 
  36   2               AMX0SL=0X00;
  37   2      	     ADC0CN=0x90;
  38   2            	while(!AD0INT);
  39   2              total+=ADC0;
  40   2      	    dec--;
  41   2             if(dec==0)
  42   2            	{
  43   3      	      jiyi[0]=jiyi[1];
  44   3      	      jiyi[1]=jiyi[2];
  45   3      	      jiyi[2]=jiyi[3];
  46   3      	      jiyi[3]=jiyi[4];
  47   3      	      jiyi[4]=jiyi[5];
  48   3      	      jiyi[5]=jiyi[6];
  49   3      	      jiyi[6]=jiyi[7];
  50   3      	      jiyi[7]=jiyi[8];
  51   3      	      jiyi[8]=jiyi[9]; 
  52   3                transfer=((total/256));
  53   3      	      if(transfer<0)transfer=jiyi[8];
  54   3      	      jiyi[9]=transfer;
  55   3      	
C51 COMPILER V6.12  AD0                                                                    06/09/2003 19:14:24 PAGE 2   

  56   3      	     transfer1=(jiyi[0]+jiyi[1]+jiyi[2]+jiyi[3]+jiyi[4]+jiyi[5]+jiyi[6]+jiyi[7]+jiyi[8]+jiyi[9])/10;
  57   3         
  58   3      	    if(transfer1>=(canmodify_package[0]+818))
  59   3      	      {
  60   4      
  61   4                  cycle_times=1;
  62   4                  transfer_ad=((transfer1-818-canmodify_package[0])*(canmodify_package[3]*1000))/3243;
  63   4      	        transfer2=((transfer1-818-canmodify_package[0])*4095)/3243;
  64   4      	 
  65   4      	       if (transfer2>=4095)DAC0=4095;
  66   4      	    else
  67   4      		{DAC0=transfer2;} 
  68   4             //if(transfer1>=4072)DAC0=4095;
  69   4      	   
  70   4             //if(transfer_ad>=10000)DAC0=4095;
  71   4      	 }
  72   3      	 else 
  73   3      	 {
  74   4      	   cycle_times=-8;
  75   4      	   transfer_ad=((canmodify_package[0]+818-transfer1)*(canmodify_package[3]*1000))/3243;
  76   4      	   DAC0=0;
  77   4      	 }
  78   3      	 // transfer_ad=transfer1;
  79   3      	 dec=256;
  80   3      	 total=0L;	
  81   3         }
  82   2        
  83   2      }
  84   1      
  85   1      
  86   1      
  87   1        if(canmodify_package[6]==3)//use the channel 3 and it is risister
  88   1         {
  89   2      
  90   2          AMX0SL=0X01;
  91   2      	ADC0CN=0x90;
  92   2      	//delay(1000);
  93   2      	while(!AD0INT);
  94   2      
  95   2      	// transfer_ad=ADC0;
  96   2         total+=ADC0;
  97   2      	dec--;
  98   2      	if(dec==0)
  99   2      	{
 100   3      	 jiyi[0]=jiyi[1];
 101   3      	 jiyi[1]=jiyi[2];
 102   3      	 jiyi[2]=jiyi[3];
 103   3      	 jiyi[3]=jiyi[4];
 104   3      	 jiyi[4]=jiyi[5];
 105   3      	 jiyi[5]=jiyi[6];
 106   3      	 jiyi[6]=jiyi[7];
 107   3      	 jiyi[7]=jiyi[8];
 108   3      	 jiyi[8]=jiyi[9]; 
 109   3           transfer=((total/256));
 110   3      	 if(transfer<0)transfer=jiyi[8];
 111   3      	 jiyi[9]=transfer;
 112   3      	 
 113   3      	 transfer1=(jiyi[0]+jiyi[1]+jiyi[2]+jiyi[3]+jiyi[4]+jiyi[5]+jiyi[6]+jiyi[7]+jiyi[8]+jiyi[9])/10;
 114   3      
 115   3      
 116   3          if(transfer1>=canmodify_package[6]+11)
 117   3      	 {
C51 COMPILER V6.12  AD0                                                                    06/09/2003 19:14:24 PAGE 3   

 118   4      	  cycle_times=1;
 119   4      	  transfer_ad=(transfer1-11-canmodify_package[0])*(canmodify_package[3]*1000)/4071;
 120   4      	  DAC0=(transfer1-11-canmodify_package[0])*4095/4071;
 121   4      	  if(transfer1>=4071)DAC0=4095;
 122   4      	 }
 123   3      	 else
 124   3      	 {
 125   4      	  cycle_times=-8;
 126   4      	  transfer_ad=(canmodify_package[0]+11-transfer1)*(canmodify_package[3]*1000)/4071;
 127   4      	  DAC0=0;
 128   4      
 129   4      	 } 
 130   3      	// transfer_ad=transfer1;
 131   3      	 dec=256;
 132   3      	 total=0L;	
 133   3      	       
 134   3         }   
 135   2      
 136   2           }
 137   1      
 138   1      	}


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   2042    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =     46      12
   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 + -