📄 motor2.lis
字号:
01E0 .dbline 0 ; func end
01E0 0895 ret
01E2 .dbend
01E2 .dbfunc e pause _pause fV
.even
01E2 _pause::
01E2 .dbline -1
01E2 .dbline 148
01E2 ; void pause() {set_bit(PORTA,0);set_bit(PORTA,1);
01E2 .dbline 148
01E2 D89A sbi 0x1b,0
01E4 .dbline 148
01E4 D99A sbi 0x1b,1
01E6 .dbline 149
01E6 ; set_bit(PORTA,2);set_bit(PORTA,3);} //0011 1111 制动
01E6 DA9A sbi 0x1b,2
01E8 .dbline 149
01E8 DB9A sbi 0x1b,3
01EA .dbline -2
01EA L28:
01EA .dbline 0 ; func end
01EA 0895 ret
01EC .dbend
01EC .dbfunc e forleft _forleft fV
.even
01EC _forleft::
01EC .dbline -1
01EC .dbline 150
01EC ; void forleft() {motor_L(1);motor_R(70);} //0011 1000 车头向前左拐
01EC .dbline 150
01EC 01E0 ldi R16,1
01EE 10E0 ldi R17,0
01F0 9CDF rcall _motor_L
01F2 .dbline 150
01F2 06E4 ldi R16,70
01F4 10E0 ldi R17,0
01F6 52DF rcall _motor_R
01F8 .dbline -2
01F8 L29:
01F8 .dbline 0 ; func end
01F8 0895 ret
01FA .dbend
01FA .dbfunc e foright _foright fV
.even
01FA _foright::
01FA .dbline -1
01FA .dbline 151
01FA ; void foright() {motor_L(70);motor_R(1);} //0011 0010 车头向前右拐
01FA .dbline 151
01FA 06E4 ldi R16,70
01FC 10E0 ldi R17,0
01FE 95DF rcall _motor_L
0200 .dbline 151
0200 01E0 ldi R16,1
0202 10E0 ldi R17,0
0204 4BDF rcall _motor_R
0206 .dbline -2
0206 L30:
0206 .dbline 0 ; func end
0206 0895 ret
0208 .dbend
0208 .dbfunc e backleft _backleft fV
.even
0208 _backleft::
0208 .dbline -1
0208 .dbline 152
0208 ; void backleft() {motor_L(-70);motor_R(-1);} //0011 0001 车尾向前左拐
0208 .dbline 152
0208 0AEB ldi R16,-70
020A 1FEF ldi R17,-1
020C 8EDF rcall _motor_L
020E .dbline 152
020E 0FEF ldi R16,-1
0210 1FEF ldi R17,-1
0212 44DF rcall _motor_R
0214 .dbline -2
0214 L31:
0214 .dbline 0 ; func end
0214 0895 ret
0216 .dbend
0216 .dbfunc e backright _backright fV
.even
0216 _backright::
0216 .dbline -1
0216 .dbline 153
0216 ; void backright() {motor_L(-1);motor_R(-70);} //0011 0100 车尾向前右拐
0216 .dbline 153
0216 0FEF ldi R16,-1
0218 1FEF ldi R17,-1
021A 87DF rcall _motor_L
021C .dbline 153
021C 0AEB ldi R16,-70
021E 1FEF ldi R17,-1
0220 3DDF rcall _motor_R
0222 .dbline -2
0222 L32:
0222 .dbline 0 ; func end
0222 0895 ret
0224 .dbend
0224 .dbfunc e cycleft _cycleft fV
.even
0224 _cycleft::
0224 .dbline -1
0224 .dbline 154
0224 ; void cycleft() {motor_L(-40);motor_R(50);} //0011 1001 逆时针旋转
0224 .dbline 154
0224 08ED ldi R16,-40
0226 1FEF ldi R17,-1
0228 80DF rcall _motor_L
022A .dbline 154
022A 02E3 ldi R16,50
022C 10E0 ldi R17,0
022E 36DF rcall _motor_R
0230 .dbline -2
0230 L33:
0230 .dbline 0 ; func end
0230 0895 ret
0232 .dbend
0232 .dbfunc e cycright _cycright fV
.even
0232 _cycright::
0232 .dbline -1
0232 .dbline 155
0232 ; void cycright() {motor_L(50);motor_R(-40);} //0011 0110 顺时针旋转
0232 .dbline 155
0232 02E3 ldi R16,50
0234 10E0 ldi R17,0
0236 79DF rcall _motor_L
0238 .dbline 155
0238 08ED ldi R16,-40
023A 1FEF ldi R17,-1
023C 2FDF rcall _motor_R
023E .dbline -2
023E L34:
023E .dbline 0 ; func end
023E 0895 ret
0240 .dbend
0240 .dbfunc e getpacket _getpacket fV
.even
0240 _getpacket::
0240 .dbline -1
0240 .dbline 159
0240 ;
0240 ; //收集包裹函数
0240 ; void getpacket()
0240 ; {set_bit(PORTD,0);
0240 .dbline 159
0240 909A sbi 0x12,0
0242 .dbline 160
0242 ; clr_bit(PORTD,1);}//10,启动收集装置
0242 9198 cbi 0x12,1
0244 .dbline -2
0244 L35:
0244 .dbline 0 ; func end
0244 0895 ret
0246 .dbend
0246 .dbfunc e stopget _stopget fV
.even
0246 _stopget::
0246 00D0 rcall push_gset1
0248 .dbline -1
0248 .dbline 162
0248 ; void stopget()
0248 ; {
0248 01C0 rjmp L38
024A L37:
024A .dbline 163
024A FADF rcall _getpacket
024C L38:
024C .dbline 163
024C ; while(SJ==1) getpacket();
024C 849B sbis 0x10,4
024E 03C0 rjmp L40
0250 41E0 ldi R20,1
0252 50E0 ldi R21,0
0254 02C0 rjmp L41
0256 L40:
0256 4427 clr R20
0258 5527 clr R21
025A L41:
025A 4130 cpi R20,1
025C E0E0 ldi R30,0
025E 5E07 cpc R21,R30
0260 A1F3 breq L37
0262 .dbline 164
0262 ; set_bit(PORTD,1);
0262 919A sbi 0x12,1
0264 .dbline 165
0264 ; clr_bit(PORTD,0);
0264 9098 cbi 0x12,0
0266 .dbline 166
0266 ; delay_ms(50);
0266 02E3 ldi R16,50
0268 10E0 ldi R17,0
026A E4DE rcall _delay_ms
026C .dbline 167
026C ; set_bit(PORTD,1);
026C 919A sbi 0x12,1
026E .dbline 168
026E ; set_bit(PORTD,0);
026E 909A sbi 0x12,0
0270 .dbline -2
0270 L36:
0270 00D0 rcall pop_gset1
0272 .dbline 0 ; func end
0272 0895 ret
0274 .dbend
0274 .dbfunc e main _main fV
.even
0274 _main::
0274 .dbline -1
0274 .dbline 172
0274 ; }
0274 ;
0274 ; void main()
0274 ; {
0274 .dbline 173
0274 ; CLI();
0274 F894 cli
0276 .dbline 174
0276 ; InitPorts();
0276 C4DE rcall _InitPorts
0278 .dbline 175
0278 ; pwm_init();
0278 F7DE rcall _pwm_init
027A .dbline 176
027A ; SEI();
027A 7894 sei
027C .dbline 177
027C ; delay_ms(200);
027C 08EC ldi R16,200
027E 10E0 ldi R17,0
0280 D9DE rcall _delay_ms
0282 .dbline 203
0282 ;
0282 ; /*forward();//同时正转
0282 ; delay_s(3);
0282 ; pause();
0282 ; delay_s(3);
0282 ; backward();//同时反转
0282 ; delay_s(3);
0282 ; pause();
0282 ; delay_s(3);
0282 ; forleft();//左停右正
0282 ; delay_s(3);
0282 ; pause();
0282 ; delay_s(3);
0282 ; foright();//左正右停
0282 ; delay_s(3);
0282 ; pause();
0282 ; delay_s(3);
0282 ; backleft();//左反右停
0282 ; delay_s(3);
0282 ; pause();
0282 ; delay_s(3);
0282 ; backright();//左停右反
0282 ; delay_s(3);
0282 ; pause();
0282 ; delay_s(3);*/
0282 ; cycleft();//左反右正
0282 D0DF rcall _cycleft
0284 .dbline 204
0284 ; delay_s(3);
0284 03E0 ldi R16,3
0286 10E0 ldi R17,0
0288 E2DE rcall _delay_s
028A .dbline 205
028A ; pause();
028A ABDF rcall _pause
028C .dbline 206
028C ; delay_s(3);
028C 03E0 ldi R16,3
028E 10E0 ldi R17,0
0290 DEDE rcall _delay_s
0292 .dbline 207
0292 ; cycright();//左正右反
0292 CFDF rcall _cycright
0294 .dbline 208
0294 ; delay_s(3);
0294 03E0 ldi R16,3
0296 10E0 ldi R17,0
0298 DADE rcall _delay_s
029A .dbline -2
029A L42:
029A .dbline 0 ; func end
029A 0895 ret
029C .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -