📄 12864.lst
字号:
A51 MACRO ASSEMBLER 12864 12/28/2007 22:16:34 PAGE 1
MACRO ASSEMBLER A51 V8.00
OBJECT MODULE PLACED IN 12864.OBJ
ASSEMBLER INVOKED BY: D:\Program Files\Keil\C51\BIN\A51.EXE 12864.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57 ;----------------------------------------------
00A7 58 RS EQU P2.7
A51 MACRO ASSEMBLER 12864 12/28/2007 22:16:34 PAGE 2
59
00A6 60 RW EQU P2.6
61
00A5 62 E EQU P2.5
63
00A4 64 PSB EQU P2.4
65
00A3 66 RST EQU P2.3
67
68 ;-----------------------------------------------
69
0030 70 LCD_X EQU 30H
71
0031 72 LCD_Y EQU 31H
73
0032 74 COUNT EQU 32H
75
0033 76 COUNT1 EQU 33H
77
0034 78 COUNT2 EQU 34H
79
0035 80 COUNT3 EQU 35H
81
82 ;-----------------------------------------------
83
0036 84 LCD_DATA EQU 36H
85
0037 86 LCD_DATA1 EQU 37H
87
0038 88 LCD_DATA2 EQU 38H
89
0039 90 STORE EQU 39H
91 ;-----------------------------------------------
92
0000 93 ORG 0000H
94
0000 020100 95 LJMP MAIN
96
0100 97 ORG 0100H
98
99 ;-----------------------------------------------
0100 100 MAIN:
101
0100 75815F 102 MOV SP,#5FH
103
0103 C2A3 104 CLR RST ;复位
105
0105 12020F 106 LCALL DELAY4
107
0108 D2A3 108 SETB RST
109
010A 00 110 NOP
111
010B D2A4 112 SETB PSB ;通讯方式为8位数据并口
113
114 ;********************初始化**********************
115
010D 7434 116 LGS0: MOV A,#34H ;34H--扩充指令操作
117
010F 1201C0 118 LCALL SEND_I
119
0112 7430 120 MOV A,#30H ;30H--基本指令操作
121
0114 1201C0 122 LCALL SEND_I
123
0117 7401 124 MOV A,#01H ;清除显示
A51 MACRO ASSEMBLER 12864 12/28/2007 22:16:34 PAGE 3
125
0119 1201C0 126 LCALL SEND_I
127
011C 7406 128 MOV A,#06H ;指定在资料写入或读取时,光标的移动方向
129
011E 1201C0 130 LCALL SEND_I ;DDRAM 的地址计数器(AC)加1
131
0121 740C 132 MOV A,#0CH ;开显示,关光标,不闪烁
133
0123 1201C0 134 LCALL SEND_I
135 ;===============================================
136
137 ;显示汉字和字符
138
139 ;加入80ms的延时,使你能够看清楚显示的过程
140
141 ;根据汉字显示坐标写入 (隔行写入)
142
143 ;===============================================
0126 144 HAN_WR2:
145
0126 120193 146 LCALL CLEAR_P
147
0129 148 HAN_WR2A:
149
0129 900225 150 MOV DPTR,#TAB1A ;显示汉字和字符
151
012C 753210 152 MOV COUNT,#10H ;地址计数器设为16。这十六个数对应着八个字,每两个组元一个数。
153
012F 7480 154 MOV A,#80H ;第一行起始地址
155
0131 1201C0 156 LCALL SEND_I
157
0134 1201A3 158 LCALL QUSHU
159
0137 160 HAN_WR2B:
161
0137 900235 162 MOV DPTR,#TAB1B ;显示汉字和字符
163
013A 753210 164 MOV COUNT,#10H ;地址计数器设为16。
165
013D 7490 166 MOV A,#90H ;第二行起始地址
167
013F 1201C0 168 LCALL SEND_I
169
0142 1201A3 170 LCALL QUSHU
171
0145 172 HAN_WR2C:
173
0145 900245 174 MOV DPTR,#TAB1C ;显示汉字和字符
175
0148 753210 176 MOV COUNT,#10H ;地址计数器设为16。
177
014B 7488 178 MOV A,#88H ;第三行起始地址
179
014D 1201C0 180 LCALL SEND_I
181
0150 1201A3 182 LCALL QUSHU
183
0153 184 HAN_WR2D:
185
0153 900255 186 MOV DPTR,#TAB1D ;显示汉字和字符
187
0156 753210 188 MOV COUNT,#10H ;地址计数器设为16。
189
0159 7498 190 MOV A,#98H ;第四行起始地址
A51 MACRO ASSEMBLER 12864 12/28/2007 22:16:34 PAGE 4
191
015B 1201C0 192 LCALL SEND_I
193
015E 1201A3 194 LCALL QUSHU
195
0161 1201F0 196 LCALL DELAY3
197
0164 12016A 198 LCALL FLASH
199
0167 120193 200 LCALL CLEAR_P
201
202 ;===============================================
203
016A 204 FLASH:
205
016A 7408 206 MOV A,#08H ;关闭显示
207
016C 1201C0 208 LCALL SEND_I
209
016F 120218 210 LCALL DELAY5
211
0172 740C 212 MOV A,#0CH ;开显示,关光标,不闪烁
213
0174 1201C0 214 LCALL SEND_I
215
0177 120218 216 LCALL DELAY5
217
017A 7408 218 MOV A,#08H ;关闭显示
219
017C 1201C0 220 LCALL SEND_I
221
017F 120218 222 LCALL DELAY5
223
0182 740C 224 MOV A,#0CH ;开显示,关光标,不闪烁
225
0184 1201C0 226 LCALL SEND_I
227
0187 120218 228 LCALL DELAY5
229
018A 7408 230 MOV A,#08H ;关闭显示
231
018C 1201C0 232 LCALL SEND_I
233
018F 120218 234 LCALL DELAY5
235
0192 22 236 RET
237
238 ;==================================================
239
240 ;清屏
241
242 ;==================================================
0193 243 CLEAR_P:
244
0193 7401 245 MOV A,#01H ;清屏
246
0195 1201C0 247 LCALL SEND_I
248
0198 7434 249 MOV A,#34H
250
019A 1201C0 251 LCALL SEND_I
252
019D 7430 253 MOV A,#30H
254
019F 1201C0 255 LCALL SEND_I
256
A51 MACRO ASSEMBLER 12864 12/28/2007 22:16:34 PAGE 5
01A2 22 257 RET
258 ;==================================================
259
260 ;查表取数据送显示
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -