📄 adc.txt
字号:
0005bc 20202020 DCB " "
0005c0 202e3120 DCB " 1. "
0005c4 746e6f43 DCB "Cont"
0005c8 65756e69 DCB "inue"
0005cc 2e2e2064 DCB "d .."
0005d0 000a0a2e DCB ".\n\n\0"
|L1.1492|
0005d4 656c6553 DCB "Sele"
0005d8 3a207463 DCB "ct :"
0005dc 00000020 DCB " \0\0\0"
|L1.1504|
0005e0 20656854 DCB "The "
0005e4 5f434441 DCB "ADC_"
0005e8 61204e49 DCB "IN a"
0005ec 61206572 DCB "re a"
0005f0 73756a64 DCB "djus"
0005f4 20646574 DCB "ted "
0005f8 74206f74 DCB "to t"
0005fc 66206568 DCB "he f"
000600 6f6c6c6f DCB "ollo"
000604 676e6977 DCB "wing"
000608 6c617620 DCB " val"
00060c 2e736575 DCB "ues."
000610 0000000a DCB "\n\0\0\0"
|L1.1556|
000614 68737550 DCB "Push"
000618 796e6120 DCB " any"
00061c 79656b20 DCB " key"
000620 206f7420 DCB " to "
000624 74697865 DCB "exit"
000628 0a212121 DCB "!!!\n"
00062c 00000000 DCB "\0\0\0\0"
|L1.1584|
000630 002625a0 DCD 0x002625a0
|L1.1588|
000634 20434441 DCB "ADC "
000638 766e6f63 DCB "conv"
00063c 7266202e DCB ". fr"
000640 202e7165 DCB "eq. "
000644 6425203d DCB "= %d"
000648 000a7a48 DCB "Hz\n\0"
|L1.1612|
00064c 53657270 DCB "preS"
000650 656c6163 DCB "cale"
000654 64253a72 DCB "r:%d"
000658 0000000a DCB "\n\0\0\0"
|L1.1628|
00065c 4b4c4350 DCB "PCLK"
000660 4344412f DCB "/ADC"
000664 4552465f DCB "_FRE"
000668 202d2051 DCB "Q - "
00066c 203d2031 DCB "1 = "
000670 000a6425 DCB "%d\n\0"
|L1.1652|
000674 43444172 DCB "rADC"
000678 3a4e4f43 DCB "CON:"
00067c 000a7825 DCB "%x\n\0"
|L1.1664|
000680 656c6553 DCB "Sele"
000684 74207463 DCB "ct t"
000688 63206568 DCB "he c"
00068c 6e6e6168 DCB "hann"
000690 305b6c65 DCB "el[0"
000694 3a5d337e DCB "~3]:"
000698 0000000a DCB "\n\0\0\0"
|L1.1692|
00069c e2844001 ADD r4,r4,#1
0006a0 eaffffb6 B |L1.1408|
;;;270 value=ReadAdc(j);
|L1.1700|
0006a4 e59d001c LDR r0,[sp,#0x1c]
0006a8 ebfffffe BL ReadAdc
0006ac e1a0b000 MOV r11,r0
;;;271 Uart_Printf("%04d\n", value);
0006b0 e1a0100b MOV r1,r11
0006b4 e28f0f4d ADR r0,|L1.2032|
0006b8 ebfffffe BL _printf
;;;272 }
0006bc eafffff6 B |L1.1692|
;;;273 Uart_Printf("Conversion is done!!\n");
|L1.1728|
0006c0 e28f0f4c ADR r0,|L1.2040|
0006c4 ebfffffe BL _printf
;;;274 Uart_Printf("Press Enter key to exit, any key to continue\n");
0006c8 e28f0f50 ADR r0,|L1.2064|
0006cc ebfffffe BL _printf
;;;275 if(Uart_Getch()=='\r') break;
0006d0 ebfffffe BL Uart_Getch
0006d4 e350000d CMP r0,#0xd
0006d8 1a000000 BNE |L1.1760|
0006dc ea000026 B |L1.1916|
;;;276 }
|L1.1760|
0006e0 eaffffa4 B |L1.1400|
;;;277 }
;;;278 else if(key == 1)
|L1.1764|
0006e4 e59d0020 LDR r0,[sp,#0x20]
0006e8 e3500001 CMP r0,#1
0006ec 1a000022 BNE |L1.1916|
;;;279 {
;;;280 while(Uart_GetKey()==0)
0006f0 e1a00000 NOP
|L1.1780|
0006f4 ebfffffe BL Uart_GetKey
0006f8 e3500000 CMP r0,#0
0006fc 1a00001e BNE |L1.1916|
;;;281 {
;;;282 a0=ReadAdc(0);
000700 e3a00000 MOV r0,#0
000704 ebfffffe BL ReadAdc
000708 e58d0018 STR r0,[sp,#0x18]
;;;283 a1=ReadAdc(1);
00070c e3a00001 MOV r0,#1
000710 ebfffffe BL ReadAdc
000714 e58d0014 STR r0,[sp,#0x14]
;;;284 a2=ReadAdc(2);
000718 e3a00002 MOV r0,#2
00071c ebfffffe BL ReadAdc
000720 e1a05000 MOV r5,r0
;;;285 a3=ReadAdc(3);
000724 e3a00003 MOV r0,#3
000728 ebfffffe BL ReadAdc
00072c e1a06000 MOV r6,r0
;;;286 a4=ReadAdc(4);
000730 e3a00004 MOV r0,#4
000734 ebfffffe BL ReadAdc
000738 e1a07000 MOV r7,r0
;;;287 a5=ReadAdc(5);
00073c e3a00005 MOV r0,#5
000740 ebfffffe BL ReadAdc
000744 e1a08000 MOV r8,r0
;;;288 a6=ReadAdc(6);
000748 e3a00006 MOV r0,#6
00074c ebfffffe BL ReadAdc
000750 e1a09000 MOV r9,r0
;;;289 a7=ReadAdc(7);
000754 e3a00007 MOV r0,#7
000758 ebfffffe BL ReadAdc
00075c e1a0a000 MOV r10,r0
;;;290
;;;291 Uart_Printf("AIN0: %04d AIN1: %04d AIN2: %04d AIN3: %04d AIN4: %04d AIN5: %04d AIN6: %04d AIN7: %04d\n", a0,a1,a2,a3,a4,a5,a6,a7);
000760 e1a03005 MOV r3,r5
000764 e88d07c0 STMIA sp,{r6-r10}
000768 e59f00d0 LDR r0,|L1.2112|
00076c e59d1018 LDR r1,[sp,#0x18]
000770 e59d2014 LDR r2,[sp,#0x14]
000774 ebfffffe BL _printf
;;;292 }
000778 eaffffdd B |L1.1780|
;;;293 }
;;;294
;;;295 Uart_Printf("If you want to set stanbymode press any key\n");
|L1.1916|
00077c e28f00c0 ADR r0,|L1.2116|
000780 ebfffffe BL _printf
;;;296 Uart_Getch();
000784 ebfffffe BL Uart_Getch
;;;297 Uart_Printf("rADCCON:%x\n", rADCCON);
000788 e51f0420 LDR r0,|L1.880|
00078c e5900000 LDR r0,[r0,#0]
000790 e1a01000 MOV r1,r0
000794 e24f0f4a ADR r0,|L1.1652|
000798 ebfffffe BL _printf
;;;298 rADCCON=rADCCON|(1<<2); //stand by mode to reduce power consumption
00079c e51f0434 LDR r0,|L1.880|
0007a0 e5900000 LDR r0,[r0,#0]
0007a4 e3800004 ORR r0,r0,#4
0007a8 e51f1440 LDR r1,|L1.880|
0007ac e5810000 STR r0,[r1,#0]
;;;299
;;;300 Uart_Printf("\nrADCCON = 0x%x\n", rADCCON);
0007b0 e1a00001 MOV r0,r1
0007b4 e5900000 LDR r0,[r0,#0]
0007b8 e1a01000 MOV r1,r0
0007bc e28f00b0 ADR r0,|L1.2164|
0007c0 ebfffffe BL _printf
;;;301 rINTSUBMSK|=(BIT_SUB_ADC|BIT_SUB_PENUP|BIT_SUB_PENDN);
0007c4 e51f074c LDR r0,|L1.128|
0007c8 e590001c LDR r0,[r0,#0x1c]
0007cc e3800ae0 ORR r0,r0,#0xe0000
0007d0 e51f1758 LDR r1,|L1.128|
0007d4 e581001c STR r0,[r1,#0x1c]
;;;302 rINTMSK|=BIT_ADC_PENUP_DOWN;
0007d8 e1a00001 MOV r0,r1
0007dc e5900008 LDR r0,[r0,#8]
0007e0 e3800480 ORR r0,r0,#0x80000000
0007e4 e5810008 STR r0,[r1,#8]
;;;303
;;;304 }
0007e8 e28dd024 ADD sp,sp,#0x24
0007ec e8bd8ff0 LDMFD sp!,{r4-r11,pc}
|L1.2032|
0007f0 64343025 DCB "%04d"
0007f4 0000000a DCB "\n\0\0\0"
|L1.2040|
0007f8 766e6f43 DCB "Conv"
0007fc 69737265 DCB "ersi"
000800 69206e6f DCB "on i"
000804 6f642073 DCB "s do"
000808 2121656e DCB "ne!!"
00080c 0000000a DCB "\n\0\0\0"
|L1.2064|
000810 73657250 DCB "Pres"
000814 6e452073 DCB "s En"
000818 20726574 DCB "ter "
00081c 2079656b DCB "key "
000820 65206f74 DCB "to e"
000824 2c746978 DCB "xit,"
000828 796e6120 DCB " any"
00082c 79656b20 DCB " key"
000830 206f7420 DCB " to "
000834 746e6f63 DCB "cont"
000838 65756e69 DCB "inue"
00083c 0000000a DCB "\n\0\0\0"
|L1.2112|
000840 00000094 DCD ||.constdata$1|| + 148
|L1.2116|
000844 79206649 DCB "If y"
000848 7720756f DCB "ou w"
00084c 20746e61 DCB "ant "
000850 73206f74 DCB "to s"
000854 73207465 DCB "et s"
000858 626e6174 DCB "tanb"
00085c 646f6d79 DCB "ymod"
000860 72702065 DCB "e pr"
000864 20737365 DCB "ess "
000868 20796e61 DCB "any "
00086c 0a79656b DCB "key\n"
000870 00000000 DCB "\0\0\0\0"
|L1.2164|
000874 4441720a DCB "\nrAD"
000878 4e4f4343 DCB "CCON"
00087c 30203d20 DCB " = 0"
000880 0a782578 DCB "x%x\n"
000884 00000000 DCB "\0\0\0\0"
ENDP
Test_Adc_Memory PROC
;;;307 void Test_Adc_Memory(void)
;;;308 {
000888 e92d40f8 STMFD sp!,{r3-r7,lr}
;;;309 int i,key;
;;;310
;;;311 unsigned int *dst, *tmp, ch;
;;;312
;;;313
;;;314 dst = (unsigned int *)0x12000000;
00088c e3a06548 MOV r6,#0x12000000
;;;315
;;;316 tmp = dst;
000890 e1a05006 MOV r5,r6
;;;317
;;;318 for(i=0; i<REQCNT; i++)
000894 e3a04000 MOV r4,#0
|L1.2200|
000898 e3540064 CMP r4,#0x64
00089c aa000005 BGE |L1.2232|
0008a0 ea000001 B |L1.2220|
|L1.2212|
0008a4 e2844001 ADD r4,r4,#1
0008a8 eafffffa B |L1.2200|
;;;319 *tmp++ = 0x0;
|L1.2220|
0008ac e3a00000 MOV r0,#0
0008b0 e4850004 STR r0,[r5],#4
0008b4 eafffffa B |L1.2212|
;;;320
;;;321 Uart_Printf("ADC conv. freq. = %dHz\n", ADC_FREQ);
|L1.2232|
0008b8 e51f1290 LDR r1,|L1.1584|
0008bc e24f0fa4 ADR r0,|L1.1588|
0008c0 ebfffffe BL _printf
;;;322 Uart_Printf("Select the channel[0~3]:\n");
0008c4 e24f0f93 ADR r0,|L1.1664|
0008c8 ebfffffe BL _printf
;;;323 ch=Uart_GetIntNum();
0008cc ebfffffe BL Uart_GetIntNum
0008d0 e1a07000 MOV r7,r0
;;;324
;;;325 while(1) {
0008d4 e1a00000 NOP
|L1.2264|
0008d8 e1a00000 NOP
;;;326 preScaler = PCLK/ADC_FREQ -1; //PCLK:50.7MHz
0008dc e3a00013 MOV r0,#0x13
0008e0 e51f135c LDR r1,|L1.1420|
0008e4 e5810000 STR r0,[r1,#0] ; preScaler
;;;327 rADCCON = (1<<14)|(preScaler<<6)|(ch<<3); //setup channel
0008e8 e51f0364 LDR r0,|L1.1420|
0008ec e5900000 LDR r0,[r0,#0] ; preScaler
0008f0 e1a00300 MOV r0,r0,LSL #6
0008f4 e1800187 ORR r0,r0,r7,LSL #3
0008f8 e3800c40 ORR r0,r0,#0x4000
0008fc e51f1594 LDR r1,|L1.880|
000900 e5810000 STR r0,[r1,#0]
;;;328
;;;329 tmp = dst;
000904 e1a05006 MOV r5,r6
;;;330
;;;331 for(i=0;i<REQCNT;i++) //May 08, 2002 SOP
000908 e3a04000 MOV r4,#0
|L1.2316|
00090c e3540064 CMP r4,#0x64
000910 aa000018 BGE |L1.2424|
000914 ea000001 B |L1.2336|
|L1.2328|
000918 e2844001 ADD r4,r4,#1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -