📄 main.s
字号:
.module main.c
.area text(rom, con, rel)
.dbfile D:\桌面\avr程序设计\循迹小车\main.c
.dbfunc e main _main fV
.even
_main::
.dbline -1
.dbline 9
; /*******************************************************************************
; ** 文件名:main.c 工程主文件
; *******************************************************************************/
; #include "config.h"
;
; volatile uint8 flag; //小车状态
; //0未偏 1左偏 2右偏 3前出线 4后出线 5脱轨
; void main(void)
; {
.dbline 10
; init_devices();
xcall _init_devices
.dbline 11
; straight();
xcall _straight
.dbline 13
;
; flag_test(); //测试小车状态
xcall _flag_test
xjmp L3
L2:
.dbline 15
; while(1) //没有脱轨
; {
.dbline 16
; flag_test();
xcall _flag_test
.dbline 17
; switch(flag)
lds R20,_flag
clr R21
cpi R20,0
cpc R20,R21
breq L8
X0:
cpi R20,1
ldi R30,0
cpc R21,R30
breq L9
cpi R20,2
ldi R30,0
cpc R21,R30
breq L10
cpi R20,3
ldi R30,0
cpc R21,R30
breq L6
cpi R20,4
ldi R30,0
cpc R21,R30
breq L6
cpi R20,5
ldi R30,0
cpc R21,R30
breq L13
xjmp L6
X1:
.dbline 18
; {
L8:
.dbline 20
; case 0: //正常情况将速度设成相等
; motor_right_speed_set(0xFE);
ldi R16,254
xcall _motor_right_speed_set
.dbline 21
; motor_left_speed_set(0xFE);
ldi R16,254
xcall _motor_left_speed_set
.dbline 22
; break;
xjmp L6
L9:
.dbline 24
; case 1:
; mic_turn_right();
xcall _mic_turn_right
.dbline 25
; break;
xjmp L6
L10:
.dbline 27
; case 2:
; mic_turn_left();
xcall _mic_turn_left
.dbline 28
; break;
xjmp L6
X2:
.dbline 30
; case 3:
; break;
.dbline 32
; case 4:
; break;
L13:
.dbline 34
; case 5:
; stop();
xcall _stop
.dbline 35
; break;
.dbline 37
; default:
; break;
L6:
.dbline 39
L3:
.dbline 14
xjmp L2
X3:
.dbline -2
L1:
.dbline 0 ; func end
ret
.dbend
.area bss(ram, con, rel)
.dbfile D:\桌面\avr程序设计\循迹小车\main.c
_flag::
.blkb 1
.dbsym e flag _flag c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -