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

📄 main.lst

📁 Hitex LPC2100 insider guide source code
💻 LST
字号:
ARM COMPILER V0.07,  main                                                                  09/07/04  13:38:27  PAGE 1   


ARM COMPILER V0.07, COMPILATION OF MODULE main
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\ARM\BIN\CA.exe main.c BROWSE DEBUG TABS(4) 

stmt  level    source

    1          /************************************************************/
    2          /* PROJECT NAME: AtoD                                       */
    3          /* Project:      LPC2100 Training course                    */
    4          /* Engineer:     T Martin   tmartin@hitex.co.uk             */
    5          /* Filename:     main.c                                     */
    6          /* Language:     C                                          */
    7          /* Compiler:     Keil ARM   V1.3                            */
    8          /* Assembler:                                               */
    9          /*                                                          */
   10          /************************************************************/
   11          /* COPYRIGHT: Hitex UK Ltd      2004                        */
   12          /* LICENSE:   THIS VERSION CREATED FOR FREE DISTRIBUTION    */
   13          /************************************************************/
   14          /* Function:                                                */
   15          /*                                                          */
   16          /* Example Discrete Fourier Transform                       */
   17          /*                                                          */
   18          /* Demonstrates Fourier transform                           */
   19          /*                                                          */  
   20          /* Oscillator frequency 12.000 Mhz                          */
   21          /* Target board Keil MCB2100                                */
   22          /************************************************************/
   23          
   24          #include "lpc21xx.h"
   25          #include <math.h>
   26          unsigned val = 0;
   27          float REX[256];
   28          float IMX[256];
   29          float MAG[256];
   30          unsigned int I,IP,K,L,N,NM1,ND2,M,J,JM1,LE,LE2,UR,UI;
   31          float TR,TI,SI,SR;
   32          float PI =3.14159265;
   33          
   34          int main(void)
   35          {
   36   1       
   37   1      for(I = 1;I<256;I++)
   38   1      {
   39   2      REX[I] = 0.5;
   40   2      IMX[I] = 0;
   41   2      }
   42   1      
   43   1      
   44   1      VPBDIV = 0x02;          //Set the Pclk to 30 Mhz
   45   1      IODIR1 = 0x00FF0000;    // P1.16..23 defined as Outputs  
   46   1      ADCR   = 0x00270601;    // Setup A/D: 10-bit AIN0 @ 3MHz 
   47   1      ADCR  |= 0x01000000;    // Start A/D Conversion 
   48   1      
   49   1      N = 512; 
   50   1      NM1 = N-1;
   51   1      ND2 = N/2;
   52   1      M = 9;
   53   1      J = ND2;
   54   1      
   55   1      for( I = 1;I<(N/2);I++)
   56   1      {
   57   2      
   58   2      if(I< J)
   59   2      {
ARM COMPILER V0.07,  main                                                                  09/07/04  13:38:27  PAGE 2   

   60   3          TR = REX[J];
   61   3          TI = IMX[J];
   62   3          REX[J] = REX[I];
   63   3          IMX[J] = IMX[I];
   64   3          REX[I] = TR;
   65   3          IMX[I] = TI;
   66   3      }
   67   2      K = ND2;
   68   2      while(K<=J)
   69   2      {
   70   3          J   =J-K;
   71   3          K   = K/2;
   72   3      }
   73   2      J = J+K;
   74   2      }
   75   1      
   76   1      for(L = 1;L<=M;L++)
   77   1      {
   78   2      LE = pow(2,L);
   79   2      LE2 = LE/2;
   80   2      UR = 1;
   81   2      UI = 0;
   82   2      SR = cos(PI/LE2);
   83   2      SI = -sin(PI/LE2);
   84   2      for(J=1;J<=LE2;J++)
   85   2      {
   86   3          JM1 = J-1;
   87   3          for(I=JM1;I<NM1;I = I + LE)
   88   3          {   
   89   4              IP = I+LE2;
   90   4              TR = REX[IP]*UR-IMX[IP]*UI;
   91   4              TI = REX[IP]*UI+IMX[IP]*UI;
   92   4              REX[IP]= REX[I]-TR;
   93   4              IMX[IP]= IMX[I]-TI;
   94   4              REX[I] = REX[I]+TR;
   95   4              IMX[IP]= IMX[I]+TR;
   96   4          }
   97   3          TR = UR;
   98   3          UR = TR*SR-UI*SI;
   99   3          UI = TR*SI+UI*SR;
  100   3      
  101   3      }
  102   2      }   
  103   1      
  104   1      
  105   1      
  106   1      
  107   1      
  108   1      /*for (index = 0;index<(N-1);index++)
  109   1      {         
  110   1      do
  111   1      {
  112   1          val = ADDR;                   // Read A/D Data Register 
  113   1      }        
  114   1      while ((val & 0x80000000) == 0);  //Wait for the conversion to complete
  115   1      XX[index] =(float) ((val >> 6) & 0x03FF);  //Extract the A/D result 
  116   1      }
  117   1        */
  118   1      
  119   1      while(1)
  120   1      {
  121   2      ;
  122   2      }
  123   1      
  124   1      }
  125          
ARM COMPILER V0.07,  main                                                                  09/07/04  13:38:27  PAGE 3   


ARM COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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