📄 main.lis
字号:
0310 4094 com R4
0312 5524 clr R5
0314 47FC sbrc R4,7
0316 5094 com R5
0318 6880 ldd R6,y+0
031A 7980 ldd R7,y+1
031C 8A80 ldd R8,y+2
031E 9B80 ldd R9,y+3
0320 6214 cp R6,R2
0322 7304 cpc R7,R3
0324 8404 cpc R8,R4
0326 9504 cpc R9,R5
0328 09F4 brne X1
032A 0DC1 xjmp L20
032C X1:
032C .dbline 270
032C ; {
032C .dbline 271
032C ; CLI();
032C F894 cli
032E .dbline 272
032E ; tempp = ID_net*256;
032E 20910600 lds R18,_ID_net
0332 3327 clr R19
0334 00E0 ldi R16,256
0336 11E0 ldi R17,1
0338 0E940000 xcall empy16s
033C 1801 movw R2,R16
033E 4424 clr R4
0340 37FC sbrc R3,7
0342 4094 com R4
0344 5524 clr R5
0346 47FC sbrc R4,7
0348 5094 com R5
034A 2882 std y+0,R2
034C 3982 std y+1,R3
034E 4A82 std y+2,R4
0350 5B82 std y+3,R5
0352 .dbline 273
0352 ; Pass_Flag = 0x01;
0352 81E0 ldi R24,1
0354 80930500 sts _Pass_Flag,R24
0358 .dbline 274
0358 ; id1 = BASE_ADDR+tempp;
0358 40E0 ldi R20,0
035A 50E0 ldi R21,0
035C 68E2 ldi R22,40
035E 70E0 ldi R23,0
0360 2880 ldd R2,y+0
0362 3980 ldd R3,y+1
0364 4A80 ldd R4,y+2
0366 5B80 ldd R5,y+3
0368 240E add R2,R20
036A 351E adc R3,R21
036C 461E adc R4,R22
036E 571E adc R5,R23
0370 30921900 sts _id1+1,R3
0374 20921800 sts _id1,R2
0378 50921B00 sts _id1+2+1,R5
037C 40921A00 sts _id1+2,R4
0380 .dbline 275
0380 ; id2 = BASE_ADDR+1+tempp;
0380 41E0 ldi R20,1
0382 50E0 ldi R21,0
0384 68E2 ldi R22,40
0386 70E0 ldi R23,0
0388 2880 ldd R2,y+0
038A 3980 ldd R3,y+1
038C 4A80 ldd R4,y+2
038E 5B80 ldd R5,y+3
0390 240E add R2,R20
0392 351E adc R3,R21
0394 461E adc R4,R22
0396 571E adc R5,R23
0398 30921500 sts _id2+1,R3
039C 20921400 sts _id2,R2
03A0 50921700 sts _id2+2+1,R5
03A4 40921600 sts _id2+2,R4
03A8 .dbline 276
03A8 ; Pass_Flag <<= 1;
03A8 282E mov R2,R24
03AA 220C lsl R2
03AC 20920500 sts _Pass_Flag,R2
03B0 .dbline 277
03B0 ; WDR();
03B0 A895 wdr
03B2 .dbline 278
03B2 ; id3 = BASE_ADDR/256+tempp*256;
03B2 2880 ldd R2,y+0
03B4 3980 ldd R3,y+1
03B6 4A80 ldd R4,y+2
03B8 5B80 ldd R5,y+3
03BA 40E0 ldi R20,0
03BC 51E0 ldi R21,1
03BE 60E0 ldi R22,0
03C0 70E0 ldi R23,0
03C2 5A92 st -y,R5
03C4 4A92 st -y,R4
03C6 3A92 st -y,R3
03C8 2A92 st -y,R2
03CA 8A01 movw R16,R20
03CC 9B01 movw R18,R22
03CE 0E940000 xcall empy32s
03D2 40E0 ldi R20,0
03D4 58E2 ldi R21,40
03D6 60E0 ldi R22,0
03D8 70E0 ldi R23,0
03DA 1801 movw R2,R16
03DC 2901 movw R4,R18
03DE 240E add R2,R20
03E0 351E adc R3,R21
03E2 461E adc R4,R22
03E4 571E adc R5,R23
03E6 30921100 sts _id3+1,R3
03EA 20921000 sts _id3,R2
03EE 50921300 sts _id3+2+1,R5
03F2 40921200 sts _id3+2,R4
03F6 .dbline 279
03F6 ; Pass_Flag <<= 1;
03F6 20900500 lds R2,_Pass_Flag
03FA 220C lsl R2
03FC 20920500 sts _Pass_Flag,R2
0400 .dbline 280
0400 ; id4 = BASE_ADDR/256+tempp*256+1;
0400 2880 ldd R2,y+0
0402 3980 ldd R3,y+1
0404 4A80 ldd R4,y+2
0406 5B80 ldd R5,y+3
0408 40E0 ldi R20,0
040A 51E0 ldi R21,1
040C 60E0 ldi R22,0
040E 70E0 ldi R23,0
0410 5A92 st -y,R5
0412 4A92 st -y,R4
0414 3A92 st -y,R3
0416 2A92 st -y,R2
0418 8A01 movw R16,R20
041A 9B01 movw R18,R22
041C 0E940000 xcall empy32s
0420 41E0 ldi R20,1
0422 58E2 ldi R21,40
0424 60E0 ldi R22,0
0426 70E0 ldi R23,0
0428 1801 movw R2,R16
042A 2901 movw R4,R18
042C 240E add R2,R20
042E 351E adc R3,R21
0430 461E adc R4,R22
0432 571E adc R5,R23
0434 30920D00 sts _id4+1,R3
0438 20920C00 sts _id4,R2
043C 50920F00 sts _id4+2+1,R5
0440 40920E00 sts _id4+2,R4
0444 .dbline 281
0444 ; id5 = BASE_ADDR/256+tempp*256+2;
0444 2880 ldd R2,y+0
0446 3980 ldd R3,y+1
0448 4A80 ldd R4,y+2
044A 5B80 ldd R5,y+3
044C 40E0 ldi R20,0
044E 51E0 ldi R21,1
0450 60E0 ldi R22,0
0452 70E0 ldi R23,0
0454 5A92 st -y,R5
0456 4A92 st -y,R4
0458 3A92 st -y,R3
045A 2A92 st -y,R2
045C 8A01 movw R16,R20
045E 9B01 movw R18,R22
0460 0E940000 xcall empy32s
0464 42E0 ldi R20,2
0466 58E2 ldi R21,40
0468 60E0 ldi R22,0
046A 70E0 ldi R23,0
046C 1801 movw R2,R16
046E 2901 movw R4,R18
0470 240E add R2,R20
0472 351E adc R3,R21
0474 461E adc R4,R22
0476 571E adc R5,R23
0478 30920900 sts _id5+1,R3
047C 20920800 sts _id5,R2
0480 50920B00 sts _id5+2+1,R5
0484 40920A00 sts _id5+2,R4
0488 .dbline 282
0488 ; Pass_Flag <<= 1;
0488 20900500 lds R2,_Pass_Flag
048C 220C lsl R2
048E 20920500 sts _Pass_Flag,R2
0492 .dbline 283
0492 ; WDR();
0492 A895 wdr
0494 .dbline 284
0494 ; CANMOBID[0] = id1;
0494 40901A00 lds R4,_id1+2
0498 50901B00 lds R5,_id1+2+1
049C 20901800 lds R2,_id1
04A0 30901900 lds R3,_id1+1
04A4 30920100 sts _CANMOBID+1,R3
04A8 20920000 sts _CANMOBID,R2
04AC 50920300 sts _CANMOBID+2+1,R5
04B0 40920200 sts _CANMOBID+2,R4
04B4 .dbline 285
04B4 ; CANMOBID[1] = id2;
04B4 40901600 lds R4,_id2+2
04B8 50901700 lds R5,_id2+2+1
04BC 20901400 lds R2,_id2
04C0 30901500 lds R3,_id2+1
04C4 30920500 sts _CANMOBID+4+1,R3
04C8 20920400 sts _CANMOBID+4,R2
04CC 50920700 sts _CANMOBID+4+2+1,R5
04D0 40920600 sts _CANMOBID+4+2,R4
04D4 .dbline 286
04D4 ; CANMOBID[3] = id3;
04D4 40901200 lds R4,_id3+2
04D8 50901300 lds R5,_id3+2+1
04DC 20901000 lds R2,_id3
04E0 30901100 lds R3,_id3+1
04E4 30920D00 sts _CANMOBID+12+1,R3
04E8 20920C00 sts _CANMOBID+12,R2
04EC 50920F00 sts _CANMOBID+12+2+1,R5
04F0 40920E00 sts _CANMOBID+12+2,R4
04F4 .dbline 287
04F4 ; CANMOBID[4] = id4;
04F4 40900E00 lds R4,_id4+2
04F8 50900F00 lds R5,_id4+2+1
04FC 20900C00 lds R2,_id4
0500 30900D00 lds R3,_id4+1
0504 30921100 sts _CANMOBID+16+1,R3
0508 20921000 sts _CANMOBID+16,R2
050C 50921300 sts _CANMOBID+16+2+1,R5
0510 40921200 sts _CANMOBID+16+2,R4
0514 .dbline 288
0514 ; CANMOBID[5] = id5;
0514 40900A00 lds R4,_id5+2
0518 50900B00 lds R5,_id5+2+1
051C 20900800 lds R2,_id5
0520 30900900 lds R3,_id5+1
0524 30921500 sts _CANMOBID+20+1,R3
0528 20921400 sts _CANMOBID+20,R2
052C 50921700 sts _CANMOBID+20+2+1,R5
0530 40921600 sts _CANMOBID+20+2,R4
0534 .dbline 289
0534 ; if(Pass_Flag!=0x08)
0534 80910500 lds R24,_Pass_Flag
0538 8830 cpi R24,8
053A 11F0 breq L26
053C .dbline 290
053C ; RESET;
053C 0C940000 jmp 0x00000
0540 L26:
0540 .dbline 291
0540 ; can_init ();
0540 0E940000 xcall _can_init
0544 .dbline 292
0544 ; SEI();
0544 7894 sei
0546 .dbline 293
0546 ; }
0546 L20:
0546 .dbline 295
0546 ;
0546 ; if(send_count>25) //连续25次发送失败则复位
0546 89E1 ldi R24,25
0548 20900000 lds R2,_send_count
054C 8215 cp R24,R2
054E 10F4 brsh L28
0550 .dbline 296
0550 ; RESET;
0550 0C940000 jmp 0x00000
0554 L28:
0554 .dbline 298
0554 ;
0554 ; if(Temp_Flag == 0x5a) //定时读去状态标志
0554 80910300 lds R24,_Temp_Flag
0558 8A35 cpi R24,90
055A 09F0 breq X2
055C 6AC0 xjmp L30
055E X2:
055E .dbline 299
055E ; {
055E .dbline 300
055E ; CLI();
055E F894 cli
0560 .dbline 302
0560 ;
0560 ; WDR();
0560 A895 wdr
0562 .dbline 303
0562 ; TIMSK0 = 0x00;
0562 2224 clr R2
0564 20926E00 sts 110,R2
0568 .dbline 304
0568 ; if(LED)
0568 .dbline 305
0568 ; {
0568 .dbline 306
0568 ; PORTB &= 0X3F; //灭网络灯
0568 85B1 in R24,0x5
056A 8F73 andi R24,63
056C 85B9 out 0x5,R24
056E .dbline 307
056E ; }
056E 03C0 xjmp L33
0570 L32:
0570 .dbline 310
0570 ; else
0570 ;
0570 ; PORTB |= 0Xc0;
0570 85B1 in R24,0x5
0572 806C ori R24,192
0574 85B9 out 0x5,R24
0576 L33:
0576 .dbline 312
0576 ;
0576 ; DI_handle(); //读取开关状态
0576 0E940000 xcall _DI_handle
057A .dbline 314
057A ;
057A ; for(i=0;i<12;i++)
057A AA24 clr R10
057C 4AC0 xjmp L37
057E L34:
057E .dbline 315
057E ; {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -