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

📄 multistep.lst

📁 在ATMEGA128单片机上开发的一个机器人控制程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
    1C4C E010      LDI	R17,0
    1C4D 940E20B9  CALL	empy16s
    1C4F E023      LDI	R18,3
    1C50 E030      LDI	R19,0
    1C51 940E209F  CALL	div16u
    1C53 01C8      MOVW	R24,R16
    1C54 5182      SUBI	R24,0x12
    1C55 4F9D      SBCI	R25,0xFD
    1C56 0197      MOVW	R18,R14
    1C57 5021      SUBI	R18,1
    1C58 4030      SBCI	R19,0
    1C59 EA06      LDI	R16,0xA6
    1C5A E01E      LDI	R17,0xE
    1C5B 940E20B9  CALL	empy16s
    1C5D 015C      MOVW	R10,R24
    1C5E 0EA0      ADD	R10,R16
    1C5F 1EB1      ADC	R11,R17
(0196) 	PORTC|=(1<<(j-1));	
    1C60 0197      MOVW	R18,R14
    1C61 5021      SUBI	R18,1
    1C62 4030      SBCI	R19,0
    1C63 E001      LDI	R16,1
    1C64 E010      LDI	R17,0
    1C65 940E20F3  CALL	lsl16
    1C67 B225      IN	R2,0x15
    1C68 2433      CLR	R3
    1C69 2A20      OR	R2,R16
    1C6A 2A31      OR	R3,R17
    1C6B BA25      OUT	0x15,R2
(0197)     temp1=(50*angle3[i][j]/3+750)+(j-1)*3750;	
    1C6C E10A      LDI	R16,0x1A
    1C6D E010      LDI	R17,0
    1C6E 0193      MOVW	R18,R6
    1C6F 940E20B9  CALL	empy16s
    1C71 0118      MOVW	R2,R16
    1C72 E48A      LDI	R24,0x4A
    1C73 E29A      LDI	R25,0x2A
    1C74 0E28      ADD	R2,R24
    1C75 1E39      ADC	R3,R25
    1C76 E002      LDI	R16,2
    1C77 E010      LDI	R17,0
    1C78 0197      MOVW	R18,R14
    1C79 940E20B9  CALL	empy16s
    1C7B 01F8      MOVW	R30,R16
    1C7C 0DE2      ADD	R30,R2
    1C7D 1DF3      ADC	R31,R3
    1C7E 9125      LPM	R18,Z+
    1C7F 9134      LPM	R19,0(Z)
    1C80 E302      LDI	R16,0x32
    1C81 E010      LDI	R17,0
    1C82 940E20B9  CALL	empy16s
    1C84 E023      LDI	R18,3
    1C85 E030      LDI	R19,0
    1C86 940E209F  CALL	div16u
    1C88 01C8      MOVW	R24,R16
    1C89 5182      SUBI	R24,0x12
    1C8A 4F9D      SBCI	R25,0xFD
    1C8B 0197      MOVW	R18,R14
    1C8C 5021      SUBI	R18,1
    1C8D 4030      SBCI	R19,0
    1C8E EA06      LDI	R16,0xA6
    1C8F E01E      LDI	R17,0xE
    1C90 940E20B9  CALL	empy16s
    1C92 016C      MOVW	R12,R24
    1C93 0EC0      ADD	R12,R16
    1C94 1ED1      ADC	R13,R17
(0198)     do{temp=TCNT1;	
    1C95 B56C      IN	R22,0x2C
    1C96 B57D      IN	R23,0x2D
(0199)  	    if(temp>temp1)PORTC&=~(1<<(j-1));	
    1C97 16C6      CP	R12,R22
    1C98 06D7      CPC	R13,R23
    1C99 F478      BCC	0x1CA9
    1C9A 0197      MOVW	R18,R14
    1C9B 5021      SUBI	R18,1
    1C9C 4030      SBCI	R19,0
    1C9D E001      LDI	R16,1
    1C9E E010      LDI	R17,0
    1C9F 940E20F3  CALL	lsl16
    1CA1 0118      MOVW	R2,R16
    1CA2 9420      COM	R2
    1CA3 9430      COM	R3
    1CA4 B245      IN	R4,0x15
    1CA5 2455      CLR	R5
    1CA6 2042      AND	R4,R2
    1CA7 2053      AND	R5,R3
    1CA8 BA45      OUT	0x15,R4
(0200)   		if(temp>temp2)PORTA&=~(1<<(j-1));}while(temp<j*3750);        
    1CA9 16A6      CP	R10,R22
    1CAA 06B7      CPC	R11,R23
    1CAB F478      BCC	0x1CBB
    1CAC 0197      MOVW	R18,R14
    1CAD 5021      SUBI	R18,1
    1CAE 4030      SBCI	R19,0
    1CAF E001      LDI	R16,1
    1CB0 E010      LDI	R17,0
    1CB1 940E20F3  CALL	lsl16
    1CB3 0118      MOVW	R2,R16
    1CB4 9420      COM	R2
    1CB5 9430      COM	R3
    1CB6 B24B      IN	R4,0x1B
    1CB7 2455      CLR	R5
    1CB8 2042      AND	R4,R2
    1CB9 2053      AND	R5,R3
    1CBA BA4B      OUT	0x1B,R4
    1CBB EA06      LDI	R16,0xA6
    1CBC E01E      LDI	R17,0xE
    1CBD 0197      MOVW	R18,R14
    1CBE 940E20B9  CALL	empy16s
    1CC0 1760      CP	R22,R16
    1CC1 0771      CPC	R23,R17
    1CC2 F290      BCS	0x1C95
    1CC3 01C7      MOVW	R24,R14
    1CC4 9601      ADIW	R24,1
    1CC5 017C      MOVW	R14,R24
    1CC6 01C7      MOVW	R24,R14
    1CC7 3089      CPI	R24,0x9
    1CC8 E0E0      LDI	R30,0
    1CC9 079E      CPC	R25,R30
    1CCA F408      BCC	0x1CCC
    1CCB CF57      RJMP	0x1C23
(0201)   	 }
(0202)     TCNT1=0x00;		
    1CCC 2422      CLR	R2
    1CCD 2433      CLR	R3
    1CCE BC3D      OUT	0x2D,R3
    1CCF BC2C      OUT	0x2C,R2
    1CD0 5041      SUBI	R20,1
    1CD1 4050      SBCI	R21,0
    1CD2 3040      CPI	R20,0
    1CD3 0745      CPC	R20,R21
    1CD4 F009      BEQ	0x1CD6
    1CD5 CF45      RJMP	0x1C1B
    1CD6 01C3      MOVW	R24,R6
    1CD7 9601      ADIW	R24,1
    1CD8 013C      MOVW	R6,R24
    1CD9 9020010C  LDS	R2,0x10C
    1CDB 9030010D  LDS	R3,0x10D
    1CDD 1462      CP	R6,R2
    1CDE 0473      CPC	R7,R3
    1CDF F408      BCC	0x1CE1
    1CE0 CF2D      RJMP	0x1C0E
(0203)     }
(0204) do{ 
(0205)   for(i=cycle_start3;i<totalstep3;i++)
    1CE1 9060010C  LDS	R6,0x10C
    1CE3 9070010D  LDS	R7,0x10D
    1CE5 C0CB      RJMP	0x1DB1
(0206)   for(t=angle3[i][0];t>0;t--)
    1CE6 E10A      LDI	R16,0x1A
    1CE7 E010      LDI	R17,0
    1CE8 0193      MOVW	R18,R6
    1CE9 940E20B9  CALL	empy16s
    1CEB 01F8      MOVW	R30,R16
    1CEC E48A      LDI	R24,0x4A
    1CED E29A      LDI	R25,0x2A
    1CEE 0FE8      ADD	R30,R24
    1CEF 1FF9      ADC	R31,R25
    1CF0 9145      LPM	R20,Z+
    1CF1 9154      LPM	R21,0(Z)
    1CF2 C0B7      RJMP	0x1DAA
(0207)  {TCNT1=0x00;	
    1CF3 2422      CLR	R2
    1CF4 2433      CLR	R3
    1CF5 BC3D      OUT	0x2D,R3
    1CF6 BC2C      OUT	0x2C,R2
(0208)   for(j=1;j<9;j++)	
    1CF7 E081      LDI	R24,1
    1CF8 E090      LDI	R25,0
    1CF9 017C      MOVW	R14,R24
    1CFA C0A3      RJMP	0x1D9E
(0209)   { if(j<5)
    1CFB 01C7      MOVW	R24,R14
    1CFC 3085      CPI	R24,5
    1CFD E0E0      LDI	R30,0
    1CFE 079E      CPC	R25,R30
    1CFF F008      BCS	0x1D01
    1D00 C037      RJMP	0x1D38
(0210) 	{PORTA|=(1<<(j-1));	
    1D01 019C      MOVW	R18,R24
    1D02 5021      SUBI	R18,1
    1D03 4030      SBCI	R19,0
    1D04 E001      LDI	R16,1
    1D05 E010      LDI	R17,0
    1D06 940E20F3  CALL	lsl16
    1D08 B22B      IN	R2,0x1B
    1D09 2433      CLR	R3
    1D0A 2A20      OR	R2,R16
    1D0B 2A31      OR	R3,R17
    1D0C BA2B      OUT	0x1B,R2
(0211)      temp2=(50*angle3[i][j+8]/3+750)+(j-1)*3750;}
    1D0D E10A      LDI	R16,0x1A
    1D0E E010      LDI	R17,0
    1D0F 0193      MOVW	R18,R6
    1D10 940E20B9  CALL	empy16s
    1D12 0118      MOVW	R2,R16
    1D13 E48A      LDI	R24,0x4A
    1D14 E29A      LDI	R25,0x2A
    1D15 0E28      ADD	R2,R24
    1D16 1E39      ADC	R3,R25
    1D17 0197      MOVW	R18,R14
    1D18 5F28      SUBI	R18,0xF8
    1D19 4F3F      SBCI	R19,0xFF
    1D1A E002      LDI	R16,2
    1D1B E010      LDI	R17,0
    1D1C 940E20B9  CALL	empy16s
    1D1E 01F8      MOVW	R30,R16
    1D1F 0DE2      ADD	R30,R2
    1D20 1DF3      ADC	R31,R3
    1D21 9125      LPM	R18,Z+
    1D22 9134      LPM	R19,0(Z)
    1D23 E302      LDI	R16,0x32
    1D24 E010      LDI	R17,0
    1D25 940E20B9  CALL	empy16s
    1D27 E023      LDI	R18,3
    1D28 E030      LDI	R19,0
    1D29 940E209F  CALL	div16u
    1D2B 01C8      MOVW	R24,R16
    1D2C 5182      SUBI	R24,0x12
    1D2D 4F9D      SBCI	R25,0xFD
    1D2E 0197      MOVW	R18,R14
    1D2F 5021      SUBI	R18,1
    1D30 4030      SBCI	R19,0
    1D31 EA06      LDI	R16,0xA6
    1D32 E01E      LDI	R17,0xE
    1D33 940E20B9  CALL	empy16s
    1D35 015C      MOVW	R10,R24
    1D36 0EA0      ADD	R10,R16
    1D37 1EB1      ADC	R11,R17
(0212)      PORTC|=(1<<(j-1));	
    1D38 0197      MOVW	R18,R14
    1D39 5021      SUBI	R18,1
    1D3A 4030      SBCI	R19,0
    1D3B E001      LDI	R16,1
    1D3C E010      LDI	R17,0
    1D3D 940E20F3  CALL	lsl16
    1D3F B225      IN	R2,0x15
    1D40 2433      CLR	R3
    1D41 2A20      OR	R2,R16
    1D42 2A31      OR	R3,R17
    1D43 BA25      OUT	0x15,R2
(0213)      temp1=(50*angle3[i][j]/3+750)+(j-1)*3750;	       
    1D44 E10A      LDI	R16,0x1A
    1D45 E010      LDI	R17,0
    1D46 0193      MOVW	R18,R6
    1D47 940E20B9  CALL	empy16s
    1D49 0118      MOVW	R2,R16
    1D4A E48A      LDI	R24,0x4A
    1D4B E29A      LDI	R25,0x2A
    1D4C 0E28      ADD	R2,R24
    1D4D 1E39      ADC	R3,R25
    1D4E E002      LDI	R16,2
    1D4F E010      LDI	R17,0
    1D50 0197      MOVW	R18,R14
    1D51 940E20B9  CALL	empy16s
    1D53 01F8      MOVW	R30,R16
    1D54 0DE2      ADD	R30,R2
    1D55 1DF3      ADC	R31,R3
    1D56 9125      LPM	R18,Z+
    1D57 9134      LPM	R19,0(Z)
    1D58 E302      LDI	R16,0x32
    1D59 E010      LDI	R17,0
    1D5A 940E20B9  CALL	empy16s
    1D5C E023      LDI	R18,3
    1D5D E030      LDI	R19,0
    1D5E 940E209F  CALL	div16u
    1D60 01C8      MOVW	R24,R16
    1D61 5182      SUBI	R24,0x12
    1D62 4F9D      SBCI	R25,0xFD
    1D63 0197      MOVW	R18,R14
    1D64 5021      SUBI	R18,1
    1D65 4030      SBCI	R19,0
    1D66 EA06      LDI	R16,0xA6
    1D67 E01E      LDI	R17,0xE
    1D68 940E20B9  CALL	empy16s
    1D6A 016C      MOVW	R12,R24
    1D6B 0EC0      ADD	R12,R16
    1D6C 1ED1      ADC	R13,R17
(0214)  	 do{ temp=TCNT1;	
    1D6D B56C      IN	R22,0x2C
    1D6E B57D      IN	R23,0x2D
(0215)  	     if(temp>temp1)PORTC&=~(1<<(j-1));	
    1D6F 16C6      CP	R12,R22
    1D70 06D7      CPC	R13,R23
    1D71 F478      BCC	0x1D81
    1D72 0197      MOVW	R18,R14
    1D73 5021      SUBI	R18,1
    1D74 4030      SBCI	R19,0
    1D75 E001      LDI	R16,1
    1D76 E010      LDI	R17,0
    1D77 940E20F3  CALL	lsl16
    1D79 0118      MOVW	R2,R16
    1D7A 9420      COM	R2
    1D7B 9430      COM	R3
    1D7C B245      IN	R4,0x15
    1D7D 2455      CLR	R5
    1D7E 2042      AND	R4,R2
    1D7F 2053      AND	R5,R3
    1D80 BA45      OUT	0x15,R4
(0216)          if(temp>temp2)PORTA&=~(1<<(j-1));
    1D81 16A6      CP	R10,R22
    1D82 06B7      CPC	R11,R23
    1D83 F478      BCC	0x1D93
    1D84 0197      MOVW	R18,R14
    1D85 5021      SUBI	R18,1
    1D86 4030      SBCI	R19,0
    1D87 E001      LDI	R16,1
    1D88 E010      LDI	R17,0
    1D89 940E20F3  CALL	lsl16
    1D8B 0118      MOVW	R2,R16
    1D8C 9420      COM	R2
    1D8D 9430      COM	R3
    1D8E B24B      IN	R4,0x1B
    1D8F 2455      CLR	R5
    1D90 2042      AND	R4,R2
    1D91 2053      AND	R5,R3
    1D92 BA4B      OUT	0x1B,R4
(0217)   	   } while(temp<j*3750);        
    1D93 EA06      LDI	R16,0xA6
    1D94 E01E      LDI	R17,0xE
    1D95 0197      MOVW	R18,R14
    1D96 940E20B9  CALL	empy16s
    1D98 1760      CP	R22,R16
    1D99 0771      CPC	R23,R17
    1D9A F290      BCS	0x1D6D
    1D9B 01C7      MOVW	R24,R14
    1D9C 9601      ADIW	R24,1
    1D9D 017C      MOVW	R14,R24
    1D9E 01C7      MOVW	R24,R14
    1D9F 3089      CPI	R24,0x9
    1DA0 E0E0      LDI	R30,0
    1DA1 079E      CPC	R25,R30
    1DA2 F408      BCC	0x1DA4
    1DA3 CF57      RJMP	0x1CFB
(0218)   }
(0219)      TCNT1=0x00;		
    1DA4 2422      CLR	R2
    1DA5 2433      CLR	R3
    1DA6 BC3D      OUT	0x2D,R3
    1DA7 BC2C      OUT	0x2C,R2
    1DA8 5041      SUBI	R20,1
    1DA9 4050      SBCI	R21,0
    1DAA 3040      CPI	R20,0
    1DAB 0745      CPC	R20,R21
    1DAC F009      BEQ	0x1DAE
    1DAD CF45      RJMP	0x1CF3
    1DAE 01C3      MOVW	R24,R6
    1DAF 9601      ADIW	R24,1
    1DB0 013C      MOVW	R6,R24
    1DB1 90200114  LDS	R2,0x114
    1DB3 90300115  LDS	R3,0x115
    1DB5 1462      CP	R6,R2
    1DB6 0473      CPC	R7,R3
    1DB7 F408      BCC	0x1DB9
    1DB8 CF2D      RJMP	0x1CE6
(0220)   }	 
(0221) 	 N3--;	 
    1DB9 91800104  LDS	R24,0x104
    1DBB 91900105  LDS	R25,0x105
    1DBD 9701      SBIW	R24,1
    1DBE 93900105  STS	0x105,R25
    1DC0 93800104  STS	0x104,R24
(0222)   } while(N3); 
    1DC2 90200104  LDS	R2,0x104
    1DC4 90300105  LDS	R3,0x105
    1DC6 2022      TST	R2
    1DC7 F009      BEQ	0x1DC9
    1DC8 CF18      RJMP	0x1CE1
    1DC9 2033      TST	R3
    1DCA F009      BEQ	0x1DCC
    1DCB CF15      RJMP	0x1CE1
