📄 1820.s
字号:
.dbline 175
; }
sbi 0x1b,4
.dbline 176
; }
cbi 0x1b,4
.dbline -2
L47:
.dbline 0 ; func end
ret
.dbend
.dbfunc e Clear_SMG _Clear_SMG fV
.even
_Clear_SMG::
.dbline -1
.dbline 185
; }
; }
; }
; }
; }
; }
; }
; }
; }
.dbline 186
; }
ldi R24,255
out 0x17,R24
.dbline 187
; }
clr R2
out 0x18,R2
.dbline 188
; }
sbi 0x1b,3
.dbline 189
; }
cbi 0x1b,3
.dbline 190
; }
sbi 0x1b,2
.dbline 191
; }
cbi 0x1b,2
.dbline -2
L48:
.dbline 0 ; func end
ret
.dbend
.dbfunc e Spi_Init _Spi_Init fV
; i -> R16
.even
_Spi_Init::
.dbline -1
.dbline 200
; }
; }
; }
; }
; }
; }
; }
; }
; }
.dbline 202
; }
; }
in R24,0x17
ori R24,176
out 0x17,R24
.dbline 203
; }
cbi 0x17,6
.dbline 204
; }
sbi 0x18,6
.dbline 205
; }
ldi R24,1
out 0xe,R24
.dbline 206
; }
ldi R24,80
out 0xd,R24
.dbline 207
; }
in R16,0xe
.dbline 208
; }
in R16,0xf
.dbline -2
L49:
.dbline 0 ; func end
ret
.dbsym r i 16 c
.dbend
.dbfunc e PutSPIchar _PutSPIchar fV
; data -> R16
.even
_PutSPIchar::
.dbline -1
.dbline 217
; }
; }
; }
; }
; }
; }
; }
; }
; }
.dbline 218
; }
out 0xf,R16
L51:
.dbline 219
L52:
.dbline 219
; }
sbis 0xe,7
rjmp L51
.dbline -2
L50:
.dbline 0 ; func end
ret
.dbsym r data 16 c
.dbend
.dbfunc e CPU_Init _CPU_Init fV
.even
_CPU_Init::
.dbline -1
.dbline 228
; }
; }
; }
; }
; }
; }
; }
; }
; }
.dbline 229
; }
ldi R24,255
out 0x18,R24
.dbline 230
; }
out 0x17,R24
.dbline 231
; }
ldi R24,128
out 0x1b,R24
.dbline 232
; }
ldi R24,220
out 0x1a,R24
.dbline 233
; }
clr R2
out 0x17,R2
.dbline 234
; }
ldi R24,255
out 0x15,R24
.dbline 235
; }
out 0x14,R2
.dbline 236
; }
out 0x12,R24
.dbline 237
; }
out 0x11,R2
.dbline 238
; }
xcall _Un_Led
.dbline 239
; }
xcall _Clear_SMG
.dbline -2
L54:
.dbline 0 ; func end
ret
.dbend
.dbfile H:\bbi项目源程序\18b20温度传感器\LCD显示18B20/lcd.h
.dbfunc e LCD_send_data _LCD_send_data fV
; i -> R20
; data -> R16
.even
_LCD_send_data::
xcall push_gset1
.dbline -1
.dbline 11
.dbline 13
clr R20
xjmp L59
L56:
.dbline 14
.dbline 15
cbi 0x1b,3
.dbline 16
sbrs R16,7
rjmp L60
.dbline 17
sbi 0x1b,2
xjmp L61
L60:
.dbline 19
cbi 0x1b,2
L61:
.dbline 20
lsl R16
.dbline 21
sbi 0x1b,3
.dbline 24
L57:
.dbline 13
inc R20
L59:
.dbline 13
cpi R20,8
brlo L56
.dbline -2
L55:
xcall pop_gset1
.dbline 0 ; func end
ret
.dbsym r i 20 c
.dbsym r data 16 c
.dbend
.area data(ram, con, rel)
.dbfile H:\bbi项目源程序\18b20温度传感器\LCD显示18B20/lcd.h
_ADbz::
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile H:\bbi项目源程序\18b20温度传感器\LCD显示18B20/lcd.h
.dbsym e ADbz _ADbz c
.area text(rom, con, rel)
.dbfile H:\bbi项目源程序\18b20温度传感器\LCD显示18B20/lcd.h
.dbfunc e delay _delay fV
; i -> R20
; n -> R16
.even
_delay::
xcall push_gset1
.dbline -1
.dbline 39
.dbline 41
clr R20
xjmp L66
L63:
.dbline 42
.dbline 42
nop
.dbline 42
L64:
.dbline 41
inc R20
L66:
.dbline 41
cp R20,R16
brlo L63
.dbline -2
L62:
xcall pop_gset1
.dbline 0 ; func end
ret
.dbsym r i 20 c
.dbsym r n 16 c
.dbend
.dbfunc e lcd_out _lcd_out fV
; s -> <dead>
; i -> R20
; send_byte -> R22
.even
_lcd_out::
xcall push_gset2
mov R22,R16
.dbline -1
.dbline 48
.dbline 50
clr R20
xjmp L71
L68:
.dbline 51
.dbline 52
sbrc R22,7
rjmp L72
.dbline 53
.dbline 54
cbi 0x1b,2
.dbline 55
xjmp L73
L72:
.dbline 57
.dbline 58
sbi 0x1b,2
.dbline 59
L73:
.dbline 60
cbi 0x1b,3
.dbline 61
sbi 0x1b,3
.dbline 62
lsl R22
.dbline 63
L69:
.dbline 50
inc R20
L71:
.dbline 50
cpi R20,8
brlo L68
.dbline 64
ldi R16,0
xcall _delay
.dbline -2
L67:
xcall pop_gset2
.dbline 0 ; func end
ret
.dbsym l s 1 c
.dbsym r i 20 c
.dbsym r send_byte 22 c
.dbend
.dbfunc e WR_dat _WR_dat fV
; s -> R20
; dat -> R22
.even
_WR_dat::
xcall push_gset2
mov R22,R16
.dbline -1
.dbline 69
.dbline 71
mov R20,R22
andi R20,240
.dbline 72
ldi R16,250
xcall _lcd_out
.dbline 73
mov R16,R20
xcall _lcd_out
.dbline 74
mov R20,R22
andi R20,15
.dbline 75
mov R24,R20
andi R24,#0x0F
swap R24
mov R20,R24
.dbline 76
mov R16,R24
xcall _lcd_out
.dbline -2
L74:
xcall pop_gset2
.dbline 0 ; func end
ret
.dbsym r s 20 c
.dbsym r dat 22 c
.dbend
.dbfunc e WR_control _WR_control fV
; s -> R20
; dat -> R22
.even
_WR_control::
xcall push_gset2
mov R22,R16
.dbline -1
.dbline 80
.dbline 82
mov R20,R22
andi R20,240
.dbline 83
ldi R16,248
xcall _lcd_out
.dbline 84
mov R16,R20
xcall _lcd_out
.dbline 85
mov R20,R22
andi R20,15
.dbline 86
mov R24,R20
andi R24,#0x0F
swap R24
mov R20,R24
.dbline 87
mov R16,R24
xcall _lcd_out
.dbline -2
L75:
xcall pop_gset2
.dbline 0 ; func end
ret
.dbsym r s 20 c
.dbsym r dat 22 c
.dbend
.dbfunc e lcd_control _lcd_control fV
.even
_lcd_control::
.dbline -1
.dbline 91
.dbline 92
ldi R16,48
xcall _WR_control
.dbline 93
ldi R16,12
xcall _WR_control
.dbline -2
L76:
.dbline 0 ; func end
ret
.dbend
.dbfunc e lcd_clear _lcd_clear fV
; i -> R20,R21
.even
_lcd_clear::
xcall push_gset1
.dbline -1
.dbline 97
.dbline 99
ldi R16,1
xcall _WR_control
.dbline 100
clr R20
clr R21
L78:
.dbline 101
.dbline 102
nop
.dbline 103
nop
.dbline 104
L79:
.dbline 100
subi R20,255 ; offset = 1
sbci R21,255
.dbline 100
cpi R20,136
ldi R30,19
cpc R21,R30
brlt L78
.dbline -2
L77:
xcall pop_gset1
.dbline 0 ; func end
ret
.dbsym r i 20 I
.dbend
.dbfunc e LCD_address _LCD_address fV
; address -> R20
; y -> R22
; x -> R20
.even
_LCD_address::
xcall push_gset2
mov R22,R18
mov R20,R16
.dbline -1
.dbline 113
.dbline 115
clr R21
cpi R20,0
cpc R20,R21
breq L86
X13:
cpi R20,1
ldi R30,0
cpc R21,R30
breq L87
cpi R20,2
ldi R30,0
cpc R21,R30
breq L88
cpi R20,3
ldi R30,0
cpc R21,R30
breq L89
xjmp L83
X14:
.dbline 116
L86:
.dbline 118
mov R20,R22
subi R20,128 ; addi 128
.dbline 119
xjmp L84
L87:
.dbline 121
mov R20,R22
subi R20,112 ; addi 144
.dbline 122
xjmp L84
L88:
.dbline 124
mov R20,R22
subi R20,120 ; addi 136
.dbline 125
xjmp L84
L89:
.dbline 127
mov R20,R22
subi R20,104 ; addi 152
.dbline 128
xjmp L84
L83:
.dbline 129
mov R20,R22
subi R20,128 ; addi 128
.dbline 130
L84:
.dbline 131
mov R16,R20
xcall _WR_control
.dbline -2
L82:
xcall pop_gset2
.dbline 0 ; func end
ret
.dbsym r address 20 c
.dbsym r y 22 c
.dbsym r x 20 c
.dbend
.dbfunc e LCD_Write_string _LCD_Write_string fV
; s -> R20,R21
; Y -> R10
; X -> R22
.even
_LCD_Write_string::
xcall push_gset3
mov R10,R18
mov R22,R16
ldd R20,y+6
ldd R21,y+7
.dbline -1
.dbline 142
.dbline 144
mov R18,R10
mov R16,R22
xcall _LCD_address
xjmp L92
L91:
.dbline 146
.dbline 147
movw R30,R20
ldd R16,z+0
xcall _WR_dat
.dbline 148
subi R20,255 ; offset = 1
sbci R21,255
.dbline 149
L92:
.dbline 145
movw R30,R20
ldd R2,z+0
tst R2
brne L91
.dbline -2
L90:
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 BCD_ASCII _BCD_ASCII fc
; bcd -> R16
.even
_BCD_ASCII::
.dbline -1
.dbline 161
.dbline 162
andi R16,15
.dbline 163
ldi R24,9
cp R24,R16
brsh L95
.dbline 164
subi R16,201 ; addi 55
xjmp L96
L95:
.dbline 166
subi R16,208 ; addi 48
L96:
.dbline 167
.dbline -2
L94:
.dbline 0 ; func end
ret
.dbsym r bcd 16 c
.dbend
.dbfunc e LCD_writeasc _LCD_writeasc fV
; data -> y+4
; y -> R22
; x -> R20
.even
_LCD_writeasc::
xcall push_gset2
mov R22,R18
mov R20,R16
.dbline -1
.dbline 172
.dbline 173
mov R18,R22
mov R16,R20
xcall _LCD_address
.dbline 174
ldd R16,y+4
xcall _WR_dat
.dbline -2
L97:
xcall pop_gset2
.dbline 0 ; func end
ret
.dbsym l data 4 c
.dbsym r y 22 c
.dbsym r x 20 c
.dbend
.dbfunc e Lcd_INT _Lcd_INT fV
.even
_Lcd_INT::
.dbline -1
.dbline 178
.dbline 181
xcall _lcd_control
.dbline -2
L98:
.dbline 0 ; func end
ret
.dbend
.dbfunc e lcd_writechar _lcd_writechar fV
; number -> y+4
; Y -> R22
; X -> R20
.even
_lcd_writechar::
xcall push_gset2
mov R22,R18
mov R20,R16
.dbline -1
.dbline 185
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -