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

📄 lcd1602_8a.lst

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