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

📄 lcd1602_8_test.lst

📁 文件夹包含LCD1602的一些经常用到的驱动: ├─★★LCD1602四线驱动 ├─★LCD1602_8显示Mini Driver ├─★★LCD1602A_优化驱动 ├─★▲LCD1602滚
💻 LST
📖 第 1 页 / 共 2 页
字号:
  43   1              delay2000ms();
  44   1              lcd_pos(0,1);
  45   1              prints("HaHa...I love it");
  46   1              delay2000ms();
  47   1              lcd_pos(0,0);
  48   1              prints("My love for you.");
  49   1              delay2000ms();
  50   1              lcd_pos(0,1);
  51   1              prints("is endless. and ");
  52   1              delay2000ms();
C51 COMPILER V7.06   LCD1602_8_TEST                                                        08/10/2008 09:56:50 PAGE 6   

  53   1              lcd_pos(0,0);
  54   1              prints("Never Give It Up");
  55   1      
  56   1              while(1);
  57   1      }
  58          
C51 COMPILER V7.06   LCD1602_8_TEST                                                        08/10/2008 09:56:50 PAGE 7   

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION lcd_busy (BEGIN)
                                           ; SOURCE LINE # 44
                                           ; SOURCE LINE # 45
0000         ?C0003:
                                           ; SOURCE LINE # 46
                                           ; SOURCE LINE # 47
0000 C2A2              CLR     ep
                                           ; SOURCE LINE # 48
0002 C2A0              CLR     rs
                                           ; SOURCE LINE # 49
0004 D2A1              SETB    rw
                                           ; SOURCE LINE # 50
0006 7580FF            MOV     io,#0FFH
                                           ; SOURCE LINE # 51
0009 D2A2              SETB    ep
                                           ; SOURCE LINE # 52
000B 00                NOP     
                                           ; SOURCE LINE # 53
000C 2087F1            JB      bz,?C0003
                                           ; SOURCE LINE # 54
000F C2A2              CLR     ep
                                           ; SOURCE LINE # 55
0011 22                RET     
             ; FUNCTION lcd_busy (END)

             ; FUNCTION _lcd_wcmd (BEGIN)
                                           ; SOURCE LINE # 62
;---- Variable 'cmd' assigned to Register 'R7' ----
                                           ; SOURCE LINE # 63
                                           ; SOURCE LINE # 64
0000 120000      R     LCALL   lcd_busy
                                           ; SOURCE LINE # 65
0003 C2A0              CLR     rs
                                           ; SOURCE LINE # 66
0005 C2A1              CLR     rw
                                           ; SOURCE LINE # 67
0007 D2A2              SETB    ep
                                           ; SOURCE LINE # 68
0009 8F80              MOV     io,R7
                                           ; SOURCE LINE # 69
000B C2A2              CLR     ep
                                           ; SOURCE LINE # 70
000D 22                RET     
             ; FUNCTION _lcd_wcmd (END)

             ; FUNCTION _lcd_wdat (BEGIN)
                                           ; SOURCE LINE # 77
;---- Variable 'Data' assigned to Register 'R7' ----
                                           ; SOURCE LINE # 78
                                           ; SOURCE LINE # 79
0000 120000      R     LCALL   lcd_busy
                                           ; SOURCE LINE # 80
0003 D2A0              SETB    rs
                                           ; SOURCE LINE # 81
0005 C2A1              CLR     rw
                                           ; SOURCE LINE # 82
0007 D2A2              SETB    ep
                                           ; SOURCE LINE # 83
0009 8F80              MOV     io,R7
C51 COMPILER V7.06   LCD1602_8_TEST                                                        08/10/2008 09:56:50 PAGE 8   

                                           ; SOURCE LINE # 84
000B C2A2              CLR     ep
                                           ; SOURCE LINE # 85
000D 22                RET     
             ; FUNCTION _lcd_wdat (END)

             ; FUNCTION L?0031 (BEGIN)
0000 120000      R     LCALL   _prints
0003 120000      R     LCALL   delay2000ms
0006         L?0032:
0006 D200        R     SETB    ?_lcd_pos?BIT
0008 E4                CLR     A
0009 FF                MOV     R7,A
             ; FUNCTION _lcd_pos (BEGIN)
                                           ; SOURCE LINE # 92
;---- Variable 'x' assigned to Register 'R6' ----
000A AE07              MOV     R6,AR7
                                           ; SOURCE LINE # 93
                                           ; SOURCE LINE # 94
000C EE                MOV     A,R6
000D 300004      R     JNB     y,?C0007
0010 44C0              ORL     A,#0C0H
0012 8002              SJMP    ?C0030
0014         ?C0007:
                                           ; SOURCE LINE # 95
0014 4480              ORL     A,#080H
0016         ?C0030:
0016 FF                MOV     R7,A
0017 120000      R     LCALL   _lcd_wcmd
                                           ; SOURCE LINE # 96
001A         ?C0009:
001A 22                RET     
             ; FUNCTION _lcd_pos (END)

             ; FUNCTION lcd_init (BEGIN)
                                           ; SOURCE LINE # 104
                                           ; SOURCE LINE # 105
                                           ; SOURCE LINE # 106
0000 7F38              MOV     R7,#038H
0002 120000      R     LCALL   _lcd_wcmd
                                           ; SOURCE LINE # 107
0005 7F06              MOV     R7,#06H
0007 120000      R     LCALL   _lcd_wcmd
                                           ; SOURCE LINE # 108
000A 7F0C              MOV     R7,#0CH
000C 120000      R     LCALL   _lcd_wcmd
                                           ; SOURCE LINE # 109
000F 7F01              MOV     R7,#01H
0011 020000      R     LJMP    _lcd_wcmd
             ; FUNCTION lcd_init (END)

             ; FUNCTION _prints (BEGIN)
                                           ; SOURCE LINE # 15
;---- Variable 's' assigned to Register 'R1/R2/R3' ----
                                           ; SOURCE LINE # 16
0000         ?C0011:
                                           ; SOURCE LINE # 17
0000 120000      E     LCALL   ?C?CLDPTR
0003 FF                MOV     R7,A
0004 600C              JZ      ?C0013
                                           ; SOURCE LINE # 18
                                           ; SOURCE LINE # 19
C51 COMPILER V7.06   LCD1602_8_TEST                                                        08/10/2008 09:56:50 PAGE 9   

0006 120000      R     LCALL   _lcd_wdat
                                           ; SOURCE LINE # 20
0009 7401              MOV     A,#01H
000B 29                ADD     A,R1
000C F9                MOV     R1,A
000D E4                CLR     A
000E 3A                ADDC    A,R2
000F FA                MOV     R2,A
                                           ; SOURCE LINE # 21
0010 80EE              SJMP    ?C0011
                                           ; SOURCE LINE # 22
0012         ?C0013:
0012 22                RET     
             ; FUNCTION _prints (END)

             ; FUNCTION delay2000ms (BEGIN)
                                           ; SOURCE LINE # 25
                                           ; SOURCE LINE # 26
                                           ; SOURCE LINE # 28
;---- Variable 'i' assigned to Register 'R7' ----
0000 7FFE              MOV     R7,#0FEH
0002         ?C0014:
                                           ; SOURCE LINE # 29
;---- Variable 'j' assigned to Register 'R6' ----
0002 7E11              MOV     R6,#011H
0004         ?C0017:
                                           ; SOURCE LINE # 30
;---- Variable 'k' assigned to Register 'R5' ----
0004 7DE6              MOV     R5,#0E6H
0006         ?C0020:
0006 DDFE              DJNZ    R5,?C0020
0008         ?C0019:
0008 DEFA              DJNZ    R6,?C0017
000A         ?C0016:
000A DFF6              DJNZ    R7,?C0014
                                           ; SOURCE LINE # 31
000C         ?C0023:
000C 22                RET     
             ; FUNCTION delay2000ms (END)

             ; FUNCTION main (BEGIN)
                                           ; SOURCE LINE # 34
                                           ; SOURCE LINE # 35
                                           ; SOURCE LINE # 36
;---- Variable 'i' assigned to Register 'R5' ----
0000 7D30              MOV     R5,#030H
                                           ; SOURCE LINE # 37
0002 120000      R     LCALL   lcd_init
                                           ; SOURCE LINE # 38
0005 C200        R     CLR     ?_lcd_pos?BIT
0007 E4                CLR     A
0008 FF                MOV     R7,A
0009 120000      R     LCALL   _lcd_pos
000C         ?C0026:
                                           ; SOURCE LINE # 39
000C AF05              MOV     R7,AR5
000E 120000      R     LCALL   _lcd_wdat
0011 0D                INC     R5
0012 ED                MOV     A,R5
0013 C3                CLR     C
0014 9440              SUBB    A,#040H
0016 40F4              JC      ?C0026
C51 COMPILER V7.06   LCD1602_8_TEST                                                        08/10/2008 09:56:50 PAGE 10  

                                           ; SOURCE LINE # 41
0018 120000      R     LCALL   L?0032
                                           ; SOURCE LINE # 42
001B 7BFF              MOV     R3,#0FFH
001D 7A00        R     MOV     R2,#HIGH ?SC_0
001F 7900        R     MOV     R1,#LOW ?SC_0
                                           ; SOURCE LINE # 43
                                           ; SOURCE LINE # 44
0021 120000      R     LCALL   L?0031
                                           ; SOURCE LINE # 45
0024 7A00        R     MOV     R2,#HIGH ?SC_16
0026 7900        R     MOV     R1,#LOW ?SC_16
0028 120000      R     LCALL   _prints
                                           ; SOURCE LINE # 46
002B 120000      R     LCALL   delay2000ms
                                           ; SOURCE LINE # 47
002E C200        R     CLR     ?_lcd_pos?BIT
0030 E4                CLR     A
0031 FF                MOV     R7,A
0032 120000      R     LCALL   _lcd_pos
                                           ; SOURCE LINE # 48
0035 7A00        R     MOV     R2,#HIGH ?SC_33
0037 7900        R     MOV     R1,#LOW ?SC_33
                                           ; SOURCE LINE # 49
                                           ; SOURCE LINE # 50
0039 120000      R     LCALL   L?0031
                                           ; SOURCE LINE # 51
003C 7A00        R     MOV     R2,#HIGH ?SC_50
003E 7900        R     MOV     R1,#LOW ?SC_50
0040 120000      R     LCALL   _prints
                                           ; SOURCE LINE # 52
0043 120000      R     LCALL   delay2000ms
                                           ; SOURCE LINE # 53
0046 C200        R     CLR     ?_lcd_pos?BIT
0048 E4                CLR     A
0049 FF                MOV     R7,A
004A 120000      R     LCALL   _lcd_pos
                                           ; SOURCE LINE # 54
004D 7A00        R     MOV     R2,#HIGH ?SC_67
004F 7900        R     MOV     R1,#LOW ?SC_67
0051 120000      R     LCALL   _prints
0054         ?C0027:
                                           ; SOURCE LINE # 56
0054 80FE              SJMP    ?C0027
             ; FUNCTION main (END)

C51 COMPILER V7.06   LCD1602_8_TEST                                                        08/10/2008 09:56:50 PAGE 11  

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


P1 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0090H  1
P2 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A0H  1
P3 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B0H  1
_prints. . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  s. . . . . . . . . . . . . . . . . .  * REG *  DATA   PTR      0001H  3
IE . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A8H  1
IP . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B8H  1
_lcd_wcmd. . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  cmd. . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
main . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0005H  1
_lcd_wdat. . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  Data . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
SCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0098H  1
TCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0088H  1
delay2000ms. . . . . . . . . . . . . .  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
_lcd_pos . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     000AH  -----
  x. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0006H  1
  y. . . . . . . . . . . . . . . . . .  AUTO     DATA   BIT      0000H  1
lcd_init . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
ep . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A2H  1
io . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0080H  1
lcd_busy . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
bz . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0087H  1
rs . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A0H  1
T2CON. . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00C8H  1
rw . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A1H  1
PSW. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00D0H  1


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    211    ----
   CONSTANT SIZE    =     84    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       1
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -