📄 adc.txt
字号:
; generated by ARM C Compiler, ADS1.2 [Build 805]
; commandline [-errors .\err\adc.err -O0 -asm -g+ -cpu 5TEJ -fs -Wd -Ec -I.\include "-IC:\Program Files\ARM\ADSv1_2\INCLUDE"]
CODE32
AREA ||.text||, CODE, READONLY
ADC_Int PROC
;;;43 void __irq ADC_Int(void)
;;;44 {
|L1.0|
000000 e92d500f STMFD sp!,{r0-r3,r12,lr}
;;;45 rINTSUBMSK|=(BIT_SUB_ADC|BIT_SUB_PENDN|BIT_SUB_PENUP);
000004 e59f0074 LDR r0,|L1.128|
000008 e590001c LDR r0,[r0,#0x1c]
00000c e3800ae0 ORR r0,r0,#0xe0000
000010 e59f1068 LDR r1,|L1.128|
000014 e581001c STR r0,[r1,#0x1c]
;;;46 rSUBSRCPND=BIT_SUB_ADC;
000018 e3a00a80 MOV r0,#0x80000
00001c e1c11000 BIC r1,r1,r0
000020 e5810018 STR r0,[r1,#0x18]
;;;47 Uart_Printf("%04d\n", rADCDAX&0x3ff);
000024 e2810656 ADD r0,r1,#0x5600000
000028 e590000c LDR r0,[r0,#0xc]
00002c e1a01b00 MOV r1,r0,LSL #22
000030 e1a01b21 MOV r1,r1,LSR #22
000034 e28f0048 ADR r0,|L1.132|
000038 ebfffffe BL _printf
;;;48 adcDone=1;
00003c e3a00001 MOV r0,#1
000040 e59f1044 LDR r1,|L1.140|
000044 e5810000 STR r0,[r1,#0] ; adcDone
;;;49 ClearPending(BIT_ADC_PENUP_DOWN);
000048 e3a00480 MOV r0,#0x80000000
00004c e59f102c LDR r1,|L1.128|
000050 e5810000 STR r0,[r1,#0]
000054 e1c10000 BIC r0,r1,r0
000058 e5900010 LDR r0,[r0,#0x10]
00005c e5810010 STR r0,[r1,#0x10]
000060 e1a00001 MOV r0,r1
000064 e5900010 LDR r0,[r0,#0x10]
;;;50 rINTSUBMSK&=~(BIT_SUB_ADC);
000068 e1a00001 MOV r0,r1
00006c e590001c LDR r0,[r0,#0x1c]
000070 e3c00a80 BIC r0,r0,#0x80000
000074 e581001c STR r0,[r1,#0x1c]
;;;51
;;;52 }
000078 e8bd500f LDMFD sp!,{r0-r3,r12,lr}
00007c e25ef004 SUBS pc,lr,#4
|L1.128|
000080 40200000 DCD 0x40200000
|L1.132|
000084 64343025 DCB "%04d"
|L1.136|
000088 0000000a DCB "\n\0\0\0"
|L1.140|
00008c 00000004 DCD ||.bss$2|| + 4
ENDP
TS_Auto_Int PROC
;;;54 void __irq TS_Auto_Int(void)
;;;55 {
000090 e92d0007 STMFD sp!,{r0-r2}
;;;56 unsigned int WHATIRQ=0;
000094 e3a00000 MOV r0,#0
;;;57
;;;58 rINTSUBMSK|=(BIT_SUB_ADC|BIT_SUB_PENUP|BIT_SUB_PENDN); // Mask sub interrupt (ADC, PENUP and PENDN)
000098 e51f1020 LDR r1,|L1.128|
00009c e591101c LDR r1,[r1,#0x1c]
0000a0 e3811ae0 ORR r1,r1,#0xe0000
0000a4 e51f202c LDR r2,|L1.128|
0000a8 e582101c STR r1,[r2,#0x1c]
;;;59
;;;60 WHATIRQ = (rSUBSRCPND>>17)&0x7;
0000ac e1c21000 BIC r1,r2,r0
0000b0 e5911018 LDR r1,[r1,#0x18]
0000b4 e1a01601 MOV r1,r1,LSL #12
0000b8 e1a00ea1 MOV r0,r1,LSR #29
;;;61 switch(WHATIRQ){
0000bc e3500001 CMP r0,#1
0000c0 0a000004 BEQ |L1.216|
0000c4 e3500002 CMP r0,#2
0000c8 0a00000c BEQ |L1.256|
0000cc e3500004 CMP r0,#4
0000d0 1a00002e BNE |L1.400|
0000d4 ea000023 B |L1.360|
;;;62 case 1:
;;;63 rSUBSRCPND=BIT_SUB_PENUP;
|L1.216|
0000d8 e3a01b80 MOV r1,#0x20000
0000dc e51f2064 LDR r2,|L1.128|
0000e0 e5821018 STR r1,[r2,#0x18]
;;;64 tsStatus=1;
0000e4 e3a01001 MOV r1,#1
0000e8 e59f2278 LDR r2,|L1.872|
0000ec e5821000 STR r1,[r2,#0] ; tsStatus
;;;65 tsTrue=1;
0000f0 e3a01001 MOV r1,#1
0000f4 e59f2270 LDR r2,|L1.876|
0000f8 e5821000 STR r1,[r2,#0] ; tsTrue
;;;66 break;
0000fc ea000024 B |L1.404|
;;;67 case 2:
;;;68 if(tsStatus==1) {
|L1.256|
000100 e59f1260 LDR r1,|L1.872|
000104 e5911000 LDR r1,[r1,#0] ; tsStatus
000108 e3510001 CMP r1,#1
00010c 1a000010 BNE |L1.340|
;;;69 rSUBSRCPND=BIT_SUB_PENDN;
000110 e3a01a40 MOV r1,#0x40000
000114 e51f209c LDR r2,|L1.128|
000118 e5821018 STR r1,[r2,#0x18]
;;;70 tsStatus=2;
00011c e3a01002 MOV r1,#2
000120 e59f2240 LDR r2,|L1.872|
000124 e5821000 STR r1,[r2,#0] ; tsStatus
;;;71 tsTrue=1;
000128 e3a01001 MOV r1,#1
00012c e59f2238 LDR r2,|L1.876|
000130 e5821000 STR r1,[r2,#0] ; tsTrue
;;;72 rADCTSC=(0<<8)|(1<<3)|(1<<2)|(0);
000134 e3a0100c MOV r1,#0xc
000138 e59f2230 LDR r2,|L1.880|
00013c e5821004 STR r1,[r2,#4]
;;;73 rADCCON|=0x1;// Start Auto X-Y conversion
000140 e1c21001 BIC r1,r2,r1
000144 e5911000 LDR r1,[r1,#0]
000148 e3811001 ORR r1,r1,#1
00014c e5821000 STR r1,[r2,#0]
000150 ea000003 B |L1.356|
;;;74 }
;;;75 else {
;;;76 rSUBSRCPND=BIT_SUB_PENDN;
|L1.340|
000154 e3a01a40 MOV r1,#0x40000
000158 e51f20e0 LDR r2,|L1.128|
00015c e5821018 STR r1,[r2,#0x18]
;;;77 break;
000160 ea00000b B |L1.404|
;;;78 }
;;;79 break;
|L1.356|
000164 ea00000a B |L1.404|
;;;80 case 4:
;;;81 rSUBSRCPND=BIT_SUB_ADC;
|L1.360|
000168 e3a01a80 MOV r1,#0x80000
00016c e51f20f4 LDR r2,|L1.128|
000170 e5821018 STR r1,[r2,#0x18]
;;;82 tsStatus=4;
000174 e3a01004 MOV r1,#4
000178 e59f21e8 LDR r2,|L1.872|
00017c e5821000 STR r1,[r2,#0] ; tsStatus
;;;83 tsTrue=1;
000180 e3a01001 MOV r1,#1
000184 e59f21e0 LDR r2,|L1.876|
000188 e5821000 STR r1,[r2,#0] ; tsTrue
;;;84 default:
00018c e1a00000 NOP
;;;85 break;
|L1.400|
000190 e1a00000 NOP
;;;86 }
;;;87
;;;88 rINTSUBMSK &= ~(BIT_SUB_ADC|BIT_SUB_PENUP|BIT_SUB_PENDN);
|L1.404|
000194 e51f111c LDR r1,|L1.128|
000198 e591101c LDR r1,[r1,#0x1c]
00019c e3c11ae0 BIC r1,r1,#0xe0000
0001a0 e51f2128 LDR r2,|L1.128|
0001a4 e582101c STR r1,[r2,#0x1c]
;;;89 rSRCPND=(1<<31);
0001a8 e3a01480 MOV r1,#0x80000000
0001ac e1c22001 BIC r2,r2,r1
0001b0 e5821000 STR r1,[r2,#0]
;;;90 rINTPND=(1<<31);
0001b4 e3a01480 MOV r1,#0x80000000
0001b8 e1c22001 BIC r2,r2,r1
0001bc e5821010 STR r1,[r2,#0x10]
;;;91 }
0001c0 e8bd0007 LDMFD sp!,{r0-r2}
0001c4 e25ef004 SUBS pc,lr,#4
ENDP
TS_Sep_Int PROC
;;;94 void __irq TS_Sep_Int(void)
;;;95 {
0001c8 e92d0007 STMFD sp!,{r0-r2}
;;;96 int i;
;;;97 U32 Pt[6];
;;;98 unsigned int WHATIRQ=0;
0001cc e3a00000 MOV r0,#0
;;;99
;;;100 rINTSUBMSK|=(BIT_SUB_ADC|BIT_SUB_PENUP|BIT_SUB_PENDN); // Mask sub interrupt (ADC, PENUP and PENDN)
0001d0 e51f1158 LDR r1,|L1.128|
0001d4 e591101c LDR r1,[r1,#0x1c]
0001d8 e3811ae0 ORR r1,r1,#0xe0000
0001dc e51f2164 LDR r2,|L1.128|
0001e0 e582101c STR r1,[r2,#0x1c]
;;;101
;;;102 WHATIRQ = (rSUBSRCPND>>17)&0x7;
0001e4 e1c21000 BIC r1,r2,r0
0001e8 e5911018 LDR r1,[r1,#0x18]
0001ec e1a01601 MOV r1,r1,LSL #12
0001f0 e1a00ea1 MOV r0,r1,LSR #29
;;;103 switch(WHATIRQ){
0001f4 e3500001 CMP r0,#1
0001f8 0a000004 BEQ |L1.528|
0001fc e3500002 CMP r0,#2
000200 0a00000c BEQ |L1.568|
000204 e3500004 CMP r0,#4
000208 1a00002e BNE |L1.712|
00020c ea000023 B |L1.672|
;;;104 case 1:
;;;105 rSUBSRCPND=BIT_SUB_PENUP;
|L1.528|
000210 e3a01b80 MOV r1,#0x20000
000214 e51f219c LDR r2,|L1.128|
000218 e5821018 STR r1,[r2,#0x18]
;;;106 tsStatus=1;
00021c e3a01001 MOV r1,#1
000220 e59f2140 LDR r2,|L1.872|
000224 e5821000 STR r1,[r2,#0] ; tsStatus
;;;107 tsTrue=1;
000228 e3a01001 MOV r1,#1
00022c e59f2138 LDR r2,|L1.876|
000230 e5821000 STR r1,[r2,#0] ; tsTrue
;;;108 break;
000234 ea000024 B |L1.716|
;;;109 case 2:
;;;110 if(tsStatus==1) {
|L1.568|
000238 e59f1128 LDR r1,|L1.872|
00023c e5911000 LDR r1,[r1,#0] ; tsStatus
000240 e3510001 CMP r1,#1
000244 1a000010 BNE |L1.652|
;;;111 rSUBSRCPND=BIT_SUB_PENDN;
000248 e3a01a40 MOV r1,#0x40000
00024c e51f21d4 LDR r2,|L1.128|
000250 e5821018 STR r1,[r2,#0x18]
;;;112 tsStatus=2;
000254 e3a01002 MOV r1,#2
000258 e59f2108 LDR r2,|L1.872|
00025c e5821000 STR r1,[r2,#0] ; tsStatus
;;;113 tsTrue=1;
000260 e3a01001 MOV r1,#1
000264 e59f2100 LDR r2,|L1.876|
000268 e5821000 STR r1,[r2,#0] ; tsTrue
;;;114 rADCTSC=(0<<8)|(1<<3)|(0<<2)|(1);//Down,Pullup Dis,Normal,X-position
00026c e3a01009 MOV r1,#9
000270 e59f20f8 LDR r2,|L1.880|
000274 e5821004 STR r1,[r2,#4]
;;;115 rADCCON|=0x1;// Start X conversion
000278 e1c21001 BIC r1,r2,r1
00027c e5911000 LDR r1,[r1,#0]
000280 e3811001 ORR r1,r1,#1
000284 e5821000 STR r1,[r2,#0]
000288 ea000003 B |L1.668|
;;;116 }
;;;117 else {
;;;118 rSUBSRCPND=BIT_SUB_PENDN;
|L1.652|
00028c e3a01a40 MOV r1,#0x40000
000290 e51f2218 LDR r2,|L1.128|
000294 e5821018 STR r1,[r2,#0x18]
;;;119 break;
000298 ea00000b B |L1.716|
;;;120 }
;;;121 break;
|L1.668|
00029c ea00000a B |L1.716|
;;;122 case 4:
;;;123 rSUBSRCPND=BIT_SUB_ADC;
|L1.672|
0002a0 e3a01a80 MOV r1,#0x80000
0002a4 e51f222c LDR r2,|L1.128|
0002a8 e5821018 STR r1,[r2,#0x18]
;;;124 tsStatus=4;
0002ac e3a01004 MOV r1,#4
0002b0 e59f20b0 LDR r2,|L1.872|
0002b4 e5821000 STR r1,[r2,#0] ; tsStatus
;;;125 tsTrue=1;
0002b8 e3a01001 MOV r1,#1
0002bc e59f20a8 LDR r2,|L1.876|
0002c0 e5821000 STR r1,[r2,#0] ; tsTrue
;;;126 default:
0002c4 e1a00000 NOP
;;;127 break;
|L1.712|
0002c8 e1a00000 NOP
;;;128 }
;;;129
;;;130 rINTSUBMSK &= ~(BIT_SUB_ADC|BIT_SUB_PENUP|BIT_SUB_PENDN);
|L1.716|
0002cc e51f1254 LDR r1,|L1.128|
0002d0 e591101c LDR r1,[r1,#0x1c]
0002d4 e3c11ae0 BIC r1,r1,#0xe0000
0002d8 e51f2260 LDR r2,|L1.128|
0002dc e582101c STR r1,[r2,#0x1c]
;;;131 // ClearPending(BIT_ADC_PENUP_DOWN);
;;;132 rSRCPND=(1<<31);
0002e0 e3a01480 MOV r1,#0x80000000
0002e4 e1c22001 BIC r2,r2,r1
0002e8 e5821000 STR r1,[r2,#0]
;;;133 rINTPND=(1<<31);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -