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

📄 adc.txt

📁 支持三星原产的S3C24A0开发板
💻 TXT
📖 第 1 页 / 共 5 页
字号:
00091c  eafffffa          B        |L1.2316|
;;;332    		{
;;;333    			rADCCON|=0x1;	 //start ADC
                  |L1.2336|
000920  e51f05b8          LDR      r0,|L1.880|
000924  e5900000          LDR      r0,[r0,#0]
000928  e3800001          ORR      r0,r0,#1
00092c  e51f15c4          LDR      r1,|L1.880|
000930  e5810000          STR      r0,[r1,#0]
;;;334    			while(rADCCON & 0x1);	 //check if Enable_start is low, waiting for 0
000934  e1a00000          NOP      
                  |L1.2360|
000938  e51f05d0          LDR      r0,|L1.880|
00093c  e5900000          LDR      r0,[r0,#0]
000940  e3100001          TST      r0,#1
000944  1afffffb          BNE      |L1.2360|
;;;335    			while(!(rADCCON & 0x8000)); //check if EC(End of Conversion) flag is high, waiting for 1
000948  e1a00000          NOP      
                  |L1.2380|
00094c  e51f05e4          LDR      r0,|L1.880|
000950  e5900000          LDR      r0,[r0,#0]
000954  e3100c80          TST      r0,#0x8000
000958  0afffffb          BEQ      |L1.2380|
;;;336    			*tmp = rADCDAX & 0x3ff;
00095c  e51f05f4          LDR      r0,|L1.880|
000960  e590000c          LDR      r0,[r0,#0xc]
000964  e1a00b00          MOV      r0,r0,LSL #22
000968  e1a00b20          MOV      r0,r0,LSR #22
00096c  e5850000          STR      r0,[r5,#0]
;;;337    			tmp++;
000970  e2855004          ADD      r5,r5,#4
;;;338    		}
000974  eaffffe7          B        |L1.2328|
;;;339    
;;;340    		for(i=0;i<REQCNT; i++)
                  |L1.2424|
000978  e3a04000          MOV      r4,#0
                  |L1.2428|
00097c  e3540064          CMP      r4,#0x64
000980  aa000006          BGE      |L1.2464|
000984  ea000001          B        |L1.2448|
                  |L1.2440|
000988  e2844001          ADD      r4,r4,#1
00098c  eafffffa          B        |L1.2428|
;;;341    		Uart_Printf("%04d\n", *dst++);
                  |L1.2448|
000990  e24f0f6a          ADR      r0,|L1.2032|
000994  e4961004          LDR      r1,[r6],#4
000998  ebfffffe          BL       _printf
00099c  eafffff9          B        |L1.2440|
;;;342    
;;;343    		Uart_Printf("Conversion is done!!!\n");
                  |L1.2464|
0009a0  e28f0034          ADR      r0,|L1.2524|
0009a4  ebfffffe          BL       _printf
;;;344    		Uart_Printf("If you want to stop, press enter key else if you want to covert more, press any key except enter\n");
0009a8  e59f0044          LDR      r0,|L1.2548|
0009ac  ebfffffe          BL       _printf
;;;345    		if(Uart_Getch()=='\r') break;
0009b0  ebfffffe          BL       Uart_Getch
0009b4  e350000d          CMP      r0,#0xd
0009b8  1a000000          BNE      |L1.2496|
0009bc  ea000000          B        |L1.2500|
;;;346    
;;;347    	} 
                  |L1.2496|
0009c0  eaffffc4          B        |L1.2264|
;;;348    	rADCCON=rADCCON|(1<<2);  //stand by mode to reduce power consumption	
                  |L1.2500|
0009c4  e51f065c          LDR      r0,|L1.880|
0009c8  e5900000          LDR      r0,[r0,#0]
0009cc  e3800004          ORR      r0,r0,#4
0009d0  e51f1668          LDR      r1,|L1.880|
0009d4  e5810000          STR      r0,[r1,#0]
;;;349        
;;;350    
;;;351    	
;;;352    }
0009d8  e8bd80f8          LDMFD    sp!,{r3-r7,pc}
                  |L1.2524|
0009dc  766e6f43          DCB      "Conv"
0009e0  69737265          DCB      "ersi"
0009e4  69206e6f          DCB      "on i"
0009e8  6f642073          DCB      "s do"
0009ec  2121656e          DCB      "ne!!"
0009f0  00000a21          DCB      "!\n\0\0"
                  |L1.2548|
0009f4  000000f0          DCD      ||.constdata$1|| + 240
                          ENDP

                  Test_Adc_Interrupt PROC
;;;378    void Test_Adc_Interrupt(void)
;;;379    {
0009f8  e92d4010          STMFD    sp!,{r4,lr}
;;;380        int i,key;
;;;381    
;;;382    	U32 ch;
;;;383    	
;;;384    	Uart_Printf("ADC Test using Interrupt\n");
0009fc  e28f0f49          ADR      r0,|L1.2856|
000a00  ebfffffe          BL       _printf
;;;385    	Uart_Printf("ADC conv. freq. = %dHz\n", ADC_FREQ);
000a04  e51f13dc          LDR      r1,|L1.1584|
000a08  e24f0ff7          ADR      r0,|L1.1588|
000a0c  ebfffffe          BL       _printf
;;;386    
;;;387    	adcDone=0;
000a10  e3a00000          MOV      r0,#0
000a14  e51f1990          LDR      r1,|L1.140|
000a18  e5810000          STR      r0,[r1,#0]  ; adcDone
;;;388    	pISR_ADC_PENUP_DOWN=(U32)ADC_Int;
000a1c  e59f0120          LDR      r0,|L1.2884|
000a20  e59f1120          LDR      r1,|L1.2888|
000a24  e5810f9c          STR      r0,[r1,#0xf9c]
;;;389    	rINTMSK&=~(BIT_ADC_PENUP_DOWN);	
000a28  e51f09b0          LDR      r0,|L1.128|
000a2c  e5900008          LDR      r0,[r0,#8]
000a30  e3c00480          BIC      r0,r0,#0x80000000
000a34  e51f19bc          LDR      r1,|L1.128|
000a38  e5810008          STR      r0,[r1,#8]
;;;390    	rINTSUBMSK &= ~(BIT_SUB_ADC);
000a3c  e1a00001          MOV      r0,r1
000a40  e590001c          LDR      r0,[r0,#0x1c]
000a44  e3c00a80          BIC      r0,r0,#0x80000
000a48  e581001c          STR      r0,[r1,#0x1c]
;;;391    
;;;392    	Uart_Printf("Select the channel[0~3]:\n");
000a4c  e24f0ff5          ADR      r0,|L1.1664|
000a50  ebfffffe          BL       _printf
;;;393    	ch=Uart_GetIntNum();
000a54  ebfffffe          BL       Uart_GetIntNum
000a58  e1a04000          MOV      r4,r0
;;;394    
;;;395    	while(1) {
000a5c  e1a00000          NOP      
                  |L1.2656|
000a60  e1a00000          NOP      
;;;396    		preScaler = PCLK/ADC_FREQ -1;               //PCLK:50.7MHz
000a64  e3a00013          MOV      r0,#0x13
000a68  e51f14e4          LDR      r1,|L1.1420|
000a6c  e5810000          STR      r0,[r1,#0]  ; preScaler
;;;397    		rADCCON = (1<<14)|(preScaler<<6)|(ch<<3);	//setup channel
000a70  e51f04ec          LDR      r0,|L1.1420|
000a74  e5900000          LDR      r0,[r0,#0]  ; preScaler
000a78  e1a00300          MOV      r0,r0,LSL #6
000a7c  e1800184          ORR      r0,r0,r4,LSL #3
000a80  e3800c40          ORR      r0,r0,#0x4000
000a84  e51f171c          LDR      r1,|L1.880|
000a88  e5810000          STR      r0,[r1,#0]
;;;398    		rADCCON|=0x1;	 //start ADC
000a8c  e1a00001          MOV      r0,r1
000a90  e5900000          LDR      r0,[r0,#0]
000a94  e3800001          ORR      r0,r0,#1
000a98  e5810000          STR      r0,[r1,#0]
;;;399    
;;;400    		while(!adcDone);
000a9c  e1a00000          NOP      
                  |L1.2720|
000aa0  e51f0a1c          LDR      r0,|L1.140|
000aa4  e5900000          LDR      r0,[r0,#0]  ; adcDone
000aa8  e3500000          CMP      r0,#0
000aac  0afffffb          BEQ      |L1.2720|
;;;401    		adcDone=0;
000ab0  e3a00000          MOV      r0,#0
000ab4  e51f1a30          LDR      r1,|L1.140|
000ab8  e5810000          STR      r0,[r1,#0]  ; adcDone
;;;402    		Uart_Printf("Conversion is done!!!\n");
000abc  e24f00e8          ADR      r0,|L1.2524|
000ac0  ebfffffe          BL       _printf
;;;403    
;;;404    		Uart_Printf("Enter:stop conversion, Other:continue conversion\n");
000ac4  e28f0080          ADR      r0,|L1.2892|
000ac8  ebfffffe          BL       _printf
;;;405    		if(Uart_Getch()=='\r') break;
000acc  ebfffffe          BL       Uart_Getch
000ad0  e350000d          CMP      r0,#0xd
000ad4  1a000000          BNE      |L1.2780|
000ad8  ea000000          B        |L1.2784|
;;;406    	}
                  |L1.2780|
000adc  eaffffdf          B        |L1.2656|
;;;407    	
;;;408    	Uart_Printf("Press any key to continue\n");
                  |L1.2784|
000ae0  e28f0098          ADR      r0,|L1.2944|
000ae4  ebfffffe          BL       _printf
;;;409    	Uart_Getch();
000ae8  ebfffffe          BL       Uart_Getch
;;;410    	rADCCON=rADCCON|(1<<2);  //stand by mode to reduce power consumption	
000aec  e51f0784          LDR      r0,|L1.880|
000af0  e5900000          LDR      r0,[r0,#0]
000af4  e3800004          ORR      r0,r0,#4
000af8  e51f1790          LDR      r1,|L1.880|
000afc  e5810000          STR      r0,[r1,#0]
;;;411    
;;;412    	rINTSUBMSK|=(BIT_SUB_ADC);
000b00  e2410656          SUB      r0,r1,#0x5600000
000b04  e590001c          LDR      r0,[r0,#0x1c]
000b08  e3800a80          ORR      r0,r0,#0x80000
000b0c  e2411656          SUB      r1,r1,#0x5600000
000b10  e581001c          STR      r0,[r1,#0x1c]
;;;413    	rINTMSK|=(BIT_ADC_PENUP_DOWN);
000b14  e1a00001          MOV      r0,r1
000b18  e5900008          LDR      r0,[r0,#8]
000b1c  e3800480          ORR      r0,r0,#0x80000000
000b20  e5810008          STR      r0,[r1,#8]
;;;414    	
;;;415    }
000b24  e8bd8010          LDMFD    sp!,{r4,pc}
                  |L1.2856|
000b28  20434441          DCB      "ADC "
000b2c  74736554          DCB      "Test"
000b30  69737520          DCB      " usi"
000b34  4920676e          DCB      "ng I"
000b38  7265746e          DCB      "nter"
000b3c  74707572          DCB      "rupt"
000b40  0000000a          DCB      "\n\0\0\0"
                  |L1.2884|
000b44  00000000          DCD      ADC_Int
                  |L1.2888|
000b48  13fff000          DCD      0x13fff000
                  |L1.2892|
000b4c  65746e45          DCB      "Ente"
000b50  74733a72          DCB      "r:st"
000b54  6320706f          DCB      "op c"
000b58  65766e6f          DCB      "onve"
000b5c  6f697372          DCB      "rsio"
000b60  4f202c6e          DCB      "n, O"
000b64  72656874          DCB      "ther"
000b68  6e6f633a          DCB      ":con"
000b6c  756e6974          DCB      "tinu"
000b70  6f632065          DCB      "e co"
000b74  7265766e          DCB      "nver"
000b78  6e6f6973          DCB      "sion"
000b7c  0000000a          DCB      "\n\0\0\0"
                  |L1.2944|
000b80  73657250          DCB      "Pres"
000b84  6e612073          DCB      "s an"
000b88  656b2079          DCB      "y ke"
000b8c  6f742079          DCB      "y to"
000b90  6e6f6320          DCB      " con"
000b94  756e6974          DCB      "tinu"
000b98  00000a65          DCB      "e\n\0\0"
                          ENDP

                  Test_Ts_Auto PROC
;;;420    void Test_Ts_Auto(void)
;;;421    {
000b9c  e92d4008          STMFD    sp!,{r3,lr}
;;;422    
;;;423    	
;;;424    	Uart_Printf("[Touch Screen Test.]\n");
000ba0  e28f0f5c          ADR      r0,|L1.3352|
000ba4  ebfffffe          BL       _printf
;;;425    	Uart_Printf("Auto X/Y position conversion mode test\n");
000ba8  e28f0f60          ADR      r0,|L1.3376|
000bac  ebfffffe          BL       _printf
;;;426    
;;;427    #if 0
;;;428    	rGPCON_M=(rGPCON_M&~(0x3f))|(0x3f);
;;;429    	rGPCON_L=(rGPCON_L&~(0x3<<20))|(0x3<<20);
;;;430    #endif
;;;431    
;;;432    	rADCDLY=(1000);	// ADC Start or Interval Delay
000bb0  e3a00ffa          MOV      r0,#0x3e8
000bb4  e51f184c          LDR      r1,|L1.880|
000bb8  e5810008          STR      r0,[r1,#8]
;;;433    
;;;434    	// Enable Prescaler,Prescaler,AIN5/7 fix,Normal,Disable read start,No operation
;;;435    	rADCCON = (1<<14)|(ADCPRS<<6)|(0<<3)|(0<<2)|(0<<1)|0;	
000bbc  e59f0194          LDR      r0,|L1.3416|
000bc0  e1c11000          BIC      r1,r1,r0
000bc4  e5810000          STR      r0,[r1,#0]
;;;436    	    
;;;437    	//rADCTSC=(0<<8)|(13<<4)|(0<<3)|(0<<2)|3;//tark, XP pullup En,Normal,Waiting for interrupt mode
;;;438    	rADCTSC=0xd3;
000bc8  e3a000d3          MOV      r0,#0xd3
000bcc  e1c11000          BIC      r1,r1,r0
000bd0  e5810004          STR      r0,[r1,#4]
;;;439    
;;;440    	pISR_ADC_PENUP_DOWN=(U32)TS_Auto_Int;
000bd4  e59f0180          LDR      r0,|L1.3420|
000bd8  e51f1098          LDR      r1,|L1.2888|
000bdc  e5810f9c          STR      r0,[r1,#0xf9c]
;;;441    	rINTMSK&=~(BIT_ADC_PENUP_DOWN);
000be0  e51f0b68          LDR      r0,|L1.128|
000be4  e5900008          LDR      r0,[r0,#8]
000be8  e3c00480          BIC      r0,r0,#0x80000000
000bec  e51f1b74          LDR      r1,|L1.128|
000bf0  e5810008          STR      r0,[r1,#8]
;;;442    	rINTSUBMSK&=~(BIT_SUB_PENUP|BIT_SUB_PENDN|BIT_SUB_ADC);
000bf4  e1a00001          MOV      r0,r1
000bf8  e590001c          LDR      r0,[r0,#0x1c]
000bfc  e3c00ae0          BIC      r0,r0,#0xe0000
000c00  e581001c          STR      r0,[r1,#0x1c]
;;;443    
;;;444    	Uart_Printf("\nType any key to exit!!!\n");
000c04  e28f0f55          ADR      r0,|L1.3424|
000c08  ebfffffe          BL       _printf
;;;445    	Uart_Printf("\nStylus Down, please...... \n");
000c0c  e28f0f5a          ADR      r0,|L1.3452|
000c10  ebfffffe          BL       _printf
;;;446    
;;;447    	tsTrue=0;
000c14  e3a00000          MOV      r0,#0
000c18  e51f18b4          LDR      r1,|L1.876|
000c1c  e5810000          STR      r0,[r1,#0]  ; tsTrue
;;;448    	while(1) {

⌨️ 快捷键说明

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