⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcd1602四线驱动.lst

📁 文件夹包含LCD1602的一些经常用到的驱动: ├─★★LCD1602四线驱动 ├─★LCD1602_8显示Mini Driver ├─★★LCD1602A_优化驱动 ├─★▲LCD1602滚
💻 LST
📖 第 1 页 / 共 3 页
字号:
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 + -