📄 remote_car.lis
字号:
009E .dbline 168
009E ; temp=temp1 = 0;
009E 0AEF ldi R16,250
00A0 10E0 ldi R17,0
00A2 C6DF rcall _delay_ms
00A4 .dbline 170
00A4 ; sound_add = 0;
00A4 ; while(temp1!=0)
00A4 80911A00 lds R24,_work_status
00A8 8037 cpi R24,112
00AA 69F4 brne L20
00AC .dbline 171
00AC ; {
00AC .dbline 172
00AC ; temp=temp1;
00AC EDDF rcall _stop
00AE 0AC0 rjmp L23
00B0 L22:
00B0 .dbline 174
00B0 .dbline 175
00B0 85E5 ldi R24,85
00B2 8BBB out 0x1b,R24
00B4 .dbline 176
00B4 0AEF ldi R16,250
00B6 10E0 ldi R17,0
00B8 BBDF rcall _delay_ms
00BA .dbline 177
00BA 8AEA ldi R24,170
00BC 8BBB out 0x1b,R24
00BE .dbline 178
00BE 0AEF ldi R16,250
00C0 10E0 ldi R17,0
00C2 B6DF rcall _delay_ms
00C4 .dbline 179
00C4 L23:
00C4 .dbline 173
00C4 ; temp&=0x0f;
00C4 F5CF rjmp L22
00C6 X1:
00C6 .dbline 180
00C6 ; if(temp!=0)
00C6 ; {
00C6 ; TIMSK|=(1<<TOIE1);//根据SOUNDTABLE中数据的低四位选择音调频率
00C6 ; temp--;
00C6 ; toneconst=TONETABLE[temp];
00C6 ; TCNT1=toneconst;
00C6 ; }
00C6 L20:
00C6 .dbline 182
00C6 ; temp=temp1;
00C6 ; temp>>=4;
00C6 C7DF rcall _turn_left
00C8 .dbline 183
00C8 ; temp&=0x0f;
00C8 0AEF ldi R16,250
00CA 10E0 ldi R17,0
00CC B1DF rcall _delay_ms
00CE .dbline 184
00CE ; delay_ms(temp*129);//根据SOUNDTABLE中数据的高四位*5后,为音调持续时间
00CE L18:
00CE .dbline 186
00CE ; TIMSK&=~(1<<TOIE1);
00CE ; sound_add++;
00CE 86B3 in R24,0x16
00D0 8077 andi R24,112
00D2 80931900 sts _sw_in,R24
00D6 .dbline 187
00D6 ;
00D6 8035 cpi R24,80
00D8 41F4 brne L25
00DA .dbline 188
00DA ; if(rst_time > 40)
00DA .dbline 189
00DA ; {//当按住< C > 键的持续时间超过10S,遥控机器人复位,等待声控重起运行
00DA D1DF rcall _forward
00DC .dbline 190
00DC ; rst_time=0;
00DC 0AEF ldi R16,250
00DE 10E0 ldi R17,0
00E0 A7DF rcall _delay_ms
00E2 .dbline 192
00E2 ; stop_timer0();
00E2 ; PORTA = 0x0f;
00E2 B9DF rcall _turn_left
00E4 .dbline 193
00E4 ; delay_ms(1000);
00E4 0AEF ldi R16,250
00E6 10E0 ldi R17,0
00E8 A3DF rcall _delay_ms
00EA .dbline 194
00EA ; goto remote_rst;
00EA L25:
00EA .dbline 195
00EA ; }
00EA 80911900 lds R24,_sw_in
00EE 8033 cpi R24,48
00F0 41F4 brne L27
00F2 .dbline 196
00F2 ; }
00F2 .dbline 197
00F2 ; goto n01;
00F2 C0DF rcall _backward
00F4 .dbline 198
00F4 ; }
00F4 0AEF ldi R16,250
00F6 10E0 ldi R17,0
00F8 9BDF rcall _delay_ms
00FA .dbline 200
00FA ;
00FA ; void main()
00FA ADDF rcall _turn_left
00FC .dbline 201
00FC ; {
00FC 0AEF ldi R16,250
00FE 10E0 ldi R17,0
0100 97DF rcall _delay_ms
0102 .dbline 202
0102 ; remote_car();
0102 L27:
0102 .dbline 203
0102 ; }
0102 80911900 lds R24,_sw_in
0106 8036 cpi R24,96
0108 41F4 brne L29
010A .dbline 204
010A ; }
010A .dbline 205
010A ; }
010A B4DF rcall _backward
010C .dbline 206
010C ; }
010C 0AEF ldi R16,250
010E 10E0 ldi R17,0
0110 8FDF rcall _delay_ms
0112 .dbline 208
0112 ; }
0112 ; }
0112 A1DF rcall _turn_left
0114 .dbline 209
0114 ; }
0114 0AEF ldi R16,250
0116 10E0 ldi R17,0
0118 8BDF rcall _delay_ms
011A .dbline 210
011A ; }
011A L29:
011A .dbline 211
011A ; }
011A 80911900 lds R24,_sw_in
011E 8032 cpi R24,32
0120 F1F4 brne L31
0122 .dbline 212
0122 ; }
0122 .dbline 213
0122 ; }
0122 B2DF rcall _stop
0124 .dbline 214
0124 ; }
0124 08EE ldi R16,1000
0126 13E0 ldi R17,3
0128 83DF rcall _delay_ms
012A 18C0 rjmp L34
012C L33:
012C .dbline 216
012C ; }
012C ; }
012C .dbline 217
012C ; }
012C 83B3 in R24,0x13
012E 8071 andi R24,16
0130 80931900 sts _sw_in,R24
0134 .dbline 218
0134 ; }
0134 8823 tst R24
0136 09F4 brne L36
0138 .dbline 219
0138 ; }
0138 .dbline 219
0138 12C0 rjmp L35
013A L36:
013A .dbline 220
013A ; }
013A 85E5 ldi R24,85
013C 8BBB out 0x1b,R24
013E .dbline 221
013E ; }
013E 0AEF ldi R16,250
0140 10E0 ldi R17,0
0142 76DF rcall _delay_ms
0144 .dbline 222
0144 ; }
0144 8AEA ldi R24,170
0146 8BBB out 0x1b,R24
0148 .dbline 223
0148 ; }
0148 0AEF ldi R16,250
014A 10E0 ldi R17,0
014C 71DF rcall _delay_ms
014E .dbline 224
014E ; }
014E 86B3 in R24,0x16
0150 8F70 andi R24,15
0152 80931800 sts _remote_in,R24
0156 .dbline 225
0156 ; }
0156 8823 tst R24
0158 09F0 breq L38
015A .dbline 226
015A ; }
015A .dbline 226
015A 01C0 rjmp L35
015C L38:
015C .dbline 227
015C L34:
015C .dbline 215
015C E7CF rjmp L33
015E L35:
015E .dbline 228
015E L31:
015E .dbline -2
015E .dbline 229
015E ; }
015E ; }
015E ; }
015E L17:
015E .dbline 0 ; func end
015E 0895 ret
0160 .dbend
0160 .dbfunc e mic_startup _mic_startup fV
.even
0160 _mic_startup::
0160 .dbline -1
0160 .dbline 232
0160 ; }
0160 ; }
0160 ; }
0160 07C0 rjmp L42
0162 L41:
0162 .dbline 235
0162 ; }
0162 ; }
0162 ; }
0162 .dbline 236
0162 ; }
0162 83B3 in R24,0x13
0164 8870 andi R24,8
0166 80931700 sts _mic_in,R24
016A .dbline 237
016A ; }
016A 8823 tst R24
016C 09F4 brne L44
016E .dbline 237
016E .dbline 237
016E 01C0 rjmp L43
0170 L44:
0170 .dbline 238
0170 L42:
0170 .dbline 234
0170 F8CF rjmp L41
0172 L43:
0172 .dbline -2
0172 .dbline 239
0172 ; }
0172 ; }
0172 L40:
0172 .dbline 0 ; func end
0172 0895 ret
0174 .dbend
0174 .dbfunc e remote_auto_time _remote_auto_time fV
.even
0174 _remote_auto_time::
0174 .dbline -1
0174 .dbline 254
0174 ; }
0174 ; }
0174 ; }
0174 ; }
0174 ; }
0174 ; }
0174 ; }
0174 ; }
0174 ; }
0174 ; }
0174 ; }
0174 ; }
0174 ; }
0174 ; }
0174 ; }
0174 .dbline 255
0174 ; }
0174 86B3 in R24,0x16
0176 8F70 andi R24,15
0178 80931800 sts _remote_in,R24
017C .dbline 256
017C ; }
017C 082F mov R16,R24
017E 1127 clr R17
0180 0030 cpi R16,0
0182 0107 cpc R16,R17
0184 09F4 brne X4
0186 62C0 rjmp L48
0188 X4:
0188 X2:
0188 0130 cpi R16,1
018A E0E0 ldi R30,0
018C 1E07 cpc R17,R30
018E 09F4 brne X5
0190 4AC0 rjmp L59
0192 X5:
0192 0230 cpi R16,2
0194 E0E0 ldi R30,0
0196 1E07 cpc R17,R30
0198 F1F0 breq L53
019A 0430 cpi R16,4
019C E0E0 ldi R30,0
019E 1E07 cpc R17,R30
01A0 29F0 breq L50
01A2 0830 cpi R16,8
01A4 E0E0 ldi R30,0
01A6 1E07 cpc R17,R30
01A8 51F1 breq L56
01AA 50C0 rjmp L47
01AC X3:
01AC .dbline 257
01AC ; }
01AC L50:
01AC .dbline 259
01AC ; }
01AC ; }
01AC 80911300 lds R24,_delay_time2
01B0 90911400 lds R25,_delay_time2+1
01B4 C297 sbiw R24,50
01B6 90931400 sts _delay_time2+1,R25
01BA 80931300 sts _delay_time2,R24
01BE .dbline 260
01BE ; }
01BE 8233 cpi R24,50
01C0 E0E0 ldi R30,0
01C2 9E07 cpc R25,R30
01C4 09F0 breq X6
01C6 42C0 rjmp L48
01C8 X6:
01C8 .dbline 261
01C8 ; }
01C8 .dbline 261
01C8 84E6 ldi R24,100
01CA 90E0 ldi R25,0
01CC 90931400 sts _delay_time2+1,R25
01D0 80931300 sts _delay_time2,R24
01D4 .dbline 261
01D4 .dbline 262
01D4 ; }
01D4 3BC0 rjmp L48
01D6 L53:
01D6 .dbline 264
01D6 ; }
01D6 ; }
01D6 80911500 lds R24,_delay_time1
01DA 90911600 lds R25,_delay_time1+1
01DE C296 adiw R24,50
01E0 90931600 sts _delay_time1+1,R25
01E4 80931500 sts _delay_time1,R24
01E8 .dbline 265
01E8 ; }
01E8 8230 cpi R24,2
01EA E8E0 ldi R30,8
01EC 9E07 cpc R25,R30
01EE 71F5 brne L48
01F0 .dbline 266
01F0 ; }
01F0 .dbline 266
01F0 80ED ldi R24,2000
01F2 97E0 ldi R25,7
01F4 90931600 sts _delay_time1+1,R25
01F8 80931500 sts _delay_time1,R24
01FC .dbline 266
01FC .dbline 267
01FC ; }
01FC 27C0 rjmp L48
01FE L56:
01FE .dbline 269
01FE ; }
01FE ; }
01FE 80911500 lds R24,_delay_time1
0202 90911600 lds R25,_delay_time1+1
0206 C297 sbiw R24,50
0208 90931600 sts _delay_time1+1,R25
020C 80931500 sts _delay_time1,R24
0210 .dbline 270
0210 ; }
0210 8233 cpi R24,50
0212 E0E0 ldi R30,0
0214 9E07 cpc R25,R30
0216 D1F4 brne L48
0218 .dbline 271
0218 ; }
0218 .dbline 271
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -