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

📄 main.s

📁 本文提出了基于MCU和RS485总线的嵌入式系统的常用设计方法
💻 S
📖 第 1 页 / 共 2 页
字号:
	.dbline 138
L26:
	.dbline 134
;  }
	movw R30,R20
	ldd R2,z+0
	tst R2
	brne L25
	.dbline -2
L24:
	xcall pop_gset3
	.dbline 0 ; func end
	ret
	.dbsym r s 20 pc
	.dbsym r Y 10 c
	.dbsym r X 22 c
	.dbend
	.dbfunc e LCD_write_char _LCD_write_char fV
;           data -> y+4
;              Y -> R22
;              X -> R20
	.even
_LCD_write_char::
	xcall push_gset2
	mov R22,R18
	mov R20,R16
	.dbline -1
	.dbline 143
;  }
;  }
;  }
;  }
;  }
;  }
;  }
;  }
;  }
	.dbline 144
;  }
	mov R18,R22
	mov R16,R20
	xcall _LCD_set_xy
	.dbline 145
;  }
	ldd R16,y+4
	xcall _LCD_write_data
	.dbline -2
L28:
	xcall pop_gset2
	.dbline 0 ; func end
	ret
	.dbsym l data 4 c
	.dbsym r Y 22 c
	.dbsym r X 20 c
	.dbend
	.area data(ram, con, rel)
	.dbfile F:\ChengXuCunFang\ChengXU\AVR单片机程序存放\max485多机通讯1\主机/1602.h
_n::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile F:\ChengXuCunFang\ChengXU\AVR单片机程序存放\max485多机通讯1\主机/1602.h
	.dbfile F:\ChengXuCunFang\ChengXU\AVR单片机程序存放\max485多机通讯1\主机\main.c
	.dbsym e n _n c
	.area text(rom, con, rel)
	.dbfile F:\ChengXuCunFang\ChengXU\AVR单片机程序存放\max485多机通讯1\主机\main.c
	.dbfunc e usart_init _usart_init fV
	.even
_usart_init::
	.dbline -1
	.dbline 33
	.dbline 34
	ldi R24,1
	out 0xb,R24
	.dbline 35
	ldi R24,156
	out 0xa,R24
	.dbline 36
	ldi R24,182
	out 0x20,R24
	.dbline 37
	clr R2
	out 0x20,R2
	.dbline 38
	ldi R24,47
	out 0x9,R24
	.dbline -2
L29:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e crc8 _crc8 fc
;            crc -> R20
;              i -> R22
;            len -> R18
;            ptr -> R16,R17
	.even
_crc8::
	xcall push_gset2
	.dbline -1
	.dbline 42
	.dbline 44
	clr R20
	xjmp L32
L31:
	.dbline 46
	.dbline 47
	ldi R22,1
	xjmp L37
L34:
	.dbline 48
	.dbline 49
	sbrs R20,0
	rjmp L38
	.dbline 49
	.dbline 49
	lsr R20
	.dbline 49
	ldi R24,140
	ldi R25,0
	mov R2,R20
	clr R3
	eor R2,R24
	eor R3,R25
	mov R20,R2
	.dbline 49
	xjmp L39
L38:
	.dbline 50
	lsr R20
L39:
	.dbline 51
	movw R30,R16
	ldd R2,z+0
	and R2,R22
	breq L40
	.dbline 51
	ldi R24,140
	ldi R25,0
	mov R2,R20
	clr R3
	eor R2,R24
	eor R3,R25
	mov R20,R2
L40:
	.dbline 52
L35:
	.dbline 47
	ldi R24,2
	mul R24,R22
	mov R22,R0
L37:
	.dbline 47
	tst R22
	brne L34
	.dbline 53
	subi R16,255  ; offset = 1
	sbci R17,255
	.dbline 54
L32:
	.dbline 45
	mov R2,R18
	clr R3
	subi R18,1
	tst R2
	brne L31
	.dbline 55
	mov R16,R20
	.dbline -2
L30:
	xcall pop_gset2
	.dbline 0 ; func end
	ret
	.dbsym r crc 20 c
	.dbsym r i 22 c
	.dbsym r len 18 c
	.dbsym r ptr 16 pc
	.dbend
	.area vector(rom, abs)
	.org 44
	jmp _RXC_Int
	.area text(rom, con, rel)
	.dbfile F:\ChengXuCunFang\ChengXU\AVR单片机程序存放\max485多机通讯1\主机\main.c
	.dbfunc e RXC_Int _RXC_Int fV
	.even
_RXC_Int::
	st -y,R2
	st -y,R24
	st -y,R25
	st -y,R30
	st -y,R31
	in R2,0x3f
	st -y,R2
	.dbline -1
	.dbline 60
	.dbline 61
	in R24,0xb
	andi R24,28
	breq L43
	.dbline 61
	.dbline 61
	in R2,0xc
	sts _n,R2
	.dbline 61
	clr R2
	sts _n,R2
	.dbline 61
	sbi 0xb,0
	.dbline 61
	xjmp L44
L43:
	.dbline 62
	.dbline 63
	sbis 0xa,1
	rjmp L45
	.dbline 63
	clr R2
	sts _n,R2
L45:
	.dbline 64
	ldi R24,<_inbox
	ldi R25,>_inbox
	lds R30,_n
	clr R31
	add R30,R24
	adc R31,R25
	in R2,0xc
	std z+0,R2
	.dbline 64
	lds R24,_n
	subi R24,255    ; addi 1
	sts _n,R24
	.dbline 65
	lds R24,_inbox
	cpi R24,1
	brne L47
	.dbline 65
	in R24,0xb
	andi R24,254
	out 0xb,R24
	xjmp L48
L47:
	.dbline 65
	sbi 0xb,0
L48:
	.dbline 66
L44:
	.dbline -2
L42:
	ld R2,y+
	out 0x3f,R2
	ld R31,y+
	ld R30,y+
	ld R25,y+
	ld R24,y+
	ld R2,y+
	.dbline 0 ; func end
	reti
	.dbend
	.dbfunc e usart_out _usart_out fV
;              i -> R20
;              n -> R18
;          datas -> R16,R17
	.even
_usart_out::
	xcall push_gset1
	.dbline -1
	.dbline 70
	.dbline 71
	clr R20
	.dbline 72
	sbi 0x12,4
	xjmp L51
L50:
	.dbline 74
	.dbline 75
	tst R20
	brne L53
	.dbline 75
	sbi 0xa,0
	xjmp L54
L53:
	.dbline 75
	in R24,0xa
	andi R24,254
	out 0xa,R24
L54:
	.dbline 76
	mov R30,R20
	clr R31
	add R30,R16
	adc R31,R17
	ldd R2,z+0
	out 0xc,R2
L55:
	.dbline 77
L56:
	.dbline 77
	sbis 0xb,6
	rjmp L55
	.dbline 78
	sbi 0xb,6
	.dbline 79
	inc R20
	.dbline 80
L51:
	.dbline 73
	cp R20,R18
	brlo L50
	.dbline 81
	cbi 0x12,4
	.dbline -2
L49:
	xcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r i 20 c
	.dbsym r n 18 c
	.dbsym r datas 16 pc
	.dbend
	.dbfunc e main _main fV
	.even
_main::
	sbiw R28,2
	.dbline -1
	.dbline 84
	.dbline 85
	xcall _usart_init
	.dbline 86
	xcall _LCD_init
	.dbline 87
	sbi 0x11,4
	.dbline 88
	in R24,0x1a
	ori R24,7
	out 0x1a,R24
	.dbline 89
	sei
	.dbline 90
	ldi R24,<L59
	ldi R25,>L59
	std y+1,R25
	std y+0,R24
	clr R18
	clr R16
	xcall _LCD_write_string
	.dbline 91
	ldi R24,<L60
	ldi R25,>L60
	std y+1,R25
	std y+0,R24
	ldi R18,1
	clr R16
	xcall _LCD_write_string
	xjmp L62
L61:
	.dbline 92
	.dbline 93
	ldi R24,9
	sts _send+3,R24
	.dbline 94
	ldi R24,11
	sts _send,R24
	.dbline 95
	ldi R18,9
	ldi R16,<_send
	ldi R17,>_send
	xcall _crc8
	sts _send+9,R16
	.dbline 96
	ldi R18,10
	ldi R16,<_send
	ldi R17,>_send
	xcall _usart_out
	.dbline 97
	ldi R24,<_send
	ldi R25,>_send
	std y+1,R25
	std y+0,R24
	clr R18
	ldi R16,5
	xcall _LCD_write_string
	.dbline 98
	clr R2
	sts _n,R2
	.dbline 99
	ldi R16,15
	ldi R17,0
	xcall _delay_nms
	.dbline 101
	lds R24,_n
	cpi R24,10
	brne L66
	ldi R18,9
	ldi R16,<_inbox
	ldi R17,>_inbox
	xcall _crc8
	lds R2,_inbox+9
	cp R2,R16
	brne L66
	.dbline 102
	.dbline 103
	sbi 0x1b,1
	.dbline 103
	ldi R16,10
	ldi R17,0
	xcall _delay_nms
	.dbline 103
	cbi 0x1b,1
	.dbline 104
	xjmp L67
L66:
	.dbline 106
	.dbline 107
	sbi 0x1b,2
	.dbline 107
	ldi R16,10
	ldi R17,0
	xcall _delay_nms
	.dbline 107
	cbi 0x1b,2
	.dbline 108
L67:
	.dbline 109
L62:
	.dbline 92
	xjmp L61
X0:
	.dbline -2
L58:
	adiw R28,2
	.dbline 0 ; func end
	ret
	.dbend
	.area bss(ram, con, rel)
	.dbfile F:\ChengXuCunFang\ChengXU\AVR单片机程序存放\max485多机通讯1\主机\main.c
_inbox::
	.blkb 10
	.dbsym e inbox _inbox A[10:10]c
_send::
	.blkb 10
	.dbsym e send _send A[10:10]c
	.area data(ram, con, rel)
	.dbfile F:\ChengXuCunFang\ChengXU\AVR单片机程序存放\max485多机通讯1\主机\main.c
L60:
	.blkb 5
	.area idata
	.byte 'R,'e,'v,58,0
	.area data(ram, con, rel)
	.dbfile F:\ChengXuCunFang\ChengXU\AVR单片机程序存放\max485多机通讯1\主机\main.c
L59:
	.blkb 6
	.area idata
	.byte 'S,'e,'n,'d,58,0
	.area data(ram, con, rel)
	.dbfile F:\ChengXuCunFang\ChengXU\AVR单片机程序存放\max485多机通讯1\主机\main.c

⌨️ 快捷键说明

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