📄 lcd1602_8a.lst
字号:
;---- Variable 'dat' assigned to Register 'R7' ----
; SOURCE LINE # 72
; SOURCE LINE # 73
0000 120000 R LCALL LCD_busy
C51 COMPILER V7.06 LCD1602_8A 08/10/2008 09:52:05 PAGE 9
; SOURCE LINE # 74
0003 D2A0 SETB LCD_RS
; SOURCE LINE # 75
0005 C2A1 CLR LCD_RW
; SOURCE LINE # 76
0007 D2A2 SETB LCD_EN
; SOURCE LINE # 77
0009 8F80 MOV LCD_IO,R7
; SOURCE LINE # 78
000B C2A2 CLR LCD_EN
; SOURCE LINE # 79
000D 22 RET
; FUNCTION _LCD_dat (END)
; FUNCTION _LCD_pos (BEGIN)
; SOURCE LINE # 84
;---- Variable 'x' assigned to Register 'R6' ----
0000 AE07 MOV R6,AR7
;---- Variable 'y' assigned to Register 'R5' ----
; SOURCE LINE # 85
; SOURCE LINE # 86
0002 ED MOV A,R5
0003 6005 JZ ?C0007
0005 EE MOV A,R6
0006 44C0 ORL A,#0C0H
0008 8003 SJMP ?C0031
000A ?C0007:
; SOURCE LINE # 87
000A EE MOV A,R6
000B 4480 ORL A,#080H
000D ?C0031:
000D FF MOV R7,A
000E 120000 R LCALL _LCD_cmd
; SOURCE LINE # 88
0011 ?C0009:
0011 22 RET
; FUNCTION _LCD_pos (END)
; FUNCTION LCD_clr (BEGIN)
; SOURCE LINE # 93
; SOURCE LINE # 94
; SOURCE LINE # 95
0000 7F01 MOV R7,#01H
0002 020000 R LJMP _LCD_cmd
; FUNCTION LCD_clr (END)
; FUNCTION _LCD_printc (BEGIN)
; SOURCE LINE # 101
;---- Variable 'x' assigned to Register 'R6' ----
;---- Variable 'c' assigned to Register 'R4' ----
0000 AC03 MOV R4,AR3
;---- Variable 'y' assigned to Register 'R5' ----
; SOURCE LINE # 102
; SOURCE LINE # 103
0002 120000 R LCALL _LCD_pos
; SOURCE LINE # 104
0005 AF04 MOV R7,AR4
0007 020000 R LJMP _LCD_dat
; FUNCTION _LCD_printc (END)
; FUNCTION _LCD_prints (BEGIN)
; SOURCE LINE # 110
C51 COMPILER V7.06 LCD1602_8A 08/10/2008 09:52:05 PAGE 10
;---- Variable 'x' assigned to Register 'R7' ----
;---- Variable 's' assigned to Register 'R1/R2/R3' ----
;---- Variable 'y' assigned to Register 'R5' ----
; SOURCE LINE # 111
; SOURCE LINE # 112
0000 120000 R LCALL _LCD_pos
0003 ?C0012:
; SOURCE LINE # 113
0003 120000 E LCALL ?C?CLDPTR
0006 FF MOV R7,A
0007 600C JZ ?C0014
; SOURCE LINE # 114
; SOURCE LINE # 115
0009 120000 R LCALL _LCD_dat
; SOURCE LINE # 116
000C 7401 MOV A,#01H
000E 29 ADD A,R1
000F F9 MOV R1,A
0010 E4 CLR A
0011 3A ADDC A,R2
0012 FA MOV R2,A
; SOURCE LINE # 117
0013 80EE SJMP ?C0012
; SOURCE LINE # 118
0015 ?C0014:
0015 22 RET
; FUNCTION _LCD_prints (END)
; FUNCTION LCD_init (BEGIN)
; SOURCE LINE # 123
; SOURCE LINE # 124
; SOURCE LINE # 125
0000 7F38 MOV R7,#038H
0002 120000 R LCALL _LCD_cmd
; SOURCE LINE # 126
0005 7F06 MOV R7,#06H
0007 120000 R LCALL _LCD_cmd
; SOURCE LINE # 127
000A 7F0C MOV R7,#0CH
000C 120000 R LCALL _LCD_cmd
; SOURCE LINE # 128
000F 7F01 MOV R7,#01H
0011 020000 R LJMP _LCD_cmd
; FUNCTION LCD_init (END)
; FUNCTION delay500ms (BEGIN)
; SOURCE LINE # 9
; SOURCE LINE # 10
; SOURCE LINE # 12
;---- Variable 'i' assigned to Register 'R7' ----
0000 7F0F MOV R7,#0FH
0002 ?C0016:
; SOURCE LINE # 13
;---- Variable 'j' assigned to Register 'R6' ----
0002 7E42 MOV R6,#042H
0004 ?C0019:
; SOURCE LINE # 14
;---- Variable 'k' assigned to Register 'R5' ----
0004 7DFB MOV R5,#0FBH
0006 ?C0022:
0006 DDFE DJNZ R5,?C0022
0008 ?C0021:
C51 COMPILER V7.06 LCD1602_8A 08/10/2008 09:52:05 PAGE 11
0008 DEFA DJNZ R6,?C0019
000A ?C0018:
000A DFF6 DJNZ R7,?C0016
; SOURCE LINE # 15
000C ?C0025:
000C 22 RET
; FUNCTION delay500ms (END)
; FUNCTION main (BEGIN)
; SOURCE LINE # 18
; SOURCE LINE # 19
; SOURCE LINE # 20
0000 120000 R LCALL L?0033
; SOURCE LINE # 21
0003 120000 R LCALL LCD_init
0006 ?C0026:
; SOURCE LINE # 22
; SOURCE LINE # 23
; SOURCE LINE # 24
0006 120000 R LCALL LCD_clr
; SOURCE LINE # 25
0009 7BFF MOV R3,#0FFH
000B 7A00 R MOV R2,#HIGH ?SC_0
000D 7900 R MOV R1,#LOW ?SC_0
000F E4 CLR A
0010 FD MOV R5,A
0011 7F05 MOV R7,#05H
0013 120000 R LCALL _LCD_prints
; SOURCE LINE # 26
0016 7B5F MOV R3,#05FH
0018 7F08 MOV R7,#08H
001A 120000 R LCALL _LCD_printc
; SOURCE LINE # 27
001D AB00 R MOV R3,s
001F 0500 R INC s+02H
0021 E500 R MOV A,s+02H
0023 AA00 R MOV R2,s+01H
0025 7002 JNZ ?C0030
0027 0500 R INC s+01H
0029 ?C0030:
0029 14 DEC A
002A F9 MOV R1,A
002B 0D INC R5
002C E4 CLR A
002D FF MOV R7,A
002E 120000 R LCALL _LCD_prints
; SOURCE LINE # 28
0031 AB00 R MOV R3,s
0033 AA00 R MOV R2,s+01H
0035 A900 R MOV R1,s+02H
0037 120000 E LCALL ?C?CLDPTR
003A 7003 JNZ ?C0028
003C 120000 R LCALL L?0033
003F ?C0028:
; SOURCE LINE # 29
003F 120000 R LCALL delay500ms
; SOURCE LINE # 30
0042 80C2 SJMP ?C0026
; FUNCTION main (END)
C51 COMPILER V7.06 LCD1602_8A 08/10/2008 09:52:05 PAGE 12
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
P2 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00A0H 1
delay500ms . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
i. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
j. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0006H 1
k. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0005H 1
main . . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
s. . . . . . . . . . . . . . . . . . AUTO DATA PTR 0000H 3
_LCD_printc. . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
x. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0006H 1
y. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0005H 1
c. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0004H 1
tab. . . . . . . . . . . . . . . . . . PUBLIC CODE ARRAY 0008H 59
_LCD_prints. . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
x. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
y. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0005H 1
s. . . . . . . . . . . . . . . . . . * REG * DATA PTR 0001H 3
LCD_EN . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A2H 1
_LCD_cmd . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
cmd. . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
LCD_IO . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0080H 1
_LCD_dat . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
dat. . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
LCD_BZ . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0087H 1
LCD_RS . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A0H 1
LCD_RW . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A1H 1
_LCD_pos . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
x. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0006H 1
y. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0005H 1
LCD_init . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
LCD_clr. . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
LCD_busy . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 212 ----
CONSTANT SIZE = 67 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 3
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -