📄 main.ls1
字号:
0000 209 InitSystem:
210 USING 0
211 ; SOURCE LINE # 25
212 ; {
213 ; SOURCE LINE # 26
214 ; // Cam LCD
215 ; LCD_E = 0;
216 ; SOURCE LINE # 28
0000 C2B5 217 CLR P3_5
218 ; // Sang den backlight
219 ; LCD_BL = 0;
220 ; SOURCE LINE # 30
0002 C2B6 221 CLR P3_6
222 ; // Tre de LCD tu khoi tao ben trong (it nhat 15ms)
223 ; Delay(100);
224 ; SOURCE LINE # 32
0004 7F64 225 MOV R7,#064H
0006 7E00 226 MOV R6,#00H
0008 120000 F 227 LCALL _Delay
228 ; // Tat den backlight
229 ; LCD_BL = 1;
230 ; SOURCE LINE # 34
000B D2B6 231 SETB P3_6
232 ; InitLCD();
233 ; SOURCE LINE # 35
000D 020000 F 234 LJMP InitLCD
235 ; END OF InitSystem
236
237 ; }
238 ; void Delay(unsigned int n)
239
---- 240 RSEG ?PR?_Delay?MAIN
0000 241 _Delay:
242 USING 0
243 ; SOURCE LINE # 37
244 ;---- Variable 'n?140' assigned to Register 'R6/R7' ----
245 ; {
246 ; SOURCE LINE # 38
247 ; unsigned int i,j;
248 ; for(i=0;i<n;i++)
249 ; SOURCE LINE # 40
250 ;---- Variable 'i?141' assigned to Register 'R4/R5' ----
0000 E4 251 CLR A
A51 MACRO ASSEMBLER MAIN 11/27/2006 23:50:26 PAGE 5
0001 FD 252 MOV R5,A
0002 FC 253 MOV R4,A
0003 254 ?C0002:
0003 C3 255 CLR C
0004 ED 256 MOV A,R5
0005 9F 257 SUBB A,R7
0006 EC 258 MOV A,R4
0007 9E 259 SUBB A,R6
0008 5015 260 JNC ?C0008
261 ; for(j=0;j<100;j++);
262 ; SOURCE LINE # 41
263 ;---- Variable 'j?142' assigned to Register 'R2/R3' ----
000A E4 264 CLR A
000B FB 265 MOV R3,A
000C FA 266 MOV R2,A
000D 267 ?C0005:
000D 0B 268 INC R3
000E BB0001 269 CJNE R3,#00H,?C0024
0011 0A 270 INC R2
0012 271 ?C0024:
0012 EB 272 MOV A,R3
0013 6464 273 XRL A,#064H
0015 4A 274 ORL A,R2
0016 70F5 275 JNZ ?C0005
0018 276 ?C0004:
0018 0D 277 INC R5
0019 BD0001 278 CJNE R5,#00H,?C0025
001C 0C 279 INC R4
001D 280 ?C0025:
001D 80E4 281 SJMP ?C0002
282 ; }
283 ; SOURCE LINE # 42
001F 284 ?C0008:
001F 22 285 RET
286 ; END OF _Delay
287
288 ; void DelayShort(void)
289
---- 290 RSEG ?PR?DelayShort?MAIN
0000 291 DelayShort:
292 ; SOURCE LINE # 43
293 ; {
294 ; SOURCE LINE # 44
295 ; #pragma asm
296 ; nop
0000 00 297 nop
298 ; nop
0001 00 299 nop
300 ; nop
0002 00 301 nop
302 ; nop
0003 00 303 nop
304 ; nop
0004 00 305 nop
306 ; #pragma endasm
307 ; }
308 ; SOURCE LINE # 52
0005 22 309 RET
310 ; END OF DelayShort
311
312 ; void InitLCD(void)
313
---- 314 RSEG ?PR?InitLCD?MAIN
0000 315 InitLCD:
316 USING 0
317 ; SOURCE LINE # 53
A51 MACRO ASSEMBLER MAIN 11/27/2006 23:50:26 PAGE 6
318 ; {
319 ; SOURCE LINE # 54
320 ; WriteCommand(0x30);
321 ; SOURCE LINE # 55
0000 7F30 322 MOV R7,#030H
0002 120000 F 323 LCALL _WriteCommand
324 ; WriteCommand(0x30);
325 ; SOURCE LINE # 56
0005 7F30 326 MOV R7,#030H
0007 120000 F 327 LCALL _WriteCommand
328 ; WriteCommand(0x30);
329 ; SOURCE LINE # 57
000A 7F30 330 MOV R7,#030H
000C 120000 F 331 LCALL _WriteCommand
332 ;
333 ; // 8 bit, 2 lines, font 5x7
334 ; WriteCommand(0x38);
335 ; SOURCE LINE # 60
000F 7F38 336 MOV R7,#038H
0011 120000 F 337 LCALL _WriteCommand
338 ; // Display on, hide cursor
339 ; WriteCommand(0x0C);
340 ; SOURCE LINE # 62
0014 7F0C 341 MOV R7,#0CH
0016 120000 F 342 LCALL _WriteCommand
343 ;
344 ; // Xoa man hinh
345 ; WriteCommand(0x01);
346 ; SOURCE LINE # 65
0019 7F01 347 MOV R7,#01H
001B 020000 F 348 LJMP _WriteCommand
349 ; END OF InitLCD
350
351 ; }
352 ; void DisplayText(void)
353
---- 354 RSEG ?PR?DisplayText?MAIN
0000 355 DisplayText:
356 USING 0
357 ; SOURCE LINE # 67
358 ; {
359 ; SOURCE LINE # 68
360 ; // Dich con tro den dau dong thu nhat
361 ; WriteCommand(0x80);
362 ; SOURCE LINE # 70
0000 7F80 363 MOV R7,#080H
0002 120000 F 364 LCALL _WriteCommand
365 ; SendString2LCD(string1);
366 ; SOURCE LINE # 71
0005 7E00 F 367 MOV R6,#HIGH (string1)
0007 7F00 F 368 MOV R7,#LOW (string1)
0009 120000 F 369 LCALL _SendString2LCD
370 ; // Dich con tro den dau dong thu hai
371 ; WriteCommand(0xC3);
372 ; SOURCE LINE # 73
000C 7FC3 373 MOV R7,#0C3H
000E 120000 F 374 LCALL _WriteCommand
375 ; SendString2LCD(string2);
376 ; SOURCE LINE # 74
0011 7E00 F 377 MOV R6,#HIGH (string2)
0013 7F00 F 378 MOV R7,#LOW (string2)
0015 120000 F 379 LCALL _SendString2LCD
380 ; // Dich con tro den vi tri don vi do
381 ; WriteCommand(0xD0);
382 ; SOURCE LINE # 76
0018 7FD0 383 MOV R7,#0D0H
A51 MACRO ASSEMBLER MAIN 11/27/2006 23:50:26 PAGE 7
001A 120000 F 384 LCALL _WriteCommand
385 ; WriteCharacter('V');
386 ; SOURCE LINE # 77
001D 7F56 387 MOV R7,#056H
001F 020000 F 388 LJMP _WriteCharacter
389 ; END OF DisplayText
390
391 ; }
392 ; void WriteLCD(unsigned char x)
393
---- 394 RSEG ?PR?_WriteLCD?MAIN
0000 395 _WriteLCD:
396 USING 0
397 ; SOURCE LINE # 79
398 ;---- Variable 'x?543' assigned to Register 'R7' ----
399 ; {
400 ; SOURCE LINE # 80
401 ; LCD_RW = 0;
402 ; SOURCE LINE # 81
0000 C2A7 403 CLR P2_7
404 ; LCD_DATA = x;
405 ; SOURCE LINE # 82
0002 8F80 406 MOV P0,R7
407 ;
408 ; LCD_E = 1;
409 ; SOURCE LINE # 84
0004 D2B5 410 SETB P3_5
411 ; LCD_E = 0;
412 ; SOURCE LINE # 85
0006 C2B5 413 CLR P3_5
414 ; Delay(5);
415 ; SOURCE LINE # 86
0008 7F05 416 MOV R7,#05H
000A 7E00 417 MOV R6,#00H
000C 020000 F 418 LJMP _Delay
419 ; END OF _WriteLCD
420
421 ; }
422 ; void WriteCommand(unsigned char command)
423
---- 424 RSEG ?PR?_WriteCommand?MAIN
0000 425 _WriteCommand:
426 USING 0
427 ; SOURCE LINE # 88
428 ;---- Variable 'command?644' assigned to Register 'R7' ----
429 ; {
430 ; SOURCE LINE # 89
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -