📄 main.lis
字号:
.module main.c
.area text(rom, con, rel)
0000 .dbfile D:\桌面\avr程序设计\循迹小车\main.c
0000 .dbfunc e main _main fV
.even
0000 _main::
0000 .dbline -1
0000 .dbline 9
0000 ; /*******************************************************************************
0000 ; ** 文件名:main.c 工程主文件
0000 ; *******************************************************************************/
0000 ; #include "config.h"
0000 ;
0000 ; volatile uint8 flag; //小车状态
0000 ; //0未偏 1左偏 2右偏 3前出线 4后出线 5脱轨
0000 ; void main(void)
0000 ; {
0000 .dbline 10
0000 ; init_devices();
0000 0E940000 xcall _init_devices
0004 .dbline 11
0004 ; straight();
0004 0E940000 xcall _straight
0008 .dbline 13
0008 ;
0008 ; flag_test(); //测试小车状态
0008 0E940000 xcall _flag_test
000C 2CC0 xjmp L3
000E L2:
000E .dbline 15
000E ; while(1) //没有脱轨
000E ; {
000E .dbline 16
000E ; flag_test();
000E 0E940000 xcall _flag_test
0012 .dbline 17
0012 ; switch(flag)
0012 40910000 lds R20,_flag
0016 5527 clr R21
0018 4030 cpi R20,0
001A 4507 cpc R20,R21
001C A9F0 breq L8
001E X0:
001E 4130 cpi R20,1
0020 E0E0 ldi R30,0
0022 5E07 cpc R21,R30
0024 C1F0 breq L9
0026 4230 cpi R20,2
0028 E0E0 ldi R30,0
002A 5E07 cpc R21,R30
002C B9F0 breq L10
002E 4330 cpi R20,3
0030 E0E0 ldi R30,0
0032 5E07 cpc R21,R30
0034 C1F0 breq L6
0036 4430 cpi R20,4
0038 E0E0 ldi R30,0
003A 5E07 cpc R21,R30
003C A1F0 breq L6
003E 4530 cpi R20,5
0040 E0E0 ldi R30,0
0042 5E07 cpc R21,R30
0044 71F0 breq L13
0046 0FC0 xjmp L6
0048 X1:
0048 .dbline 18
0048 ; {
0048 L8:
0048 .dbline 20
0048 ; case 0: //正常情况将速度设成相等
0048 ; motor_right_speed_set(0xFE);
0048 0EEF ldi R16,254
004A 0E940000 xcall _motor_right_speed_set
004E .dbline 21
004E ; motor_left_speed_set(0xFE);
004E 0EEF ldi R16,254
0050 0E940000 xcall _motor_left_speed_set
0054 .dbline 22
0054 ; break;
0054 08C0 xjmp L6
0056 L9:
0056 .dbline 24
0056 ; case 1:
0056 ; mic_turn_right();
0056 0E940000 xcall _mic_turn_right
005A .dbline 25
005A ; break;
005A 05C0 xjmp L6
005C L10:
005C .dbline 27
005C ; case 2:
005C ; mic_turn_left();
005C 0E940000 xcall _mic_turn_left
0060 .dbline 28
0060 ; break;
0060 02C0 xjmp L6
0062 X2:
0062 .dbline 30
0062 ; case 3:
0062 ; break;
0062 .dbline 32
0062 ; case 4:
0062 ; break;
0062 L13:
0062 .dbline 34
0062 ; case 5:
0062 ; stop();
0062 0E940000 xcall _stop
0066 .dbline 35
0066 ; break;
0066 .dbline 37
0066 ; default:
0066 ; break;
0066 L6:
0066 .dbline 39
0066 L3:
0066 .dbline 14
0066 D3CF xjmp L2
0068 X3:
0068 .dbline -2
0068 L1:
0068 .dbline 0 ; func end
0068 0895 ret
006A .dbend
.area bss(ram, con, rel)
0000 .dbfile D:\桌面\avr程序设计\循迹小车\main.c
0000 _flag::
0000 .blkb 1
0001 .dbsym e flag _flag c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -