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

📄 timertrig1.lst

📁 ADuC7020/26是ADI模拟公司开发的ARM7TDMI内核
💻 LST
字号:
ARM COMPILER V2.42,  TimerTrig1                                                            09/01/06  14:44:26  PAGE 1   


ARM COMPILER V2.42, COMPILATION OF MODULE TimerTrig1
OBJECT MODULE PLACED IN TimerTrig1.OBJ
COMPILER INVOKED BY: C:\Keil\ARM\BIN\CA.exe TimerTrig1.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          : TimerTrig1.c
    8          
    9           Hardware      : Applicable to ADuC702x rev H or I silicon
   10                           Currently targetting ADuC7026.
   11          
   12           Description   : Demonstrates Timer 1 causing an interrupt and complements
   13                           P4.2 every 50ms.
   14          
   15                  
   16          *********************************************************************/
   17          #include<ADuC7026.h>
   18          
   19          void IRQ_Handler(void) __irq;
   20          
   21          int main (void)  {
   22   1      
   23   1          T1LD = 0x20000;                     // Counter Value
   24   1          T1CON = 0xC4;                       // Enabled,Periodic,Binary and CLK/16
   25   1          IRQEN = GP_TIMER_BIT;               // Enable XIRQ0 and Timer1 IRQ
   26   1      
   27   1          // configures GPIO to flash LED P4.2
   28   1          GP4DAT = 0x04000000;            // P4.2 configured as an output. LED is turned on   
   29   1      
   30   1          while (1)
   31   1          {
   32   2          }               
   33   1      }
   34          
   35          /********************************************************************/
   36          /*                                                                  */
   37          /*      Interrupt Service Rountine                                  */
   38          /*                                                                  */
   39          /********************************************************************/
   40          
   41          void IRQ_Handler() __irq                            // example with two IRQ
   42          {               
   43   1          if ((IRQSTA & GP_TIMER_BIT) != 0)           // Timer1 IRQ?
   44   1          {
   45   2              GP4DAT ^= 0x00040000;                   // Complement P4.2
   46   2              T1CLRI = 0;                             // Clear Timer IRQ
   47   2          }               
   48   1          return ;
   49   1      } 
   50          
   51          
ARM COMPILER V2.42,  TimerTrig1                                                            09/01/06  14:44:26  PAGE 2   

ASSEMBLY LISTING OF GENERATED OBJECT CODE



*** EXTERNALS:
 EXTERN NUMBER (__startup)



*** PUBLICS:
 PUBLIC         IRQ_Handler?A
 PUBLIC         main



*** CODE SEGMENT '?PR?main?TimerTrig1':
   21: int main (void)  {
 00000000  B500      PUSH        {LR}
   23:      T1LD = 0x20000;                        // Counter Value
 00000002  4800      LDR         R1,=0x20000
 00000004  4800      LDR         R0,=0xFFFF0320
 00000006  6001      STR         R1,[R0,#0x0]
   24:     T1CON = 0xC4;                       // Enabled,Periodic,Binary and CLK/16
 00000008  21C4      MOV         R1,#0xC4
 0000000A  4800      LDR         R0,=0xFFFF0328
 0000000C  6001      STR         R1,[R0,#0x0]
   25:     IRQEN = GP_TIMER_BIT;               // Enable XIRQ0 and Timer1 IRQ
 0000000E  2108      MOV         R1,#0x8
 00000010  4800      LDR         R0,=0xFFFF0008
 00000012  6001      STR         R1,[R0,#0x0]
   28:     GP4DAT = 0x04000000;            // P4.2 configured as an output. LED is turned on   
 00000014  4800      LDR         R1,=0x4000000
 00000016  4800      LDR         R0,=0xFFFFF460
 00000018  6001      STR         R1,[R0,#0x0]
   32:     }                
 0000001A          L_1:
 0000001A  E7FE      B           L_1  ; T=0x0000001A
   33: }
 0000001C  BC08      POP         {R3}
 0000001E  4718      BX          R3
 00000020          ENDP ; 'main'


*** CODE SEGMENT '?PR?IRQ_Handler?A?TimerTrig1':
   41: void IRQ_Handler() __irq                            // example with two IRQ
 00000000  E92D0003  STMDB       R13!,{R0-R1}
   43:     if ((IRQSTA & GP_TIMER_BIT) != 0)           // Timer1 IRQ?
 00000004  E5100000  LDR         R0,=0xFFFF0000
 00000008  E5900000  LDR         R0,[R0,#0x0]
 0000000C  E3100008  TST         R0,#0x0008
 00000010  0A000006  BEQ         L_5  ; Targ=0x30
   45:         GP4DAT ^= 0x00040000;                   // Complement P4.2
 00000014  E5100000  LDR         R0,=0xFFFFF460
 00000018  E5901000  LDR         R1,[R0,#0x0]
 0000001C  E2211701  EOR         R1,R1,#0x40000
 00000020  E5801000  STR         R1,[R0,#0x0]
   46:         T1CLRI = 0;                             // Clear Timer IRQ
 00000024  E3A01000  MOV         R1,#0x0
 00000028  E5100000  LDR         R0,=0xFFFF032C
 0000002C  E5801000  STR         R1,[R0,#0x0]
   47:     }                 
 00000030          L_5:
   49: } 
 00000030  E8BD0003  LDMIA       R13!,{R0-R1}
 00000034  E25EF004  SUBS        R15,R14,#0x0004
 00000038          ENDP ; 'IRQ_Handler?A'



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

ARM COMPILER V2.42,  TimerTrig1                                                            09/01/06  14:44:26  PAGE 3   


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

⌨️ 快捷键说明

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