📄 con2.lst
字号:
00FB DFE1 RCALL _ReadADC
00FC 871D STD Y+13,R17
00FD 870C STD Y+12,R16
(0199) adc1=ReadADC (1);
00FE E001 LDI R16,1
00FF DFDD RCALL _ReadADC
0100 871F STD Y+15,R17
0101 870E STD Y+14,R16
(0200) if((adc0>temp0+1)||(adc0<temp0-1))temp0=adc0;
0102 8988 LDD R24,Y+16
0103 8999 LDD R25,Y+17
0104 9601 ADIW R24,1
0105 840C LDD R0,Y+12
0106 841D LDD R1,Y+13
0107 1580 CP R24,R0
0108 0591 CPC R25,R1
0109 F030 BCS 0x0110
010A 8988 LDD R24,Y+16
010B 8999 LDD R25,Y+17
010C 9701 SBIW R24,1
010D 1608 CP R0,R24
010E 0619 CPC R1,R25
010F F420 BCC 0x0114
0110 840C LDD R0,Y+12
0111 841D LDD R1,Y+13
0112 8A19 STD Y+17,R1
0113 8A08 STD Y+16,R0
(0201) if((adc1>temp1+1)||(adc1<temp1-1))temp1=adc1;
0114 898A LDD R24,Y+18
0115 899B LDD R25,Y+19
0116 9601 ADIW R24,1
0117 840E LDD R0,Y+14
0118 841F LDD R1,Y+15
0119 1580 CP R24,R0
011A 0591 CPC R25,R1
011B F030 BCS 0x0122
011C 898A LDD R24,Y+18
011D 899B LDD R25,Y+19
011E 9701 SBIW R24,1
011F 1608 CP R0,R24
0120 0619 CPC R1,R25
0121 F420 BCC 0x0126
0122 840E LDD R0,Y+14
0123 841F LDD R1,Y+15
0124 8A1B STD Y+19,R1
0125 8A0A STD Y+18,R0
(0202)
(0203) pos0=temp0>>2;
0126 8828 LDD R2,Y+16
0127 8839 LDD R3,Y+17
0128 D13F RCALL 0x0268
0129 8639 STD Y+9,R3
012A 8628 STD Y+8,R2
(0204) pos1=temp1>>2;
012B 882A LDD R2,Y+18
012C 883B LDD R3,Y+19
012D D13A RCALL 0x0268
012E 863B STD Y+11,R3
012F 862A STD Y+10,R2
(0205)
(0206) switch(action0)
0130 882C LDD R2,Y+20
0131 2433 CLR R3
0132 823D STD Y+5,R3
0133 822C STD Y+4,R2
0134 01C1 MOVW R24,R2
0135 3081 CPI R24,1
0136 E0E0 LDI R30,0
0137 079E CPC R25,R30
0138 F049 BEQ 0x0142
0139 3082 CPI R24,2
013A E0E0 LDI R30,0
013B 079E CPC R25,R30
013C F041 BEQ 0x0145
013D 3083 CPI R24,3
013E E0E0 LDI R30,0
013F 079E CPC R25,R30
0140 F039 BEQ 0x0148
0141 C009 RJMP 0x014B
(0207) {
(0208) case 1:Forward0 break;
0142 9AC0 SBI 0x18,0
0143 98C1 CBI 0x18,1
0144 C006 RJMP 0x014B
(0209) case 2:Backward0 break;
0145 9AC1 SBI 0x18,1
0146 98C0 CBI 0x18,0
0147 C003 RJMP 0x014B
(0210) case 3:Stop0 break;
0148 B388 IN R24,0x18
0149 6083 ORI R24,3
014A BB88 OUT 0x18,R24
(0211) }
(0212)
(0213) action0=3;
014B E083 LDI R24,3
014C 8B8C STD Y+20,R24
014D D124 RCALL 0x0272
(0214) if(pos0>(time1+2))
014E 9602 ADIW R24,2
014F 8408 LDD R0,Y+8
0150 8419 LDD R1,Y+9
0151 1580 CP R24,R0
0152 0591 CPC R25,R1
0153 F530 BCC 0x017A
(0215) {action0=1 ;dst0=pos0-time1;
0154 2400 CLR R0
0155 9403 INC R0
0156 8A0C STD Y+20,R0
0157 D10B RCALL 0x0263
0158 84C8 LDD R12,Y+8
0159 84D9 LDD R13,Y+9
015A 18C2 SUB R12,R2
015B 08D3 SBC R13,R3
(0216) if(dst0<15) //爬行状态,运转-反向制动-普通制动
015C 2D8C MOV R24,R12
015D 308F CPI R24,0xF
015E F4D0 BCC 0x0179
(0217) {
(0218) stopt0=dst0<<3;
015F 2E28 MOV R2,R24
0160 2433 CLR R3
0161 D0DC RCALL <created procedures>
0162 0C22 LSL R2
0163 1C33 ROL R3
0164 8239 STD Y+1,R3
0165 8228 STD Y+0,R2
(0219) if(!barke0)Delay (200+stopt0);//制动时正向马上关闭
0166 2366 TST R22
0167 F421 BNE 0x016C
0168 0181 MOVW R16,R2
0169 5308 SUBI R16,0x38
016A 4F1F SBCI R17,0xFF
016B DEC9 RCALL _Delay
(0220) Backward0
016C 9AC1 SBI 0x18,1
016D 98C0 CBI 0x18,0
(0221) Delay (125-stopt0);//正常爬行的制动时间
016E 8028 LDD R2,Y+0
016F 8039 LDD R3,Y+1
0170 D0DE RCALL 0x024F
0171 DEC3 RCALL _Delay
(0222) Stop0
0172 B388 IN R24,0x18
0173 6083 ORI R24,3
0174 BB88 OUT 0x18,R24
(0223) if(barke0)barke0--;
0175 2366 TST R22
0176 F019 BEQ 0x017A
0177 956A DEC R22
(0224)
(0225) }
0178 C001 RJMP 0x017A
(0226) else barke0=100;
0179 E664 LDI R22,0x64
(0227) }
(0228)
(0229) if(pos0<(time1-2))
017A D0F7 RCALL 0x0272
017B 9702 SBIW R24,2
017C 8408 LDD R0,Y+8
017D 8419 LDD R1,Y+9
017E 1608 CP R0,R24
017F 0619 CPC R1,R25
0180 F530 BCC 0x01A7
(0230) {action0=2 ;dst0=time1-pos0;
0181 E082 LDI R24,2
0182 8B8C STD Y+20,R24
0183 90C00060 LDS R12,time1
0185 8408 LDD R0,Y+8
0186 8419 LDD R1,Y+9
0187 18C0 SUB R12,R0
0188 08D1 SBC R13,R1
(0231) if(dst0<15) //爬行状态,运转-反向制动-普通制动
0189 2D8C MOV R24,R12
018A 308F CPI R24,0xF
018B F4D0 BCC 0x01A6
(0232) {
(0233) stopt0=dst0<<3;
018C 2E28 MOV R2,R24
018D 2433 CLR R3
018E D0AF RCALL <created procedures>
018F 0C22 LSL R2
0190 1C33 ROL R3
0191 8239 STD Y+1,R3
0192 8228 STD Y+0,R2
(0234) if(!barke0)Delay (200+stopt0);
0193 2366 TST R22
0194 F421 BNE 0x0199
0195 0181 MOVW R16,R2
0196 5308 SUBI R16,0x38
0197 4F1F SBCI R17,0xFF
0198 DE9C RCALL _Delay
(0235) Forward0
0199 9AC0 SBI 0x18,0
019A 98C1 CBI 0x18,1
(0236) Delay (125-stopt0);//正常爬行的制动时间
019B 8028 LDD R2,Y+0
019C 8039 LDD R3,Y+1
019D D0B1 RCALL 0x024F
019E DE96 RCALL _Delay
(0237) Stop0
019F B388 IN R24,0x18
01A0 6083 ORI R24,3
01A1 BB88 OUT 0x18,R24
(0238) if(barke0)barke0--;
01A2 2366 TST R22
01A3 F019 BEQ 0x01A7
01A4 956A DEC R22
(0239) }
01A5 C001 RJMP 0x01A7
(0240) else barke0=100;
01A6 E664 LDI R22,0x64
(0241) }
(0242)
(0243) ///////////////////////////////////////////////////////////////////
(0244) switch(action1)
01A7 2C2E MOV R2,R14
01A8 2433 CLR R3
01A9 823F STD Y+7,R3
01AA 822E STD Y+6,R2
01AB 01C1 MOVW R24,R2
01AC 3081 CPI R24,1
01AD E0E0 LDI R30,0
01AE 079E CPC R25,R30
01AF F049 BEQ 0x01B9
01B0 3082 CPI R24,2
01B1 E0E0 LDI R30,0
01B2 079E CPC R25,R30
01B3 F041 BEQ 0x01BC
01B4 3083 CPI R24,3
01B5 E0E0 LDI R30,0
01B6 079E CPC R25,R30
01B7 F039 BEQ 0x01BF
01B8 C009 RJMP 0x01C2
(0245) {
(0246) case 1:Forward1 break;
01B9 9AAC SBI 0x15,4
01BA 98AD CBI 0x15,5
01BB C006 RJMP 0x01C2
(0247) case 2:Backward1 break;
01BC 9AAD SBI 0x15,5
01BD 98AC CBI 0x15,4
01BE C003 RJMP 0x01C2
(0248) case 3:Stop1 break;
01BF B385 IN R24,0x15
01C0 6380 ORI R24,0x30
01C1 BB85 OUT 0x15,R24
(0249) }
(0250)
(0251) action1=3;
01C2 E083 LDI R24,3
01C3 2EE8 MOV R14,R24
01C4 D08F RCALL 0x0254
(0252) if(pos1>(time2+2))
01C5 9602 ADIW R24,2
01C6 840A LDD R0,Y+10
01C7 841B LDD R1,Y+11
01C8 1580 CP R24,R0
01C9 0591 CPC R25,R1
01CA F520 BCC 0x01EF
(0253) {action1=1 ;dst1=pos1-time2;
01CB 24EE CLR R14
01CC 94E3 INC R14
01CD D09F RCALL 0x026D
01CE 0150 MOVW R10,R0
01CF 18A2 SUB R10,R2
01D0 08B3 SBC R11,R3
(0254) if(dst1<15) //爬行状态,运转-反向制动-普通制动
01D1 2D8A MOV R24,R10
01D2 308F CPI R24,0xF
01D3 F4D0 BCC 0x01EE
(0255) {
(0256) stopt1=dst1<<3;
01D4 2E28 MOV R2,R24
01D5 2433 CLR R3
01D6 0C22 LSL R2
01D7 1C33 ROL R3
01D8 D065 RCALL <created procedures>
01D9 823B STD Y+3,R3
01DA 822A STD Y+2,R2
(0257) if(!barke1)Delay (200+stopt1);//制动时正向马上关闭
01DB 2344 TST R20
01DC F421 BNE 0x01E1
01DD 0181 MOVW R16,R2
01DE 5308 SUBI R16,0x38
01DF 4F1F SBCI R17,0xFF
01E0 DE54 RCALL _Delay
(0258) Backward1
01E1 9AAD SBI 0x15,5
01E2 98AC CBI 0x15,4
(0259) Delay (125-stopt1);//正常爬行的制动时间
01E3 802A LDD R2,Y+2
01E4 803B LDD R3,Y+3
01E5 D069 RCALL 0x024F
01E6 DE4E RCALL _Delay
(0260) Stop1
01E7 B385 IN R24,0x15
01E8 6380 ORI R24,0x30
01E9 BB85 OUT 0x15,R24
(0261) if(barke1)barke1--;
01EA 2344 TST R20
01EB F019 BEQ 0x01EF
01EC 954A DEC R20
(0262)
(0263) }
01ED C001 RJMP 0x01EF
(0264) else barke1=100;
01EE E644 LDI R20,0x64
(0265) }
(0266)
(0267) if(pos1<(time2-2))
01EF D064 RCALL 0x0254
01F0 9702 SBIW R24,2
01F1 840A LDD R0,Y+10
01F2 841B LDD R1,Y+11
01F3 1608 CP R0,R24
01F4 0619 CPC R1,R25
01F5 F520 BCC 0x021A
(0268) {action1=2 ;dst1=time2-pos1;
01F6 E082 LDI R24,2
01F7 2EE8 MOV R14,R24
01F8 90A00062 LDS R10,time2
01FA 18A0 SUB R10,R0
01FB 08B1 SBC R11,R1
(0269) if(dst1<15) //爬行状态,运转-反向制动-普通制动
01FC 2D8A MOV R24,R10
01FD 308F CPI R24,0xF
01FE F4D0 BCC 0x0219
(0270) {
(0271) stopt1=dst1<<3;
01FF 2E28 MOV R2,R24
0200 2433 CLR R3
0201 0C22 LSL R2
0202 1C33 ROL R3
0203 D03A RCALL <created procedures>
0204 823B STD Y+3,R3
0205 822A STD Y+2,R2
(0272) if(!barke1)Delay (200+stopt1);
0206 2344 TST R20
0207 F421 BNE 0x020C
0208 0181 MOVW R16,R2
0209 5308 SUBI R16,0x38
020A 4F1F SBCI R17,0xFF
020B DE29 RCALL _Delay
(0273) Forward1
020C 9AAC SBI 0x15,4
020D 98AD CBI 0x15,5
(0274) Delay (125-stopt1);//正常爬行的制动时间
020E 802A LDD R2,Y+2
020F 803B LDD R3,Y+3
0210 D03E RCALL 0x024F
0211 DE23 RCALL _Delay
(0275) Stop1
0212 B385 IN R24,0x15
0213 6380 ORI R24,0x30
0214 BB85 OUT 0x15,R24
(0276) if(barke1)barke1--;
0215 2344 TST R20
0216 F019 BEQ 0x021A
0217 954A DEC R20
(0277) }
0218 C001 RJMP 0x021A
(0278) else barke1=100;
FILE: <library>
0219 E644 LDI R20,0x64
021A CEDF RJMP 0x00FA
021B 9665 ADIW R28,0x15
021C 9508 RET
pop_gset2:
021D E0E2 LDI R30,2
021E C00C RJMP pop
push_gset5:
021F 92FA ST R15,-Y
0220 92EA ST R14,-Y
push_gset4:
0221 92DA ST R13,-Y
0222 92CA ST R12,-Y
push_gset3:
0223 92BA ST R11,-Y
0224 92AA ST R10,-Y
push_gset2:
0225 937A ST R23,-Y
0226 936A ST R22,-Y
push_gset1:
0227 935A ST R21,-Y
0228 934A ST R20,-Y
0229 9508 RET
pop_gset1:
022A E0E1 LDI R30,1
pop:
022B 9149 LD R20,Y+
022C 9159 LD R21,Y+
022D FDE0 SBRC R30,0
022E 9508 RET
022F 9169 LD R22,Y+
0230 9179 LD R23,Y+
0231 FDE1 SBRC R30,1
0232 9508 RET
0233 90A9 LD R10,Y+
0234 90B9 LD R11,Y+
0235 FDE2 SBRC R30,2
0236 9508 RET
0237 90C9 LD R12,Y+
0238 90D9 LD R13,Y+
0239 FDE3 SBRC R30,3
023A 9508 RET
023B 90E9 LD R14,Y+
023C 90F9 LD R15,Y+
023D 9508 RET
<created procedures>:
023E 0C22 LSL R2
023F 1C33 ROL R3
0240 0C22 LSL R2
0241 1C33 ROL R3
0242 9508 RET
0243 922A ST R2,-Y
0244 923A ST R3,-Y
0245 930A ST R16,-Y
0246 931A ST R17,-Y
0247 938A ST R24,-Y
0248 939A ST R25,-Y
0249 93EA ST R30,-Y
024A B62F IN R2,0x3F
024B 922A ST R2,-Y
024C B300 IN R16,0x10
024D 2711 CLR R17
024E 9508 RET
024F E70D LDI R16,0x7D
0250 E010 LDI R17,0
0251 1902 SUB R16,R2
0252 0913 SBC R17,R3
0253 9508 RET
0254 91800062 LDS R24,time2
0256 91900063 LDS R25,time2+1
0258 9508 RET
0259 93900063 STS time2+1,R25
025B 93800062 STS time2,R24
025D 9508 RET
025E 93900061 STS time1+1,R25
0260 93800060 STS time1,R24
0262 9508 RET
0263 90200060 LDS R2,time1
0265 90300061 LDS R3,time1+1
0267 9508 RET
0268 9436 LSR R3
0269 9427 ROR R2
026A 9436 LSR R3
026B 9427 ROR R2
026C 9508 RET
026D 90200062 LDS R2,time2
026F 90300063 LDS R3,time2+1
0271 9508 RET
0272 91800060 LDS R24,time1
0274 91900061 LDS R25,time1+1
0276 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -