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

📄 3pwm.lst

📁 ADuC7020/26是ADI模拟公司开发的ARM7TDMI内核
💻 LST
字号:
ARM COMPILER V2.42,  3PWM                                                                  10/12/07  18:10:16  PAGE 1   


ARM COMPILER V2.42, COMPILATION OF MODULE 3PWM
OBJECT MODULE PLACED IN 3PWM.OBJ
COMPILER INVOKED BY: c:\Keil\ARM\BIN\CA.exe 3PWM.c THUMB DEBUG TABS(4) 

stmt  level    source

    1          /*********************************************************************
    2          
    3           Author        : ADI - Apps            www.analog.com/MicroConverter
    4          
    5           Date          : Sept. 2005
    6          
    7           File          : 3PWM.c
    8          
    9           Hardware      : Applicable to ADuC702x rev H or I silicon
   10                           Currently targetting ADuC7026.
   11          
   12           Description   : 3-phase PWM with dead time
   13                           PWMTRIP (P3.6) low stops the PWMs
   14                  
   15          *********************************************************************/
   16          
   17          #include<aduc7026.h>
   18          
   19          int main(void) {
   20   1      
   21   1         GP4DAT = 0x04000000;         // P4.2 configured as an output. LED is turned on  
   22   1         GP3CON = 0x11111111;         // Enable the PWM outputs to the GPIO
   23   1      
   24   1         // Setup the PWM
   25   1         PWMCON = 0x0001;             // 0x01 is enabled
   26   1         PWMDAT0 = 0x00A0;            // Period register
   27   1         PWMDAT1 = 0x00;              // Dead time
   28   1         PWMCFG = 0x00;               // 
   29   1         PWMCH0 = 0x00FFE0;           // duty cycle channel 0
   30   1         PWMCH1 = 0x0020;             // duty cycle channel 1
   31   1         PWMCH2= 0x0030;              // duty cycle channel 2
   32   1         PWMEN = 0x00;                // Enable (0=enabled)
   33   1      
   34   1         GP4DAT ^= 0x00040000;        // Complement P4.2
   35   1      
   36   1         while (1){}
   37   1      
   38   1      }
ARM COMPILER V2.42,  3PWM                                                                  10/12/07  18:10:16  PAGE 2   

ASSEMBLY LISTING OF GENERATED OBJECT CODE



*** EXTERNALS:
 EXTERN NUMBER (__startup)



*** PUBLICS:
 PUBLIC         main



*** CODE SEGMENT '?PR?main?3PWM':
   19: int main(void) {
 00000000  B500      PUSH        {LR}
   21:    GP4DAT = 0x04000000;         // P4.2 configured as an output. LED is turned on  
 00000002  4800      LDR         R1,=0x4000000
 00000004  4800      LDR         R0,=0xFFFFF460
 00000006  6001      STR         R1,[R0,#0x0]
   22:    GP3CON = 0x11111111;         // Enable the PWM outputs to the GPIO
 00000008  4800      LDR         R1,=0x11111111
 0000000A  4800      LDR         R0,=0xFFFFF40C
 0000000C  6001      STR         R1,[R0,#0x0]
   25:    PWMCON = 0x0001;             // 0x01 is enabled
 0000000E  2101      MOV         R1,#0x1
 00000010  4800      LDR         R0,=0xFFFFFC00
 00000012  6001      STR         R1,[R0,#0x0]
   26:    PWMDAT0 = 0x00A0;            // Period register
 00000014  21A0      MOV         R1,#0xA0
 00000016  4800      LDR         R0,=0xFFFFFC08
 00000018  6001      STR         R1,[R0,#0x0]
   27:    PWMDAT1 = 0x00;              // Dead time
 0000001A  2100      MOV         R1,#0x0
 0000001C  4800      LDR         R0,=0xFFFFFC0C
 0000001E  6001      STR         R1,[R0,#0x0]
   28:    PWMCFG = 0x00;               // 
 00000020  4800      LDR         R0,=0xFFFFFC10
 00000022  6001      STR         R1,[R0,#0x0]
   29:    PWMCH0 = 0x00FFE0;           // duty cycle channel 0
 00000024  4800      LDR         R2,=0xFFE0
 00000026  4800      LDR         R0,=0xFFFFFC14
 00000028  6002      STR         R2,[R0,#0x0]
   30:    PWMCH1 = 0x0020;             // duty cycle channel 1
 0000002A  2220      MOV         R2,#0x20
 0000002C  4800      LDR         R0,=0xFFFFFC18
 0000002E  6002      STR         R2,[R0,#0x0]
   31:    PWMCH2= 0x0030;              // duty cycle channel 2
 00000030  2230      MOV         R2,#0x30
 00000032  4800      LDR         R0,=0xFFFFFC1C
 00000034  6002      STR         R2,[R0,#0x0]
   32:    PWMEN = 0x00;                // Enable (0=enabled)
 00000036  4800      LDR         R0,=0xFFFFFC20
 00000038  6001      STR         R1,[R0,#0x0]
   34:    GP4DAT ^= 0x00040000;        // Complement P4.2
 0000003A  4800      LDR         R2,=0x40000
 0000003C  4800      LDR         R0,=0xFFFFF460
 0000003E  6801      LDR         R1,[R0,#0x0]
 00000040  4051      EOR         R1,R2
 00000042  6001      STR         R1,[R0,#0x0]
   36:    while (1){}
 00000044          L_1:
 00000044  E7FE      B           L_1  ; T=0x00000044
   38: }
 00000046  BC08      POP         {R3}
 00000048  4718      BX          R3
 0000004A          ENDP ; 'main'



Module Information          Static
----------------------------------
ARM COMPILER V2.42,  3PWM                                                                  10/12/07  18:10:16  PAGE 3   

  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 + -