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

📄 multistep.lst

📁 在ATMEGA128单片机上开发的一个机器人控制程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
    1AA9 E10A      LDI	R16,0x1A
    1AAA E010      LDI	R17,0
    1AAB 0193      MOVW	R18,R6
    1AAC 940E20B9  CALL	empy16s
    1AAE 0118      MOVW	R2,R16
    1AAF EC84      LDI	R24,0xC4
    1AB0 E298      LDI	R25,0x28
    1AB1 0E28      ADD	R2,R24
    1AB2 1E39      ADC	R3,R25
    1AB3 E002      LDI	R16,2
    1AB4 E010      LDI	R17,0
    1AB5 0197      MOVW	R18,R14
    1AB6 940E20B9  CALL	empy16s
    1AB8 01F8      MOVW	R30,R16
    1AB9 0DE2      ADD	R30,R2
    1ABA 1DF3      ADC	R31,R3
    1ABB 9125      LPM	R18,Z+
    1ABC 9134      LPM	R19,0(Z)
    1ABD E302      LDI	R16,0x32
    1ABE E010      LDI	R17,0
    1ABF 940E20B9  CALL	empy16s
    1AC1 E023      LDI	R18,3
    1AC2 E030      LDI	R19,0
    1AC3 940E209F  CALL	div16u
    1AC5 01C8      MOVW	R24,R16
    1AC6 5182      SUBI	R24,0x12
    1AC7 4F9D      SBCI	R25,0xFD
    1AC8 0197      MOVW	R18,R14
    1AC9 5021      SUBI	R18,1
    1ACA 4030      SBCI	R19,0
    1ACB EA06      LDI	R16,0xA6
    1ACC E01E      LDI	R17,0xE
    1ACD 940E20B9  CALL	empy16s
    1ACF 016C      MOVW	R12,R24
    1AD0 0EC0      ADD	R12,R16
    1AD1 1ED1      ADC	R13,R17
(0159)  	 do{ temp=TCNT1;	
    1AD2 B56C      IN	R22,0x2C
    1AD3 B57D      IN	R23,0x2D
(0160)  	     if(temp>temp1)PORTC&=~(1<<(j-1));	
    1AD4 16C6      CP	R12,R22
    1AD5 06D7      CPC	R13,R23
    1AD6 F478      BCC	0x1AE6
    1AD7 0197      MOVW	R18,R14
    1AD8 5021      SUBI	R18,1
    1AD9 4030      SBCI	R19,0
    1ADA E001      LDI	R16,1
    1ADB E010      LDI	R17,0
    1ADC 940E20F3  CALL	lsl16
    1ADE 0118      MOVW	R2,R16
    1ADF 9420      COM	R2
    1AE0 9430      COM	R3
    1AE1 B245      IN	R4,0x15
    1AE2 2455      CLR	R5
    1AE3 2042      AND	R4,R2
    1AE4 2053      AND	R5,R3
    1AE5 BA45      OUT	0x15,R4
(0161)          if(temp>temp2)PORTA&=~(1<<(j-1));
    1AE6 16A6      CP	R10,R22
    1AE7 06B7      CPC	R11,R23
    1AE8 F478      BCC	0x1AF8
    1AE9 0197      MOVW	R18,R14
    1AEA 5021      SUBI	R18,1
    1AEB 4030      SBCI	R19,0
    1AEC E001      LDI	R16,1
    1AED E010      LDI	R17,0
    1AEE 940E20F3  CALL	lsl16
    1AF0 0118      MOVW	R2,R16
    1AF1 9420      COM	R2
    1AF2 9430      COM	R3
    1AF3 B24B      IN	R4,0x1B
    1AF4 2455      CLR	R5
    1AF5 2042      AND	R4,R2
    1AF6 2053      AND	R5,R3
    1AF7 BA4B      OUT	0x1B,R4
(0162)   	   } while(temp<j*3750);        
    1AF8 EA06      LDI	R16,0xA6
    1AF9 E01E      LDI	R17,0xE
    1AFA 0197      MOVW	R18,R14
    1AFB 940E20B9  CALL	empy16s
    1AFD 1760      CP	R22,R16
    1AFE 0771      CPC	R23,R17
    1AFF F290      BCS	0x1AD2
    1B00 01C7      MOVW	R24,R14
    1B01 9601      ADIW	R24,1
    1B02 017C      MOVW	R14,R24
    1B03 01C7      MOVW	R24,R14
    1B04 3089      CPI	R24,0x9
    1B05 E0E0      LDI	R30,0
    1B06 079E      CPC	R25,R30
    1B07 F408      BCC	0x1B09
    1B08 CF57      RJMP	0x1A60
(0163)   }
(0164)      TCNT1=0x00;		
    1B09 2422      CLR	R2
    1B0A 2433      CLR	R3
    1B0B BC3D      OUT	0x2D,R3
    1B0C BC2C      OUT	0x2C,R2
    1B0D 5041      SUBI	R20,1
    1B0E 4050      SBCI	R21,0
    1B0F 3040      CPI	R20,0
    1B10 0745      CPC	R20,R21
    1B11 F009      BEQ	0x1B13
    1B12 CF45      RJMP	0x1A58
    1B13 01C3      MOVW	R24,R6
    1B14 9601      ADIW	R24,1
    1B15 013C      MOVW	R6,R24
    1B16 90200112  LDS	R2,0x112
    1B18 90300113  LDS	R3,0x113
    1B1A 1462      CP	R6,R2
    1B1B 0473      CPC	R7,R3
    1B1C F408      BCC	0x1B1E
    1B1D CF2D      RJMP	0x1A4B
(0165)   }	 
(0166) 	 N2--;	 
    1B1E 91800102  LDS	R24,0x102
    1B20 91900103  LDS	R25,0x103
    1B22 9701      SBIW	R24,1
    1B23 93900103  STS	0x103,R25
    1B25 93800102  STS	0x102,R24
(0167)   } while(N2); 
    1B27 90200102  LDS	R2,0x102
    1B29 90300103  LDS	R3,0x103
    1B2B 2022      TST	R2
    1B2C F009      BEQ	0x1B2E
    1B2D CF18      RJMP	0x1A46
    1B2E 2033      TST	R3
    1B2F F009      BEQ	0x1B31
    1B30 CF15      RJMP	0x1A46
(0168)   
(0169)     for(i=0;i<4;i++)
    1B31 2466      CLR	R6
    1B32 2477      CLR	R7
    1B33 C0CB      RJMP	0x1BFF
(0170)   for(t=angle2_3[i][0];t>0;t--)    
    1B34 E10A      LDI	R16,0x1A
    1B35 E010      LDI	R17,0
    1B36 0193      MOVW	R18,R6
    1B37 940E20B9  CALL	empy16s
    1B39 01F8      MOVW	R30,R16
    1B3A EE82      LDI	R24,0xE2
    1B3B E299      LDI	R25,0x29
    1B3C 0FE8      ADD	R30,R24
    1B3D 1FF9      ADC	R31,R25
    1B3E 9145      LPM	R20,Z+
    1B3F 9154      LPM	R21,0(Z)
    1B40 C0B7      RJMP	0x1BF8
(0171)   { TCNT1=0x00;
    1B41 2422      CLR	R2
    1B42 2433      CLR	R3
    1B43 BC3D      OUT	0x2D,R3
    1B44 BC2C      OUT	0x2C,R2
(0172) 	for(j=1;j<9;j++)	
    1B45 E081      LDI	R24,1
    1B46 E090      LDI	R25,0
    1B47 017C      MOVW	R14,R24
    1B48 C0A3      RJMP	0x1BEC
(0173)    {if(j<5)
    1B49 01C7      MOVW	R24,R14
    1B4A 3085      CPI	R24,5
    1B4B E0E0      LDI	R30,0
    1B4C 079E      CPC	R25,R30
    1B4D F008      BCS	0x1B4F
    1B4E C037      RJMP	0x1B86
(0174)    {PORTA|=(1<<(j-1));	
    1B4F 019C      MOVW	R18,R24
    1B50 5021      SUBI	R18,1
    1B51 4030      SBCI	R19,0
    1B52 E001      LDI	R16,1
    1B53 E010      LDI	R17,0
    1B54 940E20F3  CALL	lsl16
    1B56 B22B      IN	R2,0x1B
    1B57 2433      CLR	R3
    1B58 2A20      OR	R2,R16
    1B59 2A31      OR	R3,R17
    1B5A BA2B      OUT	0x1B,R2
(0175)     temp2=(50*angle2_3[i][j+8]/3+750)+(j-1)*3750;}
    1B5B E10A      LDI	R16,0x1A
    1B5C E010      LDI	R17,0
    1B5D 0193      MOVW	R18,R6
    1B5E 940E20B9  CALL	empy16s
    1B60 0118      MOVW	R2,R16
    1B61 EE82      LDI	R24,0xE2
    1B62 E299      LDI	R25,0x29
    1B63 0E28      ADD	R2,R24
    1B64 1E39      ADC	R3,R25
    1B65 0197      MOVW	R18,R14
    1B66 5F28      SUBI	R18,0xF8
    1B67 4F3F      SBCI	R19,0xFF
    1B68 E002      LDI	R16,2
    1B69 E010      LDI	R17,0
    1B6A 940E20B9  CALL	empy16s
    1B6C 01F8      MOVW	R30,R16
    1B6D 0DE2      ADD	R30,R2
    1B6E 1DF3      ADC	R31,R3
    1B6F 9125      LPM	R18,Z+
    1B70 9134      LPM	R19,0(Z)
    1B71 E302      LDI	R16,0x32
    1B72 E010      LDI	R17,0
    1B73 940E20B9  CALL	empy16s
    1B75 E023      LDI	R18,3
    1B76 E030      LDI	R19,0
    1B77 940E209F  CALL	div16u
    1B79 01C8      MOVW	R24,R16
    1B7A 5182      SUBI	R24,0x12
    1B7B 4F9D      SBCI	R25,0xFD
    1B7C 0197      MOVW	R18,R14
    1B7D 5021      SUBI	R18,1
    1B7E 4030      SBCI	R19,0
    1B7F EA06      LDI	R16,0xA6
    1B80 E01E      LDI	R17,0xE
    1B81 940E20B9  CALL	empy16s
    1B83 015C      MOVW	R10,R24
    1B84 0EA0      ADD	R10,R16
    1B85 1EB1      ADC	R11,R17
(0176) 	PORTC|=(1<<(j-1));	
    1B86 0197      MOVW	R18,R14
    1B87 5021      SUBI	R18,1
    1B88 4030      SBCI	R19,0
    1B89 E001      LDI	R16,1
    1B8A E010      LDI	R17,0
    1B8B 940E20F3  CALL	lsl16
    1B8D B225      IN	R2,0x15
    1B8E 2433      CLR	R3
    1B8F 2A20      OR	R2,R16
    1B90 2A31      OR	R3,R17
    1B91 BA25      OUT	0x15,R2
(0177)     temp1=(50*angle2_3[i][j]/3+750)+(j-1)*3750;	
    1B92 E10A      LDI	R16,0x1A
    1B93 E010      LDI	R17,0
    1B94 0193      MOVW	R18,R6
    1B95 940E20B9  CALL	empy16s
    1B97 0118      MOVW	R2,R16
    1B98 EE82      LDI	R24,0xE2
    1B99 E299      LDI	R25,0x29
    1B9A 0E28      ADD	R2,R24
    1B9B 1E39      ADC	R3,R25
    1B9C E002      LDI	R16,2
    1B9D E010      LDI	R17,0
    1B9E 0197      MOVW	R18,R14
    1B9F 940E20B9  CALL	empy16s
    1BA1 01F8      MOVW	R30,R16
    1BA2 0DE2      ADD	R30,R2
    1BA3 1DF3      ADC	R31,R3
    1BA4 9125      LPM	R18,Z+
    1BA5 9134      LPM	R19,0(Z)
    1BA6 E302      LDI	R16,0x32
    1BA7 E010      LDI	R17,0
    1BA8 940E20B9  CALL	empy16s
    1BAA E023      LDI	R18,3
    1BAB E030      LDI	R19,0
    1BAC 940E209F  CALL	div16u
    1BAE 01C8      MOVW	R24,R16
    1BAF 5182      SUBI	R24,0x12
    1BB0 4F9D      SBCI	R25,0xFD
    1BB1 0197      MOVW	R18,R14
    1BB2 5021      SUBI	R18,1
    1BB3 4030      SBCI	R19,0
    1BB4 EA06      LDI	R16,0xA6
    1BB5 E01E      LDI	R17,0xE
    1BB6 940E20B9  CALL	empy16s
    1BB8 016C      MOVW	R12,R24
    1BB9 0EC0      ADD	R12,R16
    1BBA 1ED1      ADC	R13,R17
(0178)     do{temp=TCNT1;	
    1BBB B56C      IN	R22,0x2C
    1BBC B57D      IN	R23,0x2D
(0179)  	    if(temp>temp1)PORTC&=~(1<<(j-1));	
    1BBD 16C6      CP	R12,R22
    1BBE 06D7      CPC	R13,R23
    1BBF F478      BCC	0x1BCF
    1BC0 0197      MOVW	R18,R14
    1BC1 5021      SUBI	R18,1
    1BC2 4030      SBCI	R19,0
    1BC3 E001      LDI	R16,1
    1BC4 E010      LDI	R17,0
    1BC5 940E20F3  CALL	lsl16
    1BC7 0118      MOVW	R2,R16
    1BC8 9420      COM	R2
    1BC9 9430      COM	R3
    1BCA B245      IN	R4,0x15
    1BCB 2455      CLR	R5
    1BCC 2042      AND	R4,R2
    1BCD 2053      AND	R5,R3
    1BCE BA45      OUT	0x15,R4
(0180)   		if(temp>temp2)PORTA&=~(1<<(j-1));}while(temp<j*3750);}
    1BCF 16A6      CP	R10,R22
    1BD0 06B7      CPC	R11,R23
    1BD1 F478      BCC	0x1BE1
    1BD2 0197      MOVW	R18,R14
    1BD3 5021      SUBI	R18,1
    1BD4 4030      SBCI	R19,0
    1BD5 E001      LDI	R16,1
    1BD6 E010      LDI	R17,0
    1BD7 940E20F3  CALL	lsl16
    1BD9 0118      MOVW	R2,R16
    1BDA 9420      COM	R2
    1BDB 9430      COM	R3
    1BDC B24B      IN	R4,0x1B
    1BDD 2455      CLR	R5
    1BDE 2042      AND	R4,R2
    1BDF 2053      AND	R5,R3
    1BE0 BA4B      OUT	0x1B,R4
    1BE1 EA06      LDI	R16,0xA6
    1BE2 E01E      LDI	R17,0xE
    1BE3 0197      MOVW	R18,R14
    1BE4 940E20B9  CALL	empy16s
    1BE6 1760      CP	R22,R16
    1BE7 0771      CPC	R23,R17
    1BE8 F290      BCS	0x1BBB
    1BE9 01C7      MOVW	R24,R14
    1BEA 9601      ADIW	R24,1
    1BEB 017C      MOVW	R14,R24
    1BEC 01C7      MOVW	R24,R14
    1BED 3089      CPI	R24,0x9
    1BEE E0E0      LDI	R30,0
    1BEF 079E      CPC	R25,R30
    1BF0 F408      BCC	0x1BF2
    1BF1 CF57      RJMP	0x1B49
(0181)     TCNT1=0x00;		
    1BF2 2422      CLR	R2
    1BF3 2433      CLR	R3
    1BF4 BC3D      OUT	0x2D,R3
    1BF5 BC2C      OUT	0x2C,R2
    1BF6 5041      SUBI	R20,1
    1BF7 4050      SBCI	R21,0
    1BF8 3040      CPI	R20,0
    1BF9 0745      CPC	R20,R21
    1BFA F009      BEQ	0x1BFC
    1BFB CF45      RJMP	0x1B41
    1BFC 01C3      MOVW	R24,R6
    1BFD 9601      ADIW	R24,1
    1BFE 013C      MOVW	R6,R24
    1BFF 01C3      MOVW	R24,R6
    1C00 3084      CPI	R24,4
    1C01 E0E0      LDI	R30,0
    1C02 079E      CPC	R25,R30
    1C03 F408      BCC	0x1C05
    1C04 CF2F      RJMP	0x1B34
(0182)     }
(0183)   
(0184)   
(0185)   
(0186)   
(0187)   } 
(0188)     if(p==3)
    1C05 01C4      MOVW	R24,R8
    1C06 3083      CPI	R24,3
    1C07 E0E0      LDI	R30,0
    1C08 079E      CPC	R25,R30
    1C09 F009      BEQ	0x1C0B
    1C0A C295      RJMP	0x1EA0
(0189)  { for(i=0;i<cycle_start3;i++)
    1C0B 2466      CLR	R6
    1C0C 2477      CLR	R7
    1C0D C0CB      RJMP	0x1CD9
(0190)   for(t=angle3[i][0];t>0;t--)    
    1C0E E10A      LDI	R16,0x1A
    1C0F E010      LDI	R17,0
    1C10 0193      MOVW	R18,R6
    1C11 940E20B9  CALL	empy16s
    1C13 01F8      MOVW	R30,R16
    1C14 E48A      LDI	R24,0x4A
    1C15 E29A      LDI	R25,0x2A
    1C16 0FE8      ADD	R30,R24
    1C17 1FF9      ADC	R31,R25
    1C18 9145      LPM	R20,Z+
    1C19 9154      LPM	R21,0(Z)
    1C1A C0B7      RJMP	0x1CD2
(0191)   { TCNT1=0x00;
    1C1B 2422      CLR	R2
    1C1C 2433      CLR	R3
    1C1D BC3D      OUT	0x2D,R3
    1C1E BC2C      OUT	0x2C,R2
(0192) 	for(j=1;j<9;j++)	
    1C1F E081      LDI	R24,1
    1C20 E090      LDI	R25,0
    1C21 017C      MOVW	R14,R24
    1C22 C0A3      RJMP	0x1CC6
(0193)    {if(j<5)
    1C23 01C7      MOVW	R24,R14
    1C24 3085      CPI	R24,5
    1C25 E0E0      LDI	R30,0
    1C26 079E      CPC	R25,R30
    1C27 F008      BCS	0x1C29
    1C28 C037      RJMP	0x1C60
(0194)    {PORTA|=(1<<(j-1));	
    1C29 019C      MOVW	R18,R24
    1C2A 5021      SUBI	R18,1
    1C2B 4030      SBCI	R19,0
    1C2C E001      LDI	R16,1
    1C2D E010      LDI	R17,0
    1C2E 940E20F3  CALL	lsl16
    1C30 B22B      IN	R2,0x1B
    1C31 2433      CLR	R3
    1C32 2A20      OR	R2,R16
    1C33 2A31      OR	R3,R17
    1C34 BA2B      OUT	0x1B,R2
(0195)     temp2=(50*angle3[i][j+8]/3+750)+(j-1)*3750;}
    1C35 E10A      LDI	R16,0x1A
    1C36 E010      LDI	R17,0
    1C37 0193      MOVW	R18,R6
    1C38 940E20B9  CALL	empy16s
    1C3A 0118      MOVW	R2,R16
    1C3B E48A      LDI	R24,0x4A
    1C3C E29A      LDI	R25,0x2A
    1C3D 0E28      ADD	R2,R24
    1C3E 1E39      ADC	R3,R25
    1C3F 0197      MOVW	R18,R14
    1C40 5F28      SUBI	R18,0xF8
    1C41 4F3F      SBCI	R19,0xFF
    1C42 E002      LDI	R16,2
    1C43 E010      LDI	R17,0
    1C44 940E20B9  CALL	empy16s
    1C46 01F8      MOVW	R30,R16
    1C47 0DE2      ADD	R30,R2
    1C48 1DF3      ADC	R31,R3
    1C49 9125      LPM	R18,Z+
    1C4A 9134      LPM	R19,0(Z)
    1C4B E302      LDI	R16,0x32

⌨️ 快捷键说明

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