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

📄 adctest.lst

📁 LPC214X系列ARM在KEIL编译环境下的所以例程
💻 LST
字号:
ARM COMPILER V2.53,  adctest                                                               27/07/06  14:29:02  PAGE 1   


ARM COMPILER V2.53, COMPILATION OF MODULE adctest
OBJECT MODULE PLACED IN .\Obj\adctest.obj
COMPILER INVOKED BY: g:\Keil\ARM\BIN\CA.exe adctest.c THUMB INCDIR(..\Common\inc) DEBUG PRINT(.\LST\ADCTEST.LST) TABS(4)
                    - OBJECT(.\Obj\adctest.obj) 

stmt  level    source

    1          /*****************************************************************************
    2           *   adctest.c:  main C entry file for Philips LPC214x Family Microprocessors
    3           *
    4           *   Copyright(C) 2006, Philips Semiconductor
    5           *   All rights reserved.
    6           *
    7           *   History
    8           *   2005.10.01  ver 1.00    Prelimnary version, first Release
    9           *
   10          ******************************************************************************/
   11          #include "LPC214x.h"                        /* LPC21xx definitions */
   12          #include "type.h"
   13          #include "target.h"
   14          #include "irq.h"
   15          #include "adc.h"
   16          
   17          extern DWORD ADC0Value[ADC_NUM], ADC1Value[ADC_NUM];
   18          extern DWORD ADC0IntDone, ADC1IntDone;
   19          
   20          /*****************************************************************************
   21          **   Main Function  main()
   22          ******************************************************************************/
   23          int main (void)
   24          {
   25   1          DWORD i;
   26   1      
   27   1          init_VIC();
   28   1          /* Initialize ADC  */
   29   1          ADCInit( ADC_CLK );
   30   1      
   31   1      #if ADC_INTERRUPT_FLAG          /* Interrupt driven */
   32   1          for ( i = 0; i < ADC_NUM; i++ )
   33   1          {
   34   2          ADC0Read( i );
   35   2          while ( !ADC0IntDone );
   36   2          ADC0IntDone = 0;
   37   2          }
   38   1          for ( i = 0; i < ADC_NUM; i++ )
   39   1          {
   40   2          ADC1Read( i );
   41   2          while ( !ADC1IntDone );
   42   2          ADC1IntDone = 0;
   43   2          }
   44   1      #else                   /* Polling */
                   for ( i = 0; i < ADC_NUM; i++ )
                   {
                   ADC0Value[i] = ADC0Read( i );
                   }
                   for ( i = 0; i < ADC_NUM; i++ )
                   {
                   ADC1Value[i] = ADC1Read( i );
                   }
               #endif
   54   1          return 0;
   55   1      }
   56          
   57          /*****************************************************************************
   58          **                            End Of File
ARM COMPILER V2.53,  adctest                                                               27/07/06  14:29:02  PAGE 2   

   59          *****************************************************************************/
   60          
ARM COMPILER V2.53,  adctest                                                               27/07/06  14:29:02  PAGE 3   

ASSEMBLY LISTING OF GENERATED OBJECT CODE



*** EXTERNALS:
 EXTERN CODE16 (init_VIC?T)
 EXTERN CODE16 (ADCInit?T)
 EXTERN CODE16 (ADC0Read?T)
 EXTERN CODE16 (ADC1Read?T)
 EXTERN DATA (ADC0IntDone)
 EXTERN DATA (ADC1IntDone)
 EXTERN NUMBER (__startup)



*** PUBLICS:
 PUBLIC         main



*** CODE SEGMENT '?PR?main?adctest':
   23: int main (void)
 00000000  B500      PUSH        {LR}
   24: {
 00000002            ; SCOPE-START
   27:     init_VIC();
 00000002  F7FF      BL          init_VIC?T  ; T=0x0001  (1)
 00000004  FFFD      BL          init_VIC?T  ; T=0x0001  (2)
   29:     ADCInit( ADC_CLK );
 00000006  4800      LDR         R0,=0xF4240
 00000008  F7FF      BL          ADCInit?T  ; T=0x0001  (1)
 0000000A  FFFA      BL          ADCInit?T  ; T=0x0001  (2)
   32:     for ( i = 0; i < ADC_NUM; i++ )
 0000000C  2400      MOV         R4,#0x0
 0000000E  ---- Variable 'i' assigned to Register 'R4' ----
 0000000E          L_4:
   34:     ADC0Read( i );
 0000000E  1C20      MOV         R0,R4 ; i
 00000010  F7FF      BL          ADC0Read?T  ; T=0x0001  (1)
 00000012  FFF6      BL          ADC0Read?T  ; T=0x0001  (2)
   35:     while ( !ADC0IntDone );
 00000014          L_6:
 00000014  4800      LDR         R0,=ADC0IntDone ; ADC0IntDone
 00000016  6800      LDR         R0,[R0,#0x0] ; ADC0IntDone
 00000018  2800      CMP         R0,#0x0
 0000001A  D0FB      BEQ         L_6  ; T=0x00000014
   36:     ADC0IntDone = 0;
 0000001C  2000      MOV         R0,#0x0
 0000001E  4800      LDR         R1,=ADC0IntDone ; ADC0IntDone
 00000020  6008      STR         R0,[R1,#0x0] ; ADC0IntDone
   37:     }
 00000022  3401      ADD         R4,#0x1
 00000024  1C21      MOV         R1,R4 ; i
 00000026  2908      CMP         R1,#0x8 ; i
 00000028  D3F1      BCC         L_4  ; T=0x0000000E
   38:     for ( i = 0; i < ADC_NUM; i++ )
 0000002A  1C04      MOV         R4,R0 ; i
 0000002C          L_13:
   40:     ADC1Read( i );
 0000002C  1C20      MOV         R0,R4 ; i
 0000002E  F7FF      BL          ADC1Read?T  ; T=0x0001  (1)
 00000030  FFE7      BL          ADC1Read?T  ; T=0x0001  (2)
   41:     while ( !ADC1IntDone );
 00000032          L_15:
 00000032  4800      LDR         R0,=ADC1IntDone ; ADC1IntDone
 00000034  6800      LDR         R0,[R0,#0x0] ; ADC1IntDone
 00000036  2800      CMP         R0,#0x0
 00000038  D0FB      BEQ         L_15  ; T=0x00000032
   42:     ADC1IntDone = 0;
 0000003A  2100      MOV         R1,#0x0
 0000003C  4800      LDR         R0,=ADC1IntDone ; ADC1IntDone
ARM COMPILER V2.53,  adctest                                                               27/07/06  14:29:02  PAGE 4   

 0000003E  6001      STR         R1,[R0,#0x0] ; ADC1IntDone
   43:     }
 00000040  3401      ADD         R4,#0x1
 00000042  1C20      MOV         R0,R4 ; i
 00000044  2808      CMP         R0,#0x8 ; i
 00000046  D3F1      BCC         L_13  ; T=0x0000002C
   54:     return 0;
 00000048  2000      MOV         R0,#0x0
 0000004A            ; SCOPE-END
   55: }
 0000004A  BC08      POP         {R3}
 0000004C  4718      BX          R3
 0000004E          ENDP ; 'main'



Module Information          Static
----------------------------------
  code size            =    ------
  data size            =    ------
  const size           =    ------
End of Module Information.


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

⌨️ 快捷键说明

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