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

📄 icc_gmj.lst

📁 一款挂面机的自动化控制源程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
    044D F409      BNE	0x044F
    044E C116      RJMP	0x0565
    044F 3086      CPI	R24,6
    0450 E0E0      LDI	R30,0
    0451 079E      CPC	R25,R30
    0452 F409      BNE	0x0454
    0453 C171      RJMP	0x05C5
    0454 3087      CPI	R24,7
    0455 E0E0      LDI	R30,0
    0456 079E      CPC	R25,R30
    0457 F409      BNE	0x0459
    0458 C186      RJMP	0x05DF
    0459 3088      CPI	R24,0x8
    045A E0E0      LDI	R30,0
    045B 079E      CPC	R25,R30
    045C F409      BNE	0x045E
    045D C18B      RJMP	0x05E9
    045E C19E      RJMP	0x05FD
(0229)     {
(0230)     case 1:      //启动状态
(0231) 	   {
(0232) 	   qidong_num++;
    045F 91800065  LDS	R24,qidong_num
    0461 5F8F      SUBI	R24,0xFF
    0462 93800065  STS	qidong_num,R24
(0233)        tmp_t1=64536;
    0464 E188      LDI	R24,0x18
    0465 EF9C      LDI	R25,0xFC
    0466 93900064  STS	tmp_t1+1,R25
    0468 93800063  STS	tmp_t1,R24
(0234) 	   if (qidong_num>160)
    046A EA80      LDI	R24,0xA0
    046B 90200065  LDS	R2,qidong_num
    046D 1582      CP	R24,R2
    046E F008      BCS	0x0470
    046F C18D      RJMP	0x05FD
(0235) 	      {
(0236) 		  M_state=3;    //结束启动状态,转入加速状态
    0470 E083      LDI	R24,3
    0471 93800060  STS	M_state,R24
(0237) 		  }
(0238) 	   } break;
    0473 C189      RJMP	0x05FD
(0239) 	case 2:       //减速至停转
(0240) 	   {
(0241) 	   if (time1_jsq<1000) time1_jsq++;
    0474 01C5      MOVW	R24,R10
    0475 3E88      CPI	R24,0xE8
    0476 E0E3      LDI	R30,3
    0477 079E      CPC	R25,R30
    0478 F410      BCC	0x047B
    0479 9601      ADIW	R24,1
    047A 015C      MOVW	R10,R24
(0242) 	   tmp_t1=65535-time1_jsq+1;
    047B EF8F      LDI	R24,0xFF
    047C EF9F      LDI	R25,0xFF
    047D 198A      SUB	R24,R10
    047E 099B      SBC	R25,R11
    047F 9601      ADIW	R24,1
    0480 93900064  STS	tmp_t1+1,R25
    0482 93800063  STS	tmp_t1,R24
(0243) 	   if (dec_speed_bz==1)
    0484 91800066  LDS	R24,dec_speed_bz
    0486 3081      CPI	R24,1
    0487 F509      BNE	0x04A9
(0244) 	      {
(0245) 		  dec_speed_bz=0;
    0488 2422      CLR	R2
    0489 92200066  STS	dec_speed_bz,R2
(0246) 		  if (step_num>(M_ZHUANBI*3/4)) dec_speed_num=2*M_ZHUANBI-step_num; else dec_speed_num=M_ZHUANBI-step_num;
    048B EB88      LDI	R24,0xB8
    048C E09B      LDI	R25,0xB
    048D 90200061  LDS	R2,step_num
    048F 90300062  LDS	R3,step_num+1
    0491 1582      CP	R24,R2
    0492 0593      CPC	R25,R3
    0493 F448      BCC	0x049D
    0494 E480      LDI	R24,0x40
    0495 E19F      LDI	R25,0x1F
    0496 1982      SUB	R24,R2
    0497 0993      SBC	R25,R3
    0498 93900068  STS	dec_speed_num+1,R25
    049A 93800067  STS	dec_speed_num,R24
    049C C00C      RJMP	0x04A9
    049D 90200061  LDS	R2,step_num
    049F 90300062  LDS	R3,step_num+1
    04A1 EA80      LDI	R24,0xA0
    04A2 E09F      LDI	R25,0xF
    04A3 1982      SUB	R24,R2
    04A4 0993      SBC	R25,R3
    04A5 93900068  STS	dec_speed_num+1,R25
    04A7 93800067  STS	dec_speed_num,R24
(0247) 		  }
(0248) 	   dec_speed_num--;
    04A9 91800067  LDS	R24,dec_speed_num
    04AB 91900068  LDS	R25,dec_speed_num+1
    04AD 9701      SBIW	R24,1
    04AE 93900068  STS	dec_speed_num+1,R25
    04B0 93800067  STS	dec_speed_num,R24
(0249) 	   if (dec_speed_num==0) M_state=0;
    04B2 3080      CPI	R24,0
    04B3 0789      CPC	R24,R25
    04B4 F009      BEQ	0x04B6
    04B5 C147      RJMP	0x05FD
    04B6 2422      CLR	R2
    04B7 92200060  STS	M_state,R2
(0250) 	   } break;
    04B9 C143      RJMP	0x05FD
(0251) 	case 3:     //加速至随动
(0252) 	case 4:     //减速至随动
(0253) 	   {
(0254) 	   avg_speed=(unsigned int)((juli/(1000-step_num))/P_speed+0.5);
    04BA 90200061  LDS	R2,step_num
    04BC 90300062  LDS	R3,step_num+1
    04BE EE88      LDI	R24,0xE8
    04BF E093      LDI	R25,3
    04C0 1982      SUB	R24,R2
    04C1 0993      SBC	R25,R3
    04C2 011C      MOVW	R2,R24
    04C3 90600113  LDS	R6,juli+2
    04C5 90700114  LDS	R7,juli+3
    04C7 90400111  LDS	R4,juli
    04C9 90500112  LDS	R5,juli+1
    04CB 927A      ST	R7,-Y
    04CC 926A      ST	R6,-Y
    04CD 925A      ST	R5,-Y
    04CE 924A      ST	R4,-Y
    04CF EE04      LDI	R16,0xE4
    04D0 E010      LDI	R17,0
    04D1 940E0FDB  CALL	lpm32
    04D3 933A      ST	R19,-Y
    04D4 932A      ST	R18,-Y
    04D5 931A      ST	R17,-Y
    04D6 930A      ST	R16,-Y
    04D7 0181      MOVW	R16,R2
    04D8 9516      LSR	R17
    04D9 9507      ROR	R16
    04DA 940E10AE  CALL	int2fp
    04DC 933A      ST	R19,-Y
    04DD 932A      ST	R18,-Y
    04DE 931A      ST	R17,-Y
    04DF 930A      ST	R16,-Y
    04E0 940E1237  CALL	empy32fs
    04E2 0181      MOVW	R16,R2
    04E3 7001      ANDI	R16,1
    04E4 7010      ANDI	R17,0
    04E5 940E10AE  CALL	int2fp
    04E7 933A      ST	R19,-Y
    04E8 932A      ST	R18,-Y
    04E9 931A      ST	R17,-Y
    04EA 930A      ST	R16,-Y
    04EB 940E1108  CALL	add32fs
    04ED 940E1169  CALL	div32fs
    04EF 90400117  LDS	R4,P_speed+2
    04F1 90500118  LDS	R5,P_speed+3
    04F3 90200115  LDS	R2,P_speed
    04F5 90300116  LDS	R3,P_speed+1
    04F7 925A      ST	R5,-Y
    04F8 924A      ST	R4,-Y
    04F9 923A      ST	R3,-Y
    04FA 922A      ST	R2,-Y
    04FB 940E1169  CALL	div32fs
    04FD EE00      LDI	R16,0xE0
    04FE E010      LDI	R17,0
    04FF 940E0FDB  CALL	lpm32
    0501 933A      ST	R19,-Y
    0502 932A      ST	R18,-Y
    0503 931A      ST	R17,-Y
    0504 930A      ST	R16,-Y
    0505 940E110B  CALL	add32f
    0507 01FE      MOVW	R30,R28
    0508 8300      STD	Z+0,R16
    0509 8311      STD	Z+1,R17
    050A 8322      STD	Z+2,R18
    050B 8333      STD	Z+3,R19
    050C 01FE      MOVW	R30,R28
    050D 8020      LDD	R2,Z+0
    050E 8031      LDD	R3,Z+1
    050F 8042      LDD	R4,Z+2
    0510 8053      LDD	R5,Z+3
    0511 925A      ST	R5,-Y
    0512 924A      ST	R4,-Y
    0513 923A      ST	R3,-Y
    0514 922A      ST	R2,-Y
    0515 ED0C      LDI	R16,0xDC
    0516 E010      LDI	R17,0
    0517 940E0FDB  CALL	lpm32
    0519 933A      ST	R19,-Y
    051A 932A      ST	R18,-Y
    051B 931A      ST	R17,-Y
    051C 930A      ST	R16,-Y
    051D 940E11C6  CALL	cmp32f
    051F F0D4      BLT	0x053A
    0520 01FE      MOVW	R30,R28
    0521 8020      LDD	R2,Z+0
    0522 8031      LDD	R3,Z+1
    0523 8042      LDD	R4,Z+2
    0524 8053      LDD	R5,Z+3
    0525 925A      ST	R5,-Y
    0526 924A      ST	R4,-Y
    0527 923A      ST	R3,-Y
    0528 922A      ST	R2,-Y
    0529 ED0C      LDI	R16,0xDC
    052A E010      LDI	R17,0
    052B 940E0FDB  CALL	lpm32
    052D 933A      ST	R19,-Y
    052E 932A      ST	R18,-Y
    052F 931A      ST	R17,-Y
    0530 930A      ST	R16,-Y
    0531 940E1113  CALL	sub32f
    0533 940E1066  CALL	fp2int
    0535 01C8      MOVW	R24,R16
    0536 5080      SUBI	R24,0
    0537 4890      SBCI	R25,0x80
    0538 017C      MOVW	R14,R24
    0539 C008      RJMP	0x0542
    053A 01FE      MOVW	R30,R28
    053B 8100      LDD	R16,Z+0
    053C 8111      LDD	R17,Z+1
    053D 8122      LDD	R18,Z+2
    053E 8133      LDD	R19,Z+3
    053F 940E1066  CALL	fp2int
    0541 0178      MOVW	R14,R16
    0542 0167      MOVW	R12,R14
(0255) 	   
(0256) 	   if (avg_speed>time1_jsq) time1_jsq++;
    0543 14AE      CP	R10,R14
    0544 04BF      CPC	R11,R15
    0545 F418      BCC	0x0549
    0546 01C5      MOVW	R24,R10
    0547 9601      ADIW	R24,1
    0548 015C      MOVW	R10,R24
(0257) 	   if (avg_speed<time1_jsq) time1_jsq--;
    0549 14CA      CP	R12,R10
    054A 04DB      CPC	R13,R11
    054B F418      BCC	0x054F
    054C 01C5      MOVW	R24,R10
    054D 9701      SBIW	R24,1
    054E 015C      MOVW	R10,R24
(0258) 	   tmp_t1=65535-time1_jsq+1;
    054F EF8F      LDI	R24,0xFF
    0550 EF9F      LDI	R25,0xFF
    0551 198A      SUB	R24,R10
    0552 099B      SBC	R25,R11
    0553 9601      ADIW	R24,1
    0554 93900064  STS	tmp_t1+1,R25
    0556 93800063  STS	tmp_t1,R24
(0259) 	   if (step_num==999) M_state=5;
    0558 91800061  LDS	R24,step_num
    055A 91900062  LDS	R25,step_num+1
    055C 3E87      CPI	R24,0xE7
    055D E0E3      LDI	R30,3
    055E 079E      CPC	R25,R30
    055F F009      BEQ	0x0561
    0560 C09C      RJMP	0x05FD
    0561 E085      LDI	R24,5
    0562 93800060  STS	M_state,R24
(0260) 	   } break;    
    0564 C098      RJMP	0x05FD
(0261) 	case 5:    //随动
(0262) 	   {
(0263) 	   time1_jsq=(unsigned int)(DW_juli/P_speed);
    0565 9040011B  LDS	R4,DW_juli+2
    0567 9050011C  LDS	R5,DW_juli+3
    0569 90200119  LDS	R2,DW_juli
    056B 9030011A  LDS	R3,DW_juli+1
    056D 925A      ST	R5,-Y
    056E 924A      ST	R4,-Y
    056F 923A      ST	R3,-Y
    0570 922A      ST	R2,-Y
    0571 90400117  LDS	R4,P_speed+2
    0573 90500118  LDS	R5,P_speed+3
    0575 90200115  LDS	R2,P_speed
    0577 90300116  LDS	R3,P_speed+1
    0579 925A      ST	R5,-Y
    057A 924A      ST	R4,-Y
    057B 923A      ST	R3,-Y
    057C 922A      ST	R2,-Y
    057D 940E116C  CALL	div32f
    057F 01FE      MOVW	R30,R28
    0580 8300      STD	Z+0,R16
    0581 8311      STD	Z+1,R17
    0582 8322      STD	Z+2,R18
    0583 8333      STD	Z+3,R19
    0584 01FE      MOVW	R30,R28
    0585 8020      LDD	R2,Z+0
    0586 8031      LDD	R3,Z+1
    0587 8042      LDD	R4,Z+2
    0588 8053      LDD	R5,Z+3
    0589 925A      ST	R5,-Y
    058A 924A      ST	R4,-Y
    058B 923A      ST	R3,-Y
    058C 922A      ST	R2,-Y
    058D ED08      LDI	R16,0xD8
    058E E010      LDI	R17,0
    058F 940E0FDB  CALL	lpm32
    0591 933A      ST	R19,-Y
    0592 932A      ST	R18,-Y
    0593 931A      ST	R17,-Y
    0594 930A      ST	R16,-Y
    0595 940E11C6  CALL	cmp32f
    0597 F0D4      BLT	0x05B2
    0598 01FE      MOVW	R30,R28
    0599 8020      LDD	R2,Z+0
    059A 8031      LDD	R3,Z+1
    059B 8042      LDD	R4,Z+2
    059C 8053      LDD	R5,Z+3
    059D 925A      ST	R5,-Y
    059E 924A      ST	R4,-Y
    059F 923A      ST	R3,-Y
    05A0 922A      ST	R2,-Y
    05A1 ED08      LDI	R16,0xD8
    05A2 E010      LDI	R17,0
    05A3 940E0FDB  CALL	lpm32
    05A5 933A      ST	R19,-Y
    05A6 932A      ST	R18,-Y
    05A7 931A      ST	R17,-Y
    05A8 930A      ST	R16,-Y
    05A9 940E1113  CALL	sub32f
    05AB 940E1066  CALL	fp2int
    05AD 01C8      MOVW	R24,R16
    05AE 5080      SUBI	R24,0
    05AF 4890      SBCI	R25,0x80
    05B0 016C      MOVW	R12,R24
    05B1 C008      RJMP	0x05BA
    05B2 01FE      MOVW	R30,R28
    05B3 8100      LDD	R16,Z+0
    05B4 8111      LDD	R17,Z+1
    05B5 8122      LDD	R18,Z+2
    05B6 8133      LDD	R19,Z+3
    05B7 940E1066  CALL	fp2int
    05B9 0168      MOVW	R12,R16
    05BA 0156      MOVW	R10,R12
(0264) 	   tmp_t1=65535-time1_jsq+1;
    05BB EF8F      LDI	R24,0xFF
    05BC EF9F      LDI	R25,0xFF
    05BD 198C      SUB	R24,R12
    05BE 099D      SBC	R25,R13
    05BF 9601      ADIW	R24,1
    05C0 93900064  STS	tmp_t1+1,R25
    05C2 93800063  STS	tmp_t1,R24
(0265) 	   } break;
    05C4 C038      RJMP	0x05FD
(0266) 	case 6:    //加速至碎刀
(0267) 	   {
(0268) 	   if (time1_jsq>111) time1_jsq--;
    05C5 E68F      LDI	R24,0x6F
    05C6 E090      LDI	R25,0
    05C7 158A      CP	R24,R10
    05C8 059B      CPC	R25,R11
    05C9 F418      BCC	0x05CD
    05CA 01C5      MOVW	R24,R10
    05CB 9701      SBIW	R24,1
    05CC 015C      MOVW	R10,R24
(0269) 	   tmp_t1=65535-time1_jsq+1;
    05CD EF8F      LDI	R24,0xFF
    05CE EF9F      LDI	R25,0xFF
    05CF 198A      SUB	R24,R10
    05D0 099B      SBC	R25,R11
    05D1 9601      ADIW	R24,1
    05D2 93900064  STS	tmp_t1+1,R25
    05D4 93800063  STS	tmp_t1,R24
(0270) 	   if (time1_jsq==111) M_state=7;
    05D6 01C5      MOVW	R24,R10
    05D7 368F      CPI	R24,0x6F
    05D8 E0E0      LDI	R30,0
    05D9 079E      CPC	R25,R30
    05DA F511      BNE	0x05FD
    05DB E087      LDI	R24,7
    05DC 93800060  STS	M_state,R24
(0271) 	   } break;
    05DE C01E      RJMP	0x05FD
(0272) 	case 7:    //碎刀
(0273) 	   {
(0274) 	   time1_jsq=111;
    05DF E68F      LDI	R24,0x6F
    05E0 E090      LDI	R25,0
    05E1 015C      MOVW	R10,R24
(0275) 	   tmp_t1=65425;
    05E2 E981      LDI	R24,0x91
    05E3 EF9F      LDI	R25,0xFF
    05E4 93900064  STS	tmp_t1+1,R25
    05E6 93800063  STS	tmp_t1,R24
(0276) 	   } break;
    05E8 C014      RJMP	0x05FD
(0277) 	case 8:    //转动至平行
(0278) 	   {
(0279) 	   if (step_num==0) M_state=0;
    05E9 90200061  LDS	R2,step_num
    05EB 90300062  LDS	R3,step_num+1
    05ED 2022      TST	R2
    05EE F429      BNE	0x05F4
    05EF 2033      TST	R3
    05F0 F419      BNE	0x05F4
    05F1 2422      CLR	R2
    05F2 92200060  STS	M_state,R2
(0280) 	   tmp_t1=64536;
    05F4 E188      LDI	R24,0x18
    05F5 EF9C      LDI	R25,0xFC
    05F6 93900064  STS	tmp_t1+1,R25
    05F8 93800063  STS	tmp_t1,R24
(0281) 	   time1_jsq=1000;
    05FA EE88      LDI	R24,0xE8
    05FB E093      LDI	R25,3
    05FC 015C      MOVW	R10,R24
(0282) 	   } break;
(0283) 	}

⌨️ 快捷键说明

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