📄 lcd1602四线驱动.lst
字号:
0008 ?C0004:
0008 DEFE DJNZ R6,?C0004
000A ?C0001:
000A DDFA DJNZ R5,?C0003
; SOURCE LINE # 43
000C 22 RET
; FUNCTION _LCD_delay (END)
; FUNCTION LCD_init (BEGIN)
; SOURCE LINE # 48
; SOURCE LINE # 49
; SOURCE LINE # 50
0000 7F28 MOV R7,#028H
0002 120000 R LCALL _LCD_cmd
; SOURCE LINE # 51
0005 120000 R LCALL LCD_en
; SOURCE LINE # 52
0008 7F28 MOV R7,#028H
000A 120000 R LCALL _LCD_cmd
; SOURCE LINE # 53
000D 7F0C MOV R7,#0CH
000F 120000 R LCALL _LCD_cmd
; SOURCE LINE # 54
0012 7F01 MOV R7,#01H
0014 120000 R LCALL _LCD_cmd
; SOURCE LINE # 55
0017 7DF9 MOV R5,#0F9H
C51 COMPILER V7.06 LCD1602四_咔齙_ 08/10/2008 09:23:55 PAGE 10
0019 7F02 MOV R7,#02H
001B 020000 R LJMP _LCD_delay
; FUNCTION LCD_init (END)
; FUNCTION LCD_en (BEGIN)
; SOURCE LINE # 61
; SOURCE LINE # 62
; SOURCE LINE # 63
0000 D2A3 SETB LCD_EN
; SOURCE LINE # 64
0002 7D01 MOV R5,#01H
0004 7F01 MOV R7,#01H
0006 120000 R LCALL _LCD_delay
; SOURCE LINE # 65
0009 C2A3 CLR LCD_EN
; SOURCE LINE # 66
000B 22 RET
; FUNCTION LCD_en (END)
; FUNCTION _LCD_cmd (BEGIN)
; SOURCE LINE # 71
;---- Variable 'cmd' assigned to Register 'R4' ----
; SOURCE LINE # 72
; SOURCE LINE # 73
0000 120000 R LCALL L?0025
; SOURCE LINE # 74
0003 C2A2 CLR LCD_RS
; SOURCE LINE # 75
; SOURCE LINE # 76
; SOURCE LINE # 77
; SOURCE LINE # 78
; SOURCE LINE # 79
; SOURCE LINE # 80
0005 120000 R LCALL L?0024
; SOURCE LINE # 81
0008 020000 R LJMP LCD_en
; FUNCTION _LCD_cmd (END)
; FUNCTION _LCD_dat (BEGIN)
; SOURCE LINE # 87
;---- Variable 'dat' assigned to Register 'R4' ----
; SOURCE LINE # 88
; SOURCE LINE # 89
0000 120000 R LCALL L?0025
; SOURCE LINE # 90
0003 D2A2 SETB LCD_RS
; SOURCE LINE # 91
; SOURCE LINE # 92
; SOURCE LINE # 93
; SOURCE LINE # 94
; SOURCE LINE # 95
; SOURCE LINE # 96
0005 120000 R LCALL L?0024
; SOURCE LINE # 97
0008 020000 R LJMP LCD_en
; FUNCTION _LCD_dat (END)
; FUNCTION LCD_clr (BEGIN)
; SOURCE LINE # 103
; SOURCE LINE # 104
; SOURCE LINE # 105
0000 7F01 MOV R7,#01H
C51 COMPILER V7.06 LCD1602四_咔齙_ 08/10/2008 09:23:55 PAGE 11
0002 120000 R LCALL _LCD_cmd
; SOURCE LINE # 106
0005 7DF9 MOV R5,#0F9H
0007 7F02 MOV R7,#02H
0009 020000 R LJMP _LCD_delay
; FUNCTION LCD_clr (END)
; FUNCTION _LCD_pos (BEGIN)
; SOURCE LINE # 112
;---- Variable 'x' assigned to Register 'R6' ----
0000 AE07 MOV R6,AR7
;---- Variable 'y' assigned to Register 'R5' ----
; SOURCE LINE # 113
; SOURCE LINE # 114
0002 ED MOV A,R5
0003 6005 JZ ?C0012
0005 EE MOV A,R6
0006 44C0 ORL A,#0C0H
0008 8003 SJMP ?C0022
000A ?C0012:
; SOURCE LINE # 115
000A EE MOV A,R6
000B 4480 ORL A,#080H
000D ?C0022:
000D FF MOV R7,A
000E 120000 R LCALL _LCD_cmd
; SOURCE LINE # 116
0011 ?C0014:
0011 22 RET
; FUNCTION _LCD_pos (END)
; FUNCTION _LCD_printc (BEGIN)
; SOURCE LINE # 122
;---- Variable 'x' assigned to Register 'R6' ----
;---- Variable 'c' assigned to Register 'R3' ----
;---- Variable 'y' assigned to Register 'R5' ----
; SOURCE LINE # 123
; SOURCE LINE # 124
0000 120000 R LCALL _LCD_pos
; SOURCE LINE # 125
0003 AF03 MOV R7,AR3
0005 020000 R LJMP _LCD_dat
; FUNCTION _LCD_printc (END)
; FUNCTION _LCD_prints (BEGIN)
; SOURCE LINE # 131
;---- Variable 'x' assigned to Register 'R7' ----
;---- Variable 's' assigned to Register 'R1/R2/R3' ----
;---- Variable 'y' assigned to Register 'R5' ----
; SOURCE LINE # 132
; SOURCE LINE # 133
0000 120000 R LCALL _LCD_pos
0003 ?C0016:
; SOURCE LINE # 134
0003 120000 E LCALL ?C?CLDPTR
0006 FF MOV R7,A
0007 600C JZ ?C0018
; SOURCE LINE # 135
; SOURCE LINE # 136
0009 120000 R LCALL _LCD_dat
; SOURCE LINE # 137
000C 7401 MOV A,#01H
C51 COMPILER V7.06 LCD1602四_咔齙_ 08/10/2008 09:23:55 PAGE 12
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 # 138
0013 80EE SJMP ?C0016
; SOURCE LINE # 139
0015 ?C0018:
0015 22 RET
; FUNCTION _LCD_prints (END)
; FUNCTION main (BEGIN)
; SOURCE LINE # 5
; SOURCE LINE # 6
; SOURCE LINE # 7
0000 120000 R LCALL LCD_init
; SOURCE LINE # 8
0003 120000 R LCALL LCD_clr
; SOURCE LINE # 9
0006 7BFF MOV R3,#0FFH
0008 7A00 R MOV R2,#HIGH ?SC_0
000A 7900 R MOV R1,#LOW ?SC_0
000C E4 CLR A
000D FD MOV R5,A
000E FF MOV R7,A
000F 120000 R LCALL _LCD_prints
; SOURCE LINE # 10
0012 7A00 R MOV R2,#HIGH ?SC_17
0014 7900 R MOV R1,#LOW ?SC_17
0016 7D01 MOV R5,#01H
0018 7F04 MOV R7,#04H
001A 120000 R LCALL _LCD_prints
; SOURCE LINE # 11
001D 7B5F MOV R3,#05FH
001F 7D01 MOV R5,#01H
0021 7F07 MOV R7,#07H
0023 120000 R LCALL _LCD_printc
0026 ?C0019:
; SOURCE LINE # 14
0026 80FE SJMP ?C0019
; FUNCTION main (END)
C51 COMPILER V7.06 LCD1602四_咔齙_ 08/10/2008 09:23:55 PAGE 13
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
P2 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00A0H 1
LCD_en . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
_LCD_delay . . . . . . . . . . . . . . PUBLIC CODE PROC 0006H -----
m. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
n. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0005H 1
tempm. . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0006H 1
tempn. . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0005H 1
main . . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
_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 0003H 1
_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 00A3H 1
_LCD_cmd . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
cmd. . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0004H 1
_LCD_dat . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
dat. . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0004H 1
LCD_DATA . . . . . . . . . . . . . . . SFR DATA U_CHAR 00A0H 1
LCD_RS . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A2H 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 -----
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 201 ----
CONSTANT SIZE = 25 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
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 + -