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

📄 adc.s

📁 atmega128单片机实现模数转换并通过1602液晶显示出结果。
💻 S
📖 第 1 页 / 共 2 页
字号:
	.dbline 156
	clr R22
	xjmp L23
L20:
	.dbline 157
	.dbline 158
	movw R30,R20
	elpm R10,Z
	.dbline 159
	out 0x1b,R10
	.dbline 160
	lds R24,101
	ori R24,4
	sts 101,R24
	.dbline 161
	ldi R16,50
	ldi R17,0
	xcall _s_ms
	.dbline 162
	lds R24,101
	andi R24,251
	sts 101,R24
	.dbline 163
	subi R20,255  ; offset = 1
	sbci R21,255
	.dbline 164
L21:
	.dbline 156
	inc R22
L23:
	.dbline 156
	cpi R22,16
	brlo L20
X3:
	.dbline 165
	ldi R16,192
	xcall _writecom
	.dbline 167
	lds R24,101
	ori R24,1
	sts 101,R24
	.dbline 168
	lds R24,101
	andi R24,253
	sts 101,R24
	.dbline 169
	ldi R16,50
	ldi R17,0
	xcall _s_ms
	.dbline 170
	clr R22
	xjmp L27
L24:
	.dbline 171
	.dbline 172
	movw R30,R20
	elpm R10,Z
	.dbline 173
	out 0x1b,R10
	.dbline 174
	lds R24,101
	ori R24,4
	sts 101,R24
	.dbline 175
	ldi R16,50
	ldi R17,0
	xcall _s_ms
	.dbline 176
	lds R24,101
	andi R24,251
	sts 101,R24
	.dbline 177
	subi R20,255  ; offset = 1
	sbci R21,255
	.dbline 178
L25:
	.dbline 170
	inc R22
L27:
	.dbline 170
	cpi R22,16
	brlo L24
X4:
	.dbline -2
L19:
	.dbline 0 ; func end
	xjmp pop_xgsetF00C
	.dbsym r t 10 c
	.dbsym r i 22 c
	.dbsym r pBuffer 20 pkc
	.dbend
	.dbfunc e WriteNum _WriteNum fV
;            num -> y+4
;            col -> R22
;            row -> R20
	.even
_WriteNum::
	xcall push_xgsetF000
	mov R22,R18
	mov R20,R16
	.dbline -1
	.dbline 188
	.dbline 189
	cpi R20,1
	brne L29
X5:
	.dbline 189
	mov R20,R22
	subi R20,128    ; addi 128
	xjmp L30
L29:
	.dbline 190
	mov R20,R22
	subi R20,64    ; addi 192
L30:
	.dbline 191
	mov R16,R20
	xcall _writecom
	.dbline 193
	lds R24,101
	ori R24,1
	sts 101,R24
	.dbline 194
	ldi R16,500
	ldi R17,1
	xcall _s_ms
	.dbline 195
	lds R24,101
	andi R24,253
	sts 101,R24
	.dbline 196
	ldi R16,500
	ldi R17,1
	xcall _s_ms
	.dbline 197
	ldd R0,y+4
	out 0x1b,R0
	.dbline 198
	ldi R16,500
	ldi R17,1
	xcall _s_ms
	.dbline 199
	lds R24,101
	ori R24,4
	sts 101,R24
	.dbline 200
	ldi R16,500
	ldi R17,1
	xcall _s_ms
	.dbline 201
	lds R24,101
	andi R24,251
	sts 101,R24
	.dbline 202
	ldi R16,500
	ldi R17,1
	xcall _s_ms
	.dbline -2
L28:
	.dbline 0 ; func end
	xjmp pop_xgsetF000
	.dbsym l num 4 c
	.dbsym r col 22 c
	.dbsym r row 20 c
	.dbend
	.dbfunc e WriteChar _WriteChar fV
;              t -> R12
;              i -> R10
;        pBuffer -> R20,R21
;            num -> y+8
;            col -> R10
;            row -> R22
	.even
_WriteChar::
	xcall push_xgsetF03C
	mov R10,R18
	mov R22,R16
	ldd R20,y+10
	ldd R21,y+11
	.dbline -1
	.dbline 212
	.dbline 214
	cpi R22,1
	brne L32
X6:
	.dbline 214
	mov R22,R10
	subi R22,128    ; addi 128
	xjmp L33
L32:
	.dbline 215
	mov R22,R10
	subi R22,64    ; addi 192
L33:
	.dbline 216
	mov R16,R22
	xcall _writecom
	.dbline 219
	lds R24,101
	ori R24,1
	sts 101,R24
	.dbline 220
	ldi R16,500
	ldi R17,1
	xcall _s_ms
	.dbline 221
	lds R24,101
	andi R24,253
	sts 101,R24
	.dbline 222
	ldi R16,500
	ldi R17,1
	xcall _s_ms
	.dbline 223
	ldd R10,y+8
	xjmp L37
L34:
	.dbline 224
	.dbline 225
	movw R30,R20
	ldd R12,z+0
	.dbline 226
	ldi R16,500
	ldi R17,1
	xcall _s_ms
	.dbline 227
	out 0x1b,R12
	.dbline 228
	ldi R16,500
	ldi R17,1
	xcall _s_ms
	.dbline 229
	lds R24,101
	ori R24,4
	sts 101,R24
	.dbline 230
	ldi R16,500
	ldi R17,1
	xcall _s_ms
	.dbline 231
	lds R24,101
	andi R24,251
	sts 101,R24
	.dbline 232
	ldi R16,500
	ldi R17,1
	xcall _s_ms
	.dbline 233
	subi R20,255  ; offset = 1
	sbci R21,255
	.dbline 234
L35:
	.dbline 223
	dec R10
L37:
	.dbline 223
	tst R10
	brne L34
X7:
	.dbline -2
L31:
	.dbline 0 ; func end
	xjmp pop_xgsetF03C
	.dbsym r t 12 c
	.dbsym r i 10 c
	.dbsym r pBuffer 20 pc
	.dbsym l num 8 i
	.dbsym r col 10 c
	.dbsym r row 22 c
	.dbend
	.area data(ram, con, rel)
	.dbfile C:\DOCUME~1\wdd\桌面\模数转换\1602.h
_adc_0::
	.blkb 12
	.area idata
	.byte 'A,'D,'C,95,48,58,32,46,32,32,'V,0
	.area data(ram, con, rel)
	.dbfile C:\DOCUME~1\wdd\桌面\模数转换\1602.h
	.dbfile C:\DOCUME~1\wdd\桌面\模数转换\ADC.c
	.dbsym e adc_0 _adc_0 A[12:12]c
_adc_1::
	.blkb 12
	.area idata
	.byte 'A,'D,'C,95,49,58,32,46,32,32,'V,0
	.area data(ram, con, rel)
	.dbfile C:\DOCUME~1\wdd\桌面\模数转换\ADC.c
	.dbsym e adc_1 _adc_1 A[12:12]c
	.area text(rom, con, rel)
	.dbfile C:\DOCUME~1\wdd\桌面\模数转换\ADC.c
	.dbfunc e main _main fI
;          ten_4 -> <dead>
;         adc_h1 -> R12,R13
;         adc_l1 -> R10,R11
;         adc_h0 -> R12,R13
;         adc_l0 -> R10,R11
;          ten_1 -> R20
;      adc_data1 -> R12,R13
;      adc_data0 -> R20,R21
;          ten_2 -> R22
;          ten_3 -> R10
;              i -> R20
	.even
_main::
	sbiw R28,4
	.dbline -1
	.dbline 16
	.dbline 19
	ldi R24,255
	out 0x1a,R24
	.dbline 20
	clr R2
	out 0x1b,R2
	.dbline 21
	out 0x17,R24
	.dbline 22
	out 0x11,R24
	.dbline 23
	out 0x12,R2
	.dbline 24
	sts 97,R2
	.dbline 25
	sts 98,R2
	.dbline 26
	sts 100,R24
	.dbline 27
	sts 101,R24
	.dbline 29
	xcall _LcdInit
	.dbline 30
	ldi R24,<_adc_0
	ldi R25,>_adc_0
	std y+3,R25
	std y+2,R24
	ldi R24,11
	ldi R25,0
	std y+1,R25
	std y+0,R24
	ldi R18,2
	ldi R16,1
	xcall _WriteChar
	.dbline 31
	ldi R24,<_adc_1
	ldi R25,>_adc_1
	std y+3,R25
	std y+2,R24
	ldi R24,11
	ldi R25,0
	std y+1,R25
	std y+0,R24
	ldi R18,2
	ldi R16,2
	xcall _WriteChar
	xjmp L40
L39:
	.dbline 33
	.dbline 35
	clr R2
	out 0x6,R2
	.dbline 36
	ldi R24,64
	out 0x7,R24
	.dbline 37
	ldi R24,231
	out 0x6,R24
	.dbline 38
	ldi R16,500
	ldi R17,1
	xcall _s_ms
	.dbline 39
	in R10,0x4
	clr R11
	.dbline 40
	in R12,0x5
	clr R13
	.dbline 41
	movw R20,R12
	mov R21,R20
	clr R20
	or R20,R10
	or R21,R11
	.dbline 42
	lsr R21
	ror R20
	.dbline 43
	subi R20,35
	sbci R21,0
	.dbline 45
	clr R2
	out 0x6,R2
	.dbline 46
	ldi R24,65
	out 0x7,R24
	.dbline 47
	ldi R24,231
	out 0x6,R24
	.dbline 48
	ldi R16,500
	ldi R17,1
	xcall _s_ms
	.dbline 49
	in R10,0x4
	clr R11
	.dbline 50
	in R12,0x5
	clr R13
	.dbline 51
	movw R2,R12
	mov R3,R2
	clr R2
	or R2,R10
	or R3,R11
	movw R12,R2
	.dbline 52
	lsr R13
	ror R12
	.dbline 53
	movw R24,R12
	sbiw R24,35
	movw R12,R24
	.dbline 57
	ldi R18,100
	ldi R19,0
	movw R16,R20
	xcall div16u
	mov R10,R16
	.dbline 58
	ldi R24,100
	mul R24,R10
	movw R16,R20
	sub R16,R0
	sbc R17,R1
	ldi R18,10
	ldi R19,0
	xcall div16u
	mov R22,R16
	.dbline 59
	ldi R24,100
	mul R24,R10
	movw R2,R20
	sub R2,R0
	sbc R3,R1
	ldi R24,10
	mul R24,R22
	sub R2,R0
	sbc R3,R1
	mov R20,R2
	.dbline 60
	subi R20,208    ; addi 48
	.dbline 61
	subi R22,208    ; addi 48
	.dbline 62
	mov R24,R10
	subi R24,208    ; addi 48
	mov R10,R24
	.dbline 63
	std y+0,R10
	ldi R18,8
	ldi R16,1
	xcall _WriteNum
	.dbline 64
	std y+0,R22
	ldi R18,10
	ldi R16,1
	xcall _WriteNum
	.dbline 65
	std y+0,R20
	ldi R18,11
	ldi R16,1
	xcall _WriteNum
	.dbline 67
	ldi R18,100
	ldi R19,0
	movw R16,R12
	xcall div16u
	mov R10,R16
	.dbline 68
	ldi R24,100
	mul R24,R10
	movw R16,R12
	sub R16,R0
	sbc R17,R1
	ldi R18,10
	ldi R19,0
	xcall div16u
	mov R22,R16
	.dbline 69
	ldi R24,100
	mul R24,R10
	mov R20,R12
	sub R20,R0
	sbc R21,R1
	ldi R24,10
	mul R24,R22
	sub R20,R0
	sbc R21,R1
	.dbline 70
	subi R20,208    ; addi 48
	.dbline 71
	subi R22,208    ; addi 48
	.dbline 72
	mov R24,R10
	subi R24,208    ; addi 48
	mov R10,R24
	.dbline 73
	std y+0,R10
	ldi R18,8
	ldi R16,2
	xcall _WriteNum
	.dbline 74
	std y+0,R22
	ldi R18,10
	ldi R16,2
	xcall _WriteNum
	.dbline 75
	std y+0,R20
	ldi R18,11
	ldi R16,2
	xcall _WriteNum
	.dbline 77
	clr R20
	xjmp L45
L42:
	.dbline 78
	.dbline 79
	ldi R16,60000
	ldi R17,234
	xcall _s_ms
	.dbline 80
L43:
	.dbline 77
	inc R20
L45:
	.dbline 77
	cpi R20,18
	brlo L42
X8:
	.dbline 81
L40:
	.dbline 32
	xjmp L39
X9:
	.dbline -2
L38:
	.dbline 0 ; func end
	adiw R28,4
	ret
	.dbsym l ten_4 5 c
	.dbsym r adc_h1 12 i
	.dbsym r adc_l1 10 i
	.dbsym r adc_h0 12 i
	.dbsym r adc_l0 10 i
	.dbsym r ten_1 20 c
	.dbsym r adc_data1 12 i
	.dbsym r adc_data0 20 i
	.dbsym r ten_2 22 c
	.dbsym r ten_3 10 c
	.dbsym r i 20 c
	.dbend

⌨️ 快捷键说明

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