📄 4bit.lst
字号:
209: 0126 11 30 acall delay_8us
210: ;------------------------------------------------
211: 0128 D2 B5 setb En
212: 012A C2 B5 clr En
213:
214: 012C D0 E0 pop acc
215: 012E 22 ret
216:
217: ;-------------------------------------------------
218: ;----------------8bit data write------------------
219: ;-------------------------------------------------
220:
221: 012F C0 E0 datw: push acc
222: 0131 D2 B7 setb RS
223: 0133 C2 B5 clr En
224: 0135 31 4A acall write_port
225: ;--------------wait 8 machine cycles-------------
226: 0137 11 30 acall delay_8us
227: ;------------------------------------------------
228: 0139 D2 B5 setb En
229: 013B C2 B5 clr En
230: ;-------------wait 8 machine cycles--------------
231: 013D 11 30 acall delay_8us
232: ;------------------------------------------------
233: 013F 31 4A acall write_port
234: ;--------------wait 8 machine cycles-------------
235: 0141 11 30 acall delay_8us
236: ;------------------------------------------------
237: 0143 D2 B5 setb En
238: 0145 C2 B5 clr En
239:
240: 0147 D0 E0 pop acc
241: 0149 22 ret
242:
243: ;-------------------------------------------------
244: ;----------------4bit port write------------------
245: ;-------------------------------------------------
246:
247: 014A write_port:
248: 014A E5 30 mov a, lcd_data
249:
250: 014C 33 rlc a
251: 014D 92 90 mov p1.0, c ;D7
252: 014F 33 rlc a
ASEM-51 V1.3 Copyright (c) 2002 by W.W. Heinz PAGE 6
Line I Addr Code Source
253: 0150 92 91 mov p1.1, c ;D6
254: 0152 33 rlc a
255: 0153 92 92 mov p1.2, c ;D5
256: 0155 33 rlc a
257: 0156 92 93 mov p1.3, c ;D4
258:
259: 0158 F5 30 mov lcd_data, a
260: 015A 22 ret
261:
262:
263: ;-------------------------------------------------------------
264: ;--------command and data write subroutine ends here----------
265: ;-------------------------------------------------------------
266:
267:
268: ;--------------------------------------------------
269: ;--------lcd line select(1/2) starts here----------
270: ;--------------------------------------------------
271:
272:
273: 015B 75 30 80 line1: mov lcd_data,#80h ;initial positio of cursor
274: 015E 31 14 acall cmdw
275: 0160 11 37 acall delay_100us
276: 0162 22 ret
277:
278: 0163 75 30 C0 line2: mov lcd_data,#0c0h ;initial position of cursor
279: 0166 31 14 acall cmdw
280: 0168 11 37 acall delay_100us
281: 016A 22 ret
282:
283: ;--------------------------------------------------
284: ;---------lcd line select(1/2) ends here-----------
285: ;--------------------------------------------------
286:
287: ;___________________________________________________________________________
288: ;-----------------------LCD subroutines ends here---------------------------
289: ;___________________________________________________________________________
290:
291: ;__________________________________________________
292: ;-----------------main code------------------
293: ;__________________________________________________
294:
295:
296: 016B 75 90 00 lcd4_main: mov p1, #00h
297: 016E C2 B5 clr En
298: 0170 C2 B7 clr RS
299: 0172 C2 B6 clr rw
300: 0174 75 A8 00 mov IE,#00h
301:
302: 0177 11 C7 acall lcd4_initialise
303: ;---------------------------------------------------------
304: 0179 12 01 5B lcd4_main1: lcall line1
305: 017C 90 00 8F mov dptr,#disp_initialising
306: 017F 11 6A acall disp_LCD_message
307: 0181 11 51 acall delay_half_second
308: 0183 11 51 acall delay_half_second
ASEM-51 V1.3 Copyright (c) 2002 by W.W. Heinz PAGE 7
Line I Addr Code Source
309: 0185 11 51 acall delay_half_second
310: 0187 11 51 acall delay_half_second
311:
312: 0189 12 01 5B lcall line1
313: 018C 90 00 7F mov dptr,#disp_testing
314: 018F 11 6A acall disp_LCD_message
315: 0191 11 51 acall delay_half_second
316: 0193 11 51 acall delay_half_second
317:
318: 0195 12 01 63 lcall line2
319: 0198 90 00 9F mov dptr,#disp_ready
320: 019B 11 6A acall disp_LCD_message
321: 019D 11 51 acall delay_half_second
322: 019F 11 51 acall delay_half_second
323: 01A1 11 51 acall delay_half_second
324: 01A3 11 51 acall delay_half_second
325:
326: 01A5 80 D2 sjmp lcd4_main1
327:
328:
329:
330:
331: end
332:
register banks used: ---
no errors
ASEM-51 V1.3 Copyright (c) 2002 by W.W. Heinz PAGE 8
L I S T O F S Y M B O L S
=============================
SYMBOL TYPE VALUE LINE
------------------------------------------------------------
??ASEM_51 NUMBER 8051
??VERSION NUMBER 0130
AC BIT D6
ACC DATA E0
B DATA F0
BACK CODE 005D 63
CMDW CODE 0114 193
CMDW4 CODE 0103 174
CY BIT D7
DATW CODE 012F 221
DELAY_100US CODE 0037 37
DELAY_100US_LOOP CODE 003B 39
DELAY_16MS CODE 0040 45
DELAY_16MS_LOOP1 CODE 0046 48
DELAY_16MS_LOOP2 CODE 0048 49
DELAY_8US CODE 0030 28
DELAY_HALF_SECOND CODE 0051 57
DELAY_HALF_SECOND1 CODE 0059 61
DELAY_HALF_SECOND2 CODE 005B 62
DISP_CLEAR CODE 00AF 104
DISP_INITIALISING CODE 008F 102
DISP_LCD_MESSAGE CODE 006A 86
DISP_LCD_MESSAGE1 CODE 0070 90
DISP_READY CODE 009F 103
DISP_TESTING CODE 007F 101
DPH DATA 83
DPL DATA 82
EA BIT AF
EN NUMBER 00B5 12
ENTRY_SET_MODE CODE 00BF 111
ES BIT AC
ET0 BIT A9
ET1 BIT AB
EX0 BIT A8
EX1 BIT AA
EXTI0 CODE 0003
EXTI1 CODE 0013
F0 BIT D5
IE DATA A8
IE0 BIT 89
IE1 BIT 8B
INT0 BIT B2
INT1 BIT B3
IP DATA B8
IT0 BIT 88
IT1 BIT 8A
LCD4_INITIALISE CODE 00C7 119
LCD4_MAIN CODE 016B 296
LCD4_MAIN1 CODE 0179 304
LCD_DATA DATA 30 13
ASEM-51 V1.3 Copyright (c) 2002 by W.W. Heinz PAGE 9
SYMBOL TYPE VALUE LINE
------------------------------------------------------------
LINE1 CODE 015B 273
LINE2 CODE 0163 278
OV BIT D2
P BIT D0
P0 DATA 80
P1 DATA 90
P2 DATA A0
P3 DATA B0
PCON DATA 87
PS BIT BC
PSW DATA D0
PT0 BIT B9
PT1 BIT BB
PX0 BIT B8
PX1 BIT BA
RB8 BIT 9A
RD BIT B7
REN BIT 9C
RESET CODE 0000
RI BIT 98
RS NUMBER 00B7 10
RS0 BIT D3
RS1 BIT D4
RW NUMBER 00B6 11
RXD BIT B0
SBUF DATA 99
SCON DATA 98
SINT CODE 0023
SM0 BIT 9F
SM1 BIT 9E
SM2 BIT 9D
SP DATA 81
T0 BIT B4
T1 BIT B5
TB8 BIT 9B
TCON DATA 88
TF0 BIT 8D
TF1 BIT 8F
TH0 DATA 8C
TH1 DATA 8D
TI BIT 99
TIMER0 CODE 000B
TIMER1 CODE 001B
TL0 DATA 8A
TL1 DATA 8B
TMOD DATA 89
TR0 BIT 8C
TR1 BIT 8E
TXD BIT B1
WR BIT B6
WRITE_PORT CODE 014A 247
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -