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

📄 combustible_test.txt

📁 在mdk下面实现对于ds18b20的控制
💻 TXT
字号:
; generated by ARM/Thumb C/C++ Compiler with , RVCT3.1 [Build 939] for uVision
; commandline ArmCC [--debug -c --asm --interleave -o".\NOR FLASH\combustible_test.o" --depend=".\NOR FLASH\combustible_test.d" --device=DARMSS9 --apcs=interwork -O0 -I..\Common\Inc -I.\Include -IC:\Keil\ARM\INC\Samsung --omf_browse=".\NOR FLASH\combustible_test.crf" Source\combustible_test.c]
                          ARM

                          AREA ||.text||, CODE, READONLY, ALIGN=2

                  adc_test PROC
;;;33     void adc_test(void)
;;;34     {
000000  e92d43f0          PUSH     {r4-r9,lr}
000004  e24dd01c          SUB      sp,sp,#0x1c
;;;35         int i,j;
;;;36     	UINT16T usConData;
;;;37         float usEndData;
;;;38     		
;;;39         uart_printf("\n ADC_IN Test\n");
000008  e28f0f5f          ADR      r0,|L1.396|
00000c  ebfffffe          BL       uart_printf
;;;40     	uart_printf(" ADC conv. freq. = %dHz\n",ADC_FREQ);
000010  e59f1184          LDR      r1,|L1.412|
000014  e28f0f61          ADR      r0,|L1.416|
000018  ebfffffe          BL       uart_printf
;;;41     	unPreScaler = PCLK/ADC_FREQ - 1;	
00001c  e3a00013          MOV      r0,#0x13
000020  e59f1194          LDR      r1,|L1.444|
000024  e5c10000          STRB     r0,[r1,#0]  ; unPreScaler
;;;42     
;;;43     	// Enable prescaler,ain1,normal,start by read
;;;44         rADCCON=(1<<14)|(unPreScaler<<6)|(1<<3)|(0<<2)|(1<<1);
000028  e2810000          ADD      r0,r1,#0
00002c  e5d00000          LDRB     r0,[r0,#0]  ; unPreScaler
000030  e3a01901          MOV      r1,#0x4000
000034  e1810300          ORR      r0,r1,r0,LSL #6
000038  e380000a          ORR      r0,r0,#0xa
00003c  e3a01316          MOV      r1,#0x58000000
000040  e5810000          STR      r0,[r1,#0]
;;;45     	uart_printf(" Please adjust AIN0 value!\n");
000044  e28f0f5d          ADR      r0,|L1.448|
000048  ebfffffe          BL       uart_printf
;;;46     	uart_printf(" The results of ADC are:\n");
00004c  e28f0f62          ADR      r0,|L1.476|
000050  ebfffffe          BL       uart_printf
;;;47     	usConData=rADCDAT0&0x3FF;
000054  e3a00316          MOV      r0,#0x58000000
000058  e590000c          LDR      r0,[r0,#0xc]
00005c  e1a06b00          LSL      r6,r0,#22
000060  e1a06b26          LSR      r6,r6,#22
;;;48     	
;;;49     	// Sample and show data by UART		
;;;50     	for(j = 0; j < 20; j++)									
000064  e3a05000          MOV      r5,#0
000068  ea000040          B        |L1.368|
                  |L1.108|
;;;51     	{
;;;52     		while(!(rADCCON & 0x8000));
00006c  e1a00000          MOV      r0,r0
                  |L1.112|
000070  e3a00316          MOV      r0,#0x58000000
000074  e5900000          LDR      r0,[r0,#0]
000078  e3100902          TST      r0,#0x8000
00007c  0afffffb          BEQ      |L1.112|
;;;53     		usConData = rADCDAT0&0x3FF;
000080  e3a00316          MOV      r0,#0x58000000
000084  e590000c          LDR      r0,[r0,#0xc]
000088  e1a06b00          LSL      r6,r0,#22
00008c  e1a06b26          LSR      r6,r6,#22
;;;54     		uart_printf(" %0.4fmmmm",usConData);
000090  e1a01006          MOV      r1,r6
000094  e28f0f57          ADR      r0,|L1.504|
000098  ebfffffe          BL       uart_printf
;;;55     		usEndData = usConData * 3.3000 / 0x3FF;
00009c  e1a00006          MOV      r0,r6
0000a0  ebfffffe          BL       __aeabi_ui2d
0000a4  e58d0010          STR      r0,[sp,#0x10]
0000a8  e58d1014          STR      r1,[sp,#0x14]
0000ac  e28f0e15          ADR      r0,|L1.516|
0000b0  e890000c          LDM      r0,{r2,r3}
0000b4  e59d0010          LDR      r0,[sp,#0x10]
0000b8  ebfffffe          BL       __aeabi_dmul
0000bc  e58d0008          STR      r0,[sp,#8]
0000c0  e58d100c          STR      r1,[sp,#0xc]
0000c4  e28f0d05          ADR      r0,|L1.524|
0000c8  e890000c          LDM      r0,{r2,r3}
0000cc  e59d0008          LDR      r0,[sp,#8]
0000d0  ebfffffe          BL       __aeabi_ddiv
0000d4  e88d0003          STM      sp,{r0,r1}
0000d8  ebfffffe          BL       __aeabi_d2f
0000dc  e1a07000          MOV      r7,r0
;;;56     		uart_printf(" %0.4fnnn ",usEndData);
0000e0  e1a00007          MOV      r0,r7
0000e4  ebfffffe          BL       __aeabi_f2d
0000e8  e58d0010          STR      r0,[sp,#0x10]
0000ec  e58d1014          STR      r1,[sp,#0x14]
0000f0  e1a03001          MOV      r3,r1
0000f4  e1a02000          MOV      r2,r0
0000f8  e28f0f45          ADR      r0,|L1.532|
0000fc  ebfffffe          BL       uart_printf
;;;57     		usEndData = usEndData - (int)usEndData;
000100  e1a00007          MOV      r0,r7
000104  ebfffffe          BL       __aeabi_f2iz
000108  e1a09000          MOV      r9,r0
00010c  ebfffffe          BL       __aeabi_i2f
000110  e1a08000          MOV      r8,r0
000114  e1a01007          MOV      r1,r7
000118  ebfffffe          BL       __aeabi_frsub
00011c  e1a07000          MOV      r7,r0
;;;58     		for(i = 0; i < 4; i++)
000120  e3a04000          MOV      r4,#0
000124  ea00000c          B        |L1.348|
                  |L1.296|
;;;59     		{
;;;60     			usEndData = usEndData*10;
000128  e59f10f0          LDR      r1,|L1.544|
00012c  e1a00007          MOV      r0,r7
000130  ebfffffe          BL       __aeabi_fmul
000134  e1a07000          MOV      r7,r0
;;;61     			usEndData = usEndData-(int)usEndData;
000138  e1a00007          MOV      r0,r7
00013c  ebfffffe          BL       __aeabi_f2iz
000140  e1a09000          MOV      r9,r0
000144  ebfffffe          BL       __aeabi_i2f
000148  e1a08000          MOV      r8,r0
00014c  e1a01007          MOV      r1,r7
000150  ebfffffe          BL       __aeabi_frsub
000154  e1a07000          MOV      r7,r0
000158  e2844001          ADD      r4,r4,#1              ;58
                  |L1.348|
00015c  e3540004          CMP      r4,#4                 ;58
000160  bafffff0          BLT      |L1.296|
;;;62     		}
;;;63     		delay(10000);
000164  e59f00b8          LDR      r0,|L1.548|
000168  ebfffffe          BL       delay
00016c  e2855001          ADD      r5,r5,#1              ;50
                  |L1.368|
000170  e3550014          CMP      r5,#0x14              ;50
000174  baffffbc          BLT      |L1.108|
;;;64     	}
;;;65     	uart_printf(" End.\n");
000178  e28f00a8          ADR      r0,|L1.552|
00017c  ebfffffe          BL       uart_printf
;;;66     
;;;67     }
000180  e28dd01c          ADD      sp,sp,#0x1c
000184  e8bd43f0          POP      {r4-r9,lr}
000188  e12fff1e          BX       lr
                          ENDP

                  |L1.396|
00018c  0a204144          DCB      "\n\40\101\104"
000190  435f494e          DCB      "C_IN"
000194  20546573          DCB      " Tes"
000198  740a0000          DCB      "t\n\0\0"
                  |L1.412|
00019c  002625a0          DCD      0x002625a0
                  |L1.416|
0001a0  20414443          DCB      " ADC"
0001a4  20636f6e          DCB      " con"
0001a8  762e2066          DCB      "v. f"
0001ac  7265712e          DCB      "req."
0001b0  203d2025          DCB      " = %"
0001b4  64487a0a          DCB      "dHz\n"
0001b8  00000000          DCB      "\0\0\0\0"
                  |L1.444|
0001bc  00000000          DCD      unPreScaler
                  |L1.448|
0001c0  20506c65          DCB      " Ple"
0001c4  61736520          DCB      "ase "
0001c8  61646a75          DCB      "adju"
0001cc  73742041          DCB      "st A"
0001d0  494e3020          DCB      "IN0 "
0001d4  76616c75          DCB      "valu"
0001d8  65210a00          DCB      "e!\n\0"
                  |L1.476|
0001dc  20546865          DCB      " The"
0001e0  20726573          DCB      " res"
0001e4  756c7473          DCB      "ults"
0001e8  206f6620          DCB      " of "
0001ec  41444320          DCB      "ADC "
0001f0  6172653a          DCB      "are:"
0001f4  0a000000          DCB      "\n\0\0\0"
                  |L1.504|
0001f8  2025302e          DCB      " %0."
0001fc  34666d6d          DCB      "4fmm"
000200  6d6d0000          DCB      "mm\0\0"
                  |L1.516|
000204  66666666
000208  400a6666          DCFD     0x400a666666666666 ; 3.2999999999999998
                  |L1.524|
00020c  00000000
000210  408ff800          DCFD     0x408ff80000000000 ; 1023
                  |L1.532|
000214  2025302e          DCB      " %0."
000218  34666e6e          DCB      "4fnn"
00021c  6e200000          DCB      "n \0\0"
                  |L1.544|
000220  41200000          DCD      0x41200000
                  |L1.548|
000224  00002710          DCD      0x00002710
                  |L1.552|
000228  20456e64          DCB      " End"
00022c  2e0a0000          DCB      ".\n\0\0"

                          AREA ||.data||, DATA, ALIGN=0

                  unPreScaler
000000  00                DCB      0x00
                  nEndTest
000001  00                DCB      0x00

⌨️ 快捷键说明

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