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

📄 stc_ad.lst

📁 stc单片机开发AD采集
💻 LST
字号:
C51 COMPILER V7.06   STC_AD                                                                04/17/2008 15:19:49 PAGE 1   


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

stmt level    source

   1          
   2          
   3          
   4          
   5          #include "Reg51.H"
   6          #include "stc12c.h"
   7          
   8          sfr AUXR=0x8e;
   9          sfr WDT_CONTR = 0XE1;
  10          sfr ADC_CONTR = 0XC5;
  11          sfr ADC_DATA =  0XC6;
  12          sfr ADC_Channel_2_Result=0xc6;
  13          //#define ADC_Channel_2_Result  0X32
  14          
  15          
  16          void Initial_uart( void ) 
  17          { 
  18   1        SCON = 0x50 ; //SCON: serail mode 1, 8-bit UART, enable ucvr 
  19   1        TMOD |= 0x20 ; //TMOD: timer 1, mode 2, 8-bit reload 
  20   1        PCON |= 0x80 ; //SMOD=1; 
  21   1        TH1 = 0xFF ; //Baud:9600 fosc=11.0592MHz 
  22   1        IE |= 0x90 ; //Enable Serial Interrupt 
  23   1        //AUXR&=0XBF; 
  24   1        TR1 = 1 ;
  25   1        EX0=1; // timer 1 run // TI=1; }
  26   1        EA=1;
  27   1      }
  28          
  29          void Serial_send(unsigned char send_data)
  30           {
  31   1         
  32   1         SBUF=send_data;
  33   1         while(TI==0);
  34   1         TI=0;
  35   1        
  36   1       }
  37          
  38          void delay(unsigned char i)
  39           { 
  40   1         unsigned char j,k;
  41   1         for (j=0;j<i;j++)
  42   1           for (k=0;k<100;k++);
  43   1       }
  44          
  45          
  46          void main(void)
  47          {
  48   1      
  49   1        int i;
  50   1        int count=1;
  51   1        unsigned char str[5], *p;
  52   1        unsigned char rdata;
  53   1        p = str;   
  54   1        WDT_CONTR=0X00;
  55   1        P3M0=0X00;
C51 COMPILER V7.06   STC_AD                                                                04/17/2008 15:19:49 PAGE 2   

  56   1        P3M1=0X00;
  57   1        //P1=0xdc;
  58   1        ADC_DATA =0X00;
  59   1        ADC_CONTR=0X00;  //关闭ADC电源
  60   1         
  61   1        Initial_uart();
  62   1          
  63   1        P1M0=0X04;
  64   1        P1M1=0X04;  //设置P1.2为开漏模式
  65   1        ADC_CONTR=0X80;  //开ADC电源
  66   1         delay(100);
  67   1        ADC_CONTR=0XE2;  //P1.2作为AD转换通道
  68   1         delay(100);
  69   1       
  70   1          
  71   1        ADC_CONTR=0XEA;  //启动AD转换
  72   1         delay(200);
  73   1      
  74   1              //*p = ADC_Channel_2_Result; //保存AD转换结果
  75   1                      //*p=0x03;  
  76   1               //*p++;
  77   1                       //i=p;
  78   1              //ADC_Channel_2_Result=0x05;
  79   1          // for(i=0;i<5;i++)
  80   1          while(1)
  81   1               {
  82   2                  //delay(10000);
  83   2                 
  84   2            while(ADC_CONTR&0x10==0x10)
  85   2              {
  86   3               //delay(100);
  87   3                  }
  88   2                      ADC_CONTR=0xE2;//清ADC_FLAG,ADC_START位,停止ADC转换
  89   2             
  90   2                      //P1M0=0X00; //设置p1口为准双向口
  91   2              //P1M1=0X00;
  92   2                      
  93   2                  rdata=ADC_Channel_2_Result;
  94   2                      
  95   2                 
  96   2                       Serial_send(0xbf);
  97   2                 //delay(200);
  98   2                      Serial_send(rdata);   
  99   2                      //      delay(200);
 100   2               Serial_send(0xff);
 101   2               };
 102   1               while(1)
 103   1                {};
 104   1      
 105   1      
 106   1         for(i=0;i<5;i++)
 107   1         {
 108   2              delay(100);
 109   2              
 110   2            while(ADC_CONTR&0x10==0)
 111   2              {
 112   3               delay(100);
 113   3                  }
 114   2           
 115   2            //  ADC_CONTR=0xE2;//清ADC_FLAG,ADC_START位,停止ADC转换
 116   2      
 117   2             // *p = ADC_Channel_2_Result; //保存AD转换结果
C51 COMPILER V7.06   STC_AD                                                                04/17/2008 15:19:49 PAGE 3   

 118   2                      
 119   2                 // *p++;
 120   2                  //count++;
 121   2               //ADC_CONTR=0X00;  //关闭ADC电源
 122   2      
 123   2               // P1M0=0X00; //设置p1口为准双向口
 124   2           // P1M1=0X00;
 125   2                //P1=ADC_Channel_2_Result;
 126   2            
 127   2                Serial_send(0xbf);
 128   2                 delay(200);
 129   2                      Serial_send(P1);   
 130   2                              delay(200);
 131   2               Serial_send(0xff);
 132   2      
 133   2          }
 134   1       }
 135                     
 136             
 137           
 138          
 139             /*
 140              if(count==5)
 141                 {
 142          
 143                     Serial_send(0xbf);
 144                     delay(200);
 145                          Serial_send(count);   
 146                                  delay(200);
 147                   Serial_send(0xff);
 148                           while(1)
 149                            {};
 150                       /*
 151                    for(i = 0, p = str; i <5; i++)
 152                         {
 153                              
 154                                  delay(200);
 155          
 156                                  Serial_send(0xbf);
 157          
 158                          
 159                                  delay(200);
 160                              Serial_send(str[i]);
 161                                  Serial_send(count);
 162                                  
 163                                  delay(200);
 164                      Serial_send(0xff);
 165          
 166                          
 167                                  delay(200);
 168                         }
 169                          */
 170              /*  }
 171                  else
 172                      {
 173                          Serial_send(0xee);
 174                      break;
 175                      }
 176                          
 177                P1M0=0X00; //设置p1口为准双向口
 178                P1M1=0X00;
 179                    P1=ADC_Channel_2_Result;
C51 COMPILER V7.06   STC_AD                                                                04/17/2008 15:19:49 PAGE 4   

 180          
 181                    delay(200);
 182              }
 183           }      */    
 184          
 185                  
 186                     
 187                     
 188                    
 189              
 190           
 191            
 192            
 193            
 194           
 195                  
 196          
 197              
 198          
 199            
 200            
 201            
 202            
 203          
 204          
 205            
 206          
 207                
 208              
 209                  
 210                  
 211          
 212               
 213          
 214                     
 215               
 216          


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