📄 adctest.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 + -