err.lis
来自「平缝机的单片机伺服控制系统源代码。本程序为用单片机控制永磁同步电机的低成本方案」· LIS 代码 · 共 1,351 行 · 第 1/4 页
LIS
1,351 行
02C0 20920000 sts _g_Lower220VCnt,R2
02C4 .dbline 404
02C4 ; g_Over220VCnt = 0;
02C4 30920100 sts _g_Over220VCnt+1,R3
02C8 20920000 sts _g_Over220VCnt,R2
02CC .dbline 405
02CC ; }
02CC L68:
02CC .dbline 406
02CC ; g_LowSpeedCnt = 0;
02CC 2224 clr R2
02CE 3324 clr R3
02D0 30920100 sts _g_LowSpeedCnt+1,R3
02D4 20920000 sts _g_LowSpeedCnt,R2
02D8 .dbline 407
02D8 ; }
02D8 30C0 rjmp L65
02DA L64:
02DA .dbline 409
02DA ; else
02DA ; {
02DA .dbline 410
02DA ; g_Lower220VCnt = 0;
02DA 2224 clr R2
02DC 3324 clr R3
02DE 30920100 sts _g_Lower220VCnt+1,R3
02E2 20920000 sts _g_Lower220VCnt,R2
02E6 .dbline 411
02E6 ; g_Over220VCnt = 0;
02E6 30920100 sts _g_Over220VCnt+1,R3
02EA 20920000 sts _g_Over220VCnt,R2
02EE .dbline 412
02EE ; if (g_LowSpeed)
02EE 20900000 lds R2,_g_LowSpeed
02F2 2220 tst R2
02F4 51F0 breq L72
02F6 .dbline 413
02F6 ; {
02F6 .dbline 414
02F6 ; g_LowSpeedCnt ++;
02F6 80910000 lds R24,_g_LowSpeedCnt
02FA 90910100 lds R25,_g_LowSpeedCnt+1
02FE 0196 adiw R24,1
0300 90930100 sts _g_LowSpeedCnt+1,R25
0304 80930000 sts _g_LowSpeedCnt,R24
0308 .dbline 415
0308 ; }
0308 06C0 rjmp L73
030A L72:
030A .dbline 417
030A ; else
030A ; {
030A .dbline 418
030A ; g_LowSpeedCnt = 0;
030A 2224 clr R2
030C 3324 clr R3
030E 30920100 sts _g_LowSpeedCnt+1,R3
0312 20920000 sts _g_LowSpeedCnt,R2
0316 .dbline 419
0316 ; }
0316 L73:
0316 .dbline 420
0316 ; if (g_LowSpeedCnt > 200)
0316 88EC ldi R24,200
0318 90E0 ldi R25,0
031A 20900000 lds R2,_g_LowSpeedCnt
031E 30900100 lds R3,_g_LowSpeedCnt+1
0322 8215 cp R24,R2
0324 9305 cpc R25,R3
0326 48F4 brsh L74
0328 .dbline 421
0328 ; {
0328 .dbline 422
0328 ; g_MotorBlock = 1;
0328 81E0 ldi R24,1
032A 80930000 sts _g_MotorBlock,R24
032E .dbline 423
032E ; g_LowSpeedCnt = 0;
032E 2224 clr R2
0330 3324 clr R3
0332 30920100 sts _g_LowSpeedCnt+1,R3
0336 20920000 sts _g_LowSpeedCnt,R2
033A .dbline 424
033A ; }
033A L74:
033A .dbline 425
033A ; }
033A L65:
033A .dbline 428
033A ;
033A ;
033A ; if (g_SingleOverVol)
033A 20900000 lds R2,_g_SingleOverVol
033E 2220 tst R2
0340 51F0 breq L76
0342 .dbline 429
0342 ; {
0342 .dbline 430
0342 ; g_Lower400VCnt ++;
0342 80910000 lds R24,_g_Lower400VCnt
0346 90910100 lds R25,_g_Lower400VCnt+1
034A 0196 adiw R24,1
034C 90930100 sts _g_Lower400VCnt+1,R25
0350 80930000 sts _g_Lower400VCnt,R24
0354 .dbline 431
0354 ; }
0354 09C0 rjmp L77
0356 L76:
0356 .dbline 433
0356 ; else
0356 ; {
0356 .dbline 434
0356 ; g_Over400VCnt ++;
0356 80910000 lds R24,_g_Over400VCnt
035A 90910100 lds R25,_g_Over400VCnt+1
035E 0196 adiw R24,1
0360 90930100 sts _g_Over400VCnt+1,R25
0364 80930000 sts _g_Over400VCnt,R24
0368 .dbline 435
0368 ; }
0368 L77:
0368 .dbline 436
0368 ; if (g_Lower400VCnt + g_Over400VCnt > 300)
0368 20900000 lds R2,_g_Over400VCnt
036C 30900100 lds R3,_g_Over400VCnt+1
0370 40900000 lds R4,_g_Lower400VCnt
0374 50900100 lds R5,_g_Lower400VCnt+1
0378 420C add R4,R2
037A 531C adc R5,R3
037C 8CE2 ldi R24,300
037E 91E0 ldi R25,1
0380 8415 cp R24,R4
0382 9505 cpc R25,R5
0384 C0F4 brsh L78
0386 .dbline 437
0386 ; {
0386 .dbline 438
0386 ; if (g_Lower400VCnt >= g_Over400VCnt)
0386 40900000 lds R4,_g_Lower400VCnt
038A 50900100 lds R5,_g_Lower400VCnt+1
038E 4214 cp R4,R2
0390 5304 cpc R5,R3
0392 20F0 brlo L80
0394 .dbline 439
0394 ; {
0394 .dbline 440
0394 ; g_OverVol = 1;
0394 81E0 ldi R24,1
0396 80930000 sts _g_OverVol,R24
039A .dbline 441
039A ; }
039A 03C0 rjmp L81
039C L80:
039C .dbline 443
039C ; else
039C ; {
039C .dbline 444
039C ; g_OverVol = 0;
039C 2224 clr R2
039E 20920000 sts _g_OverVol,R2
03A2 .dbline 445
03A2 ; }
03A2 L81:
03A2 .dbline 446
03A2 ; g_Lower400VCnt = 0;
03A2 2224 clr R2
03A4 3324 clr R3
03A6 30920100 sts _g_Lower400VCnt+1,R3
03AA 20920000 sts _g_Lower400VCnt,R2
03AE .dbline 447
03AE ; g_Over400VCnt = 0;
03AE 30920100 sts _g_Over400VCnt+1,R3
03B2 20920000 sts _g_Over400VCnt,R2
03B6 .dbline 448
03B6 ; }
03B6 L78:
03B6 .dbline 451
03B6 ;
03B6 ;
03B6 ; if (g_StartLedFlick)
03B6 20900000 lds R2,_g_StartLedFlick
03BA 2220 tst R2
03BC 09F4 brne X2
03BE 48C0 rjmp L82
03C0 X2:
03C0 .dbline 452
03C0 ; {
03C0 .dbline 453
03C0 ; if (g_LedTimesCnt)
03C0 20900000 lds R2,_g_LedTimesCnt
03C4 2220 tst R2
03C6 49F1 breq L84
03C8 .dbline 454
03C8 ; {
03C8 .dbline 455
03C8 ; if (g_LedTimesT1 < LEDFLICKTIME1)
03C8 80910000 lds R24,_g_LedTimesT1
03CC 8233 cpi R24,50
03CE 68F4 brsh L86
03D0 .dbline 456
03D0 ; {
03D0 .dbline 457
03D0 ; if (g_LedType)
03D0 20900000 lds R2,_g_LedType
03D4 2220 tst R2
03D6 11F0 breq L88
03D8 .dbline 458
03D8 ; {
03D8 .dbline 459
03D8 ; RED_ON();
03D8 4298 cbi 0x8,2
03DA .dbline 460
03DA ; }
03DA 01C0 rjmp L89
03DC L88:
03DC .dbline 462
03DC ; else
03DC ; {
03DC .dbline 463
03DC ; GREEN_ON();
03DC 4398 cbi 0x8,3
03DE .dbline 464
03DE ; }
03DE L89:
03DE .dbline 465
03DE ; g_LedTimesT1 ++;
03DE 80910000 lds R24,_g_LedTimesT1
03E2 8F5F subi R24,255 ; addi 1
03E4 80930000 sts _g_LedTimesT1,R24
03E8 .dbline 466
03E8 ; }
03E8 18C0 rjmp L87
03EA L86:
03EA .dbline 468
03EA ; else
03EA ; {
03EA .dbline 469
03EA ; if (g_LedType)
03EA 20900000 lds R2,_g_LedType
03EE 2220 tst R2
03F0 11F0 breq L90
03F2 .dbline 470
03F2 ; {
03F2 .dbline 471
03F2 ; RED_OFF();
03F2 429A sbi 0x8,2
03F4 .dbline 472
03F4 ; }
03F4 01C0 rjmp L91
03F6 L90:
03F6 .dbline 474
03F6 ; else
03F6 ; {
03F6 .dbline 475
03F6 ; GREEN_OFF();
03F6 439A sbi 0x8,3
03F8 .dbline 476
03F8 ; }
03F8 L91:
03F8 .dbline 477
03F8 ; g_LedTimesT2 ++;
03F8 80910000 lds R24,_g_LedTimesT2
03FC 8F5F subi R24,255 ; addi 1
03FE 80930000 sts _g_LedTimesT2,R24
0402 .dbline 478
0402 ; if (g_LedTimesT2 == LEDFLICKTIME2)
0402 8233 cpi R24,50
0404 51F4 brne L92
0406 .dbline 479
0406 ; {
0406 .dbline 480
0406 ; g_LedTimesT2 = 0;
0406 2224 clr R2
0408 20920000 sts _g_LedTimesT2,R2
040C .dbline 481
040C ; g_LedTimesT1 = 0;
040C 20920000 sts _g_LedTimesT1,R2
0410 .dbline 482
0410 ; g_LedTimesCnt--;
0410 80910000 lds R24,_g_LedTimesCnt
0414 8150 subi R24,1
0416 80930000 sts _g_LedTimesCnt,R24
041A .dbline 483
041A ; }
041A L92:
041A .dbline 484
041A ; }
041A L87:
041A .dbline 485
041A ; }
041A L84:
041A .dbline 486
041A ; if (g_LedTimesCnt == 0)
041A 20900000 lds R2,_g_LedTimesCnt
041E 2220 tst R2
0420 B9F4 brne L94
0422 .dbline 487
0422 ; {
0422 .dbline 488
0422 ; g_LedTimesT3 ++;
0422 80910000 lds R24,_g_LedTimesT3
0426 90910100 lds R25,_g_LedTimesT3+1
042A 0196 adiw R24,1
042C 90930100 sts _g_LedTimesT3+1,R25
0430 80930000 sts _g_LedTimesT3,R24
0434 .dbline 489
0434 ; if (g_LedTimesT3 == LEDFLICKTIME3)
0434 8A3F cpi R24,250
0436 E0E0 ldi R30,0
0438 9E07 cpc R25,R30
043A 51F4 brne L96
043C .dbline 490
043C ; {
043C .dbline 491
043C ; g_LedTimesT3 = 0;
043C 2224 clr R2
043E 3324 clr R3
0440 30920100 sts _g_LedTimesT3+1,R3
0444 20920000 sts _g_LedTimesT3,R2
0448 .dbline 492
0448 ; g_LedTimesCnt = g_LedTimes;
0448 20900000 lds R2,_g_LedTimes
044C 20920000 sts _g_LedTimesCnt,R2
0450 .dbline 493
0450 ; }
0450 L96:
0450 .dbline 494
0450 ; }
0450 L94:
0450 .dbline 495
0450 L82:
0450 .dbline -2
0450 L63:
0450 .dbline 0 ; func end
0450 0895 ret
0452 .dbend
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?