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

📄 main.s

📁 我写的L297步进电机的驱动
💻 S
📖 第 1 页 / 共 2 页
字号:
_DisOneHZ::
	xcall push_gset2
	mov R20,R18
	movw R22,R16
	.dbline -1
	.dbline 155
; }
; }
; }
; }
; }
; }
	.dbline 156
; }
	mov R16,R22
	xcall _Send_CMD
	.dbline 157
; }
	mov R16,R20
	xcall _Send_DATA
	.dbline -2
L45:
	xcall pop_gset2
	.dbline 0 ; func end
	ret
	.dbsym r Data 20 c
	.dbsym r LCD_COMMAND 22 i
	.dbend
	.dbfunc e DisBMP _DisBMP fV
;              i -> R20
;              y -> R12
;              j -> R10,R11
;              x -> R14
;            img -> R22,R23
	.even
_DisBMP::
	xcall push_gset5
	movw R22,R16
	.dbline -1
	.dbline 162
; 
; 
; 
; 
; 
	.dbline 163
; 
	clr R10
	clr R11
	.dbline 165
; 
; 
	clr R20
	xjmp L50
L47:
	.dbline 166
; 
	clr R12
	xjmp L54
L51:
	.dbline 167
; 
	clr R14
	xjmp L58
L55:
	.dbline 168
	.dbline 168
	ldi R16,54
	xcall _Send_CMD
	.dbline 169
	mov R16,R12
	subi R16,128    ; addi 128
	xcall _Send_CMD
	.dbline 170
	mov R16,R14
	subi R16,128    ; addi 128
	add R16,R20
	xcall _Send_CMD
	.dbline 171
	ldi R16,48
	xcall _Send_CMD
	.dbline 172
	movw R2,R10
	movw R24,R2
	adiw R24,1
	movw R10,R24
	movw R30,R2
	add R30,R22
	adc R31,R23
	lpm R16,Z
	xcall _Send_DATA
	.dbline 173
	movw R2,R10
	movw R24,R2
	adiw R24,1
	movw R10,R24
	movw R30,R2
	add R30,R22
	adc R31,R23
	lpm R16,Z
	xcall _Send_DATA
	.dbline 174
L56:
	.dbline 167
	inc R14
L58:
	.dbline 167
	mov R24,R14
	cpi R24,8
	brlo L55
L52:
	.dbline 166
	inc R12
L54:
	.dbline 166
	mov R24,R12
	cpi R24,32
	brsh X2
	xjmp L51
X2:
L48:
	.dbline 165
	subi R20,248    ; addi 8
L50:
	.dbline 165
	cpi R20,9
	brsh X3
	xjmp L47
X3:
	.dbline -2
L46:
	xcall pop_gset5
	.dbline 0 ; func end
	ret
	.dbsym r i 20 c
	.dbsym r y 12 c
	.dbsym r j 10 i
	.dbsym r x 14 c
	.dbsym r img 22 pkc
	.dbend
	.dbfile E:\单片机\PROJECT\高精度三维太阳自动跟踪器\程序\传感器控制/delay.h
	.dbfunc e delay_1us _delay_1us fV
	.even
_delay_1us::
	.dbline -1
	.dbline 15
	.dbline 16
	nop
	.dbline -2
L59:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e delay_nus _delay_nus fV
;              i -> R20,R21
;              n -> R22,R23
	.even
_delay_nus::
	xcall push_gset2
	movw R22,R16
	.dbline -1
	.dbline 20
	.dbline 21
	clr R20
	clr R21
	.dbline 22
	xjmp L64
L61:
	.dbline 23
	xcall _delay_1us
L62:
	.dbline 22
	subi R20,255  ; offset = 1
	sbci R21,255
L64:
	.dbline 22
	cp R20,R22
	cpc R21,R23
	brlo L61
	.dbline -2
L60:
	xcall pop_gset2
	.dbline 0 ; func end
	ret
	.dbsym r i 20 i
	.dbsym r n 22 i
	.dbend
	.dbfunc e delay_1ms _delay_1ms fV
;              i -> R16,R17
	.even
_delay_1ms::
	.dbline -1
	.dbline 27
	.dbline 29
	clr R16
	clr R17
	xjmp L69
L66:
	.dbline 29
L67:
	.dbline 29
	subi R16,255  ; offset = 1
	sbci R17,255
L69:
	.dbline 29
	cpi R16,116
	ldi R30,4
	cpc R17,R30
	brlo L66
	.dbline -2
L65:
	.dbline 0 ; func end
	ret
	.dbsym r i 16 i
	.dbend
	.dbfunc e delay_nms _delay_nms fV
;              i -> R20,R21
;              n -> R22,R23
	.even
_delay_nms::
	xcall push_gset2
	movw R22,R16
	.dbline -1
	.dbline 33
	.dbline 34
	clr R20
	clr R21
	.dbline 35
	xjmp L74
L71:
	.dbline 36
	xcall _delay_1ms
L72:
	.dbline 35
	subi R20,255  ; offset = 1
	sbci R21,255
L74:
	.dbline 35
	cp R20,R22
	cpc R21,R23
	brlo L71
	.dbline -2
L70:
	xcall pop_gset2
	.dbline 0 ; func end
	ret
	.dbsym r i 20 i
	.dbsym r n 22 i
	.dbend
	.area data(ram, con, rel)
	.dbfile E:\单片机\PROJECT\高精度三维太阳自动跟踪器\程序\传感器控制/delay.h
_Data::
	.blkb 2
	.area idata
	.byte 0,0
	.area data(ram, con, rel)
	.dbfile E:\单片机\PROJECT\高精度三维太阳自动跟踪器\程序\传感器控制/delay.h
	.blkb 2
	.area idata
	.byte 0,0
	.area data(ram, con, rel)
	.dbfile E:\单片机\PROJECT\高精度三维太阳自动跟踪器\程序\传感器控制/delay.h
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile E:\单片机\PROJECT\高精度三维太阳自动跟踪器\程序\传感器控制/delay.h
	.dbfile E:\单片机\PROJECT\高精度三维太阳自动跟踪器\程序\传感器控制\main.c
	.dbsym e Data _Data A[5:5]c
	.area text(rom, con, rel)
	.dbfile E:\单片机\PROJECT\高精度三维太阳自动跟踪器\程序\传感器控制\main.c
	.dbfunc e change _change fV
;              p -> R20,R21
;              i -> R22,R23
	.even
_change::
	xcall push_gset2
	movw R20,R18
	movw R22,R16
	.dbline -1
	.dbline 20
	.dbline 20
	ldi R18,10
	ldi R19,0
	movw R16,R22
	xcall mod16u
	movw R24,R16
	adiw R24,48
	movw R30,R20
	std z+3,R24
	.dbline 21
	ldi R18,10
	ldi R19,0
	movw R16,R22
	xcall div16u
	ldi R18,10
	ldi R19,0
	xcall mod16u
	movw R24,R16
	adiw R24,48
	movw R30,R20
	std z+2,R24
	.dbline 22
	ldi R18,100
	ldi R19,0
	movw R16,R22
	xcall div16u
	ldi R18,10
	ldi R19,0
	xcall mod16u
	movw R24,R16
	adiw R24,48
	movw R30,R20
	std z+1,R24
	.dbline 23
	ldi R18,1000
	ldi R19,3
	movw R16,R22
	xcall div16u
	ldi R18,10
	ldi R19,0
	xcall mod16u
	movw R24,R16
	adiw R24,48
	movw R30,R20
	std z+0,R24
	.dbline -2
L75:
	xcall pop_gset2
	.dbline 0 ; func end
	ret
	.dbsym r p 20 pc
	.dbsym r i 22 i
	.dbend
	.dbfunc e ADC_convert _ADC_convert fi
;          temp1 -> R18,R19
;          temp2 -> R16,R17
	.even
_ADC_convert::
	.dbline -1
	.dbline 27
	.dbline 29
	in R18,0x4
	clr R19
	.dbline 30
	in R16,0x5
	clr R17
	.dbline 31
	movw R2,R16
	mov R3,R2
	clr R2
	add R2,R18
	adc R3,R19
	movw R16,R2
	.dbline 32
	.dbline -2
L76:
	.dbline 0 ; func end
	ret
	.dbsym r temp1 18 i
	.dbsym r temp2 16 i
	.dbend
	.dbfunc e ADC_init _ADC_init fV
	.even
_ADC_init::
	.dbline -1
	.dbline 35
	.dbline 35
	ldi R24,1
	out 0x7,R24
	.dbline 36
	in R24,0x6
	ori R24,231
	out 0x6,R24
	.dbline -2
L77:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e main _main fV
;              i -> R20,R21
;              j -> R22,R23
	.even
_main::
	sbiw R28,4
	.dbline -1
	.dbline 42
	.dbline 44
	clr R2
	out 0x1b,R2
	.dbline 45
	ldi R24,255
	out 0x1a,R24
	.dbline 46
	ldi R24,1
	out 0x18,R24
	.dbline 47
	ldi R24,255
	out 0x17,R24
	.dbline 48
	out 0x15,R2
	.dbline 49
	out 0x14,R2
	.dbline 50
	out 0x12,R2
	.dbline 51
	ldi R24,15
	out 0x11,R24
	.dbline 52
	out 0x3,R2
	.dbline 53
	ldi R24,240
	out 0x2,R24
	.dbline 54
	sts 98,R2
	.dbline 55
	sts 97,R2
	.dbline 56
	sts 101,R2
	.dbline 57
	sts 100,R2
	.dbline 59
	xcall _LCM_init
	.dbline 66
	xcall _ADC_init
	.dbline 68
	ldi R16,10
	ldi R17,0
	xcall _delay_nms
	xjmp L80
L79:
	.dbline 72
	.dbline 74
	xcall _ADC_convert
	movw R20,R16
	.dbline 75
	clr R22
	clr R23
	.dbline 76
	ldi R18,<_Data
	ldi R19,>_Data
	xcall _change
	.dbline 77
	ldi R24,<L82
	ldi R25,>L82
	std y+3,R25
	std y+2,R24
	ldi R24,10
	ldi R25,0
	std y+1,R25
	std y+0,R24
	clr R18
	clr R19
	clr R16
	clr R17
	xcall _DisHZXY
	.dbline 78
	ldi R24,<_Data
	ldi R25,>_Data
	std y+3,R25
	std y+2,R24
	ldi R24,4
	ldi R25,0
	std y+1,R25
	std y+0,R24
	ldi R18,1
	ldi R19,0
	ldi R16,3
	ldi R17,0
	xcall _DisHZXY
	.dbline 79
	ldi R24,650
	ldi R25,2
	cp R24,R20
	cpc R25,R21
	brsh L83
	.dbline 80
	.dbline 80
	ldi R24,<L85
	ldi R25,>L85
	std y+3,R25
	std y+2,R24
	ldi R24,4
	ldi R25,0
	std y+1,R25
	std y+0,R24
	ldi R18,3
	ldi R19,0
	ldi R16,2
	ldi R17,0
	xcall _DisHZXY
	.dbline 81
	sbi 0x1b,2
	.dbline 82
	sbi 0x15,6
	xjmp L87
L86:
	.dbline 84
	.dbline 85
	sbi 0x1b,3
	.dbline 86
	ldi R16,17
	ldi R17,0
	xcall _delay_nus
	.dbline 87
	cbi 0x1b,3
	.dbline 88
	ldi R16,17
	ldi R17,0
	xcall _delay_nus
	.dbline 89
	subi R22,255  ; offset = 1
	sbci R23,255
	.dbline 90
L87:
	.dbline 83
	ldi R24,2000
	ldi R25,7
	cp R24,R22
	cpc R25,R23
	brsh L86
	.dbline 91
	cbi 0x15,6
	.dbline 92
	xjmp L84
L83:
	.dbline 93
	cpi R20,200
	ldi R30,0
	cpc R21,R30
	brsh L89
	ldi R24,100
	ldi R25,0
	cp R24,R20
	cpc R25,R21
	brsh L89
	.dbline 94
	.dbline 94
	ldi R24,<L91
	ldi R25,>L91
	std y+3,R25
	std y+2,R24
	ldi R24,4
	ldi R25,0
	std y+1,R25
	std y+0,R24
	ldi R18,3
	ldi R19,0
	ldi R16,2
	ldi R17,0
	xcall _DisHZXY
	.dbline 95
	cbi 0x1b,2
	.dbline 96
	sbi 0x15,6
	xjmp L93
L92:
	.dbline 98
	.dbline 99
	sbi 0x1b,3
	.dbline 100
	ldi R16,17
	ldi R17,0
	xcall _delay_nus
	.dbline 101
	cbi 0x1b,3
	.dbline 102
	ldi R16,17
	ldi R17,0
	xcall _delay_nus
	.dbline 103
	subi R22,255  ; offset = 1
	sbci R23,255
	.dbline 104
L93:
	.dbline 97
	ldi R24,2000
	ldi R25,7
	cp R24,R22
	cpc R25,R23
	brsh L92
	.dbline 105
	cbi 0x15,6
	.dbline 106
	xjmp L90
L89:
	.dbline 108
	ldi R24,<L95
	ldi R25,>L95
	std y+3,R25
	std y+2,R24
	ldi R24,4
	ldi R25,0
	std y+1,R25
	std y+0,R24
	ldi R18,3
	ldi R19,0
	ldi R16,2
	ldi R17,0
	xcall _DisHZXY
L90:
L84:
	.dbline 109
L80:
	.dbline 71
	xjmp L79
X4:
	.dbline -2
L78:
	adiw R28,4
	.dbline 0 ; func end
	ret
	.dbsym r i 20 i
	.dbsym r j 22 i
	.dbend
	.area data(ram, con, rel)
	.dbfile E:\单片机\PROJECT\高精度三维太阳自动跟踪器\程序\传感器控制\main.c
L95:
	.blkb 5
	.area idata
	.byte 205,163,214,185,0
	.area data(ram, con, rel)
	.dbfile E:\单片机\PROJECT\高精度三维太阳自动跟踪器\程序\传感器控制\main.c
L91:
	.blkb 5
	.area idata
	.byte 183,180,215,170,0
	.area data(ram, con, rel)
	.dbfile E:\单片机\PROJECT\高精度三维太阳自动跟踪器\程序\传感器控制\main.c
L85:
	.blkb 5
	.area idata
	.byte 213,253,215,170,0
	.area data(ram, con, rel)
	.dbfile E:\单片机\PROJECT\高精度三维太阳自动跟踪器\程序\传感器控制\main.c
L82:
	.blkb 11
	.area idata
	.byte 'A,'D,178,226,202,212,179,204,208,242,0
	.area data(ram, con, rel)
	.dbfile E:\单片机\PROJECT\高精度三维太阳自动跟踪器\程序\传感器控制\main.c

⌨️ 快捷键说明

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