📄 lcd8bit2.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\LCD8BIT2\LCD8BIT2.asm
Object File: E:\MiCrOConTroller\Coba_M-IDE\LCD8BIT2\LCD8BIT2.hex
List File: E:\MiCrOConTroller\Coba_M-IDE\LCD8BIT2\LCD8BIT2.lst
Line I Addr Code Source
1:
2: ;-----------------------LCD 8-bit--------------------------
3: ;LCD Connections to microcontroller
4: B 00A0 E EQU P2.0 ; PIN 6 enable
5: B 00A1 RS EQU P2.1 ; /register select
6:
7: D 0080 DATANE EQU P0 ; data lines
8: ;----------------------------------------------------------
9: N 0000 ORG 0000H
10: 0000 02 00 FF JMP on_reset
11: ;----------------------------------------------------------
12: N 00FF ORG 00FFH
13: 00FF on_reset:
14: 00FF 90 01 98 MOV DPTR,#init_data
15: 0102 12 01 32 CALL disp_init
16:
17: 0105 90 01 78 MOV DPTR,#message1
18: 0108 12 01 23 CALL disp_string
19:
20: 010B 12 01 57 CALL disp_line2
21:
22: 010E 90 01 88 MOV DPTR,#message2
23: 0111 12 01 23 CALL disp_string
24:
25: 0114 ENDLESS:
26: 0114 80 FE JMP ENDLESS
27: ;----------------------------------------------------------
28: ; display char in A
29: 0116 disp_char:
30: 0116 D2 A1 SETB RS ; desable register select
31: 0118 F5 80 MOV DATANE,A
32: 011A D2 A0 SETB E ; give E pulse
33: 011C 31 65 ACALL delay_data
34: 011E C2 A0 CLR E
35: 0120 31 65 ACALL delay_data
36: 0122 22 RET
37: ;----------------------------------------------------------
38: ; used registers A,R1,R7
39: 0123 disp_string:
40: 0123 74 00 MOV A,#00H
41: 0125 79 00 MOV R1,#00h
42: 0127 next_char:
43: 0127 09 INC R1
ASEM-51 V1.3 Copyright (c) 2002 by W.W. Heinz PAGE 2
Line I Addr Code Source
44: 0128 93 MOVC A,@A+DPTR
45: 0129 F5 80 MOV DATANE,A
46: 012B 31 16 ACALL disp_char
47: 012D E8 MOV A,R0
48: 012E B9 0F F6 CJNE R1,#0Fh,next_char
49: 0131 22 RET
50: ;----------------------------------------------------------
51: ; used registers A,R1,R7
52: 0132 disp_init:
53: 0132 C2 A1 CLR RS ; enable /register select
54: 0134 74 00 MOV A,#00H
55: 0136 79 00 MOV R1,#00h
56: 0138 next_chari:
57: 0138 09 INC R1
58: 0139 93 MOVC A,@A+DPTR
59: 013A F5 80 MOV DATANE,A
60: 013C D2 A0 SETB E ; give E pulse
61: 013E 31 6C ACALL delay_init
62: 0140 C2 A0 CLR E
63: 0142 31 6C ACALL delay_init
64: 0144 E8 MOV A,R0
65: 0145 B9 02 F0 CJNE R1,#02h,next_chari
66:
67:
68: 0148 22 RET
69: ;----------------------------------------------------------
70: 0149 disp_line1:
71: 0149 C2 A1 CLR RS ; register select
72: 014B 75 80 80 MOV DATANE,#80H ; first line address
73: 014E D2 A0 SETB E ; give E pulse
74: 0150 31 6C ACALL delay_init
75: 0152 C2 A0 CLR E
76: 0154 31 6C ACALL delay_init
77: 0156 22 RET
78: ;----------------------------------------------------------
79: 0157 disp_line2:
80: 0157 C2 A1 CLR RS ; register select
81: 0159 75 80 A8 MOV DATANE,#0A8H ; next line address
82: 015C D2 A0 SETB E ; give E pulse
83: 015E 31 6C ACALL delay_init
84: 0160 C2 A0 CLR E
85: 0162 31 6C ACALL delay_init
86: 0164 22 RET
87: ;----------------------------------------------------------
88: ;2 msec delay
89: 0165 delay_data:
90: 0165 7F FF MOV R7,#0FFH
91: 0167 00 del: NOP
92: 0168 00 NOP
93: 0169 DF FC DJNZ R7, del
94: 016B 22 RET
95: ;----------------------------------------------------------
96: ;20 msec delay
97: 016C delay_init:
98: 016C 7F FF MOV R7,#0FFH
99: 016E 00 del1: NOP
ASEM-51 V1.3 Copyright (c) 2002 by W.W. Heinz PAGE 3
Line I Addr Code Source
100: 016F 00 NOP
101: 0170 00 NOP
102: 0171 00 NOP
103: 0172 00 NOP
104: 0173 00 NOP
105: 0174 00 NOP
106: 0175 DF F7 DJNZ R7, del1
107:
108: 0177 22 RET
109: ;----------------------------------------------------------
110: 0178 message1:
111: 0178 54 65 73 74 DB "Testing 123.... "
017C 69 6E 67 20
0180 31 32 33 2E
0184 2E 2E 2E 20
112: 0188 message2:
113: 0188 49 74 27 73 DB "It's working "
018C 20 77 6F 72
0190 6B 69 6E 67
0194 20 20 20 20
114: 0198 init_data:
115: 0198 0F DB 0FH ; Display On, Cursor On,Cursor Blink On(1)/Off(0)
116: 0199 01 DB 01H ; Clear Display
117: 019A 38 DB 38H ; Set Interface Length
118: END
register banks used: ---
no errors
ASEM-51 V1.3 Copyright (c) 2002 by W.W. Heinz PAGE 4
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
CY BIT D7
DATANE NUMBER 0080 7
DEL CODE 0167 91
DEL1 CODE 016E 99
DELAY_DATA CODE 0165 89
DELAY_INIT CODE 016C 97
DISP_CHAR CODE 0116 29
DISP_INIT CODE 0132 52
DISP_LINE1 CODE 0149 70
DISP_LINE2 CODE 0157 79
DISP_STRING CODE 0123 39
DPH DATA 83
DPL DATA 82
E NUMBER 00A0 4
EA BIT AF
ENDLESS CODE 0114 25
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
INIT_DATA CODE 0198 114
INT0 BIT B2
INT1 BIT B3
IP DATA B8
IT0 BIT 88
IT1 BIT 8A
MESSAGE1 CODE 0178 110
MESSAGE2 CODE 0188 112
NEXT_CHAR CODE 0127 42
NEXT_CHARI CODE 0138 56
ON_RESET CODE 00FF 13
OV BIT D2
P BIT D0
P0 DATA 80
P1 DATA 90
P2 DATA A0
P3 DATA B0
PCON DATA 87
ASEM-51 V1.3 Copyright (c) 2002 by W.W. Heinz PAGE 5
SYMBOL TYPE VALUE LINE
------------------------------------------------------------
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 00A1 5
RS0 BIT D3
RS1 BIT D4
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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -