⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.s

📁 飞思卡尔系列单片机智能汽车程序源代码
💻 S
字号:
	.module main.c
	.area text(rom, con, rel)
	.dbfile F:\car\main.c
	.area data(ram, con, rel)
	.dbfile F:\car\main.c
_T::
	.blkb 2
	.area idata
	.word 1000
	.area data(ram, con, rel)
	.dbfile F:\car\main.c
	.dbfile F:\car\linecheck.h
	.dbsym e T _T i
_i::
	.blkb 2
	.area idata
	.word 0
	.area data(ram, con, rel)
	.dbfile F:\car\linecheck.h
	.dbsym e i _i i
_k::
	.blkb 2
	.area idata
	.word 1
	.area data(ram, con, rel)
	.dbfile F:\car\linecheck.h
	.dbsym e k _k i
_flag::
	.blkb 2
	.area idata
	.word 1
	.area data(ram, con, rel)
	.dbfile F:\car\linecheck.h
	.dbsym e flag _flag i
	.area text(rom, con, rel)
	.dbfile F:\car\linecheck.h
	.dbfunc e port_init _port_init fV
	.even
_port_init::
	.dbline -1
	.dbline 14
; #include <iom32v.h>
; #include  "linecheck.h"
; //#include   "blance.h"
; //============================================================================================
; //函数: void main() 
; //语法:void main()
; //描述:主函数
; //参数  无
; //返回:无
; //============================================================================================ 
; void main()
; {  
;     port_init(); 
; 	INT1_init();
	.dbline 15
;   init_devices();
	ldi R24,255
	out 0x1b,R24
	.dbline 16
;     while(1)
	clr R2
	out 0x1a,R2
	.dbline 17
; 	{ 
	out 0x18,R2
	.dbline 18
; 	   blance();
	out 0x17,R24
	.dbline 19
; 	   //PORTC = 0xff;
	out 0x15,R2
	.dbline 20
; 	 // Linecheck_GO();
	out 0x14,R24
	.dbline 21
; 	 //Linecheck_BACK();
	ldi R24,247
	out 0x11,R24
	.dbline 22
;     }
	ldi R24,8
	out 0x12,R24
	.dbline -2
L1:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e INT1_init _INT1_init fV
	.even
_INT1_init::
	.dbline -1
	.dbline 26
; }
	.dbline 27
	ldi R24,128
	out 0x3f,R24
	.dbline 29
	ldi R24,12
	out 0x35,R24
	.dbline 30
	ldi R24,128
	out 0x3b,R24
	.dbline -2
L2:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e timer0_init _timer0_init fV
	.even
_timer0_init::
	.dbline -1
	.dbline 37
	.dbline 38
	clr R2
	out 0x33,R2
	.dbline 39
	out 0x32,R2
	.dbline 40
	out 0x3c,R2
	.dbline 41
	ldi R24,2
	out 0x33,R24
	.dbline -2
L3:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e timer1_init _timer1_init fV
	.even
_timer1_init::
	.dbline -1
	.dbline 48
	.dbline 49
	clr R2
	out 0x2e,R2
	.dbline 50
	ldi R24,99
	out 0x2d,R24
	.dbline 51
	ldi R24,192
	out 0x2c,R24
	.dbline 52
	ldi R24,156
	out 0x2b,R24
	.dbline 53
	ldi R24,64
	out 0x2a,R24
	.dbline 54
	ldi R24,156
	out 0x29,R24
	.dbline 55
	ldi R24,64
	out 0x28,R24
	.dbline 56
	ldi R24,156
	out 0x27,R24
	.dbline 57
	ldi R24,64
	out 0x26,R24
	.dbline 58
	out 0x2f,R2
	.dbline 59
	ldi R24,1
	out 0x2e,R24
	.dbline -2
L4:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e timer1_ovf_isr _timer1_ovf_isr fV
	.even
_timer1_ovf_isr::
	.dbline -1
	.dbline 63
	.dbline 65
	ldi R24,99
	out 0x2d,R24
	.dbline 66
	ldi R24,192
	out 0x2c,R24
	.dbline 67
	ldi R24,128
	out 0x3b,R24
	.dbline -2
L5:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e init_devices _init_devices fV
	.even
_init_devices::
	.dbline -1
	.dbline 72
	.dbline 74
	xcall _timer1_init
	.dbline 75
	ldi R24,4
	out 0x39,R24
	.dbline -2
L6:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e delay _delay fV
;              i -> R20,R21
;             hh -> R16,R17
	.even
_delay::
	st -y,R20
	st -y,R21
	.dbline -1
	.dbline 87
	.dbline 89
	clr R20
	clr R21
	xjmp L11
L8:
	.dbline 90
	.dbline 91
	.dbline 92
L9:
	.dbline 89
	subi R20,255  ; offset = 1
	sbci R21,255
L11:
	.dbline 89
	cp R20,R16
	cpc R21,R17
	brlo L8
X0:
	.dbline -2
L7:
	.dbline 0 ; func end
	ld R21,y+
	ld R20,y+
	ret
	.dbsym r i 20 I
	.dbsym r hh 16 i
	.dbend
	.area vector(rom, abs)
	.org 12
	jmp _int1
	.area text(rom, con, rel)
	.dbfile F:\car\linecheck.h
	.dbfunc e int1 _int1 fV
	.even
_int1::
	st -y,R0
	st -y,R1
	st -y,R2
	st -y,R3
	st -y,R4
	st -y,R5
	st -y,R6
	st -y,R7
	st -y,R8
	st -y,R9
	st -y,R16
	st -y,R17
	st -y,R18
	st -y,R19
	st -y,R24
	st -y,R25
	st -y,R26
	st -y,R27
	st -y,R30
	st -y,R31
	in R0,0x3f
	st -y,R0
	.dbline -1
	.dbline 154
	.dbline 163
	lds R2,_flag
	lds R3,_flag+1
	tst R2
	brne X1
	tst R3
	breq L13
X1:
	.dbline 164
	.dbline 165
	xcall _timer0_init
	.dbline 166
	in R2,0x32
	clr R3
	sts _temp+1,R3
	sts _temp,R2
	.dbline 168
	ldi R24,8
	out 0x35,R24
	.dbline 169
	clr R2
	sts _flag+1,R3
	sts _flag,R2
	.dbline 171
	xjmp L14
L13:
	.dbline 173
	.dbline 174
	clr R2
	out 0x33,R2
	.dbline 175
	lds R2,_temp
	lds R3,_temp+1
	in R4,0x32
	clr R5
	sub R4,R2
	sbc R5,R3
	sts _temp+1,R5
	sts _temp,R4
	.dbline 176
	ldi R24,12
	out 0x35,R24
	.dbline 177
	ldi R24,1
	ldi R25,0
	sts _flag+1,R25
	sts _flag,R24
	.dbline 181
	clr R2
	out 0x3b,R2
	.dbline 182
L14:
	.dbline -2
L12:
	.dbline 0 ; func end
	ld R0,y+
	out 0x3f,R0
	ld R31,y+
	ld R30,y+
	ld R27,y+
	ld R26,y+
	ld R25,y+
	ld R24,y+
	ld R19,y+
	ld R18,y+
	ld R17,y+
	ld R16,y+
	ld R9,y+
	ld R8,y+
	ld R7,y+
	ld R6,y+
	ld R5,y+
	ld R4,y+
	ld R3,y+
	ld R2,y+
	ld R1,y+
	ld R0,y+
	reti
	.dbend
	.dbfunc e STOP _STOP fV
	.even
_STOP::
	.dbline -1
	.dbline 190
	.dbline 191
	clr R2
	out 0x18,R2
	.dbline 192
	ldi R16,10000
	ldi R17,39
	xcall _delay
	.dbline -2
L15:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e GO _GO fV
;             aa -> R10,R11
	.even
_GO::
	st -y,R10
	st -y,R11
	movw R10,R16
	.dbline -1
	.dbline 197
	.dbline 199
	ldi R24,54
	out 0x18,R24
	.dbline 200
	movw R16,R10
	xcall _delay
	.dbline -2
L16:
	.dbline 0 ; func end
	ld R11,y+
	ld R10,y+
	ret
	.dbsym r aa 10 i
	.dbend
	.dbfunc e BACK _BACK fV
;             bb -> R10,R11
	.even
_BACK::
	st -y,R10
	st -y,R11
	movw R10,R16
	.dbline -1
	.dbline 207
	.dbline 209
	ldi R24,57
	out 0x18,R24
	.dbline 210
	movw R16,R10
	xcall _delay
	.dbline 211
	clr R2
	out 0x18,R2
	.dbline 212
	lds R16,_T
	lds R17,_T+1
	sub R16,R10
	sbc R17,R11
	xcall _delay
	.dbline -2
L17:
	.dbline 0 ; func end
	ld R11,y+
	ld R10,y+
	ret
	.dbsym r bb 10 i
	.dbend
	.dbfunc e GTOL _GTOL fV
;             cc -> R10,R11
	.even
_GTOL::
	st -y,R10
	st -y,R11
	movw R10,R16
	.dbline -1
	.dbline 216
	.dbline 217
	ldi R24,50
	out 0x18,R24
	.dbline 218
	movw R16,R10
	xcall _delay
	.dbline 219
	clr R2
	out 0x18,R2
	.dbline 220
	lds R16,_T
	lds R17,_T+1
	sub R16,R10
	sbc R17,R11
	xcall _delay
	.dbline -2
L18:
	.dbline 0 ; func end
	ld R11,y+
	ld R10,y+
	ret
	.dbsym r cc 10 i
	.dbend
	.dbfunc e GTOR _GTOR fV
;             dd -> R10,R11
	.even
_GTOR::
	st -y,R10
	st -y,R11
	movw R10,R16
	.dbline -1
	.dbline 224
	.dbline 226
	ldi R24,52
	out 0x18,R24
	.dbline 227
	movw R16,R10
	xcall _delay
	.dbline 228
	clr R2
	out 0x18,R2
	.dbline 229
	lds R16,_T
	lds R17,_T+1
	sub R16,R10
	sbc R17,R11
	xcall _delay
	.dbline -2
L19:
	.dbline 0 ; func end
	ld R11,y+
	ld R10,y+
	ret
	.dbsym r dd 10 i
	.dbend
	.dbfunc e BTOR _BTOR fV
;             cc -> R10,R11
	.even
_BTOR::
	st -y,R10
	st -y,R11
	movw R10,R16
	.dbline -1
	.dbline 232
	.dbline 234
	ldi R24,48
	out 0x18,R24
	.dbline 235
	movw R16,R10
	xcall _delay
	.dbline 236
	clr R2
	out 0x18,R2
	.dbline 237
	lds R16,_T
	lds R17,_T+1
	sub R16,R10
	sbc R17,R11
	xcall _delay
	.dbline -2
L20:
	.dbline 0 ; func end
	ld R11,y+
	ld R10,y+
	ret
	.dbsym r cc 10 i
	.dbend
	.dbfunc e BTOL _BTOL fV
;             dd -> R10,R11
	.even
_BTOL::
	st -y,R10
	st -y,R11
	movw R10,R16
	.dbline -1
	.dbline 241
	.dbline 244
	ldi R24,56
	out 0x18,R24
	.dbline 245
	movw R16,R10
	xcall _delay
	.dbline 246
	clr R2
	out 0x18,R2
	.dbline 247
	lds R16,_T
	lds R17,_T+1
	sub R16,R10
	sbc R17,R11
	xcall _delay
	.dbline -2
L21:
	.dbline 0 ; func end
	ld R11,y+
	ld R10,y+
	ret
	.dbsym r dd 10 i
	.dbend
	.dbfunc e Linecheck_GO _Linecheck_GO fV
;             ss -> R10
	.even
_Linecheck_GO::
	xcall push_xgset300C
	.dbline -1
	.dbline 258
	.dbline 261
	ldi R24,255
	out 0x1b,R24
	.dbline 262
	clr R2
	out 0x1a,R2
	.dbline 263
	ldi R16,1
	ldi R17,0
	xcall _delay
	.dbline 265
	in R10,0x19
	.dbline 266
	mov R20,R10
	clr R21
	cpi R20,239
	ldi R30,0
	cpc R21,R30
	breq L26
X2:
	cpi R20,239
	ldi R30,0
	cpc R21,R30
	brge X8
	xjmp L23
X8:
X3:
L31:
	cpi R20,247
	ldi R30,0
	cpc R21,R30
	breq L27
X4:
	cpi R20,251
	ldi R30,0
	cpc R21,R30
	breq L28
X5:
	cpi R20,253
	ldi R30,0
	cpc R21,R30
	breq L29
X6:
	cpi R20,254
	ldi R30,0
	cpc R21,R30
	breq L30
X7:
	xjmp L23
L26:
	.dbline 268
	ldi R16,600
	ldi R17,2
	xcall _GTOL
	.dbline 268
	clr R2
	clr R3
	sts _i+1,R3
	sts _i,R2
	.dbline 268
	xjmp L24
L27:
	.dbline 269
	ldi R16,600
	ldi R17,2
	xcall _GTOL
	.dbline 269
	clr R2
	clr R3
	sts _i+1,R3
	sts _i,R2
	.dbline 269
	xjmp L24
L28:
	.dbline 270
	ldi R16,700
	ldi R17,2
	xcall _GO
	.dbline 270
	clr R2
	clr R3
	sts _i+1,R3
	sts _i,R2
	.dbline 270
	xjmp L24
