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

📄 main.s

📁 在mega128上实现ad2543的驱动程序
💻 S
📖 第 1 页 / 共 2 页
字号:
; }   
	ldi R18,100
	ldi R19,0
	movw R16,R20
	xcall div16u
	ldi R18,10
	ldi R19,0
	xcall mod16u
	std y+4,R16
	.dbline 141
; }   
	ldi R18,10
	ldi R19,0
	movw R16,R20
	xcall div16u
	ldi R18,10
	ldi R19,0
	xcall mod16u
	std y+5,R16
	.dbline 142
; }   
	ldi R18,10
	ldi R19,0
	movw R16,R20
	xcall mod16u
	std y+6,R16
	.dbline 144
; }   
; }   
	clr R20
	xjmp L74
L71:
	.dbline 145
	movw R24,R28
	adiw R24,2
	mov R2,R20
	clr R3
	add R2,R24
	adc R3,R25
	movw R30,R2
	ldd R24,z+0
	subi R24,208    ; addi 48
	std z+0,R24
L72:
	.dbline 144
	inc R20
L74:
	.dbline 144
	cpi R20,5
	brlo L71
	.dbline 146
	clr R20
	xjmp L78
L75:
	.dbline 146
L76:
	.dbline 146
	inc R20
L78:
	.dbline 146
; }   
; }   
	movw R24,R28
	adiw R24,2
	mov R30,R20
	clr R31
	add R30,R24
	adc R31,R25
	ldd R24,z+0
	cpi R24,48
	brne L79
	ldi R24,3
	cp R24,R20
	brsh L75
L79:
	.dbline 147
; }   
	ldi R22,5
	sub R22,R20
	.dbline 148
; }   
	ldi R24,5
	sub R24,R22
	mov R22,R24
	xjmp L83
L80:
	.dbline 149
	.dbline 149
	ldi R24,32
	movw R30,R10
	std z+0,R24
	.dbline 149
	movw R24,R30
	adiw R24,1
	movw R10,R24
	.dbline 149
L81:
	.dbline 148
	inc R22
L83:
	.dbline 148
	cp R22,R20
	brlo L80
	.dbline 150
; }   
; }   
	xjmp L87
L84:
	.dbline 151
	.dbline 151
	movw R24,R28
	adiw R24,2
	mov R30,R20
	clr R31
	add R30,R24
	adc R31,R25
	ldd R2,z+0
	movw R30,R10
	std z+0,R2
	.dbline 151
	movw R24,R30
	adiw R24,1
	movw R10,R24
	.dbline 151
L85:
	.dbline 150
	inc R20
L87:
	.dbline 150
	cpi R20,5
	brlo L84
	.dbline 152
; }   
; }   
	clr R2
	movw R30,R10
	std z+0,R2
	.dbline 153
; }   
	ldi R24,<_ch1
	ldi R25,>_ch1
	std y+1,R25
	std y+0,R24
	mov R18,R14
	mov R16,R12
	xcall _LCD_DisplayString
	.dbline -2
L66:
	adiw R28,7
	xcall pop_gset5
	.dbline 0 ; func end
	ret
	.dbsym r n 22 c
	.dbsym r j 22 c
	.dbsym r str 10 pc
	.dbsym l a 2 A[5:5]c
	.dbsym r i 20 c
	.dbsym r t 20 i
	.dbsym r y 14 c
	.dbsym r x 12 c
	.dbend
	.dbfunc e LCD_Displayasc _LCD_Displayasc fV
;           temp -> R10
;          ascii -> y+2
;            asc -> y+10
;              y -> R22
;              x -> R20
	.even
_LCD_Displayasc::
	xcall push_gset3
	mov R22,R18
	mov R20,R16
	sbiw R28,4
	.dbline -1
	.dbline 163
; }   
; }   
; }   
; }   
; }   
; }   
; }   
; }   
; }   
; }   
	.dbline 164
; }   
	ldd R10,y+10
	.dbline 165
; }   
	mov R24,R10
	subi R24,208    ; addi 48
	std y+2,R24
	.dbline 166
; }   
	clr R2
	std y+3,R2
	.dbline 167
; }   
	movw R24,R28
	adiw R24,2
	std y+1,R25
	std y+0,R24
	mov R18,R22
	mov R16,R20
	xcall _LCD_DisplayString
	.dbline -2
L88:
	adiw R28,4
	xcall pop_gset3
	.dbline 0 ; func end
	ret
	.dbsym r temp 10 c
	.dbsym l ascii 2 A[2:2]c
	.dbsym l asc 10 c
	.dbsym r y 22 c
	.dbsym r x 20 c
	.dbend
	.dbfunc e LCD_DisplayLong _LCD_DisplayLong fV
;              n -> R10
;              j -> R10
;            str -> R12,R13
;              a -> y+2
;              i -> R14
;              t -> y+24
;              y -> y+22
;              x -> y+20
	.even
_LCD_DisplayLong::
	xcall push_arg4
	xcall push_gset5
	sbiw R28,10
	.dbline -1
	.dbline 178
; }   
; }   
; }   
; }   
; }   
; }   
; }   
; }   
; }   
; }   
; }   
	.dbline 182
; }   
; }   
; }   
; }   
	ldi R24,<_ch2
	ldi R25,>_ch2
	movw R12,R24
	.dbline 183
; }   
	ldi R20,128
	ldi R21,150
	ldi R22,152
	ldi R23,0
	movw R30,R28
	ldd R2,z+24
	ldd R3,z+25
	ldd R4,z+26
	ldd R5,z+27
	st -y,R23
	st -y,R22
	st -y,R21
	st -y,R20
	movw R16,R2
	movw R18,R4
	xcall div32u
	ldi R20,10
	ldi R21,0
	ldi R22,0
	ldi R23,0
	st -y,R23
	st -y,R22
	st -y,R21
	st -y,R20
	xcall mod32u
	std y+2,R16
	.dbline 184
; }   
	ldi R20,64
	ldi R21,66
	ldi R22,15
	ldi R23,0
	movw R30,R28
	ldd R2,z+24
	ldd R3,z+25
	ldd R4,z+26
	ldd R5,z+27
	st -y,R23
	st -y,R22
	st -y,R21
	st -y,R20
	movw R16,R2
	movw R18,R4
	xcall div32u
	ldi R20,10
	ldi R21,0
	ldi R22,0
	ldi R23,0
	st -y,R23
	st -y,R22
	st -y,R21
	st -y,R20
	xcall mod32u
	std y+3,R16
	.dbline 185
; }   
	ldi R20,160
	ldi R21,134
	ldi R22,1
	ldi R23,0
	movw R30,R28
	ldd R2,z+24
	ldd R3,z+25
	ldd R4,z+26
	ldd R5,z+27
	st -y,R23
	st -y,R22
	st -y,R21
	st -y,R20
	movw R16,R2
	movw R18,R4
	xcall div32u
	ldi R20,10
	ldi R21,0
	ldi R22,0
	ldi R23,0
	st -y,R23
	st -y,R22
	st -y,R21
	st -y,R20
	xcall mod32u
	std y+4,R16
	.dbline 186
; }   
	ldi R20,16
	ldi R21,39
	ldi R22,0
	ldi R23,0
	movw R30,R28
	ldd R2,z+24
	ldd R3,z+25
	ldd R4,z+26
	ldd R5,z+27
	st -y,R23
	st -y,R22
	st -y,R21
	st -y,R20
	movw R16,R2
	movw R18,R4
	xcall div32u
	ldi R20,10
	ldi R21,0
	ldi R22,0
	ldi R23,0
	st -y,R23
	st -y,R22
	st -y,R21
	st -y,R20
	xcall mod32u
	std y+5,R16
	.dbline 187
; }   
	ldi R20,232
	ldi R21,3
	ldi R22,0
	ldi R23,0
	movw R30,R28
	ldd R2,z+24
	ldd R3,z+25
	ldd R4,z+26
	ldd R5,z+27
	st -y,R23
	st -y,R22
	st -y,R21
	st -y,R20
	movw R16,R2
	movw R18,R4
	xcall div32u
	ldi R20,10
	ldi R21,0
	ldi R22,0
	ldi R23,0
	st -y,R23
	st -y,R22
	st -y,R21
	st -y,R20
	xcall mod32u
	std y+6,R16
	.dbline 188
; }   
	ldi R20,100
	ldi R21,0
	ldi R22,0
	ldi R23,0
	movw R30,R28
	ldd R2,z+24
	ldd R3,z+25
	ldd R4,z+26
	ldd R5,z+27
	st -y,R23
	st -y,R22
	st -y,R21
	st -y,R20
	movw R16,R2
	movw R18,R4
	xcall div32u
	ldi R20,10
	ldi R21,0
	ldi R22,0
	ldi R23,0
	st -y,R23
	st -y,R22
	st -y,R21
	st -y,R20
	xcall mod32u
	std y+7,R16
	.dbline 189
; }   
	ldi R20,10
	ldi R21,0
	ldi R22,0
	ldi R23,0
	movw R30,R28
	ldd R2,z+24
	ldd R3,z+25
	ldd R4,z+26
	ldd R5,z+27
	st -y,R23
	st -y,R22
	st -y,R21
	st -y,R20
	movw R16,R2
	movw R18,R4
	xcall div32u
	ldi R20,10
	ldi R21,0
	ldi R22,0
	ldi R23,0
	st -y,R23
	st -y,R22
	st -y,R21
	st -y,R20
	xcall mod32u
	std y+8,R16
	.dbline 190
; }   
	ldi R20,10
	ldi R21,0
	ldi R22,0
	ldi R23,0
	movw R30,R28
	ldd R2,z+24
	ldd R3,z+25
	ldd R4,z+26
	ldd R5,z+27
	st -y,R23
	st -y,R22
	st -y,R21
	st -y,R20
	movw R16,R2
	movw R18,R4
	xcall mod32u
	std y+9,R16
	.dbline 192
; }   
; }   
	clr R14
	xjmp L101
L98:
	.dbline 193
	movw R24,R28
	adiw R24,2
	mov R2,R14
	clr R3
	add R2,R24
	adc R3,R25
	movw R30,R2
	ldd R24,z+0
	subi R24,208    ; addi 48
	std z+0,R24
L99:
	.dbline 192
	inc R14
L101:
	.dbline 192
	mov R24,R14
	cpi R24,8
	brlo L98
	.dbline 194
	clr R14
	xjmp L105
L102:
	.dbline 194
L103:
	.dbline 194
	inc R14
L105:
	.dbline 194
; }   
; }   
	movw R24,R28
	adiw R24,2
	mov R30,R14
	clr R31
	add R30,R24
	adc R31,R25
	ldd R24,z+0
	cpi R24,48
	brne L106
	ldi R24,7
	cp R24,R14
	brsh L102
L106:
	.dbline 195
; }   
	ldi R24,8
	mov R10,R24
	sub R10,R14
	.dbline 196
; }   
	sub R24,R10
	mov R10,R24
	xjmp L110
L107:
	.dbline 197
	.dbline 197
	ldi R24,32
	movw R30,R12
	std z+0,R24
	.dbline 197
	movw R24,R30
	adiw R24,1
	movw R12,R24
	.dbline 197
L108:
	.dbline 196
	inc R10
L110:
	.dbline 196
	cp R10,R14
	brlo L107
	.dbline 198
; }   
; }   
	xjmp L114
L111:
	.dbline 199
	.dbline 199
	movw R24,R28
	adiw R24,2
	mov R30,R14
	clr R31
	add R30,R24
	adc R31,R25
	ldd R2,z+0
	movw R30,R12
	std z+0,R2
	.dbline 199
	movw R24,R30
	adiw R24,1
	movw R12,R24
	.dbline 199
L112:
	.dbline 198
	inc R14
L114:
	.dbline 198
	mov R24,R14
	cpi R24,8
	brlo L111
	.dbline 200
; }   
; }   
	clr R2
	movw R30,R12
	std z+0,R2
	.dbline 201
; }   
	ldi R24,<_ch2
	ldi R25,>_ch2
	std y+1,R25
	std y+0,R24
	ldd R18,y+22
	ldd R16,y+20
	xcall _LCD_DisplayString
	.dbline -2
L90:
	adiw R28,10
	xcall pop_gset5
	adiw R28,4
	.dbline 0 ; func end
	ret
	.dbsym r n 10 c
	.dbsym r j 10 c
	.dbsym r str 12 pc
	.dbsym l a 2 A[8:8]c
	.dbsym r i 14 c
	.dbsym l t 24 l
	.dbsym l y 22 c
	.dbsym l x 20 c
	.dbend
	.area data(ram, con, rel)
	.dbfile C:\DOCUME~1\Administrator\桌面\ad2543/lcd.h
_vol16bit::
	.blkb 2
	.area idata
	.word 0
	.area data(ram, con, rel)
	.dbfile C:\DOCUME~1\Administrator\桌面\ad2543/lcd.h
	.dbfile C:\DOCUME~1\Administrator\桌面\ad2543\main.c
	.dbsym e vol16bit _vol16bit i
_test1::
	.blkb 13
	.area idata
	.byte 32,'A,'D,50,53,52,51,'T,'E,'S,'T,32,0
	.area data(ram, con, rel)
	.dbfile C:\DOCUME~1\Administrator\桌面\ad2543\main.c
	.dbsym e test1 _test1 A[13:13]c
_vint::
	.blkb 2
	.area idata
	.word 0
	.area data(ram, con, rel)
	.dbfile C:\DOCUME~1\Administrator\桌面\ad2543\main.c
	.dbsym e vint _vint i
_voltemp::
	.blkb 4
	.area idata
	.word 0x0,0x0
	.area data(ram, con, rel)
	.dbfile C:\DOCUME~1\Administrator\桌面\ad2543\main.c
	.dbsym e voltemp _voltemp D
	.area text(rom, con, rel)
	.dbfile C:\DOCUME~1\Administrator\桌面\ad2543\main.c
	.dbfunc e ad2543 _ad2543 fi
;          adc16 -> R20,R21
	.even
_ad2543::
	xcall push_gset1
	.dbline -1
	.dbline 28
	.dbline 30
	xcall _init_ad2543
	.dbline 31
	xcall _read_ad2543
	movw R20,R16
	.dbline 32
	.dbline -2
L115:
	xcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r adc16 20 i
	.dbend
	.dbfunc e main _main fV
	.even
_main::
	sbiw R28,2
	.dbline -1
	.dbline 42
	.dbline 43
	ldi R24,63
	out 0x11,R24
	.dbline 44
	ldi R24,255
	out 0x12,R24
	.dbline 45
	xcall _LCD_init
	.dbline 46
	ldi R24,<_test1
	ldi R25,>_test1
	std y+1,R25
	std y+0,R24
	ldi R18,1
	ldi R16,1
	xcall _LCD_DisplayString
	xjmp L118
L117:
	.dbline 48
	.dbline 49
	xcall _ad2543
	sts _vol16bit+1,R17
	sts _vol16bit,R16
	.dbline 50
	ldi R16,<L120
	ldi R17,>L120
	xcall lpm32
	st -y,R19
	st -y,R18
	st -y,R17
	st -y,R16
	ldi R16,<L121
	ldi R17,>L121
	xcall lpm32
	st -y,R19
	st -y,R18
	st -y,R17
	st -y,R16
	lds R16,_vol16bit
	lds R17,_vol16bit+1
	lsr R17
	ror R16
	xcall int2fp
	st -y,R19
	st -y,R18
	st -y,R17
	st -y,R16
	xcall empy32fs
	lds R16,_vol16bit
	lds R17,_vol16bit+1
	andi R16,1
	andi R17,0
	xcall int2fp
	st -y,R19
	st -y,R18
	st -y,R17
	st -y,R16
	xcall add32fs
	ldi R16,<L122
	ldi R17,>L122
	xcall lpm32
	st -y,R19
	st -y,R18
	st -y,R17
	st -y,R16
	xcall div32fs
	xcall empy32f
	sts _voltemp+1,R17
	sts _voltemp,R16
	sts _voltemp+2+1,R19
	sts _voltemp+2,R18
	.dbline 51
	xcall fp2int
	sts _vint+1,R17
	sts _vint,R16
	.dbline 52
	movw R2,R16
	std y+1,R3
	std y+0,R2
	ldi R18,5
	ldi R16,2
	xcall _LCD_DisplayInt
	.dbline 53
	ldi R16,1
	ldi R17,0
	xcall _delay_nms
	.dbline 55
L118:
	.dbline 47
	xjmp L117
X1:
	.dbline -2
L116:
	adiw R28,2
	.dbline 0 ; func end
	ret
	.dbend
	.area bss(ram, con, rel)
	.dbfile C:\DOCUME~1\Administrator\桌面\ad2543\main.c
_ch2::
	.blkb 8
	.dbfile C:\DOCUME~1\Administrator\桌面\ad2543/lcd.h
	.dbsym e ch2 _ch2 A[8:8]c
_ch1::
	.blkb 6
	.dbsym e ch1 _ch1 A[6:6]c
	.area lit(rom, con, rel)
L122:
	.word 0x0,0x4580
L121:
	.word 0x0,0x4000
L120:
	.word 0x4000,0x459c

⌨️ 快捷键说明

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