📄 1602lcd_yd.lst
字号:
00C0 C2A1 129 CLR LCD_RW
00C2 F580 130 MOV P0,A
00C4 D2A2 131 SETB LCD_EN
00C6 00 132 NOP
00C7 00 133 NOP
00C8 00 134 NOP
00C9 00 135 NOP
00CA C2A2 136 CLR LCD_EN
00CC 22 137 RET
138 ;***************************************************************
139 ;检测LCD控制器忙状态
140 ;读数据
141 ;RS=L,RW=H,E=H,输出:D0-D7=数据
142 ;P0.7=1,LCD忙,等待。P0.7=0,LCD闲,可以进行读写操作。
143 ;***************************************************************
00CD 144 CHECKBUSY:
00CD C0E0 145 PUSH ACC
00CF 7580FF 146 MOV P0,#0FFH
00D2 C2A0 147 CLR LCD_RS
00D4 D2A1 148 SETB LCD_RW
00D6 D2A2 149 SETB LCD_EN
00D8 150 BUSYLOOP:
00D8 00 151 NOP
00D9 2087FC 152 JB P0.7,BUSYLOOP
00DC C2A2 153 CLR LCD_EN
00DE D0E0 154 POP ACC
00E0 22 155 RET
156 ;***************************************************************
157 ; 发送字符串子程序
158 ;***************************************************************
00E1 159 WRITE:
00E1 C0E0 160 PUSH ACC
00E3 161 WRITE1:
00E3 E4 162 CLR A
00E4 93 163 MOVC A,@A+DPTR
00E5 6005 164 JZ WRITE2
00E7 A3 165 INC DPTR
00E8 11BC 166 ACALL LCD_WDATA
00EA 80F7 167 JMP WRITE1
00EC 168 WRITE2:
00EC D0E0 169 POP ACC
00EE 22 170 RET
171 ;***************************************************************
172 ;闪烁子程序
173 ;***************************************************************
00EF 174 FLASH:
00EF 7408 175 MOV A,#08H ;关闭显示
00F1 11AB 176 ACALL LCD_CMD
00F3 3112 177 ACALL DELAY4
00F5 740C 178 MOV A,#0CH ;开显示,关闭光标
00F7 11AB 179 ACALL LCD_CMD
00F9 3112 180 ACALL DELAY4
00FB DCF2 181 DJNZ R4,FLASH
00FD 22 182 RET
A51 MACRO ASSEMBLER 1602LCD_YD 12/20/2006 22:12:32 PAGE 4
183 ;***************************************************************
184 ;延时5MS子程序
185 ;LCD初始化使用
186 ;***************************************************************
00FE 187 DELAY5MS:
00FE 7E0A 188 MOV R6,#10
0100 189 DL1:
0100 7FF9 190 MOV R7,#249
0102 191 DL2:
0102 DFFE 192 DJNZ R7,DL2
0104 DEFA 193 DJNZ R6,DL1
0106 22 194 RET
195 ;***************************************************************
196 ;延时125MS子程序
197 ;字符串移动时使用
198 ;***************************************************************
0107 199 DELAY125MS:
0107 200 DL3:
0107 7EFA 201 MOV R6,#250
0109 202 DL4:
0109 7FF9 203 MOV R7,#249
010B 204 DL5:
010B DFFE 205 DJNZ R7,DL5
010D DEFA 206 DJNZ R6,DL4
010F DDF6 207 DJNZ R5,DL3
0111 22 208 RET
209 ;***************************************************************
210 ;延时800MS子程序
211 ;闪烁时使用
212 ;***************************************************************
0112 213 DELAY4:
0112 7D28 214 MOV R5,#40
0114 215 DL6:
0114 7E64 216 MOV R6,#100
0116 217 DL7:
0116 7F64 218 MOV R7,#100
0118 219 DL8:
0118 DFFE 220 DJNZ R7,DL8
011A DEFA 221 DJNZ R6,DL7
011C DDF6 222 DJNZ R5,DL6
011E 22 223 RET
224 ;***************************************************************
225 END
A51 MACRO ASSEMBLER 1602LCD_YD 12/20/2006 22:12:32 PAGE 5
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
ACC. . . . . . . . D ADDR 00E0H A
BUSYLOOP . . . . . C ADDR 00D8H A
CHECKBUSY. . . . . C ADDR 00CDH A
CLR_LCD. . . . . . C ADDR 00A6H A
DELAY125MS . . . . C ADDR 0107H A
DELAY4 . . . . . . C ADDR 0112H A
DELAY5MS . . . . . C ADDR 00FEH A
DL1. . . . . . . . C ADDR 0100H A
DL2. . . . . . . . C ADDR 0102H A
DL3. . . . . . . . C ADDR 0107H A
DL4. . . . . . . . C ADDR 0109H A
DL5. . . . . . . . C ADDR 010BH A
DL6. . . . . . . . C ADDR 0114H A
DL7. . . . . . . . C ADDR 0116H A
DL8. . . . . . . . C ADDR 0118H A
FLASH. . . . . . . C ADDR 00EFH A
LCD_CMD. . . . . . C ADDR 00ABH A
LCD_CMD_NC . . . . C ADDR 00ADH A
LCD_EN . . . . . . B ADDR 00A0H.2 A
LCD_INIT . . . . . C ADDR 0081H A
LCD_RS . . . . . . B ADDR 00A0H.0 A
LCD_RW . . . . . . B ADDR 00A0H.1 A
LCD_WDATA. . . . . C ADDR 00BCH A
LINE1. . . . . . . C ADDR 005FH A
LINE2. . . . . . . C ADDR 0070H A
LOOPA. . . . . . . C ADDR 004BH A
MAIN . . . . . . . C ADDR 0030H A
MAIN1. . . . . . . C ADDR 0035H A
P0 . . . . . . . . D ADDR 0080H A
P2 . . . . . . . . D ADDR 00A0H A
SP . . . . . . . . D ADDR 0081H A
WRITE. . . . . . . C ADDR 00E1H A
WRITE1 . . . . . . C ADDR 00E3H A
WRITE2 . . . . . . C ADDR 00ECH A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -