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

📄 pwmtest.lst

📁 hitex公司的ARM7培训资料源码
💻 LST
字号:
ARM COMPILER V2.50a,  pwmtest                                                              08/03/06  18:03:56  PAGE 1   


ARM COMPILER V2.50a, COMPILATION OF MODULE pwmtest
OBJECT MODULE PLACED IN .\Obj\pwmtest.obj
COMPILER INVOKED BY: C:\Keil\ARM\BIN\CA.exe pwmtest.c THUMB INCDIR(..\Common\inc) DEBUG PRINT(.\LST\PWMTEST.LST) TABS(4)
                    - OBJECT(.\Obj\pwmtest.obj) 

stmt  level    source

    1          /*****************************************************************************
    2           *   pwmtest.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 "irq.h"
   14          #include "timer.h"
   15          #include "pwm.h"
   16          
   17          extern DWORD timer_counter;
   18          extern DWORD match_counter;
   19          
   20          /******************************************************************************
   21          **   Main Function  main()
   22          ******************************************************************************/
   23          int main (void)
   24          {       
   25   1          DWORD cycle = PWM_CYCLE, offset = 0;
   26   1      
   27   1          init_VIC();
   28   1      
   29   1          if ( PWM_Init( 0 ) != TRUE )
   30   1          {
   31   2          while( 1 );         /* fatal error */
   32   2          }
   33   1      
   34   1          PWM_Set( cycle, offset );
   35   1          PWM_Start();
   36   1      
   37   1          while ( 1 )
   38   1          {
   39   2          if ( match_counter != 0 )
   40   2          {
   41   3              match_counter = 0;
   42   3              if( offset <= PWM_CYCLE )
   43   3              offset += PWM_OFFSET;
   44   3              else
   45   3              offset = 0;
   46   3              PWM_Set( cycle, offset );
   47   3          }
   48   2          }
   49   1          PWM_Stop() ;
   50   1          
   51   1          return 0;
   52   1      }
   53          
   54          /******************************************************************************
   55          **                            End Of File
   56          ******************************************************************************/
ARM COMPILER V2.50a,  pwmtest                                                              08/03/06  18:03:56  PAGE 2   

ASSEMBLY LISTING OF GENERATED OBJECT CODE



*** EXTERNALS:
 EXTERN CODE16 (init_VIC?T)
 EXTERN CODE16 (PWM_Init?T)
 EXTERN CODE16 (PWM_Set?T)
 EXTERN CODE16 (PWM_Start?T)
 EXTERN CODE16 (PWM_Stop?T)
 EXTERN DATA (match_counter)
 EXTERN NUMBER (__startup)



*** PUBLICS:
 PUBLIC         main



*** CODE SEGMENT '?PR?main?pwmtest':
   23: int main (void)
 00000000  B500      PUSH        {LR}
   24: {        
 00000002            ; SCOPE-START
   25:     DWORD cycle = PWM_CYCLE, offset = 0;
 00000002  4800      LDR         R5,=0x4B0
 00000004  ---- Variable 'cycle' assigned to Register 'R5' ----
 00000004  2600      MOV         R6,#0x0
 00000006  1C34      MOV         R4,R6 ; offset
 00000008  ---- Variable 'offset' assigned to Register 'R4' ----
   27:     init_VIC();
 00000008  F7FF      BL          init_VIC?T  ; T=0x0001  (1)
 0000000A  FFFA      BL          init_VIC?T  ; T=0x0001  (2)
   29:     if ( PWM_Init( 0 ) != TRUE )
 0000000C  1C30      MOV         R0,R6
 0000000E  F7FF      BL          PWM_Init?T  ; T=0x0001  (1)
 00000010  FFF7      BL          PWM_Init?T  ; T=0x0001  (2)
 00000012  2801      CMP         R0,#0x1 ; PWM_Init?T
 00000014  D000      BEQ         L_1  ; T=0x00000018
   31:     while( 1 );         /* fatal error */
 00000016          L_2:
 00000016  E7FE      B           L_2  ; T=0x00000016
   32:     }
 00000018          L_1:
   34:     PWM_Set( cycle, offset );
 00000018  1C28      MOV         R0,R5 ; cycle
 0000001A  1C21      MOV         R1,R4 ; offset
 0000001C  F7FF      BL          PWM_Set?T  ; T=0x0001  (1)
 0000001E  FFF0      BL          PWM_Set?T  ; T=0x0001  (2)
   35:     PWM_Start();
 00000020  F7FF      BL          PWM_Start?T  ; T=0x0001  (1)
 00000022  FFEE      BL          PWM_Start?T  ; T=0x0001  (2)
   37:     while ( 1 )
 00000024          L_8:
   39:     if ( match_counter != 0 )
 00000024  4800      LDR         R0,=match_counter ; match_counter
 00000026  6800      LDR         R0,[R0,#0x0] ; match_counter
 00000028  2800      CMP         R0,#0x0
 0000002A  D0FB      BEQ         L_8  ; T=0x00000024
   41:         match_counter = 0;
 0000002C  2000      MOV         R0,#0x0
 0000002E  4800      LDR         R1,=match_counter ; match_counter
 00000030  6008      STR         R0,[R1,#0x0] ; match_counter
   42:         if( offset <= PWM_CYCLE )
 00000032  1C21      MOV         R1,R4 ; offset
 00000034  4800      LDR         R2,=0x4B0
 00000036  4291      CMP         R1,R2 ; offset
 00000038  D801      BHI         L_11  ; T=0x0000003E
   43:         offset += PWM_OFFSET;
 0000003A  34C8      ADD         R4,#0xC8
ARM COMPILER V2.50a,  pwmtest                                                              08/03/06  18:03:56  PAGE 3   

 0000003C  E000      B           L_12  ; T=0x00000040
 0000003E          L_11:
   45:         offset = 0;
 0000003E  1C04      MOV         R4,R0 ; offset
 00000040          L_12:
   46:         PWM_Set( cycle, offset );
 00000040  1C28      MOV         R0,R5 ; cycle
 00000042  1C21      MOV         R1,R4 ; offset
 00000044  F7FF      BL          PWM_Set?T  ; T=0x0001  (1)
 00000046  FFDC      BL          PWM_Set?T  ; T=0x0001  (2)
   48:     }
 00000048  E7EC      B           L_8  ; T=0x00000024
   51:     return 0;
 0000004A            ; SCOPE-END
   52: }
 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 + -