?? timertrig1.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)
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -