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

📄 main.txt

📁 工厂环境污染控制数据采集器
💻 TXT
📖 第 1 页 / 共 5 页
字号:
; generated by ARM/Thumb C/C++ Compiler with , RVCT3.1 [Build 939] for uVision
; commandline ArmCC [--debug -c --asm --interleave -o.\obj\main.o --depend=.\obj\main.d --device=DARMP --apcs=interwork -O0 -IC:\Keil\ARM\INC\Philips --omf_browse=.\obj\main.crf MAIN.C]
                          ARM

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

                  enable_beep PROC
;;;192    {
;;;193    	H_BEEP_CTRL();
000000  e3a00b01          MOV      r0,#0x400
000004  e59f1e34          LDR      r1,|L1.3648|
000008  e5810058          STR      r0,[r1,#0x58]
;;;194    }
00000c  e12fff1e          BX       lr
;;;195    
                          ENDP

                  disable_beep PROC
;;;198    {
;;;199    	L_BEEP_CTRL();
000010  e3a00b01          MOV      r0,#0x400
000014  e59f1e24          LDR      r1,|L1.3648|
000018  e581005c          STR      r0,[r1,#0x5c]
;;;200    }
00001c  e12fff1e          BX       lr
;;;201    
                          ENDP

                  BUS_SET_VALUE PROC
;;;204    {
;;;205    	BUS_SET=val;
000020  e59f1e18          LDR      r1,|L1.3648|
000024  e5c10058          STRB     r0,[r1,#0x58]
;;;206    	BUS_CLR=~(val);
000028  e1e01000          MVN      r1,r0
00002c  e59f2e0c          LDR      r2,|L1.3648|
000030  e5c2105c          STRB     r1,[r2,#0x5c]
;;;207    }
000034  e12fff1e          BX       lr
;;;208    
                          ENDP

                  delay PROC
;;;898    
;;;899    	for(;dly>0;dly--)
000038  ea000000          B        |L1.64|
                  |L1.60|
00003c  e2400001          SUB      r0,r0,#1
                  |L1.64|
000040  e3500000          CMP      r0,#0
000044  1afffffc          BNE      |L1.60|
;;;900    	{
;;;901    		
;;;902    	}
;;;903    
;;;904    }
000048  e12fff1e          BX       lr
;;;905    
                          ENDP

                  KEY_SCAN PROC
;;;211    void KEY_SCAN(void)
;;;212    {
00004c  e52de004          PUSH     {lr}
;;;213    	unsigned char var1;
;;;214    	unsigned char var2;	
;;;215    	
;;;216    	BUS_DIR=0X0F;
000050  e3a0000f          MOV      r0,#0xf
000054  e59f1de4          LDR      r1,|L1.3648|
000058  e5c10040          STRB     r0,[r1,#0x40]
;;;217    	BUS_SET=0X01;
00005c  e3a00001          MOV      r0,#1
000060  e5c10058          STRB     r0,[r1,#0x58]
;;;218    	BUS_CLR=0X0E;	
000064  e3a0000e          MOV      r0,#0xe
000068  e5c1005c          STRB     r0,[r1,#0x5c]
;;;219    
;;;220    	var2=0;
00006c  e3a03000          MOV      r3,#0
;;;221    
;;;222    	delay(1);
000070  e3a00001          MOV      r0,#1
000074  ebfffffe          BL       delay
;;;223    	var1=BUS_PIN;
000078  e59f0dc0          LDR      r0,|L1.3648|
00007c  e5d02054          LDRB     r2,[r0,#0x54]
;;;224    	
;;;225    	if((var1&0XF0)==0X10)
000080  e20200f0          AND      r0,r2,#0xf0
000084  e3500010          CMP      r0,#0x10
000088  1a000001          BNE      |L1.148|
;;;226    	{
;;;227    		var2=0X01;
00008c  e3a03001          MOV      r3,#1
000090  ea00000d          B        |L1.204|
                  |L1.148|
;;;228    	}
;;;229    	else if((var1&0XF0)==0X20)
000094  e20200f0          AND      r0,r2,#0xf0
000098  e3500020          CMP      r0,#0x20
00009c  1a000001          BNE      |L1.168|
;;;230    	{
;;;231    		var2=0X02;
0000a0  e3a03002          MOV      r3,#2
0000a4  ea000008          B        |L1.204|
                  |L1.168|
;;;232    	}
;;;233    	else if((var1&0XF0)==0X40)
0000a8  e20200f0          AND      r0,r2,#0xf0
0000ac  e3500040          CMP      r0,#0x40
0000b0  1a000001          BNE      |L1.188|
;;;234    	{
;;;235    		var2=0X03;
0000b4  e3a03003          MOV      r3,#3
0000b8  ea000003          B        |L1.204|
                  |L1.188|
;;;236    	}
;;;237    	else if((var1&0XF0)==0X80)
0000bc  e20200f0          AND      r0,r2,#0xf0
0000c0  e3500080          CMP      r0,#0x80
0000c4  1a000000          BNE      |L1.204|
;;;238    	{
;;;239    		var2=0X04;
0000c8  e3a03004          MOV      r3,#4
                  |L1.204|
;;;240    	}	
;;;241    	
;;;242    	BUS_SET=0X02;
0000cc  e3a00002          MOV      r0,#2
0000d0  e59f1d68          LDR      r1,|L1.3648|
0000d4  e5c10058          STRB     r0,[r1,#0x58]
;;;243    	BUS_CLR=0X0D;
0000d8  e3a0000d          MOV      r0,#0xd
0000dc  e5c1005c          STRB     r0,[r1,#0x5c]
;;;244    
;;;245    	delay(1);
0000e0  e3a00001          MOV      r0,#1
0000e4  ebfffffe          BL       delay
;;;246    	var1=BUS_PIN;
0000e8  e59f0d50          LDR      r0,|L1.3648|
0000ec  e5d02054          LDRB     r2,[r0,#0x54]
;;;247    	
;;;248    	if((var1&0XF0)==0X10)
0000f0  e20200f0          AND      r0,r2,#0xf0
0000f4  e3500010          CMP      r0,#0x10
0000f8  1a000001          BNE      |L1.260|
;;;249    	{
;;;250    		var2=0X05;
0000fc  e3a03005          MOV      r3,#5
000100  ea00000d          B        |L1.316|
                  |L1.260|
;;;251    	}
;;;252    	else if((var1&0XF0)==0X20)
000104  e20200f0          AND      r0,r2,#0xf0
000108  e3500020          CMP      r0,#0x20
00010c  1a000001          BNE      |L1.280|
;;;253    	{
;;;254    		var2=0X06;
000110  e3a03006          MOV      r3,#6
000114  ea000008          B        |L1.316|
                  |L1.280|
;;;255    	}
;;;256    	else if((var1&0XF0)==0X40)
000118  e20200f0          AND      r0,r2,#0xf0
00011c  e3500040          CMP      r0,#0x40
000120  1a000001          BNE      |L1.300|
;;;257    	{
;;;258    		var2=0X07;
000124  e3a03007          MOV      r3,#7
000128  ea000003          B        |L1.316|
                  |L1.300|
;;;259    	}
;;;260    	else if((var1&0XF0)==0X80)
00012c  e20200f0          AND      r0,r2,#0xf0
000130  e3500080          CMP      r0,#0x80
000134  1a000000          BNE      |L1.316|
;;;261    	{
;;;262    		var2=0X08;
000138  e3a03008          MOV      r3,#8
                  |L1.316|
;;;263    	}
;;;264    
;;;265    	BUS_SET=0X04;
00013c  e3a00004          MOV      r0,#4
000140  e59f1cf8          LDR      r1,|L1.3648|
000144  e5c10058          STRB     r0,[r1,#0x58]
;;;266    	BUS_CLR=0X0B;
000148  e3a0000b          MOV      r0,#0xb
00014c  e5c1005c          STRB     r0,[r1,#0x5c]
;;;267    
;;;268    	delay(1);
000150  e3a00001          MOV      r0,#1
000154  ebfffffe          BL       delay
;;;269    	var1=BUS_PIN;
000158  e59f0ce0          LDR      r0,|L1.3648|
00015c  e5d02054          LDRB     r2,[r0,#0x54]
;;;270    	
;;;271    	if((var1&0XF0)==0X10)
000160  e20200f0          AND      r0,r2,#0xf0
000164  e3500010          CMP      r0,#0x10
000168  1a000001          BNE      |L1.372|
;;;272    	{
;;;273    		var2=0X09;
00016c  e3a03009          MOV      r3,#9
000170  ea00000d          B        |L1.428|
                  |L1.372|
;;;274    	}
;;;275    	else if((var1&0XF0)==0X20)
000174  e20200f0          AND      r0,r2,#0xf0
000178  e3500020          CMP      r0,#0x20
00017c  1a000001          BNE      |L1.392|
;;;276    	{
;;;277    		var2=0X0A;
000180  e3a0300a          MOV      r3,#0xa
000184  ea000008          B        |L1.428|
                  |L1.392|
;;;278    	}
;;;279    	else if((var1&0XF0)==0X40)
000188  e20200f0          AND      r0,r2,#0xf0
00018c  e3500040          CMP      r0,#0x40
000190  1a000001          BNE      |L1.412|
;;;280    	{
;;;281    		var2=0X0B;
000194  e3a0300b          MOV      r3,#0xb
000198  ea000003          B        |L1.428|
                  |L1.412|
;;;282    	}
;;;283    	else if((var1&0XF0)==0X80)
00019c  e20200f0          AND      r0,r2,#0xf0
0001a0  e3500080          CMP      r0,#0x80
0001a4  1a000000          BNE      |L1.428|
;;;284    	{
;;;285    		var2=0X0C;
0001a8  e3a0300c          MOV      r3,#0xc
                  |L1.428|
;;;286    	}	
;;;287    	
;;;288    	BUS_SET=0X08;
0001ac  e3a00008          MOV      r0,#8
0001b0  e59f1c88          LDR      r1,|L1.3648|
0001b4  e5c10058          STRB     r0,[r1,#0x58]
;;;289    	BUS_CLR=0X07;
0001b8  e3a00007          MOV      r0,#7
0001bc  e5c1005c          STRB     r0,[r1,#0x5c]
;;;290    
;;;291    	delay(1);
0001c0  e3a00001          MOV      r0,#1
0001c4  ebfffffe          BL       delay
;;;292    	var1=BUS_PIN;
0001c8  e59f0c70          LDR      r0,|L1.3648|
0001cc  e5d02054          LDRB     r2,[r0,#0x54]
;;;293    	
;;;294    	if((var1&0XF0)==0X10)
0001d0  e20200f0          AND      r0,r2,#0xf0
0001d4  e3500010          CMP      r0,#0x10
0001d8  1a000001          BNE      |L1.484|
;;;295    	{
;;;296    		var2=0X0D;
0001dc  e3a0300d          MOV      r3,#0xd
0001e0  ea00000d          B        |L1.540|
                  |L1.484|
;;;297    	}
;;;298    	else if((var1&0XF0)==0X20)
0001e4  e20200f0          AND      r0,r2,#0xf0
0001e8  e3500020          CMP      r0,#0x20
0001ec  1a000001          BNE      |L1.504|
;;;299    	{
;;;300    		var2=0X0E;
0001f0  e3a0300e          MOV      r3,#0xe
0001f4  ea000008          B        |L1.540|
                  |L1.504|
;;;301    	}
;;;302    	else if((var1&0XF0)==0X40)
0001f8  e20200f0          AND      r0,r2,#0xf0
0001fc  e3500040          CMP      r0,#0x40
000200  1a000001          BNE      |L1.524|
;;;303    	{
;;;304    		var2=0X0F;
000204  e3a0300f          MOV      r3,#0xf
000208  ea000003          B        |L1.540|
                  |L1.524|
;;;305    	}
;;;306    	else if((var1&0XF0)==0X80)
00020c  e20200f0          AND      r0,r2,#0xf0
000210  e3500080          CMP      r0,#0x80
000214  1a000000          BNE      |L1.540|
;;;307    	{
;;;308    		var2=0X10;
000218  e3a03010          MOV      r3,#0x10
                  |L1.540|
;;;309    	}	
;;;310    
;;;311    
;;;312    	if(var2!=0)
00021c  e3530000          CMP      r3,#0
000220  0a000009          BEQ      |L1.588|
;;;313    	{
;;;314    		if(key_debounce_flag==0)
000224  e59f0c18          LDR      r0,|L1.3652|
000228  e5d00000          LDRB     r0,[r0,#0]  ; key_debounce_flag
00022c  e3500000          CMP      r0,#0
000230  1a000008          BNE      |L1.600|
;;;315    		{
;;;316    			key_debounce_flag=1;
000234  e3a00001          MOV      r0,#1
000238  e59f1c04          LDR      r1,|L1.3652|
00023c  e5c10000          STRB     r0,[r1,#0]  ; key_debounce_flag
;;;317    			KEY_CODE=var2;
000240  e59f0c00          LDR      r0,|L1.3656|
000244  e5c03000          STRB     r3,[r0,#0]  ; KEY_CODE
000248  ea000002          B        |L1.600|
                  |L1.588|
;;;318    		}
;;;319    	}
;;;320    	else
;;;321    	{
;;;322    		key_debounce_flag=0;
00024c  e3a00000          MOV      r0,#0
000250  e59f1bec          LDR      r1,|L1.3652|
000254  e5c10000          STRB     r0,[r1,#0]  ; key_debounce_flag
                  |L1.600|
;;;323    	}
;;;324    
;;;325    }
000258  e49de004          POP      {lr}
00025c  e12fff1e          BX       lr
;;;326    
                          ENDP

                  READ_IO_INPUT PROC
;;;333    	
;;;334    	var1=IOPIN0;
000260  e59f2be4          LDR      r2,|L1.3660|
000264  e5921000          LDR      r1,[r2,#0]
;;;335    	var1>>=6;
000268  e1a01321          LSR      r1,r1,#6
;;;336    	
;;;337    	var2=var1&0x0f;
00026c  e201000f          AND      r0,r1,#0xf
;;;338    	return var2;
;;;339    }
000270  e12fff1e          BX       lr
;;;340    
                          ENDP

                  read_TLV2556_OUT_PIN PROC
;;;366    	
;;;367    	lvar1=IOPIN1;
000274  e59f0bd0          LDR      r0,|L1.3660|
000278  e5901010          LDR      r1,[r0,#0x10]
;;;368    	if((lvar1&((uint32)0x01<<TLV2556_DOUT))==0)
00027c  e3110201          TST      r1,#0x10000000
000280  1a000001          BNE      |L1.652|
;;;369    	{

⌨️ 快捷键说明

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