(0223)   
(0224)    
(0225)   for(i=0;i<4;i++)
    1DCC 2466      CLR	R6
    1DCD 2477      CLR	R7
    1DCE C0CB      RJMP	0x1E9A
(0226)   for(t=angle3_4[i][0];t>0;t--)    
    1DCF E10A      LDI	R16,0x1A
    1DD0 E010      LDI	R17,0
    1DD1 0193      MOVW	R18,R6
    1DD2 940E20B9  CALL	empy16s
    1DD4 01F8      MOVW	R30,R16
    1DD5 EE86      LDI	R24,0xE6
    1DD6 E29A      LDI	R25,0x2A
    1DD7 0FE8      ADD	R30,R24
    1DD8 1FF9      ADC	R31,R25
    1DD9 9145      LPM	R20,Z+
    1DDA 9154      LPM	R21,0(Z)
    1DDB C0B7      RJMP	0x1E93
(0227)   { TCNT1=0x00;
    1DDC 2422      CLR	R2
    1DDD 2433      CLR	R3
    1DDE BC3D      OUT	0x2D,R3
    1DDF BC2C      OUT	0x2C,R2
(0228) 	for(j=1;j<9;j++)	
    1DE0 E081      LDI	R24,1
    1DE1 E090      LDI	R25,0
    1DE2 017C      MOVW	R14,R24
    1DE3 C0A3      RJMP	0x1E87
(0229)    {if(j<5)
    1DE4 01C7      MOVW	R24,R14
    1DE5 3085      CPI	R24,5
    1DE6 E0E0      LDI	R30,0
    1DE7 079E      CPC	R25,R30
    1DE8 F008      BCS	0x1DEA
    1DE9 C037      RJMP	0x1E21
(0230)    {PORTA|=(1<<(j-1));	
    1DEA 019C      MOVW	R18,R24
    1DEB 5021      SUBI	R18,1
    1DEC 4030      SBCI	R19,0
    1DED E001      LDI	R16,1
    1DEE E010      LDI	R17,0
    1DEF 940E20F3  CALL	lsl16
    1DF1 B22B      IN	R2,0x1B
    1DF2 2433      CLR	R3
    1DF3 2A20      OR	R2,R16
    1D

⌨️ 快捷键说明

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