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

📄 main.lis

📁 mega128平台下
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 0154           ;       if (SyncSeqNo>=2)
 0154 80912700          lds R24,_SyncSeqNo
 0158 8230              cpi R24,2
 015A 10F0              brlo L19
 015C           ;               stop_T0();
 015C 0E940000          xcall _stop_T0
 0160           L19:
 0160           L17:
 0160                   .dbline 0 ; func end
 0160 0895              ret
 0162           ;              j -> <dead>
 0162           ;              i -> R16
                        .even
 0162           _T1_timeout::
 0162           ; 
 0162           ; }
 0162           ; 
 0162           ; void T1_timeout()
 0162           ; {
 0162           ; 	unsigned char i, j;
 0162           ; 	for(i=1; i<=CLUSTER_NUMBER; i++)
 0162 01E0              ldi R16,1
 0164 2DC0              xjmp L25
 0166           L22:
 0166           ; 	{
 0166           ; 		if(receive_flag[i]==1)
 0166 80E0              ldi R24,<_receive_flag
 0168 90E0              ldi R25,>_receive_flag
 016A E02F              mov R30,R16
 016C FF27              clr R31
 016E E80F              add R30,R24
 0170 F91F              adc R31,R25
 0172 8081              ldd R24,z+0
 0174 8130              cpi R24,1
 0176 81F4              brne L26
 0178           ;               {
 0178           ;                       unreceive_timer[i] = 0;
 0178 80E0              ldi R24,<_unreceive_timer
 017A 90E0              ldi R25,>_unreceive_timer
 017C E02F              mov R30,R16
 017E FF27              clr R31
 0180 E80F              add R30,R24
 0182 F91F              adc R31,R25
 0184 2224              clr R2
 0186 2082              std z+0,R2
 0188           ;                       receive_flag[i] =0;
 0188 80E0              ldi R24,<_receive_flag
 018A 90E0              ldi R25,>_receive_flag
 018C E02F              mov R30,R16
 018E FF27              clr R31
 0190 E80F              add R30,R24
 0192 F91F              adc R31,R25
 0194 2082              std z+0,R2
 0196           ;               }
 0196 0AC0              xjmp L27
 0198           L26:
 0198           ; 	 	else 
 0198           ; 	 		unreceive_timer[i]++;
 0198 80E0              ldi R24,<_unreceive_timer
 019A 90E0              ldi R25,>_unreceive_timer
 019C 202E              mov R2,R16
 019E 3324              clr R3
 01A0 280E              add R2,R24
 01A2 391E              adc R3,R25
 01A4 F101              movw R30,R2
 01A6 8081              ldd R24,z+0
 01A8 8F5F              subi R24,255    ; addi 1
 01AA 8083              std z+0,R24
 01AC           L27:
 01AC           ; 	 	 
 01AC           ; 	 	if(unreceive_timer[i]>=3)
 01AC 80E0              ldi R24,<_unreceive_timer
 01AE 90E0              ldi R25,>_unreceive_timer
 01B0 E02F              mov R30,R16
 01B2 FF27              clr R31
 01B4 E80F              add R30,R24
 01B6 F91F              adc R31,R25
 01B8 8081              ldd R24,z+0
 01BA 8330              cpi R24,3
 01BC 00F0              brlo L28
 01BE           ;               {
 01BE           ;                       /* for(j=0; j<NODE_NUMBER; j++)
 01BE           ;                        {
 01BE           ;                                Node[i-1][j]->temp = 0;
 01BE           ;                                Node[i-1][j]->vol = 0;
 01BE           ;                        }
 01BE           ;                       */
 01BE           ;                       //发送一个故障报告
 01BE           ;           }
 01BE           L28:
 01BE           L23:
 01BE 0395              inc R16
 01C0           L25:
 01C0 82E0              ldi R24,2
 01C2 8017              cp R24,R16
 01C4 08F0              brlo X0
 01C6 CFCF              xjmp L22
 01C8           X0:
 01C8           L21:
 01C8                   .dbline 0 ; func end
 01C8 0895              ret
                        .even
 01CA           _T2_timeout::
 01CA           ; 	}
 01CA           ; }
 01CA           ; 
 01CA           ; void T2_timeout()
 01CA           ; {
 01CA           ; 	led0Toggle();
 01CA 0E940000          xcall _led0Toggle
 01CE           L30:
 01CE                   .dbline 0 ; func end
 01CE 0895              ret
                        .even
 01D0           _T3_timeout::
 01D0           ; }
 01D0           ; void T3_timeout()
 01D0           ; {
 01D0           ; 	led1Toggle();
 01D0 0E940000          xcall _led1Toggle
 01D4           L31:
 01D4                   .dbline 0 ; func end
 01D4 0895              ret
                        .even
 01D6           _CC1100_sendDone::
 01D6           ; }
 01D6           ; 
 01D6           ; void CC1100_sendDone()
 01D6           ; {
 01D6           ; 	//led0Off();
 01D6           ; 	return;
 01D6           L32:
 01D6                   .dbline 0 ; func end
 01D6 0895              ret
                        .even
 01D8           _radio_ack_task::
 01D8           ; }
 01D8           ; /*
 01D8           ; * ACK sink
 01D8           ; */
 01D8           ; void radio_ack_task()
 01D8           ; {   
 01D8           ; 	RADIO_ACK_MSG.len = LEN_SEND_MSG;
 01D8 8CE0              ldi R24,12
 01DA 80932800          sts _RADIO_ACK_MSG,R24
 01DE           ;       RADIO_ACK_MSG.ID = 0x00;
 01DE 2224              clr R2
 01E0 20922900          sts _RADIO_ACK_MSG+1,R2
 01E4           ;       RADIO_ACK_MSG.GID = 0x00;
 01E4 20922A00          sts _RADIO_ACK_MSG+2,R2
 01E8           ;       RADIO_ACK_MSG.type = CLUSTER_ACK;
 01E8 83E0              ldi R24,3
 01EA 80932D00          sts _RADIO_ACK_MSG+5,R24
 01EE           ; //   RADIO_ACK_MSG->crc = xcrc_calc(RADIO_ACK_MSG, 2,17);
 01EE           ;       CC1100_send((((char *)&RADIO_ACK_MSG)),LEN_SEND_MSG+1);
 01EE 2DE0              ldi R18,13
 01F0 00E0              ldi R16,<_RADIO_ACK_MSG
 01F2 10E0              ldi R17,>_RADIO_ACK_MSG
 01F4 0E940000          xcall _CC1100_send
 01F8           L33:
 01F8                   .dbline 0 ; func end
 01F8 0895              ret
 01FA           ;              i -> <dead>
 01FA           ;            msg -> R22,R23
 01FA           ;         target -> R22,R23
 01FA           ;        cluster -> R10
 01FA           ;    receive_msg -> R20,R21
                        .even
 01FA           _CC1100_receive::
 01FA 0E940000          xcall push_gset3
 01FE           ; }
 01FE           ; 
 01FE           ; extern unsigned char rxBuffer[32];
 01FE           ; 
 01FE           ; void CC1100_receive()
 01FE           ; {
 01FE           ;       COMM_MSG *receive_msg;
 01FE           ;       unsigned char cluster;
 01FE           ;       unsigned short int target;
 01FE           ;       unsigned char *msg = (&rxBuffer[0]);
 01FE 60E0              ldi R22,<_rxBuffer
 0200 70E0              ldi R23,>_rxBuffer
 0202           ;       //printf("recv\n");
 0202           ;       led1Toggle();
 0202 0E940000          xcall _led1Toggle
 0206           ;       receive_msg = (COMM_MSG *)msg;
 0206 AB01              movw R20,R22
 0208           ;       cluster = receive_msg->GID;
 0208 FA01              movw R30,R20
 020A A280              ldd R10,z+2
 020C           ;       target = cluster;
 020C 6A2D              mov R22,R10
 020E 7727              clr R23
 0210           ;       target = ((target<<8) & 0xff00);
 0210 762F              mov R23,R22
 0212 6627              clr R22
 0214 6070              andi R22,0
 0216           ;       unreceive_timer[cluster-1] = 0;
 0216 80E0              ldi R24,<_unreceive_timer-1
 0218 90E0              ldi R25,>_unreceive_timer-1
 021A EA2D              mov R30,R10
 021C FF27              clr R31
 021E E80F              add R30,R24
 0220 F91F              adc R31,R25
 0222 2224              clr R2
 0224 2082              std z+0,R2
 0226           ;       receive_flag[cluster-1]= 1;
 0226 80E0              ldi R24,<_receive_flag-1
 0228 90E0              ldi R25,>_receive_flag-1
 022A EA2D              mov R30,R10
 022C FF27              clr R31
 022E E80F              add R30,R24
 0230 F91F              adc R31,R25
 0232 81E0              ldi R24,1
 0234 8083              std z+0,R24
 0236           ;       switch(receive_msg->type)
 0236 FA01              movw R30,R20
 0238 A580              ldd R10,z+5
 023A BB24              clr R11
 023C C501              movw R24,R10
 023E 8D31              cpi R24,29
 0240 E0E0              ldi R30,0
 0242 9E07              cpc R25,R30
 0244 09F4              brne X2
 0246 87C0              xjmp L73
 0248           X2:
 0248 8D31              cpi R24,29
 024A E0E0              ldi R30,0
 024C 9E07              cpc R25,R30
 024E 0CF4              brge X3
 0250 9CC0              xjmp L41
 0252           X3:
 0252           L79:
 0252 C501              movw R24,R10
 0254 8C33              cpi R24,60
 0256 E0E0              ldi R30,0
 0258 9E07              cpc R25,R30
 025A 09F0              breq L43
 025C 96C0              xjmp L41
 025E           X1:
 025E           ;   	{
 025E           L43:
 025E           ;   		int i;
 025E           ;   		case CLUSTER_DATA:
 025E           ;   		{ 		
 025E           ;   			
 025E           ; 			/*for(i=0;i<NODE_NUMBER;i++)  //NODE_NUMBER=2
 025E           ;   			{
 025E           ;   		  		Node[cluster-1][i]->ID = receive_msg->data[(i*3)+0];
 025E           ;   				Node[cluster-1][i]->temp = receive_msg->data[(i*3)+1];
 025E           ;   				Node[cluster-1][i]->vol = receive_msg->data[(i*3)+2];
 025E           ;   				//              //
 025E           ; 			*/
 025E           ; 			Data[0]=29;
 025E 8DE1              ldi R24,29
 0260 80930800          sts _Data,R24
 0264           ;                       Data[1]=70;
 0264 86E4              ldi R24,70
 0266 80930900          sts _Data+1,R24
 026A           ;                       Data[2]=receive_msg->GID;
 026A FA01              movw R30,R20
 026C 2280              ldd R2,z+2
 026E 20920A00          sts _Data+2,R2
 0272           ;                       Data[3]=receive_msg->data[1];
 0272 FA01              movw R30,R20
 0274 2780              ldd R2,z+7
 0276 20920B00          sts _Data+3,R2
 027A           ;                       Data[4]=receive_msg->data[2];
 027A FA01              movw R30,R20
 027C 2084              ldd R2,z+8
 027E 20920C00          sts _Data+4,R2
 0282           ;                       Data[5]=receive_msg->data[3];
 0282 FA01              movw R30,R20
 0284 2184              ldd R2,z+9
 0286 20920D00          sts _Data+5,R2
 028A           ;                       Data[6]=receive_msg->data[4];
 028A FA01              movw R30,R20
 028C 2284              ldd R2,z+10
 028E 20920E00          sts _Data+6,R2
 0292           ;               
 0292           ;                       Data[7]=receive_msg->GID;
 0292 FA01              movw R30,R20
 0294 2280              ldd R2,z+2
 0296 20920F00          sts _Data+7,R2
 029A           ;                       Data[8]=receive_msg->data[5];
 029A FA01              movw R30,R20
 029C 2384              ldd R2,z+11
 029E 20921000          sts _Data+8,R2
 02A2           ;                       Data[9]=receive_msg->data[6];
 02A2 FA01              movw R30,R20
 02A4 2484              ldd R2,z+12
 02A6 20921100          sts _Data+9,R2
 02AA           ;                       Data[10]=receive_msg->data[7];
 02AA FA01              movw R30,R20
 02AC 2584              ldd R2,z+13
 02AE 20921200          sts _Data+10,R2
 02B2           ;                       Data[11]=receive_msg->data[8];
 02B2 FA01              movw R30,R20
 02B4 2684              ldd R2,z+14
 02B6 20921300          sts _Data+11,R2
 02BA           ;               
 02BA           ;                       Data[12]=receive_msg->GID;
 02BA FA01              movw R30,R20
 02BC 2280              ldd R2,z+2
 02BE 20921400          sts _Data+12,R2
 02C2           ;                       Data[13]=receive_msg->data[9];
 02C2 FA01              movw R30,R20
 02C4 2784              ldd R2,z+15
 02C6 20921500          sts _Data+13,R2
 02CA           ;                       Data[14]=receive_msg->data[10];
 02CA FA01              movw R30,R20
 02CC 2088              ldd R2,z+16
 02CE 20921600          sts _Data+14,R2
 02D2           ;                       Data[15]=receive_msg->data[11];
 02D2 FA01              movw R30,R20
 02D4 2188              ldd R2,z+17
 02D6 20921700          sts _Data+15,R2
 02DA           ;                       Data[16]=receive_msg->data[12];
 02DA FA01              movw R30,R20
 02DC 2288              ldd R2,z+18
 02DE 20921800          sts _Data+16,R2
 02E2           ;                       
 02E2           ;                       Data[17]=receive_msg->GID;
 02E2 FA01              movw R30,R20
 02E4 2280              ldd R2,z+2
 02E6 20921900          sts _Data+17,R2
 02EA           ;                       Data[18]=receive_msg->data[13];
 02EA FA01              movw R30,R20
 02EC 2388              ldd R2,z+19
 02EE 20921A00          sts _Data+18,R2
 02F2           ;                       Data[19]=receive_msg->data[14];
 02F2 FA01              movw R30,R20
 02F4 2488              ldd R2,z+20
 02F6 20921B00          sts _Data+19,R2
 02FA           ;                       Data[20]=receive_msg->data[15];

⌨️ 快捷键说明

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