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

📄 main.txt

📁 工厂环境污染控制数据采集器
💻 TXT
📖 第 1 页 / 共 5 页
字号:
00090c  e59f1570          LDR      r1,|L1.3716|
000910  e1540001          CMP      r4,r1
000914  2a000005          BCS      |L1.2352|
;;;604    				{
;;;605    						IO_STATUS|=0x04;
000918  e59f0568          LDR      r0,|L1.3720|
00091c  e5d00000          LDRB     r0,[r0,#0]  ; IO_STATUS
000920  e3800004          ORR      r0,r0,#4
000924  e59f155c          LDR      r1,|L1.3720|
000928  e5c10000          STRB     r0,[r1,#0]  ; IO_STATUS
00092c  ea000004          B        |L1.2372|
                  |L1.2352|
;;;606    				}
;;;607    				else
;;;608    				{
;;;609    						IO_STATUS&=~0x04;
000930  e59f0550          LDR      r0,|L1.3720|
000934  e5d00000          LDRB     r0,[r0,#0]  ; IO_STATUS
000938  e3c00004          BIC      r0,r0,#4
00093c  e59f1544          LDR      r1,|L1.3720|
000940  e5c10000          STRB     r0,[r1,#0]  ; IO_STATUS
                  |L1.2372|
;;;610    				}
;;;611    				break;
000944  ea00001c          B        |L1.2492|
                  |L1.2376|
;;;612    		case 30:  //INPUT 4
000948  e1a00000          MOV      r0,r0
;;;613    				CONTROL_TLV2556(1,4,0x00);
00094c  e3a02000          MOV      r2,#0
000950  e3a01004          MOV      r1,#4
000954  e3a00001          MOV      r0,#1
000958  ebfffffe          BL       CONTROL_TLV2556
;;;614    				break;
00095c  ea000016          B        |L1.2492|
                  |L1.2400|
;;;615    		case 31:
000960  e1a00000          MOV      r0,r0
;;;616    				intvar1=CONTROL_TLV2556(1,4,0x00);
000964  e3a02000          MOV      r2,#0
000968  e3a01004          MOV      r1,#4
00096c  e3a00001          MOV      r0,#1
000970  ebfffffe          BL       CONTROL_TLV2556
000974  e1a04000          MOV      r4,r0
;;;617    				if(intvar1<3000)
000978  e59f1504          LDR      r1,|L1.3716|
00097c  e1540001          CMP      r4,r1
000980  2a000005          BCS      |L1.2460|
;;;618    				{
;;;619    						IO_STATUS|=0x08;
000984  e59f04fc          LDR      r0,|L1.3720|
000988  e5d00000          LDRB     r0,[r0,#0]  ; IO_STATUS
00098c  e3800008          ORR      r0,r0,#8
000990  e59f14f0          LDR      r1,|L1.3720|
000994  e5c10000          STRB     r0,[r1,#0]  ; IO_STATUS
000998  ea000004          B        |L1.2480|
                  |L1.2460|
;;;620    				}
;;;621    				else
;;;622    				{
;;;623    						IO_STATUS&=~0x08;
00099c  e59f04e4          LDR      r0,|L1.3720|
0009a0  e5d00000          LDRB     r0,[r0,#0]  ; IO_STATUS
0009a4  e3c00008          BIC      r0,r0,#8
0009a8  e59f14d8          LDR      r1,|L1.3720|
0009ac  e5c10000          STRB     r0,[r1,#0]  ; IO_STATUS
                  |L1.2480|
;;;624    				}
;;;625    				break;
0009b0  ea000001          B        |L1.2492|
                  |L1.2484|
;;;626    		default:break;
0009b4  e1a00000          MOV      r0,r0
0009b8  e1a00000          MOV      r0,r0
                  |L1.2492|
0009bc  e1a00000          MOV      r0,r0                 ;498
;;;627    	}
;;;628    	
;;;629    }
0009c0  e8bd4010          POP      {r4,lr}
0009c4  e12fff1e          BX       lr
;;;630    
                          ENDP

                  init_RTC PROC
;;;634    {
;;;635    	RTC_AMR=0;
0009c8  e3a00000          MOV      r0,#0
0009cc  e59f14b8          LDR      r1,|L1.3724|
0009d0  e5810010          STR      r0,[r1,#0x10]
;;;636    	RTC_CIIR=0;
0009d4  e581000c          STR      r0,[r1,#0xc]
;;;637    	RTC_CCR=0x11;  //select 32.768KHz
0009d8  e3a00011          MOV      r0,#0x11
0009dc  e5810008          STR      r0,[r1,#8]
;;;638    	//RTC_PREINT
;;;639    }
0009e0  e12fff1e          BX       lr
;;;640    
                          ENDP

                  READ_RTC_SECOND PROC
;;;642    {
;;;643    	return RTC_SEC;
0009e4  e59f04a0          LDR      r0,|L1.3724|
0009e8  e5900020          LDR      r0,[r0,#0x20]
0009ec  e20000ff          AND      r0,r0,#0xff
;;;644    }
0009f0  e12fff1e          BX       lr
;;;645    
                          ENDP

                  READ_RTC_MINUTE PROC
;;;647    {
;;;648    	return RTC_MIN;
0009f4  e59f0490          LDR      r0,|L1.3724|
0009f8  e5900024          LDR      r0,[r0,#0x24]
0009fc  e20000ff          AND      r0,r0,#0xff
;;;649    }
000a00  e12fff1e          BX       lr
;;;650    
                          ENDP

                  READ_RTC_HOUR PROC
;;;652    {
;;;653    	return RTC_HOUR;
000a04  e59f0480          LDR      r0,|L1.3724|
000a08  e5900028          LDR      r0,[r0,#0x28]
000a0c  e20000ff          AND      r0,r0,#0xff
;;;654    }
000a10  e12fff1e          BX       lr
;;;655    
                          ENDP

                  READ_RTC_DAY PROC
;;;657    {
;;;658    	return RTC_DOM;
000a14  e59f0470          LDR      r0,|L1.3724|
000a18  e590002c          LDR      r0,[r0,#0x2c]
000a1c  e20000ff          AND      r0,r0,#0xff
;;;659    }
000a20  e12fff1e          BX       lr
;;;660    
                          ENDP

                  READ_RTC_MONTH PROC
;;;662    {
;;;663    	return RTC_MONTH;
000a24  e59f0460          LDR      r0,|L1.3724|
000a28  e5900038          LDR      r0,[r0,#0x38]
000a2c  e20000ff          AND      r0,r0,#0xff
;;;664    }
000a30  e12fff1e          BX       lr
;;;665    
                          ENDP

                  READ_RTC_YEAR PROC
;;;667    {
;;;668    	return RTC_YEAR;
000a34  e59f0450          LDR      r0,|L1.3724|
000a38  e590003c          LDR      r0,[r0,#0x3c]
;;;669    }
000a3c  e12fff1e          BX       lr
;;;670    
                          ENDP

                  READ_RTC PROC
;;;671    unsigned char * READ_RTC(void)
;;;672    {
000a40  e92d400c          PUSH     {r2,r3,lr}
;;;673    	char rt[6];
;;;674    	rt[0] = (char)READ_RTC_YEAR();
000a44  ebfffffe          BL       READ_RTC_YEAR
000a48  e5cd0000          STRB     r0,[sp,#0]
;;;675    	rt[1] = READ_RTC_MONTH();
000a4c  ebfffffe          BL       READ_RTC_MONTH
000a50  e5cd0001          STRB     r0,[sp,#1]
;;;676    	rt[2] = READ_RTC_DAY();
000a54  ebfffffe          BL       READ_RTC_DAY
000a58  e5cd0002          STRB     r0,[sp,#2]
;;;677    	rt[3] = READ_RTC_HOUR();
000a5c  ebfffffe          BL       READ_RTC_HOUR
000a60  e5cd0003          STRB     r0,[sp,#3]
;;;678    	rt[4] = READ_RTC_MINUTE();
000a64  ebfffffe          BL       READ_RTC_MINUTE
000a68  e5cd0004          STRB     r0,[sp,#4]
;;;679    	rt[5] = READ_RTC_SECOND(); 
000a6c  ebfffffe          BL       READ_RTC_SECOND
000a70  e5cd0005          STRB     r0,[sp,#5]
;;;680    	return rt;
000a74  e28d0000          ADD      r0,sp,#0
000a78  e8bd400c          POP      {r2,r3,lr}
;;;681    }
000a7c  e12fff1e          BX       lr
;;;682    
                          ENDP

                  Timer0Handler PROC
;;;693    void Timer0Handler(void) __irq 
;;;694    {
000a80  e92d0007          PUSH     {r0-r2}
;;;695    	unsigned int i;
;;;696    
;;;697        T0IR = 1;			/* clear interrupt flag */
000a84  e3a01001          MOV      r1,#1
000a88  e59f2400          LDR      r2,|L1.3728|
000a8c  e5821000          STR      r1,[r2,#0]
;;;698      //  IENABLE;			/* handles nested interrupt */
;;;699    
;;;700        timer_counter++;
000a90  e59f13fc          LDR      r1,|L1.3732|
000a94  e5911000          LDR      r1,[r1,#0]  ; timer_counter
000a98  e2811001          ADD      r1,r1,#1
000a9c  e59f23f0          LDR      r2,|L1.3732|
000aa0  e5821000          STR      r1,[r2,#0]  ; timer_counter
;;;701        
;;;702        key_scan_time_base_counter++;
000aa4  e59f13ec          LDR      r1,|L1.3736|
000aa8  e5911000          LDR      r1,[r1,#0]  ; key_scan_time_base_counter
000aac  e2811001          ADD      r1,r1,#1
000ab0  e59f23e0          LDR      r2,|L1.3736|
000ab4  e5821000          STR      r1,[r2,#0]  ; key_scan_time_base_counter
;;;703        
;;;704        refresh_input_value_counter++;
000ab8  e59f13dc          LDR      r1,|L1.3740|
000abc  e5911000          LDR      r1,[r1,#0]  ; refresh_input_value_counter
000ac0  e2811001          ADD      r1,r1,#1
000ac4  e59f23d0          LDR      r2,|L1.3740|
000ac8  e5821000          STR      r1,[r2,#0]  ; refresh_input_value_counter
;;;705    	
;;;706    	tcpip_time_base++;
000acc  e59f13cc          LDR      r1,|L1.3744|
000ad0  e5911000          LDR      r1,[r1,#0]  ; tcpip_time_base
000ad4  e2811001          ADD      r1,r1,#1
000ad8  e59f23c0          LDR      r2,|L1.3744|
000adc  e5821000          STR      r1,[r2,#0]  ; tcpip_time_base
;;;707    	  
;;;708    	read_ad_timebase++;
000ae0  e59f13bc          LDR      r1,|L1.3748|
000ae4  e5911000          LDR      r1,[r1,#0]  ; read_ad_timebase
000ae8  e2811001          ADD      r1,r1,#1
000aec  e59f23b0          LDR      r2,|L1.3748|
000af0  e5821000          STR      r1,[r2,#0]  ; read_ad_timebase
;;;709    	
;;;710    	send_request_by_uart4_timebase++;
000af4  e59f13ac          LDR      r1,|L1.3752|
000af8  e5911000          LDR      r1,[r1,#0]  ; send_request_by_uart4_timebase
000afc  e2811001          ADD      r1,r1,#1
000b00  e59f23a0          LDR      r2,|L1.3752|
000b04  e5821000          STR      r1,[r2,#0]  ; send_request_by_uart4_timebase
;;;711    	
;;;712    	send_status_by_udp_timebase++;
000b08  e59f139c          LDR      r1,|L1.3756|
000b0c  e5911000          LDR      r1,[r1,#0]  ; send_status_by_udp_timebase
000b10  e2811001          ADD      r1,r1,#1
000b14  e59f2390          LDR      r2,|L1.3756|
000b18  e5821000          STR      r1,[r2,#0]  ; send_status_by_udp_timebase
;;;713    	
;;;714    	save_to_sd_card_file_timebase++;
000b1c  e59f138c          LDR      r1,|L1.3760|
000b20  e5911000          LDR      r1,[r1,#0]  ; save_to_sd_card_file_timebase
000b24  e2811001          ADD      r1,r1,#1
000b28  e59f2380          LDR      r2,|L1.3760|
000b2c  e5821000          STR      r1,[r2,#0]  ; save_to_sd_card_file_timebase
;;;715    	//流量采样时间间隔
;;;716    	flow_collection_timebase++;
000b30  e59f137c          LDR      r1,|L1.3764|
000b34  e5911000          LDR      r1,[r1,#0]  ; flow_collection_timebase
000b38  e2811001          ADD      r1,r1,#1
000b3c  e59f2370          LDR      r2,|L1.3764|
000b40  e5821000          STR      r1,[r2,#0]  ; flow_collection_timebase
;;;717    	//判断串口是否进行超时计数
;;;718    	for (i = 0; i < 5; i++)
000b44  e3a00000          MOV      r0,#0
000b48  ea00000b          B        |L1.2940|
                  |L1.2892|
;;;719    	{
;;;720    		if (g_site_conf_extend.com_port[i].timeout_calflg == TRUE)
000b4c  e0801180          ADD      r1,r0,r0,LSL #3
000b50  e59f2360          LDR      r2,|L1.3768|
000b54  e0821101          ADD      r1,r2,r1,LSL #2
000b58  e5911020          LDR      r1,[r1,#0x20]
000b5c  e3510001          CMP      r1,#1
000b60  1a000004          BNE      |L1.2936|
;;;721    			g_site_conf_extend.com_port[0].timeout_ticks++;
000b64  e59f134c          LDR      r1,|L1.3768|
000b68  e591101c          LDR      r1,[r1,#0x1c]  ; g_site_conf_extend
000b6c  e2811001          ADD      r1,r1,#1
000b70  e59f2340          LDR      r2,|L1.3768|
000b74  e582101c          STR      r1,[r2,#0x1c]  ; g_site_conf_extend
                  |L1.2936|
000b78  e2800001          ADD      r0,r0,#1              ;718
                  |L1.2940|
000b7c  e3500005          CMP      r0,#5                 ;718
000b80  3afffff1          BCC      |L1.2892|
;;;722    	}
;;;723    
;;;724      //  IDISABLE;
;;;725        VICVectAddr = 0;		/* Acknowledge Interrupt */
000b84  e3a01000          MOV      r1,#0
000b88  e5011100          STR      r1,[r1,#-0x100]
;;;726    }
000b8c  e8bd0007          POP      {r0-r2}
000b90  e25ef004          SUBS     pc,lr,#4
;;;727    
                          ENDP

                  enable_timer PROC
;;;738    {
;;;739        if ( timer_num == 0 )
000b94  e3500000          CMP      r0,#0
000b98  1a000003          BNE      |L1.2988|
;;;740        {
;;;741    		T0TCR = 1;
000b9c  e3a01001          MOV      r1,#1
000ba0  e59f22e8          LDR      r2,|L1.3728|
000ba4  e5821004          STR      r1,[r2,#4]
000ba8  ea000002          B        |L1.3000|
                  |L1.2988|
;;;742        }
;;;743        else
;;;744        {
;;;745    		T1TCR = 1;
000bac  e3a01001          MOV      r1,#1
000bb0  e59f2304          LDR      r2,|L1.3772|
000bb4  e5821004          STR      r1,[r2,#4]
                  |L1.3000|
;;;746        }
;;;747        return;
;;;748    }
000bb8  e12fff1e          BX       lr
;;;749    
                          ENDP

                  disable_timer PROC
;;;760    {
;;;761        if ( timer_num == 0 )
000bbc  e3500000          CMP      r0,#0
000bc0  1a000003          BNE      |L1.3028|
;;;762        {
;;;763    		T0TCR = 0;
000bc4  e3a01000          MOV      r1,#0
000bc8  e59f22c0          LDR      r2,|L1.3728|
000bcc  e5821004          STR      r1,[r2,#4]
000bd0  ea000002          B        |L1.3040|
                  |L1.3028|
;;;764        }
;;;765        else
;;;766        {
;;;767    		T1TCR = 0;
000bd4  e3a01000          MOV      r1,#0
000bd8  e59f22dc          LDR      r2,|L1.3772|
000bdc  e5821004          STR      r1,[r2,#4]
                  |L1.3040|
;;;768        }

⌨️ 快捷键说明

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