📄 lcd1602.lis
字号:
01D6 .dbend
.area data(ram, con, rel)
0000 .dbfile D:\练习\LCD显示1602/lcd1602.h
0000 _sec::
0000 .blkb 1
.area idata
0000 00 .byte 0
.area data(ram, con, rel)
0001 .dbfile D:\练习\LCD显示1602/lcd1602.h
0001 .dbfile D:\练习\LCD显示1602\lcd1602.c
0001 .dbsym e sec _sec c
0001 _min::
0001 .blkb 1
.area idata
0001 05 .byte 5
.area data(ram, con, rel)
0002 .dbfile D:\练习\LCD显示1602\lcd1602.c
0002 .dbsym e min _min c
0002 _hou::
0002 .blkb 1
.area idata
0002 12 .byte 18
.area data(ram, con, rel)
0003 .dbfile D:\练习\LCD显示1602\lcd1602.c
0003 .dbsym e hou _hou c
0003 _year::
0003 .blkb 2
.area idata
0003 D707 .word 2007
.area data(ram, con, rel)
0005 .dbfile D:\练习\LCD显示1602\lcd1602.c
0005 .dbsym e year _year i
0005 _month::
0005 .blkb 1
.area idata
0005 04 .byte 4
.area data(ram, con, rel)
0006 .dbfile D:\练习\LCD显示1602\lcd1602.c
0006 .dbsym e month _month c
0006 _day::
0006 .blkb 1
.area idata
0006 17 .byte 23
.area data(ram, con, rel)
0007 .dbfile D:\练习\LCD显示1602\lcd1602.c
0007 .dbsym e day _day c
0007 _flash_flag::
0007 .blkb 1
.area idata
0007 00 .byte 0
.area data(ram, con, rel)
0008 .dbfile D:\练习\LCD显示1602\lcd1602.c
0008 .dbsym e flash_flag _flash_flag c
0008 _time_set::
0008 .blkb 1
.area idata
0008 00 .byte 0
.area data(ram, con, rel)
0009 .dbfile D:\练习\LCD显示1602\lcd1602.c
0009 .dbsym e time_set _time_set c
.area text(rom, con, rel)
01D6 .dbfile D:\练习\LCD显示1602\lcd1602.c
01D6 .dbfunc e IntToStr _IntToStr fV
01D6 ; a -> y+0
01D6 ; i -> R20
01D6 ; str -> R22,R23
01D6 ; t -> R20
.even
01D6 _IntToStr::
01D6 0E940000 xcall push_gset2
01DA B901 movw R22,R18
01DC 402F mov R20,R16
01DE 2297 sbiw R28,2
01E0 .dbline -1
01E0 .dbline 39
01E0 .dbline 43
01E0 1AE0 ldi R17,10
01E2 042F mov R16,R20
01E4 0E940000 xcall div8u
01E8 1AE0 ldi R17,10
01EA 0E940000 xcall mod8u
01EE 0883 std y+0,R16
01F0 .dbline 44
01F0 1AE0 ldi R17,10
01F2 042F mov R16,R20
01F4 0E940000 xcall mod8u
01F8 0983 std y+1,R16
01FA .dbline 45
01FA 4427 clr R20
01FC 0AC0 xjmp L35
01FE L32:
01FE .dbline 46
01FE CE01 movw R24,R28
0200 242E mov R2,R20
0202 3324 clr R3
0204 280E add R2,R24
0206 391E adc R3,R25
0208 F101 movw R30,R2
020A 8081 ldd R24,z+0
020C 805D subi R24,208 ; addi 48
020E 8083 std z+0,R24
0210 L33:
0210 .dbline 45
0210 4395 inc R20
0212 L35:
0212 .dbline 45
0212 4230 cpi R20,2
0214 A0F3 brlo L32
0216 .dbline 47
0216 4427 clr R20
0218 0BC0 xjmp L39
021A L36:
021A .dbline 48
021A .dbline 49
021A CE01 movw R24,R28
021C E42F mov R30,R20
021E FF27 clr R31
0220 E80F add R30,R24
0222 F91F adc R31,R25
0224 2080 ldd R2,z+0
0226 FB01 movw R30,R22
0228 2082 std z+0,R2
022A .dbline 50
022A 6F5F subi R22,255 ; offset = 1
022C 7F4F sbci R23,255
022E .dbline 51
022E L37:
022E .dbline 47
022E 4395 inc R20
0230 L39:
0230 .dbline 47
0230 4230 cpi R20,2
0232 98F3 brlo L36
0234 .dbline 52
0234 2224 clr R2
0236 FB01 movw R30,R22
0238 2082 std z+0,R2
023A .dbline -2
023A L30:
023A 2296 adiw R28,2
023C 0E940000 xcall pop_gset2
0240 .dbline 0 ; func end
0240 0895 ret
0242 .dbsym l a 0 A[2:2]c
0242 .dbsym r i 20 c
0242 .dbsym r str 22 pc
0242 .dbsym r t 20 c
0242 .dbend
0242 .dbfunc e IntToStr1 _IntToStr1 fV
0242 ; j -> <dead>
0242 ; a -> y+0
0242 ; i -> R20
0242 ; str -> R22,R23
0242 ; t -> R20,R21
.even
0242 _IntToStr1::
0242 0E940000 xcall push_gset2
0246 B901 movw R22,R18
0248 A801 movw R20,R16
024A 2497 sbiw R28,4
024C .dbline -1
024C .dbline 56
024C .dbline 59
024C 28EE ldi R18,1000
024E 33E0 ldi R19,3
0250 8A01 movw R16,R20
0252 0E940000 xcall div16u
0256 2AE0 ldi R18,10
0258 30E0 ldi R19,0
025A 0E940000 xcall mod16u
025E 0883 std y+0,R16
0260 .dbline 60
0260 24E6 ldi R18,100
0262 30E0 ldi R19,0
0264 8A01 movw R16,R20
0266 0E940000 xcall div16u
026A 2AE0 ldi R18,10
026C 30E0 ldi R19,0
026E 0E940000 xcall mod16u
0272 0983 std y+1,R16
0274 .dbline 61
0274 2AE0 ldi R18,10
0276 30E0 ldi R19,0
0278 8A01 movw R16,R20
027A 0E940000 xcall div16u
027E 2AE0 ldi R18,10
0280 30E0 ldi R19,0
0282 0E940000 xcall mod16u
0286 0A83 std y+2,R16
0288 .dbline 62
0288 2AE0 ldi R18,10
028A 30E0 ldi R19,0
028C 8A01 movw R16,R20
028E 0E940000 xcall mod16u
0292 0B83 std y+3,R16
0294 .dbline 63
0294 4427 clr R20
0296 0AC0 xjmp L47
0298 L44:
0298 .dbline 64
0298 CE01 movw R24,R28
029A 242E mov R2,R20
029C 3324 clr R3
029E 280E add R2,R24
02A0 391E adc R3,R25
02A2 F101 movw R30,R2
02A4 8081 ldd R24,z+0
02A6 805D subi R24,208 ; addi 48
02A8 8083 std z+0,R24
02AA L45:
02AA .dbline 63
02AA 4395 inc R20
02AC L47:
02AC .dbline 63
02AC 4430 cpi R20,4
02AE A0F3 brlo L44
02B0 .dbline 65
02B0 4427 clr R20
02B2 0BC0 xjmp L51
02B4 L48:
02B4 .dbline 66
02B4 .dbline 67
02B4 CE01 movw R24,R28
02B6 E42F mov R30,R20
02B8 FF27 clr R31
02BA E80F add R30,R24
02BC F91F adc R31,R25
02BE 2080 ldd R2,z+0
02C0 FB01 movw R30,R22
02C2 2082 std z+0,R2
02C4 .dbline 68
02C4 6F5F subi R22,255 ; offset = 1
02C6 7F4F sbci R23,255
02C8 .dbline 69
02C8 L49:
02C8 .dbline 65
02C8 4395 inc R20
02CA L51:
02CA .dbline 65
02CA 4430 cpi R20,4
02CC 98F3 brlo L48
02CE .dbline 70
02CE 2224 clr R2
02D0 FB01 movw R30,R22
02D2 2082 std z+0,R2
02D4 .dbline -2
02D4 L40:
02D4 2496 adiw R28,4
02D6 0E940000 xcall pop_gset2
02DA .dbline 0 ; func end
02DA 0895 ret
02DC .dbsym l j 1 c
02DC .dbsym l a 0 A[4:4]c
02DC .dbsym r i 20 c
02DC .dbsym r str 22 pc
02DC .dbsym r t 20 i
02DC .dbend
02DC .dbfunc e main _main fV
.even
02DC _main::
02DC .dbline -1
02DC .dbline 75
02DC .dbline 80
02DC ABDE xcall _init_devices
02DE .dbline 81
02DE 51DF xcall _lcd_init
02E0 .dbline 82
02E0 2227 clr R18
02E2 0027 clr R16
02E4 3CDF xcall _GotoXY
02E6 .dbline 83
02E6 00E0 ldi R16,<L53
02E8 10E0 ldi R17,>L53
02EA 28DF xcall _Print
02EC .dbline 84
02EC 21E0 ldi R18,1
02EE 0027 clr R16
02F0 36DF xcall _GotoXY
02F2 .dbline 85
02F2 0000 nop
02F4 .dbline 86
02F4 00E0 ldi R16,<L54
02F6 10E0 ldi R17,>L54
02F8 21DF xcall _Print
02FA .dbline 88
02FA 2227 clr R18
02FC 0DE0 ldi R16,13
02FE 2FDF xcall _GotoXY
0300 .dbline 89
0300 00E0 ldi R16,<L55
0302 10E0 ldi R17,>L55
0304 1BDF xcall _Print
0306 .dbline 90
0306 2227 clr R18
0308 0AE0 ldi R16,10
030A 29DF xcall _GotoXY
030C .dbline 91
030C 00E0 ldi R16,<L55
030E 10E0 ldi R17,>L55
0310 15DF xcall _Print
0312 F0C0 xjmp L57
0314 L56:
0314 .dbline 94
0314 .dbline 96
0314 A895 wdr
0316 .dbline 97
0316 20E0 ldi R18,<_second
0318 30E0 ldi R19,>_second
031A 00910000 lds R16,_sec
031E 5BDF xcall _IntToStr
0320 .dbline 98
0320 21E0 ldi R18,1
0322 0CE0 ldi R16,12
0324 1CDF xcall _GotoXY
0326 .dbline 99
0326 80910800 lds R24,_time_set
032A 8130 cpi R24,1
032C 21F0 breq L59
032E .dbline 100
032E .dbline 101
032E 00E0 ldi R16,<_second
0330 10E0 ldi R17,>_second
0332 04DF xcall _Print
0334 .dbline 102
0334 12C0 xjmp L60
0336 L59:
0336 .dbline 103
0336 80910800 lds R24,_time_set
033A 8130 cpi R24,1
033C 71F4 brne L61
033E .dbline 104
033E .dbline 105
033E 12E0 ldi R17,2
0340 00910700 lds R16,_flash_flag
0344 0E940000 xcall mod8u
0348 0023 tst R16
034A 21F4 brne L63
034C .dbline 106
034C .dbline 107
034C 00E0 ldi R16,<_second
034E 10E0 ldi R17,>_second
0350 F5DE xcall _Print
0352 .dbline 108
0352 03C0 xjmp L64
0354 L63:
0354 .dbline 110
0354 .dbline 111
0354 00E0 ldi R16,<L65
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -