📄 main.txt
字号:
;;;370 return 0;
000284 e3a00000 MOV r0,#0
|L1.648|
;;;371 }
;;;372 else
;;;373 {
;;;374 return 1;
;;;375 }
;;;376 }
000288 e12fff1e BX lr
|L1.652|
00028c e3a00001 MOV r0,#1 ;374
000290 eafffffc B |L1.648|
;;;377
ENDP
CONTROL_TLV2556 PROC
;;;379 unsigned int CONTROL_TLV2556(unsigned char sel_A_or_B,unsigned char cmd_address,unsigned char dat)
;;;380 {
000294 e92d40f0 PUSH {r4-r7,lr}
000298 e1a03000 MOV r3,r0
00029c e1a04001 MOV r4,r1
;;;381 unsigned char i;
;;;382 unsigned int intvar1;
;;;383 unsigned char var1;
;;;384
;;;385 intvar1=0;
0002a0 e3a07000 MOV r7,#0
;;;386
;;;387 if(sel_A_or_B==0)
0002a4 e3530000 CMP r3,#0
0002a8 1a000005 BNE |L1.708|
;;;388 {
;;;389 L_TLV2556_CS1();
0002ac e3a00202 MOV r0,#0x20000000
0002b0 e59f1b94 LDR r1,|L1.3660|
0002b4 e581001c STR r0,[r1,#0x1c]
;;;390 H_TLV2556_CS2();
0002b8 e3a00702 MOV r0,#0x80000
0002bc e5810014 STR r0,[r1,#0x14]
0002c0 ea000004 B |L1.728|
|L1.708|
;;;391 }
;;;392 else
;;;393 {
;;;394 L_TLV2556_CS2();
0002c4 e3a00702 MOV r0,#0x80000
0002c8 e59f1b7c LDR r1,|L1.3660|
0002cc e581001c STR r0,[r1,#0x1c]
;;;395 H_TLV2556_CS1();
0002d0 e3a00202 MOV r0,#0x20000000
0002d4 e5810014 STR r0,[r1,#0x14]
|L1.728|
;;;396 }
;;;397
;;;398 var1=cmd_address;
0002d8 e1a06004 MOV r6,r4
;;;399 for(i=0;i<4;i++)
0002dc e3a05000 MOV r5,#0
0002e0 ea00001d B |L1.860|
|L1.740|
;;;400 {
;;;401 delay(10);
0002e4 e3a0000a MOV r0,#0xa
0002e8 ebfffffe BL delay
;;;402 if((var1&0x08)!=0)
0002ec e3160008 TST r6,#8
0002f0 0a000003 BEQ |L1.772|
;;;403 {
;;;404 H_TLV2556_DIN();
0002f4 e3a00302 MOV r0,#0x8000000
0002f8 e59f1b4c LDR r1,|L1.3660|
0002fc e5810014 STR r0,[r1,#0x14]
000300 ea000002 B |L1.784|
|L1.772|
;;;405 }
;;;406 else
;;;407 {
;;;408 L_TLV2556_DIN();
000304 e3a00302 MOV r0,#0x8000000
000308 e59f1b3c LDR r1,|L1.3660|
00030c e581001c STR r0,[r1,#0x1c]
|L1.784|
;;;409 }
;;;410 ///////
;;;411 intvar1<<=1;
000310 e1a07087 LSL r7,r7,#1
;;;412 if(read_TLV2556_OUT_PIN()!=0)
000314 ebfffffe BL read_TLV2556_OUT_PIN
000318 e3500000 CMP r0,#0
00031c 0a000000 BEQ |L1.804|
;;;413 {
;;;414 intvar1|=0x01;
000320 e3877001 ORR r7,r7,#1
|L1.804|
;;;415 }
;;;416 //////
;;;417 var1<<=1;
000324 e1a00c86 LSL r0,r6,#25
000328 e1a06c20 LSR r6,r0,#24
;;;418 delay(10);
00032c e3a0000a MOV r0,#0xa
000330 ebfffffe BL delay
;;;419 H_TLV2556_CLK();
000334 e3a00301 MOV r0,#0x4000000
000338 e59f1b0c LDR r1,|L1.3660|
00033c e5810014 STR r0,[r1,#0x14]
;;;420 delay(10);
000340 e3a0000a MOV r0,#0xa
000344 ebfffffe BL delay
;;;421 L_TLV2556_CLK();
000348 e3a00301 MOV r0,#0x4000000
00034c e59f1af8 LDR r1,|L1.3660|
000350 e581001c STR r0,[r1,#0x1c]
000354 e2850001 ADD r0,r5,#1 ;399
000358 e20050ff AND r5,r0,#0xff ;399
|L1.860|
00035c e3550004 CMP r5,#4 ;399
000360 baffffdf BLT |L1.740|
;;;422 }
;;;423
;;;424 var1=dat;
000364 e1a06002 MOV r6,r2
;;;425 for(i=0;i<4;i++)
000368 e3a05000 MOV r5,#0
00036c ea00001d B |L1.1000|
|L1.880|
;;;426 {
;;;427 delay(10);
000370 e3a0000a MOV r0,#0xa
000374 ebfffffe BL delay
;;;428 if((var1&0x08)!=0)
000378 e3160008 TST r6,#8
00037c 0a000003 BEQ |L1.912|
;;;429 {
;;;430 H_TLV2556_DIN();
000380 e3a00302 MOV r0,#0x8000000
000384 e59f1ac0 LDR r1,|L1.3660|
000388 e5810014 STR r0,[r1,#0x14]
00038c ea000002 B |L1.924|
|L1.912|
;;;431 }
;;;432 else
;;;433 {
;;;434 L_TLV2556_DIN();
000390 e3a00302 MOV r0,#0x8000000
000394 e59f1ab0 LDR r1,|L1.3660|
000398 e581001c STR r0,[r1,#0x1c]
|L1.924|
;;;435 }
;;;436 ///////
;;;437 intvar1<<=1;
00039c e1a07087 LSL r7,r7,#1
;;;438 if(read_TLV2556_OUT_PIN()!=0)
0003a0 ebfffffe BL read_TLV2556_OUT_PIN
0003a4 e3500000 CMP r0,#0
0003a8 0a000000 BEQ |L1.944|
;;;439 {
;;;440 intvar1|=0x01;
0003ac e3877001 ORR r7,r7,#1
|L1.944|
;;;441 }
;;;442 //////
;;;443 var1<<=1;
0003b0 e1a00c86 LSL r0,r6,#25
0003b4 e1a06c20 LSR r6,r0,#24
;;;444 delay(10);
0003b8 e3a0000a MOV r0,#0xa
0003bc ebfffffe BL delay
;;;445 H_TLV2556_CLK();
0003c0 e3a00301 MOV r0,#0x4000000
0003c4 e59f1a80 LDR r1,|L1.3660|
0003c8 e5810014 STR r0,[r1,#0x14]
;;;446 delay(10);
0003cc e3a0000a MOV r0,#0xa
0003d0 ebfffffe BL delay
;;;447 L_TLV2556_CLK();
0003d4 e3a00301 MOV r0,#0x4000000
0003d8 e59f1a6c LDR r1,|L1.3660|
0003dc e581001c STR r0,[r1,#0x1c]
0003e0 e2850001 ADD r0,r5,#1 ;425
0003e4 e20050ff AND r5,r0,#0xff ;425
|L1.1000|
0003e8 e3550004 CMP r5,#4 ;425
0003ec baffffdf BLT |L1.880|
;;;448 }
;;;449
;;;450 var1=0;
0003f0 e3a06000 MOV r6,#0
;;;451 for(i=0;i<4;i++)
0003f4 e3a05000 MOV r5,#0
0003f8 ea00001d B |L1.1140|
|L1.1020|
;;;452 {
;;;453 delay(10);
0003fc e3a0000a MOV r0,#0xa
000400 ebfffffe BL delay
;;;454 if((var1&0x08)!=0)
000404 e3160008 TST r6,#8
000408 0a000003 BEQ |L1.1052|
;;;455 {
;;;456 H_TLV2556_DIN();
00040c e3a00302 MOV r0,#0x8000000
000410 e59f1a34 LDR r1,|L1.3660|
000414 e5810014 STR r0,[r1,#0x14]
000418 ea000002 B |L1.1064|
|L1.1052|
;;;457 }
;;;458 else
;;;459 {
;;;460 L_TLV2556_DIN();
00041c e3a00302 MOV r0,#0x8000000
000420 e59f1a24 LDR r1,|L1.3660|
000424 e581001c STR r0,[r1,#0x1c]
|L1.1064|
;;;461 }
;;;462 ///////
;;;463 intvar1<<=1;
000428 e1a07087 LSL r7,r7,#1
;;;464 if(read_TLV2556_OUT_PIN()!=0)
00042c ebfffffe BL read_TLV2556_OUT_PIN
000430 e3500000 CMP r0,#0
000434 0a000000 BEQ |L1.1084|
;;;465 {
;;;466 intvar1|=0x01;
000438 e3877001 ORR r7,r7,#1
|L1.1084|
;;;467 }
;;;468 //////
;;;469 var1<<=1;
00043c e1a00c86 LSL r0,r6,#25
000440 e1a06c20 LSR r6,r0,#24
;;;470 delay(10);
000444 e3a0000a MOV r0,#0xa
000448 ebfffffe BL delay
;;;471 H_TLV2556_CLK();
00044c e3a00301 MOV r0,#0x4000000
000450 e59f19f4 LDR r1,|L1.3660|
000454 e5810014 STR r0,[r1,#0x14]
;;;472 delay(10);
000458 e3a0000a MOV r0,#0xa
00045c ebfffffe BL delay
;;;473 L_TLV2556_CLK();
000460 e3a00301 MOV r0,#0x4000000
000464 e59f19e0 LDR r1,|L1.3660|
000468 e581001c STR r0,[r1,#0x1c]
00046c e2850001 ADD r0,r5,#1 ;451
000470 e20050ff AND r5,r0,#0xff ;451
|L1.1140|
000474 e3550004 CMP r5,#4 ;451
000478 baffffdf BLT |L1.1020|
;;;474 }
;;;475
;;;476 H_TLV2556_CS1();
00047c e3a00202 MOV r0,#0x20000000
000480 e59f19c4 LDR r1,|L1.3660|
000484 e5810014 STR r0,[r1,#0x14]
;;;477 H_TLV2556_CS2();
000488 e3a00702 MOV r0,#0x80000
00048c e5810014 STR r0,[r1,#0x14]
;;;478
;;;479 return intvar1;
000490 e1a00007 MOV r0,r7
000494 e8bd40f0 POP {r4-r7,lr}
;;;480
;;;481 }
000498 e12fff1e BX lr
;;;482
ENDP
READ_AD_INPUT PROC
;;;484 void READ_AD_INPUT(void)
;;;485 {
00049c e92d4010 PUSH {r4,lr}
;;;486 unsigned int intvar1;
;;;487
;;;488 read_ad_channel_selector++;
0004a0 e59f09a8 LDR r0,|L1.3664|
0004a4 e5d00000 LDRB r0,[r0,#0] ; read_ad_channel_selector
0004a8 e2800001 ADD r0,r0,#1
0004ac e59f199c LDR r1,|L1.3664|
0004b0 e5c10000 STRB r0,[r1,#0] ; read_ad_channel_selector
;;;489 if(read_ad_channel_selector>31)
0004b4 e2810000 ADD r0,r1,#0
0004b8 e5d00000 LDRB r0,[r0,#0] ; read_ad_channel_selector
0004bc e350001f CMP r0,#0x1f
0004c0 da000002 BLE |L1.1232|
;;;490 {
;;;491 read_ad_channel_selector=0;
0004c4 e3a00000 MOV r0,#0
0004c8 e59f1980 LDR r1,|L1.3664|
0004cc e5c10000 STRB r0,[r1,#0] ; read_ad_channel_selector
|L1.1232|
;;;492 }
;;;493
;;;494 switch(read_ad_channel_selector)
0004d0 e59f0978 LDR r0,|L1.3664|
0004d4 e5d00000 LDRB r0,[r0,#0] ; read_ad_channel_selector
0004d8 e3500020 CMP r0,#0x20
0004dc 308ff100 ADDCC pc,pc,r0,LSL #2
0004e0 ea000133 B |L1.2484|
0004e4 ea00001e B |L1.1380|
0004e8 ea000023 B |L1.1404|
0004ec ea00002a B |L1.1436|
0004f0 ea00002f B |L1.1460|
0004f4 ea000036 B |L1.1492|
0004f8 ea00003b B |L1.1516|
0004fc ea000042 B |L1.1548|
000500 ea000047 B |L1.1572|
000504 ea00004e B |L1.1604|
000508 ea000053 B |L1.1628|
00050c ea00005a B |L1.1660|
000510 ea00005f B |L1.1684|
000514 ea000066 B |L1.1716|
000518 ea00006b B |L1.1740|
00051c ea000072 B |L1.1772|
000520 ea000077 B |L1.1796|
000524 ea00007e B |L1.1828|
000528 ea000083 B |L1.1852|
00052c ea00008a B |L1.1884|
000530 ea00008f B |L1.1908|
000534 ea000096 B |L1.1940|
000538 ea00009b B |L1.1964|
00053c ea0000a2 B |L1.1996|
000540 ea0000a7 B |L1.2020|
000544 ea0000ae B |L1.2052|
000548 ea0000b3 B |L1.2076|
00054c ea0000c7 B |L1.2160|
000550 ea0000cc B |L1.2184|
000554 ea0000e0 B |L1.2268|
000558 ea0000e5 B |L1.2292|
00055c ea0000f9 B |L1.2376|
000560 ea0000fe B |L1.2400|
|L1.1380|
;;;495 {
;;;496 case 0: //ad 1
000564 e1a00000 MOV r0,r0
;;;497 CONTROL_TLV2556(0,0,0x00);
000568 e3a02000 MOV r2,#0
00056c e1a01002 MOV r1,r2
000570 e1a00002 MOV r0,r2
000574 ebfffffe BL CONTROL_TLV2556
;;;498 break;
000578 ea00010f B |L1.2492|
|L1.1404|
;;;499 case 1:
00057c e1a00000 MOV r0,r0
;;;500 TEMP_CHANNEL_1_AD_VALUE=CONTROL_TLV2556(0,0,0x00);
000580 e3a02000 MOV r2,#0
000584 e1a01002 MOV r1,r2
000588 e1a00002 MOV r0,r2
00058c ebfffffe BL CONTROL_TLV2556
000590 e59f18bc LDR r1,|L1.3668|
000594 e5810000 STR r0,[r1,#0] ; TEMP_CHANNEL_1_AD_VALUE
;;;501 break;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -