📄 main.s
字号:
.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 + -