L29:
	.dbline 271
	ldi R16,600
	ldi R17,2
	xcall _GTOR
	.dbline 271
	clr R2
	clr R3
	sts _i+1,R3
	sts _i,R2
	.dbline 271
	xjmp L24
L30:
	.dbline 272
	ldi R16,600
	ldi R17,2
	xcall _GTOR
	.dbline 272
	clr R2
	clr R3
	sts _i+1,R3
	sts _i,R2
	.dbline 272
	xjmp L24
L23:
	.dbline 273
	lds R24,_i
	lds R25,_i+1
	adiw R24,1
	sts _i+1,R25
	sts _i,R24
	.dbline 274
L24:
	.dbline 276
	xjmp L32
L32:
	.dbline 281
	ldi R16,1000
	ldi R17,3
	xcall _GO
L33:
	.dbline -2
L22:
	.dbline 0 ; func end
	xjmp pop_xgset300C
	.dbsym r ss 10 c
	.dbend
	.dbfunc e Linecheck_BACK _Linecheck_BACK fV
;             ss -> R10
	.even
_Linecheck_BACK::
	xcall push_xgset300C
	.dbline -1
	.dbline 291
	.dbline 293
	ldi R24,255
	out 0x1b,R24
	.dbline 294
	clr R2
	out 0x1a,R2
	.dbline 295
	ldi R16,1
	ldi R17,0
	xcall _delay
	.dbline 297
	in R10,0x19
	.dbline 298
	mov R20,R10
	clr R21
	cpi R20,225
	ldi R30,0
	cpc R21,R30
	breq L42
X9:
	cpi R20,226
	ldi R30,0
	cpc R21,R30
	breq L41
X10:
	cpi R20,228
	ldi R30,0
	cpc R21,R30
	breq L40
X11:
	cpi R20,232
	ldi R30,0
	cpc R21,R30
	breq L39
X12:
	cpi R20,225
	ldi R30,0
	cpc R21,R30
	brlt L35
X13:
L43:
	cpi R20,240
	ldi R30,0
	cpc R21,R30
	breq L38
X14:
	xjmp L35
L38:
	.dbline 300
	ldi R16,600
	ldi R17,2
	xcall _BTOR
	.dbline 300
	xjmp L36
L39:
	.dbline 301
	ldi R16,600
	ldi R17,2
	xcall _BTOR
	.dbline 301
	xjmp L36
L40:
	.dbline 302
	ldi R16,700
	ldi R17,2
	xcall _BACK
	.dbline 302
	xjmp L36
L41:
	.dbline 303
	ldi R16,600
	ldi R17,2
	xcall _BTOL
	.dbline 303
	xjmp L36
L42:
	.dbline 304
	ldi R16,600
	ldi R17,2
	xcall _BTOL
	.dbline 304
	xjmp L36
L35:
	.dbline 305
	ldi R16,700
	ldi R17,2
	xcall _BACK
	.dbline 306
L36:
	.dbline -2
L34:
	.dbline 0 ; func end
	xjmp pop_xgset300C
	.dbsym r ss 10 c
	.dbend
	.dbfunc e blance _blance fV
	.even
_blance::
	.dbline -1
	.dbline 309
	.dbline 310
	lds R24,_temp
	lds R25,_temp+1
	cpi R24,159
	ldi R30,0
	cpc R25,R30
	brsh L45
X15:
	.dbline 311
	ldi R16,1000
	ldi R17,3
	xcall _GO
L45:
	.dbline 313
	lds R2,_temp
	lds R3,_temp+1
	out 0x15,R2
	.dbline 314
	ldi R24,160
	ldi R25,0
	cp R24,R2
	cpc R25,R3
	brsh L47
X16:
	.dbline 315
	ldi R16,700
	ldi R17,2
	xcall _BACK
L47:
	.dbline 316
	lds R2,_temp
	lds R3,_temp+1
	out 0x15,R2
	.dbline -2
L44:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfile F:\car\main.c
	.dbfunc e main _main fV
	.even
_main::
	.dbline -1
	.dbline 12
	.dbline 13
	xcall _port_init
	.dbline 14
	xcall _INT1_init
	.dbline 15
	xcall _init_devices
	xjmp L51
L50:
	.dbline 17
	.dbline 18
	xcall _blance
	.dbline 22
L51:
	.dbline 16
	xjmp L50
X17:
	.dbline -2
L49:
	.dbline 0 ; func end
	ret
	.dbend
	.area bss(ram, con, rel)
	.dbfile F:\car\main.c
_temp::
	.blkb 2
	.dbfile F:\car\linecheck.h
	.dbsym e temp _temp i

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -