📄 main.ls1
字号:
197 ; SOURCE LINE # 26
000B D2B6 198 SETB P3_6
199 ; InitLCD();
200 ; SOURCE LINE # 27
000D 020000 F 201 LJMP InitLCD
202 ; END OF InitSystem
203
204 ; }
205 ; void Delay(unsigned int n)
206
---- 207 RSEG ?PR?_Delay?MAIN
0000 208 _Delay:
209 USING 0
210 ; SOURCE LINE # 29
211 ;---- Variable 'n?140' assigned to Register 'R6/R7' ----
212 ; {
213 ; SOURCE LINE # 30
214 ; unsigned int i,j;
215 ; for(i=0;i<n;i++)
216 ; SOURCE LINE # 32
217 ;---- Variable 'i?141' assigned to Register 'R4/R5' ----
0000 E4 218 CLR A
0001 FD 219 MOV R5,A
0002 FC 220 MOV R4,A
0003 221 ?C0002:
0003 C3 222 CLR C
0004 ED 223 MOV A,R5
0005 9F 224 SUBB A,R7
0006 EC 225 MOV A,R4
0007 9E 226 SUBB A,R6
0008 5015 227 JNC ?C0008
228 ; for(j=0;j<100;j++);
229 ; SOURCE LINE # 33
230 ;---- Variable 'j?142' assigned to Register 'R2/R3' ----
000A E4 231 CLR A
000B FB 232 MOV R3,A
000C FA 233 MOV R2,A
000D 234 ?C0005:
000D 0B 235 INC R3
000E BB0001 236 CJNE R3,#00H,?C0020
0011 0A 237 INC R2
0012 238 ?C0020:
0012 EB 239 MOV A,R3
0013 6464 240 XRL A,#064H
0015 4A 241 ORL A,R2
0016 70F5 242 JNZ ?C0005
0018 243 ?C0004:
0018 0D 244 INC R5
0019 BD0001 245 CJNE R5,#00H,?C0021
001C 0C 246 INC R4
001D 247 ?C0021:
001D 80E4 248 SJMP ?C0002
249 ; }
250 ; SOURCE LINE # 34
A51 MACRO ASSEMBLER MAIN 11/27/2006 23:13:06 PAGE 5
001F 251 ?C0008:
001F 22 252 RET
253 ; END OF _Delay
254
255 ; void InitLCD(void)
256
---- 257 RSEG ?PR?InitLCD?MAIN
0000 258 InitLCD:
259 USING 0
260 ; SOURCE LINE # 35
261 ; {
262 ; SOURCE LINE # 36
263 ; WriteCommand(0x30);
264 ; SOURCE LINE # 37
0000 7F30 265 MOV R7,#030H
0002 120000 F 266 LCALL _WriteCommand
267 ; WriteCommand(0x30);
268 ; SOURCE LINE # 38
0005 7F30 269 MOV R7,#030H
0007 120000 F 270 LCALL _WriteCommand
271 ; WriteCommand(0x30);
272 ; SOURCE LINE # 39
000A 7F30 273 MOV R7,#030H
000C 120000 F 274 LCALL _WriteCommand
275 ;
276 ; // 8 bit, 2 lines, font 5x7
277 ; WriteCommand(0x38);
278 ; SOURCE LINE # 42
000F 7F38 279 MOV R7,#038H
0011 120000 F 280 LCALL _WriteCommand
281 ; // Display on, hide cursor
282 ; WriteCommand(0x0C);
283 ; SOURCE LINE # 44
0014 7F0C 284 MOV R7,#0CH
0016 120000 F 285 LCALL _WriteCommand
286 ;
287 ; // Xoa man hinh
288 ; WriteCommand(0x01);
289 ; SOURCE LINE # 47
0019 7F01 290 MOV R7,#01H
001B 020000 F 291 LJMP _WriteCommand
292 ; END OF InitLCD
293
294 ; }
295 ; void DisplayText(void)
296
---- 297 RSEG ?PR?DisplayText?MAIN
0000 298 DisplayText:
299 USING 0
300 ; SOURCE LINE # 49
301 ; {
302 ; SOURCE LINE # 50
303 ; // Dich con tro den vi tri thu 2, dong thu nhat
304 ; WriteCommand(0x81);
305 ; SOURCE LINE # 52
0000 7F81 306 MOV R7,#081H
0002 120000 F 307 LCALL _WriteCommand
308 ; SendString2LCD(string1);
309 ; SOURCE LINE # 53
0005 7E00 F 310 MOV R6,#HIGH (string1)
0007 7F00 F 311 MOV R7,#LOW (string1)
0009 120000 F 312 LCALL _SendString2LCD
313 ; // Dich con tro den dau dong thu hai
314 ; WriteCommand(0xC0);
315 ; SOURCE LINE # 55
000C 7FC0 316 MOV R7,#0C0H
A51 MACRO ASSEMBLER MAIN 11/27/2006 23:13:06 PAGE 6
000E 120000 F 317 LCALL _WriteCommand
318 ; SendString2LCD(string2);
319 ; SOURCE LINE # 56
0011 7E00 F 320 MOV R6,#HIGH (string2)
0013 7F00 F 321 MOV R7,#LOW (string2)
0015 020000 F 322 LJMP _SendString2LCD
323 ; END OF DisplayText
324
325 ; }
326 ; void WriteLCD(unsigned char x)
327
---- 328 RSEG ?PR?_WriteLCD?MAIN
0000 329 _WriteLCD:
330 ; SOURCE LINE # 58
331 ;---- Variable 'x?443' assigned to Register 'R7' ----
332 ; {
333 ; SOURCE LINE # 59
334 ; LCD_RW = 0;
335 ; SOURCE LINE # 60
0000 C2A7 336 CLR P2_7
337 ; LCD_DATA = x;
338 ; SOURCE LINE # 61
0002 8F80 339 MOV P0,R7
340 ;
341 ; LCD_E = 1;
342 ; SOURCE LINE # 63
0004 D2B5 343 SETB P3_5
344 ; LCD_E = 0;
345 ; SOURCE LINE # 64
0006 C2B5 346 CLR P3_5
347 ; }
348 ; SOURCE LINE # 65
0008 22 349 RET
350 ; END OF _WriteLCD
351
352 ; void WriteCommand(unsigned char command)
353
---- 354 RSEG ?PR?_WriteCommand?MAIN
0000 355 _WriteCommand:
356 ; SOURCE LINE # 66
357 ;---- Variable 'command?544' assigned to Register 'R7' ----
358 ; {
359 ; SOURCE LINE # 67
360 ; LCD_RS = 0;
361 ; SOURCE LINE # 68
0000 C2A6 362 CLR P2_6
363 ; WriteLCD(command);
364 ; SOURCE LINE # 69
0002 020000 F 365 LJMP _WriteLCD
366 ; END OF _WriteCommand
367
368 ; }
369 ; void WriteCharacter(unsigned char character)
370
---- 371 RSEG ?PR?_WriteCharacter?MAIN
0000 372 _WriteCharacter:
373 ; SOURCE LINE # 71
374 ;---- Variable 'character?645' assigned to Register 'R7' ----
375 ; {
376 ; SOURCE LINE # 72
377 ; LCD_RS = 1;
378 ; SOURCE LINE # 73
0000 D2A6 379 SETB P2_6
380 ; WriteLCD(character);
381 ; SOURCE LINE # 74
0002 020000 F 382 LJMP _WriteLCD
A51 MACRO ASSEMBLER MAIN 11/27/2006 23:13:06 PAGE 7
383 ; END OF _WriteCharacter
384
385 ; }
386 ; void SendString2LCD(unsigned char code *p)
387
---- 388 RSEG ?PR?_SendString2LCD?MAIN
0000 389 _SendString2LCD:
390 USING 0
391 ; SOURCE LINE # 76
392 ;---- Variable 'p?746' assigned to Register 'R4/R5' ----
0000 AD07 393 MOV R5,AR7
0002 AC06 394 MOV R4,AR6
395 ; {
396 ; SOURCE LINE # 77
397 ; unsigned char i=0;
398 ; SOURCE LINE # 78
399 ;---- Variable 'i?747' assigned to Register 'R6' ----
0004 E4 400 CLR A
0005 FE 401 MOV R6,A
0006 402 ?C0014:
403 ; while(p[i]!=0)
404 ; SOURCE LINE # 79
0006 ED 405 MOV A,R5
0007 2E 406 ADD A,R6
0008 F582 407 MOV DPL,A
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -