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

📄 lcd1602.lst

📁 这是一个经过调试成功的可以实用的程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
0031 2500        R     ADD     A,i
0033 F582              MOV     DPL,A
0035 E4                CLR     A
0036 3500        R     ADDC    A,ptr
0038 F583              MOV     DPH,A
003A E4                CLR     A
003B 93                MOVC    A,@A+DPTR
003C FB                MOV     R3,A
003D AD00        R     MOV     R5,y
003F 120000      R     LCALL   _DispOneChar
                                           ; SOURCE LINE # 66
0042 E500        R     MOV     A,x
0044 B41006            CJNE    A,#010H,?C0008
                                           ; SOURCE LINE # 67
0047 E4                CLR     A
0048 F500        R     MOV     x,A
004A 630001      R     XRL     y,#01H
                                           ; SOURCE LINE # 68
                                           ; SOURCE LINE # 69
004D         ?C0008:
004D 0500        R     INC     i
004F 80D3              SJMP    ?C0006
                                           ; SOURCE LINE # 70
0051         ?C0010:
0051 22                RET     
             ; FUNCTION _ePutstr (END)

             ; FUNCTION _Display (BEGIN)
                                           ; SOURCE LINE # 75
0000 8F00        R     MOV     dd,R7
                                           ; SOURCE LINE # 79
0002 E4                CLR     A
0003 F500        R     MOV     i,A
0005         ?C0011:
                                           ; SOURCE LINE # 80
0005 AB00        R     MOV     R3,dd
0007 0500        R     INC     dd
0009 7D01              MOV     R5,#01H
000B AF00        R     MOV     R7,i
000D 120000      R     LCALL   _DispOneChar
                                           ; SOURCE LINE # 81
0010 53007F      R     ANL     dd,#07FH
                                           ; SOURCE LINE # 82
0013 E500        R     MOV     A,dd
0015 C3                CLR     C
0016 9420              SUBB    A,#020H
0018 5003              JNC     ?C0013
001A 750020      R     MOV     dd,#020H
                                           ; SOURCE LINE # 83
001D         ?C0013:
C51 COMPILER V8.02   LCD1602                                                               07/13/2006 21:12:22 PAGE 7   

001D 0500        R     INC     i
001F E500        R     MOV     A,i
0021 C3                CLR     C
0022 9410              SUBB    A,#010H
0024 40DF              JC      ?C0011
                                           ; SOURCE LINE # 84
0026         ?C0015:
0026 22                RET     
             ; FUNCTION _Display (END)

             ; FUNCTION _LocateXY (BEGIN)
                                           ; SOURCE LINE # 89
;---- Variable 'posy' assigned to Register 'R5' ----
;---- Variable 'posx' assigned to Register 'R7' ----
                                           ; SOURCE LINE # 93
0000 EF                MOV     A,R7
0001 540F              ANL     A,#0FH
0003 FF                MOV     R7,A
;---- Variable 'temp' assigned to Register 'R7' ----
                                           ; SOURCE LINE # 94
0004 530501            ANL     AR5,#01H
                                           ; SOURCE LINE # 95
0007 ED                MOV     A,R5
0008 6003              JZ      ?C0016
000A 430740            ORL     AR7,#040H
000D         ?C0016:
                                           ; SOURCE LINE # 96
000D 430780            ORL     AR7,#080H
                                           ; SOURCE LINE # 97
0010 E4                CLR     A
0011 FD                MOV     R5,A
0012 020000      R     LJMP    _LcdWriteCommand
             ; FUNCTION _LocateXY (END)

             ; FUNCTION _DispOneChar (BEGIN)
                                           ; SOURCE LINE # 103
0000 8B00        R     MOV     Wdata,R3
;---- Variable 'y' assigned to Register 'R5' ----
;---- Variable 'x' assigned to Register 'R7' ----
                                           ; SOURCE LINE # 105
0002 120000      R     LCALL   _LocateXY
                                           ; SOURCE LINE # 106
0005 AF00        R     MOV     R7,Wdata
0007 020000      R     LJMP    _LcdWriteData
             ; FUNCTION _DispOneChar (END)

             ; FUNCTION LcdReset (BEGIN)
                                           ; SOURCE LINE # 112
                                           ; SOURCE LINE # 114
0000 120000      R     LCALL   L?0036
                                           ; SOURCE LINE # 115
0003 120000      R     LCALL   Delay5Ms
                                           ; SOURCE LINE # 116
0006 120000      R     LCALL   L?0036
                                           ; SOURCE LINE # 117
0009 120000      R     LCALL   Delay5Ms
                                           ; SOURCE LINE # 118
000C 120000      R     LCALL   L?0037
                                           ; SOURCE LINE # 119
000F 120000      R     LCALL   Delay5Ms
                                           ; SOURCE LINE # 121
0012 7D01              MOV     R5,#01H
C51 COMPILER V8.02   LCD1602                                                               07/13/2006 21:12:22 PAGE 8   

0014 7F38              MOV     R7,#038H
0016 120000      R     LCALL   _LcdWriteCommand
                                           ; SOURCE LINE # 122
0019 7D01              MOV     R5,#01H
001B 7F08              MOV     R7,#08H
001D 120000      R     LCALL   _LcdWriteCommand
                                           ; SOURCE LINE # 123
0020 7D01              MOV     R5,#01H
0022 7F01              MOV     R7,#01H
0024 120000      R     LCALL   _LcdWriteCommand
                                           ; SOURCE LINE # 124
0027 7D01              MOV     R5,#01H
0029 7F06              MOV     R7,#06H
002B 120000      R     LCALL   _LcdWriteCommand
                                           ; SOURCE LINE # 125
002E 7D01              MOV     R5,#01H
0030 7F0C              MOV     R7,#0CH
0032 020000      R     LJMP    _LcdWriteCommand
             ; FUNCTION LcdReset (END)

             ; FUNCTION L?0036 (BEGIN)
0000         L?0037:
0000 E4                CLR     A
0001 FD                MOV     R5,A
0002 7F38              MOV     R7,#038H
             ; FUNCTION _LcdWriteCommand (BEGIN)
                                           ; SOURCE LINE # 131
0004 8F00        R     MOV     CMD,R7
;---- Variable 'AttribC' assigned to Register 'R5' ----
                                           ; SOURCE LINE # 133
0006 ED                MOV     A,R5
0007 6003              JZ      ?C0020
0009 120000      R     LCALL   WaitForEnable
000C         ?C0020:
                                           ; SOURCE LINE # 135
000C C2B3              CLR     LCD_RS
000E C2B4              CLR     LCD_RW
0010 00                NOP     
                                           ; SOURCE LINE # 137
0011 850080      R     MOV     P0,CMD
0014 00                NOP     
                                           ; SOURCE LINE # 139
0015 D2B5              SETB    LCD_E
0017 00                NOP     
0018 00                NOP     
0019 C2B5              CLR     LCD_E
                                           ; SOURCE LINE # 140
001B 22                RET     
             ; FUNCTION _LcdWriteCommand (END)

             ; FUNCTION _LcdWriteData (BEGIN)
                                           ; SOURCE LINE # 145
0000 8F00        R     MOV     dataW,R7
                                           ; SOURCE LINE # 147
0002 120000      R     LCALL   WaitForEnable
                                           ; SOURCE LINE # 149
0005 D2B3              SETB    LCD_RS
0007 C2B4              CLR     LCD_RW
0009 00                NOP     
                                           ; SOURCE LINE # 151
000A 850080      R     MOV     P0,dataW
000D 00                NOP     
C51 COMPILER V8.02   LCD1602                                                               07/13/2006 21:12:22 PAGE 9   

                                           ; SOURCE LINE # 153
000E D2B5              SETB    LCD_E
0010 00                NOP     
0011 00                NOP     
0012 C2B5              CLR     LCD_E
                                           ; SOURCE LINE # 155
0014 22                RET     
             ; FUNCTION _LcdWriteData (END)

             ; FUNCTION WaitForEnable (BEGIN)
                                           ; SOURCE LINE # 161
                                           ; SOURCE LINE # 163
0000 7580FF            MOV     P0,#0FFH
                                           ; SOURCE LINE # 165
0003 C2B3              CLR     LCD_RS
0005 D2B4              SETB    LCD_RW
0007 00                NOP     
0008 D2B5              SETB    LCD_E
000A 00                NOP     
000B 00                NOP     
000C         ?C0023:
                                           ; SOURCE LINE # 167
000C E580              MOV     A,P0
000E 20E7FB            JB      ACC.7,?C0023
0011         ?C0024:
                                           ; SOURCE LINE # 169
0011 C2B5              CLR     LCD_E
                                           ; SOURCE LINE # 170
0013 22                RET     
             ; FUNCTION WaitForEnable (END)

             ; FUNCTION Delay5Ms (BEGIN)
                                           ; SOURCE LINE # 174
                                           ; SOURCE LINE # 175
                                           ; SOURCE LINE # 176
;---- Variable 'i' assigned to Register 'R6/R7' ----
0000 7FB0              MOV     R7,#0B0H
0002 7E15              MOV     R6,#015H
0004         ?C0026:
                                           ; SOURCE LINE # 177
0004 EF                MOV     A,R7
0005 1F                DEC     R7
0006 AC06              MOV     R4,AR6
0008 7001              JNZ     ?C0034
000A 1E                DEC     R6
000B         ?C0034:
000B 4C                ORL     A,R4
000C 70F6              JNZ     ?C0026
                                           ; SOURCE LINE # 178
000E         ?C0028:
000E 22                RET     
             ; FUNCTION Delay5Ms (END)

             ; FUNCTION Delay400Ms (BEGIN)
                                           ; SOURCE LINE # 181
;---- Variable 'j' assigned to Register 'R6/R7' ----
;---- Variable 'i' assigned to Register 'R5' ----
                                           ; SOURCE LINE # 182
                                           ; SOURCE LINE # 183
0000 7D05              MOV     R5,#05H
0002         ?C0029:
                                           ; SOURCE LINE # 185
C51 COMPILER V8.02   LCD1602                                                               07/13/2006 21:12:22 PAGE 10  

0002 AC05              MOV     R4,AR5
0004 1D                DEC     R5
0005 EC                MOV     A,R4
0006 6010              JZ      ?C0033
                                           ; SOURCE LINE # 186
                                           ; SOURCE LINE # 187
0008 7E1C              MOV     R6,#01CH
000A 7F65              MOV     R7,#065H
000C         ?C0031:
                                           ; SOURCE LINE # 188
000C EF                MOV     A,R7
000D 1F                DEC     R7
000E AA06              MOV     R2,AR6
0010 7001              JNZ     ?C0035
0012 1E                DEC     R6
0013         ?C0035:
0013 4A                ORL     A,R2
0014 60EC              JZ      ?C0029
0016 80F4              SJMP    ?C0031
                                           ; SOURCE LINE # 189
                                           ; SOURCE LINE # 190
0018         ?C0033:
0018 22                RET     
             ; FUNCTION Delay400Ms (END)



MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    351    ----
   CONSTANT SIZE    =     33    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      12
   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 + -