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

📄 multistep.lst

📁 在ATMEGA128单片机上开发的一个机器人控制程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
    1907 0DE2      ADD	R30,R2
    1908 1DF3      ADC	R31,R3
    1909 9125      LPM	R18,Z+
    190A 9134      LPM	R19,0(Z)
    190B E302      LDI	R16,0x32
    190C E010      LDI	R17,0
    190D 940E20B9  CALL	empy16s
    190F E023      LDI	R18,3
    1910 E030      LDI	R19,0
    1911 940E209F  CALL	div16u
    1913 01C8      MOVW	R24,R16
    1914 5182      SUBI	R24,0x12
    1915 4F9D      SBCI	R25,0xFD
    1916 0197      MOVW	R18,R14
    1917 5021      SUBI	R18,1
    1918 4030      SBCI	R19,0
    1919 EA06      LDI	R16,0xA6
    191A E01E      LDI	R17,0xE
    191B 940E20B9  CALL	empy16s
    191D 016C      MOVW	R12,R24
    191E 0EC0      ADD	R12,R16
    191F 1ED1      ADC	R13,R17
(0123)     do{temp=TCNT1;	
    1920 B56C      IN	R22,0x2C
    1921 B57D      IN	R23,0x2D
(0124)  	    if(temp>temp1)PORTC&=~(1<<(j-1));	
    1922 16C6      CP	R12,R22
    1923 06D7      CPC	R13,R23
    1924 F478      BCC	0x1934
    1925 0197      MOVW	R18,R14
    1926 5021      SUBI	R18,1
    1927 4030      SBCI	R19,0
    1928 E001      LDI	R16,1
    1929 E010      LDI	R17,0
    192A 940E20F3  CALL	lsl16
    192C 0118      MOVW	R2,R16
    192D 9420      COM	R2
    192E 9430      COM	R3
    192F B245      IN	R4,0x15
    1930 2455      CLR	R5
    1931 2042      AND	R4,R2
    1932 2053      AND	R5,R3
    1933 BA45      OUT	0x15,R4
(0125)   		if(temp>temp2)PORTA&=~(1<<(j-1));}while(temp<j*3750);}
    1934 16A6      CP	R10,R22
    1935 06B7      CPC	R11,R23
    1936 F478      BCC	0x1946
    1937 0197      MOVW	R18,R14
    1938 5021      SUBI	R18,1
    1939 4030      SBCI	R19,0
    193A E001      LDI	R16,1
    193B E010      LDI	R17,0
    193C 940E20F3  CALL	lsl16
    193E 0118      MOVW	R2,R16
    193F 9420      COM	R2
    1940 9430      COM	R3
    1941 B24B      IN	R4,0x1B
    1942 2455      CLR	R5
    1943 2042      AND	R4,R2
    1944 2053      AND	R5,R3
    1945 BA4B      OUT	0x1B,R4
    1946 EA06      LDI	R16,0xA6
    1947 E01E      LDI	R17,0xE
    1948 0197      MOVW	R18,R14
    1949 940E20B9  CALL	empy16s
    194B 1760      CP	R22,R16
    194C 0771      CPC	R23,R17
    194D F290      BCS	0x1920
    194E 01C7      MOVW	R24,R14
    194F 9601      ADIW	R24,1
    1950 017C      MOVW	R14,R24
    1951 01C7      MOVW	R24,R14
    1952 3089      CPI	R24,0x9
    1953 E0E0      LDI	R30,0
    1954 079E      CPC	R25,R30
    1955 F408      BCC	0x1957
    1956 CF57      RJMP	0x18AE
