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

📄 main.txt

📁 工厂环境污染控制数据采集器
💻 TXT
📖 第 1 页 / 共 5 页
字号:
;;;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 + -