📄 main.s
字号:
.dbline 133
;
mov R18,R10
mov R16,R22
xcall _LCD_set_xy
xjmp L26
L25:
.dbline 135
.dbline 136
movw R30,R20
ldd R16,z+0
xcall _LCD_write_data
.dbline 137
subi R20,255 ; offset = 1
sbci R21,255
.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\从机1/1602.h
_n::
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile F:\ChengXuCunFang\ChengXU\AVR单片机程序存放\max485多机通讯1\从机1/1602.h
.dbfile F:\ChengXuCunFang\ChengXU\AVR单片机程序存放\max485多机通讯1\从机1\main.c
.dbsym e n _n c
.area text(rom, con, rel)
.dbfile F:\ChengXuCunFang\ChengXU\AVR单片机程序存放\max485多机通讯1\从机1\main.c
.dbfunc e usart_init _usart_init fV
.even
_usart_init::
.dbline -1
.dbline 19
.dbline 20
ldi R24,1
out 0xb,R24
.dbline 21
ldi R24,156
out 0xa,R24
.dbline 22
ldi R24,182
out 0x20,R24
.dbline 23
clr R2
out 0x20,R2
.dbline 24
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 28
.dbline 30
clr R20
xjmp L32
L31:
.dbline 32
.dbline 33
ldi R22,1
xjmp L37
L34:
.dbline 34
.dbline 35
sbrs R20,0
rjmp L38
.dbline 35
.dbline 35
lsr R20
.dbline 35
ldi R24,140
ldi R25,0
mov R2,R20
clr R3
eor R2,R24
eor R3,R25
mov R20,R2
.dbline 35
xjmp L39
L38:
.dbline 36
lsr R20
L39:
.dbline 37
movw R30,R16
ldd R2,z+0
and R2,R22
breq L40
.dbline 37
ldi R24,140
ldi R25,0
mov R2,R20
clr R3
eor R2,R24
eor R3,R25
mov R20,R2
L40:
.dbline 38
L35:
.dbline 33
ldi R24,2
mul R24,R22
mov R22,R0
L37:
.dbline 33
tst R22
brne L34
.dbline 39
subi R16,255 ; offset = 1
sbci R17,255
.dbline 40
L32:
.dbline 31
mov R2,R18
clr R3
subi R18,1
tst R2
brne L31
.dbline 41
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
.dbfunc e usart_out _usart_out fV
; i -> R20
; n -> R18
; datas -> R16,R17
.even
_usart_out::
xcall push_gset1
.dbline -1
.dbline 49
.dbline 50
clr R20
.dbline 51
sbi 0x12,4
xjmp L44
L43:
.dbline 53
.dbline 54
tst R20
brne L46
.dbline 54
sbi 0xa,0
xjmp L47
L46:
.dbline 54
in R24,0xa
andi R24,254
out 0xa,R24
L47:
.dbline 55
mov R30,R20
clr R31
add R30,R16
adc R31,R17
ldd R2,z+0
out 0xc,R2
L48:
.dbline 56
L49:
.dbline 56
sbis 0xb,6
rjmp L48
.dbline 57
sbi 0xb,6
.dbline 58
inc R20
.dbline 59
L44:
.dbline 52
cp R20,R18
brlo L43
.dbline 60
cbi 0x12,4
.dbline -2
L42:
xcall pop_gset1
.dbline 0 ; func end
ret
.dbsym r i 20 c
.dbsym r n 18 c
.dbsym r datas 16 pc
.dbend
.area vector(rom, abs)
.org 44
jmp _RXC_Int
.area text(rom, con, rel)
.dbfile F:\ChengXuCunFang\ChengXU\AVR单片机程序存放\max485多机通讯1\从机1\main.c
.dbfunc e RXC_Int _RXC_Int fV
.even
_RXC_Int::
xcall push_lset
.dbline -1
.dbline 66
.dbline 67
in R24,0xb
andi R24,28
breq L52
.dbline 67
.dbline 67
in R2,0xc
sts _n,R2
.dbline 67
clr R2
sts _n,R2
.dbline 67
sbi 0xb,0
.dbline 67
xjmp L53
L52:
.dbline 68
.dbline 69
sbis 0xa,1
rjmp L54
.dbline 69
clr R2
sts _n,R2
L54:
.dbline 70
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 70
lds R24,_n
subi R24,255 ; addi 1
sts _n,R24
.dbline 71
lds R24,_inbox
cpi R24,11
brne L56
.dbline 71
in R24,0xb
andi R24,254
out 0xb,R24
xjmp L57
L56:
.dbline 71
sbi 0xb,0
L57:
.dbline 72
lds R24,_n
cpi R24,10
brne L58
.dbline 73
.dbline 74
ldi R18,9
ldi R16,<_inbox
ldi R17,>_inbox
xcall _crc8
lds R2,_inbox+9
cp R2,R16
brne L60
.dbline 75
.dbline 76
ldi R24,1
sts _send,R24
.dbline 79
ldi R18,9
ldi R16,<_send
ldi R17,>_send
xcall _crc8
sts _send+9,R16
.dbline 80
ldi R18,10
ldi R16,<_send
ldi R17,>_send
xcall _usart_out
.dbline 81
lds R2,_inbox+3
clr R3
out 0x2b,R3
out 0x2a,R2
.dbline 82
L60:
.dbline 83
L58:
.dbline 84
L53:
.dbline -2
L51:
xcall pop_lset
.dbline 0 ; func end
reti
.dbend
.dbfunc e main _main fV
.even
_main::
sbiw R28,2
.dbline -1
.dbline 90
.dbline 91
xcall _usart_init
.dbline 92
xcall _LCD_init
.dbline 93
cbi 0x12,4
.dbline 94
sbi 0x11,4
.dbline 95
ldi R24,129
out 0x2f,R24
.dbline 96
ldi R24,9
out 0x2e,R24
.dbline 97
sbi 0x11,5
.dbline 98
ldi R24,255
ldi R25,0
out 0x2b,R25
out 0x2a,R24
.dbline 99
sei
.dbline 100
ldi R24,<L66
ldi R25,>L66
std y+1,R25
std y+0,R24
clr R18
clr R16
xcall _LCD_write_string
.dbline 101
ldi R24,<L67
ldi R25,>L67
std y+1,R25
std y+0,R24
ldi R18,1
clr R16
xcall _LCD_write_string
L68:
.dbline 104
.dbline 106
L69:
.dbline 103
xjmp L68
X0:
.dbline 106
.dbline -2
L65:
adiw R28,2
.dbline 0 ; func end
ret
.dbend
.area bss(ram, con, rel)
.dbfile F:\ChengXuCunFang\ChengXU\AVR单片机程序存放\max485多机通讯1\从机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\从机1\main.c
L67:
.blkb 5
.area idata
.byte 'R,'e,'v,58,0
.area data(ram, con, rel)
.dbfile F:\ChengXuCunFang\ChengXU\AVR单片机程序存放\max485多机通讯1\从机1\main.c
L66:
.blkb 6
.area idata
.byte 'S,'e,'n,'d,58,0
.area data(ram, con, rel)
.dbfile F:\ChengXuCunFang\ChengXU\AVR单片机程序存放\max485多机通讯1\从机1\main.c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -