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

📄 adc.txt

📁 支持三星原产的S3C24A0开发板
💻 TXT
📖 第 1 页 / 共 5 页
字号:
; 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 + -