(0126)     TCNT1=0x00;		
    1957 2422      CLR	R2
    1958 2433      CLR	R3
    1959 BC3D      OUT	0x2D,R3
    195A BC2C      OUT	0x2C,R2
    195B 5041      SUBI	R20,1
    195C 4050      SBCI	R21,0
    195D 3040      CPI	R20,0
    195E 0745      CPC	R20,R21
    195F F009      BEQ	0x1961
    1960 CF45      RJMP	0x18A6
    1961 01C3      MOVW	R24,R6
    1962 9601      ADIW	R24,1
    1963 013C      MOVW	R6,R24
    1964 01C3      MOVW	R24,R6
    1965 3084      CPI	R24,4
    1966 E0E0      LDI	R30,0
    1967 079E      CPC	R25,R30
    1968 F408      BCC	0x196A
    1969 CF2F      RJMP	0x1899
(0127)     }
(0128)   
(0129)   
(0130)   
(0131)   } 
(0132)    
(0133)     if(p==2)
    196A 01C4      MOVW	R24,R8
    196B 3082      CPI	R24,2
    196C E0E0      LDI	R30,0
    196D 079E      CPC	R25,R30
    196E F009      BEQ	0x1970
    196F C295      RJMP	0x1C05
(0134)  { for(i=0;i<cycle_start2;i++)
    1970 2466      CLR	R6
    1971 2477      CLR	R7
    1972 C0CB      RJMP	0x1A3E
(0135)   for(t=angle2[i][0];t>0;t--)    
    1973 E10A      LDI	R16,0x1A
    1974 E010      LDI	R17,0
    1975 0193      MOVW	R18,R6
    1976 940E20B9  CALL	empy16s
    1978 01F8      MOVW	R30,R16
    1979 EC84      LDI	R24,0xC4
    197A E298      LDI	R25,0x28
    197B 0FE8      ADD	R30,R24
    197C 1FF9      ADC	R31,R25
    197D 9145      LPM	R20,Z+
    197E 9154      LPM	R21,0(Z)
    197F C0B7      RJMP	0x1A37
(0136)   { TCNT1=0x00;
    1980 2422      CLR	R2
    1981 2433      CLR	R3
    1982 BC3D      OUT	0x2D,R3
    1983 BC2C      OUT	0x2C,R2
(0137) 	for(j=1;j<9;j++)	
    1984 E081      LDI	R24,1
    1985 E090      LDI	R25,0
    1986 017C      MOVW	R14,R24
    1987 C0A3      RJMP	0x1A2B
(0138)    {if(j<5)
    1988 01C7      MOVW	R24,R14
    1989 3085      CPI	R24,5
    198A E0E0      LDI	R30,0
    198B 079E      CPC	R25,R30
    198C F008      BCS	0x198E
    198D C037      RJMP	0x19C5
(0139)    {PORTA|=(1<<(j-1));	
    198E 019C      MOVW	R18,R24
    198F 5021      SUBI	R18,1
    1990 4030      SBCI	R19,0
    1991 E001      LDI	R16,1
    1992 E010      LDI	R17,0
    1993 940E20F3  CALL	lsl16
    1995 B22B      IN	R2,0x1B
    1996 2433      CLR	R3
    1997 2A20      OR	R2,R16
    1998 2A31      OR	R3,R17
    1999 BA2B      OUT	0x1B,R2
(0140)     temp2=(50*angle2[i][j+8]/3+750)+(j-1)*3750;}
    199A E10A      LDI	R16,0x1A
    199B E010      LDI	R17,0
    199C 0193      MOVW	R18,R6
    199D 940E20B9  CALL	empy16s
    199F 0118      MOVW	R2,R16
    19A0 EC84      LDI	R24,0xC4
    19A1 E298      LDI	R25,0x28
    19A2 0E28      ADD	R2,R24
    19A3 1E39      ADC	R3,R25
    19A4 0197      MOVW	R18,R14
    19A5 5F28      SUBI	R18,0xF8
    19A6 4F3F      SBCI	R19,0xFF
    19A7 E002      LDI	R16,2
    19A8 E010      LDI	R17,0
    19A9 940E20B9  CALL	empy16s
    19AB 01F8      MOVW	R30,R16
    19AC 0DE2      ADD	R30,R2
    19AD 1DF3      ADC	R31,R3
    19AE 9125      LPM	R18,Z+
    19AF 9134      LPM	R19,0(Z)
    19B0 E302      LDI	R16,0x32
    19B1 E010      LDI	R17,0
    19B2 940E20B9  CALL	empy16s
    19B4 E023      LDI	R18,3
    19B5 E030      LDI	R19,0
    19B6 940E209F  CALL	div16u
    19B8 01C8      MOVW	R24,R16
    19B9 5182      SUBI	R24,0x12
    19BA 4F9D      SBCI	R25,0xFD
    19BB 0197      MOVW	R18,R14
    19BC 5021      SUBI	R18,1
    19BD 4030      SBCI	R19,0
    19BE EA06      LDI	R16,0xA6
    19BF E01E      LDI	R17,0xE
    19C0 940E20B9  CALL	empy16s
    19C2 015C      MOVW	R10,R24
    19C3 0EA0      ADD	R10,R16
    19C4 1EB1      ADC	R11,R17
(0141) 	PORTC|=(1<<(j-1));	
    19C5 0197      MOVW	R18,R14
    19C6 5021      SUBI	R18,1
    19C7 4030      SBCI	R19,0
    19C8 E001      LDI	R16,1
    19C9 E010      LDI	R17,0
    19CA 940E20F3  CALL	lsl16
    19CC B225      IN	R2,0x15
    19CD 2433      CLR	R3
    19CE 2A20      OR	R2,R16
    19CF 2A31      OR	R3,R17
    19D0 BA25      OUT	0x15,R2
(0142)     temp1=(50*angle2[i][j]/3+750)+(j-1)*3750;	
    19D1 E10A      LDI	R16,0x1A
    19D2 E010      LDI	R17,0
    19D3 0193      MOVW	R18,R6
    19D4 940E20B9  CALL	empy16s
    19D6 0118      MOVW	R2,R16
    19D7 EC84      LDI	R24,0xC4
    19D8 E298      LDI	R25,0x28
    19D9 0E28      ADD	R2,R24
    19DA 1E39      ADC	R3,R25
    19DB E002      LDI	R16,2
    19DC E010      LDI	R17,0
    19DD 0197      MOVW	R18,R14
    19DE 940E20B9  CALL	empy16s
    19E0 01F8      MOVW	R30,R16
    19E1 0DE2      ADD	R30,R2
    19E2 1DF3      ADC	R31,R3
    19E3 9125      LPM	R18,Z+
    19E4 9134      LPM	R19,0(Z)
    19E5 E302      LDI	R16,0x32
    19E6 E010      LDI	R17,0
    19E7 940E20B9  CALL	empy16s
    19E9 E023      LDI	R18,3
    19EA E030      LDI	R19,0
    19EB 940E209F  CALL	div16u
    19ED 01C8      MOVW	R24,R16
    19EE 5182      SUBI	R24,0x12
    19EF 4F9D      SBCI	R25,0xFD
    19F0 0197      MOVW	R18,R14
    19F1 5021      SUBI	R18,1
    19F2 4030      SBCI	R19,0
    19F3 EA06      LDI	R16,0xA6
    19F4 E01E      LDI	R17,0xE
    19F5 940E20B9  CALL	empy16s
    19F7 016C      MOVW	R12,R24
    19F8 0EC0      ADD	R12,R16
    19F9 1ED1      ADC	R13,R17
(0143)     do{temp=TCNT1;	
    19FA B56C      IN	R22,0x2C
    19FB B57D      IN	R23,0x2D
(0144)  	    if(temp>temp1)PORTC&=~(1<<(j-1));	
    19FC 16C6      CP	R12,R22
    19FD 06D7      CPC	R13,R23
    19FE F478      BCC	0x1A0E
    19FF 0197      MOVW	R18,R14
    1A00 5021      SUBI	R18,1
    1A01 4030      SBCI	R19,0
    1A02 E001      LDI	R16,1
    1A03 E010      LDI	R17,0
    1A04 940E20F3  CALL	lsl16
    1A06 0118      MOVW	R2,R16
    1A07 9420      COM	R2
    1A08 9430      COM	R3
    1A09 B245      IN	R4,0x15
    1A0A 2455      CLR	R5
    1A0B 2042      AND	R4,R2
    1A0C 2053      AND	R5,R3
    1A0D BA45      OUT	0x15,R4
(0145)   		if(temp>temp2)PORTA&=~(1<<(j-1));}while(temp<j*3750);        
    1A0E 16A6      CP	R10,R22
    1A0F 06B7      CPC	R11,R23
    1A10 F478      BCC	0x1A20
    1A11 0197      MOVW	R18,R14
    1A12 5021      SUBI	R18,1
    1A13 4030      SBCI	R19,0
    1A14 E001      LDI	R16,1
    1A15 E010      LDI	R17,0
    1A16 940E20F3  CALL	lsl16
    1A18 0118      MOVW	R2,R16
    1A19 9420      COM	R2
    1A1A 9430      COM	R3
    1A1B B24B      IN	R4,0x1B
    1A1C 2455      CLR	R5
    1A1D 2042      AND	R4,R2
    1A1E 2053      AND	R5,R3
    1A1F BA4B      OUT	0x1B,R4
    1A20 EA06      LDI	R16,0xA6
    1A21 E01E      LDI	R17,0xE
    1A22 0197      MOVW	R18,R14
    1A23 940E20B9  CALL	empy16s
    1A25 1760      CP	R22,R16
    1A26 0771      CPC	R23,R17
    1A27 F290      BCS	0x19FA
    1A28 01C7      MOVW	R24,R14
    1A29 9601      ADIW	R24,1
    1A2A 017C      MOVW	R14,R24
    1A2B 01C7      MOVW	R24,R14
    1A2C 3089      CPI	R24,0x9
    1A2D E0E0      LDI	R30,0
    1A2E 079E      CPC	R25,R30
    1A2F F408      BCC	0x1A31
    1A30 CF57      RJMP	0x1988
(0146)   	 }
(0147)     TCNT1=0x00;		
    1A31 2422      CLR	R2
    1A32 2433      CLR	R3
    1A33 BC3D      OUT	0x2D,R3
    1A34 BC2C      OUT	0x2C,R2
    1A35 5041      SUBI	R20,1
    1A36 4050      SBCI	R21,0
    1A37 3040      CPI	R20,0
    1A38 0745      CPC	R20,R21
    1A39 F009      BEQ	0x1A3B
    1A3A CF45      RJMP	0x1980
    1A3B 01C3      MOVW	R24,R6
    1A3C 9601      ADIW	R24,1
    1A3D 013C      MOVW	R6,R24
    1A3E 9020010A  LDS	R2,0x10A
    1A40 9030010B  LDS	R3,0x10B
    1A42 1462      CP	R6,R2
    1A43 0473      CPC	R7,R3
    1A44 F408      BCC	0x1A46
    1A45 CF2D      RJMP	0x1973
(0148)     }
(0149) do{ 
(0150)   for(i=cycle_start2;i<totalstep2;i++)
    1A46 9060010A  LDS	R6,0x10A
    1A48 9070010B  LDS	R7,0x10B
    1A4A C0CB      RJMP	0x1B16
(0151)   for(t=angle2[i][0];t>0;t--)
    1A4B E10A      LDI	R16,0x1A
    1A4C E010      LDI	R17,0
    1A4D 0193      MOVW	R18,R6
    1A4E 940E20B9  CALL	empy16s
    1A50 01F8      MOVW	R30,R16
    1A51 EC84      LDI	R24,0xC4
    1A52 E298      LDI	R25,0x28
    1A53 0FE8      ADD	R30,R24
    1A54 1FF9      ADC	R31,R25
    1A55 9145      LPM	R20,Z+
    1A56 9154      LPM	R21,0(Z)
    1A57 C0B7      RJMP	0x1B0F
(0152)  {TCNT1=0x00;	
    1A58 2422      CLR	R2
    1A59 2433      CLR	R3
    1A5A BC3D      OUT	0x2D,R3
    1A5B BC2C      OUT	0x2C,R2
(0153)   for(j=1;j<9;j++)	
    1A5C E081      LDI	R24,1
    1A5D E090      LDI	R25,0
    1A5E 017C      MOVW	R14,R24
    1A5F C0A3      RJMP	0x1B03
(0154)   { if(j<5)
    1A60 01C7      MOVW	R24,R14
    1A61 3085      CPI	R24,5
    1A62 E0E0      LDI	R30,0
    1A63 079E      CPC	R25,R30
    1A64 F008      BCS	0x1A66
    1A65 C037      RJMP	0x1A9D
(0155) 	{PORTA|=(1<<(j-1));	
    1A66 019C      MOVW	R18,R24
    1A67 5021      SUBI	R18,1
    1A68 4030      SBCI	R19,0
    1A69 E001      LDI	R16,1
    1A6A E010      LDI	R17,0
    1A6B 940E20F3  CALL	lsl16
    1A6D B22B      IN	R2,0x1B
    1A6E 2433      CLR	R3
    1A6F 2A20      OR	R2,R16
    1A70 2A31      OR	R3,R17
    1A71 BA2B      OUT	0x1B,R2
(0156)      temp2=(50*angle2[i][j+8]/3+750)+(j-1)*3750;}
    1A72 E10A      LDI	R16,0x1A
    1A73 E010      LDI	R17,0
    1A74 0193      MOVW	R18,R6
    1A75 940E20B9  CALL	empy16s
    1A77 0118      MOVW	R2,R16
    1A78 EC84      LDI	R24,0xC4
    1A79 E298      LDI	R25,0x28
    1A7A 0E28      ADD	R2,R24
    1A7B 1E39      ADC	R3,R25
    1A7C 0197      MOVW	R18,R14
    1A7D 5F28      SUBI	R18,0xF8
    1A7E 4F3F      SBCI	R19,0xFF
    1A7F E002      LDI	R16,2
    1A80 E010      LDI	R17,0
    1A81 940E20B9  CALL	empy16s
    1A83 01F8      MOVW	R30,R16
    1A84 0DE2      ADD	R30,R2
    1A85 1DF3      ADC	R31,R3
    1A86 9125      LPM	R18,Z+
    1A87 9134      LPM	R19,0(Z)
    1A88 E302      LDI	R16,0x32
    1A89 E010      LDI	R17,0
    1A8A 940E20B9  CALL	empy16s
    1A8C E023      LDI	R18,3
    1A8D E030      LDI	R19,0
    1A8E 940E209F  CALL	div16u
    1A90 01C8      MOVW	R24,R16
    1A91 5182      SUBI	R24,0x12
    1A92 4F9D      SBCI	R25,0xFD
    1A93 0197      MOVW	R18,R14
    1A94 5021      SUBI	R18,1
    1A95 4030      SBCI	R19,0
    1A96 EA06      LDI	R16,0xA6
    1A97 E01E      LDI	R17,0xE
    1A98 940E20B9  CALL	empy16s
    1A9A 015C      MOVW	R10,R24
    1A9B 0EA0      ADD	R10,R16
    1A9C 1EB1      ADC	R11,R17
(0157)      PORTC|=(1<<(j-1));	
    1A9D 0197      MOVW	R18,R14
    1A9E 5021      SUBI	R18,1
    1A9F 4030      SBCI	R19,0
    1AA0 E001      LDI	R16,1
    1AA1 E010      LDI	R17,0
    1AA2 940E20F3  CALL	lsl16
    1AA4 B225      IN	R2,0x15
    1AA5 2433      CLR	R3
    1AA6 2A20      OR	R2,R16
    1AA7 2A31      OR	R3,R17
    1AA8 BA25      OUT	0x15,R2
(0158)      temp1=(50*angle2[i][j]/3+750)+(j-1)*3750;	       

⌨️ 快捷键说明

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