📄 8bit1.lst
字号:
ASEM-51 V1.3 Copyright (c) 2002 by W.W. Heinz PAGE 1
MCS-51 Family Macro Assembler A S E M - 5 1 V 1.3
=====================================================
Source File: E:\MiCrOConTroller\Coba_M-IDE\8BITLCD2\8BIT1.asm
Object File: E:\MiCrOConTroller\Coba_M-IDE\8BITLCD2\8BIT1.hex
List File: E:\MiCrOConTroller\Coba_M-IDE\8BITLCD2\8BIT1.lst
Line I Addr Code Source
1: ;8 bit LCD routines with check busy flag before sending data, command to LCD
2: ;*************************************************************
3: D 90 LCD DATA P1 ;define LCD data port on port 1
4: B 97 BUSY BIT LCD.7 ;define LCD busy flag
5: B A2 E BIT P2.2 ;define LCD enable pin on port 2.2
6: B A0 RS BIT P2.0 ;define LCD register select pin on port 2.0
7: B A1 RW BIT P2.1 ;define LCD read/write pin on port 2.1
8: ;*************************************************************
9: N 0000 ORG 00H
10:
11: 0000 LCD_INIT:
12: 0000 74 38 MOV A,#38H ;2 line 5x7
13: 0002 11 24 ACALL COMMAND
14: 0004 74 0C MOV A,#0CH ;LCD on cursor on
15: 0006 11 24 ACALL COMMAND
16: 0008 74 01 MOV A,#01H ;clear LCD
17: 000A 11 24 ACALL COMMAND
18: 000C 74 06 MOV A,#06H ;shift cursor right
19: 000E 11 24 ACALL COMMAND
20: 0010 74 81 DISPLAY:MOV A,#81H
21: 0012 11 24 ACALL COMMAND
22: 0014 90 00 58 MOV DPTR,#TEST
23: 0017 11 4C ACALL DISP_STRING
24: 0019 74 C1 MOV A,#0C1H
25: 001B 11 24 ACALL COMMAND
26: 001D 90 00 66 MOV DPTR,#TEST+0EH
27: 0020 11 4C ACALL DISP_STRING
28: 0022 80 FE HERE: SJMP HERE
29: ;=============================================================
30: 0024 COMMAND:
31: 0024 11 3E ACALL READY ;is LCD ready?
32: 0026 F5 90 MOV LCD,A ;issue command code
33: 0028 C2 A0 CLR RS ;RS=0 for command
34: 002A C2 A1 CLR RW ;R/W=0 to write to LCD|
35: 002C D2 A2 SETB E ;E=1 for H-to-L pulse
36: 002E C2 A2 CLR E ;E=0 ,latch in
37: 0030 22 RET
38: ;=============================================================
39: 0031 DATA_DISPLAY:
40: 0031 11 3E ACALL READY ;is LCD ready?
41: 0033 F5 90 MOV LCD,A ;issue data
42: 0035 D2 A0 SETB RS ;RS=1 for data
43: 0037 C2 A1 CLR RW ;R/W=0 to write to LCD
ASEM-51 V1.3 Copyright (c) 2002 by W.W. Heinz PAGE 2
Line I Addr Code Source
44: 0039 D2 A2 SETB E ;E=1 for H-to-L pulse
45: 003B C2 A2 CLR E ;E=0 ,latch in
46: 003D 22 RET
47: ;=============================================================
48: 003E READY:
49: 003E D2 97 SETB BUSY ;make P1.7 input port
50: 0040 C2 A0 CLR RS ;RS=0 access command reg
51: 0042 D2 A1 SETB RW ;R/W=1 read command reg
52: ;read command reg and check busy flag
53: 0044 BACK:
54: 0044 C2 A2 CLR E ;E=1 for H-to-L pulse
55: 0046 D2 A2 SETB E ;E=0 H-to-l pulse
56: 0048 20 97 F9 JB BUSY,BACK ;stay until busy flag=0
57: 004B 22 RET
58: ;=============================================================
59: 004C DISP_STRING:
60: 004C E4 CLR A ;A=0
61: 004D 7F 00 MOV R7,#00H ;R7=0
62: 004F NEXT_CHAR:
63: 004F 0F INC R7 ;R7+1
64: 0050 93 MOVC A,@A+DPTR
65: 0051 11 31 ACALL DATA_DISPLAY
66: 0053 EF MOV A,R7
67: 0054 BF 0E F8 CJNE R7,#0EH,NEXT_CHAR
68: 0057 22 RET
69: ;=============================================================
70: 0058 38 2D 42 69 TEST: DB "8-Bit LCD Test","By 80C51 MCU's"
005C 74 20 4C 43
0060 44 20 54 65
0064 73 74 42 79
0068 20 38 30 43
006C 35 31 20 4D
0070 43 55 27 73
71: END
register banks used: ---
no errors
ASEM-51 V1.3 Copyright (c) 2002 by W.W. Heinz PAGE 3
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 0044 53
BUSY BIT 97 4
COMMAND CODE 0024 30
CY BIT D7
DATA_DISPLAY CODE 0031 39
DISPLAY CODE 0010 20
DISP_STRING CODE 004C 59
DPH DATA 83
DPL DATA 82
E BIT A2 5
EA BIT AF
ES BIT AC
ET0 BIT A9
ET1 BIT AB
EX0 BIT A8
EX1 BIT AA
EXTI0 CODE 0003
EXTI1 CODE 0013
F0 BIT D5
HERE CODE 0022 28
IE DATA A8
IE0 BIT 89
IE1 BIT 8B
INT0 BIT B2
INT1 BIT B3
IP DATA B8
IT0 BIT 88
IT1 BIT 8A
LCD DATA 90 3
LCD_INIT CODE 0000 11
NEXT_CHAR CODE 004F 62
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
ASEM-51 V1.3 Copyright (c) 2002 by W.W. Heinz PAGE 4
SYMBOL TYPE VALUE LINE
------------------------------------------------------------
RD BIT B7
READY CODE 003E 48
REN BIT 9C
RESET CODE 0000
RI BIT 98
RS BIT A0 6
RS0 BIT D3
RS1 BIT D4
RW BIT A1 7
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
TEST CODE 0058 70
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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -