📄 interrupt.lis
字号:
02C6 80930000 sts _JWD_ptr,R24
02CA .dbline 148
02CA L69:
02CA .dbline 143
02CA 4395 inc R20
02CC L71:
02CC .dbline 143
02CC ; for(i=0;i<26;i++){
02CC 4A31 cpi R20,26
02CE C8F2 brlo L68
02D0 .dbline 149
02D0 ; CharTOASC(*JWD_ptr);
02D0 ; DJWDINFO[i*2]=comm_t;
02D0 ; DJWDINFO[(i*2)+1]=comm_b;
02D0 ; JWD_ptr++;
02D0 ; }
02D0 ; DJWDINFO[52]=0;
02D0 2224 clr R2
02D2 20923800 sts _DJWDINFO+52,R2
02D6 .dbline 150
02D6 ; DJWD_ptr=DJWDINFO;
02D6 80E0 ldi R24,<_DJWDINFO
02D8 90E0 ldi R25,>_DJWDINFO
02DA 90930100 sts _DJWD_ptr+1,R25
02DE 80930000 sts _DJWD_ptr,R24
02E2 .dbline -2
02E2 L63:
02E2 00D0 rcall pop_gset1
02E4 .dbline 0 ; func end
02E4 0895 ret
02E6 .dbsym r i 20 c
02E6 .dbend
02E6 .dbfunc e Buf_Sub _Buf_Sub fV
02E6 ; k -> R22
02E6 ; i -> R20
02E6 ; ch -> R10,R11
02E6 ; j -> R12
.even
02E6 _Buf_Sub::
02E6 00D0 rcall push_gset4
02E8 .dbline -1
02E8 .dbline 217
02E8 ; // Send_Test();
02E8 ; }
02E8 ;
02E8 ; /*void Send_Test(void){
02E8 ; uchar i;
02E8 ; // (!Fbit.Send_GInfoFlag)return;
02E8 ; // Fbit.Send_GInfoFlag=FALSE;
02E8 ; while(*DJWD_ptr){
02E8 ; PSendChar(*DJWD_ptr);
02E8 ; DJWD_ptr++;
02E8 ; }
02E8 ; PSendChar(0x0d);
02E8 ; //EN_RxGps;
02E8 ; }*/
02E8 ;
02E8 ; /*void Parse_GpsData(void)
02E8 ; { uchar i;
02E8 ; uchar temp;
02E8 ; Clear_GpsData();
02E8 ; //Read_byte();
02E8 ; //temp = Read_byte();
02E8 ; if(',' != temp) {
02E8 ; WD[0] = temp;
02E8 ; for(i=0; i<3; i++)
02E8 ; {
02E8 ; WD[i+1] = Read_byte();
02E8 ; }
02E8 ; Read_byte(); //.
02E8 ; for(i=0; i<5; i++)
02E8 ; {
02E8 ; WD[4+i] = Read_byte();
02E8 ; }
02E8 ; Read_byte(); //,
02E8 ; }
02E8 ; // END WD,START SN.............................................................................
02E8 ; temp = Read_byte(); //S/N
02E8 ; if(',' != temp)
02E8 ; {
02E8 ; SN= temp;
02E8 ; Read_byte();// ,
02E8 ; }
02E8 ; //END SN.START JD................................................................................
02E8 ; temp = Read_byte();
02E8 ; if(',' != temp)
02E8 ; {
02E8 ; JD[0] = temp;
02E8 ; for(i=0; i<4; i++)
02E8 ; {
02E8 ; JD[i+1] = Read_byte();
02E8 ; }
02E8 ; Read_byte();
02E8 ; for(i=0; i<5; i++)
02E8 ; {
02E8 ; JD[5+i] = Read_byte();
02E8 ; }
02E8 ; Read_byte();
02E8 ; }
02E8 ; //......................................................................................................................................
02E8 ; temp = Read_byte();
02E8 ; if(',' != temp)
02E8 ; { EW = temp;
02E8 ; Read_byte();
02E8 ; }*/
02E8 ; // Fbit.Send_GInfoFlag=TRUE;
02E8 ; // }
02E8 ;
02E8 ; void Buf_Sub(void){
02E8 .dbline 220
02E8 ; uchar i,j,k;
02E8 ; uint ch;
02E8 ; if(!Fbit.Timer_Start)return;
02E8 20906E00 lds R2,_Fbit
02EC 30906F00 lds R3,_Fbit+1
02F0 35FC sbrc R3,5
02F2 01C0 rjmp L75
02F4 .dbline 220
02F4 8EC0 rjmp L74
02F6 L75:
02F6 .dbline 221
02F6 ; Fbit.Timer_Start=FALSE;
02F6 80916E00 lds R24,_Fbit
02FA 90916F00 lds R25,_Fbit+1
02FE 9F7D andi R25,223
0300 90936F00 sts _Fbit+1,R25
0304 80936E00 sts _Fbit,R24
0308 .dbline 222
0308 ; i=0;
0308 4427 clr R20
030A 37C0 rjmp L78
030C L77:
030C .dbline 223
030C ; while(++i<10){
030C .dbline 224
030C ; k=i-1;ch=Buf_plus[k];
030C 642F mov R22,R20
030E 6150 subi R22,1
0310 .dbline 224
0310 80E0 ldi R24,<_Buf_plus
0312 90E0 ldi R25,>_Buf_plus
0314 E62F mov R30,R22
0316 FF27 clr R31
0318 E80F add R30,R24
031A F91F adc R31,R25
031C A080 ldd R10,z+0
031E BB24 clr R11
0320 .dbline 225
0320 C42E mov R12,R20
0322 13C0 rjmp L83
0324 L80:
0324 .dbline 225
0324 ; for(j=i;j<10;j++){
0324 .dbline 226
0324 ; if(Buf_plus[j]>ch){k=j;ch=Buf_plus[j];}
0324 80E0 ldi R24,<_Buf_plus
0326 90E0 ldi R25,>_Buf_plus
0328 EC2D mov R30,R12
032A FF27 clr R31
032C E80F add R30,R24
032E F91F adc R31,R25
0330 2080 ldd R2,z+0
0332 3324 clr R3
0334 A214 cp R10,R2
0336 B304 cpc R11,R3
0338 38F4 brsh L84
033A .dbline 226
033A .dbline 226
033A 6C2D mov R22,R12
033C .dbline 226
033C EC2D mov R30,R12
033E FF27 clr R31
0340 E80F add R30,R24
0342 F91F adc R31,R25
0344 A080 ldd R10,z+0
0346 BB24 clr R11
0348 .dbline 226
0348 L84:
0348 .dbline 227
0348 L81:
0348 .dbline 225
0348 C394 inc R12
034A L83:
034A .dbline 225
034A 8C2D mov R24,R12
034C 8A30 cpi R24,10
034E 50F3 brlo L80
0350 .dbline 228
0350 80E0 ldi R24,<_Buf_plus-1
0352 90E0 ldi R25,>_Buf_plus-1
0354 E42F mov R30,R20
0356 FF27 clr R31
0358 E80F add R30,R24
035A F91F adc R31,R25
035C 2080 ldd R2,z+0
035E 80E0 ldi R24,<_Buf_plus
0360 90E0 ldi R25,>_Buf_plus
0362 E62F mov R30,R22
0364 FF27 clr R31
0366 E80F add R30,R24
0368 F91F adc R31,R25
036A 2082 std z+0,R2
036C .dbline 229
036C 80E0 ldi R24,<_Buf_plus-1
036E 90E0 ldi R25,>_Buf_plus-1
0370 E42F mov R30,R20
0372 FF27 clr R31
0374 E80F add R30,R24
0376 F91F adc R31,R25
0378 A082 std z+0,R10
037A .dbline 230
037A L78:
037A .dbline 223
037A 842F mov R24,R20
037C 8F5F subi R24,255 ; addi 1
037E 482F mov R20,R24
0380 4A30 cpi R20,10
0382 08F4 brsh X1
0384 C3CF rjmp L77
0386 X1:
0386 .dbline 231
0386 43E0 ldi R20,3
0388 13C0 rjmp L91
038A L88:
038A .dbline 231
038A 80E0 ldi R24,<_Buf_plus
038C 90E0 ldi R25,>_Buf_plus
038E E42F mov R30,R20
0390 FF27 clr R31
0392 E80F add R30,R24
0394 F91F adc R31,R25
0396 2080 ldd R2,z+0
0398 3324 clr R3
039A 40905800 lds R4,_Total_ADK
039E 50905900 lds R5,_Total_ADK+1
03A2 420C add R4,R2
03A4 531C adc R5,R3
03A6 50925900 sts _Total_ADK+1,R5
03AA 40925800 sts _Total_ADK,R4
03AE L89:
03AE .dbline 231
03AE 4395 inc R20
03B0 L91:
03B0 .dbline 231
03B0 ; }
03B0 ; Buf_plus[k]=Buf_plus[i-1];
03B0 ; Buf_plus[i-1]=ch;
03B0 ; }
03B0 ; for(i=3;i<8;i++)Total_ADK+=Buf_plus[i];
03B0 4830 cpi R20,8
03B2 58F3 brlo L88
03B4 .dbline 232
03B4 ; Get_Num=(Total_ADK/5);
03B4 25E0 ldi R18,5
03B6 30E0 ldi R19,0
03B8 00915800 lds R16,_Total_ADK
03BC 10915900 lds R17,_Total_ADK+1
03C0 00D0 rcall div16u
03C2 10935700 sts _Get_Num+1,R17
03C6 00935600 sts _Get_Num,R16
03CA .dbline 233
03CA ; Total_ADK=0;
03CA 2224 clr R2
03CC 3324 clr R3
03CE 30925900 sts _Total_ADK+1,R3
03D2 20925800 sts _Total_ADK,R2
03D6 .dbline 234
03D6 ; if(Get_Num>=130){Get_Num=130;}
03D6 0238 cpi R16,130
03D8 E0E0 ldi R30,0
03DA 1E07 cpc R17,R30
03DC 30F0 brlo L92
03DE .dbline 234
03DE .dbline 234
03DE 82E8 ldi R24,130
03E0 90E0 ldi R25,0
03E2 90935700 sts _Get_Num+1,R25
03E6 80935600 sts _Get_Num,R24
03EA .dbline 234
03EA L92:
03EA .dbline 235
03EA ; if((Get_Num<=50)&&(Get_Num!=0)){Get_Num=50;}
03EA 82E3 ldi R24,50
03EC 90E0 ldi R25,0
03EE 20905600 lds R2,_Get_Num
03F2 30905700 lds R3,_Get_Num+1
03F6 8215 cp R24,R2
03F8 9305 cpc R25,R3
03FA 50F0 brlo L94
03FC 2220 tst R2
03FE 11F4 brne X0
0400 3320 tst R3
0402 31F0 breq L94
0404 X0:
0404 .dbline 235
0404 .dbline 235
0404 82E3 ldi R24,50
0406 90E0 ldi R25,0
0408 90935700 sts _Get_Num+1,R25
040C 80935600 sts _Get_Num,R24
0410 .dbline 235
0410 L94:
0410 .dbline 236
0410 ; Data_Ptr();
0410 00D0 rcall _Data_Ptr
0412 .dbline -2
0412 L74:
0412 00D0 rcall pop_gset4
0414 .dbline 0 ; func end
0414 0895 ret
0416 .dbsym r k 22 c
0416 .dbsym r i 20 c
0416 .dbsym r ch 10 i
0416 .dbsym r j 12 c
0416 .dbend
0416 .dbfunc e Timer_Function _Timer_Function fV
.even
0416 _Timer_Function::
0416 .dbline -1
0416 .dbline 239
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -