📄 text1.lst
字号:
02D0 00 484 NOP
02D1 C2A1 485 CLR SCLK
02D3 D9F5 486 DJNZ R1,LOOP
02D5 00 487 NOP
488
02D6 E57F 489 MOV A,7FH
02D8 7908 490 MOV R1,#08H
02DA 13 491 LOOPP:RRC A ;从D0位开始传送数据
02DB 92A0 492 MOV DIO,C
02DD 00 493 NOP
02DE D2A1 494 SETB SCLK
02E0 00 495 NOP
02E1 C2A1 496 CLR SCLK
02E3 D9F5 497 DJNZ R1,LOOPP
02E5 C2A2 498 CLR RST
499
02E7 22 500 RET
A51 MACRO ASSEMBLER TEXT1 05/11/2009 10:12:46 PAGE 9
501
502
503
504 ;;;;;;;;;;;;;;;;;;;;;;;;
505 ;; 1302单字节读操作 ;;
506 ;;;;;;;;;;;;;;;;;;;;;;;;
02E8 C2A2 507 RBYTE:CLR RST
02EA 00 508 NOP
02EB C2A1 509 CLR SCLK
02ED 00 510 NOP
02EE D2A2 511 SETB RST
02F0 7908 512 MOV R1,#08H
02F2 13 513 LOOP2:RRC A
02F3 92A0 514 MOV DIO,C
02F5 00 515 NOP
02F6 D2A1 516 SETB SCLK
02F8 00 517 NOP
02F9 C2A1 518 CLR SCLK
02FB D9F5 519 DJNZ R1,LOOP2
02FD 00 520 NOP
521
02FE E4 522 CLR A
02FF C3 523 CLR C
0300 7908 524 MOV R1,#08H
0302 A2A0 525 LOOP1:MOV C,DIO
0304 13 526 RRC A ;从D0位开始传送
0305 D2A1 527 SETB SCLK
0307 00 528 NOP
0308 C2A1 529 CLR SCLK
030A D9F6 530 DJNZ R1,LOOP1
030C F6 531 MOV @R0,A
030D C2A2 532 CLR RST
030F 22 533 RET
534
535
536
537
538
539
540 ;显示子程序
541
542
543 ;***LCD初始化程序***
0310 544 LCDRESET:
0310 120384 545 LCALL DEL500 ;延时500MS
0313 757E38 546 MOV DAT,#38H ;显示模式设置(不检测忙信号)
0316 713E 547 CALL LCDWCN ;共三次
0318 719D 548 CALL DEL10
031A 757E38 549 MOV DAT,#38H
031D 713E 550 CALL LCDWCN
031F 719D 551 CALL DEL10
0321 757E38 552 MOV DAT,#38H
0324 713E 553 CALL LCDWCN
554
0326 757E38 555 MOV DAT,#38H ;显示模式设置(以后均检测忙信号)
0329 713B 556 CALL LCDWC
032B 757E01 557 MOV DAT,#01H ;显示清屏
032E 713B 558 CALL LCDWC
0330 757E06 559 MOV DAT,#06H ;显示光标移动设置
0333 713B 560 CALL LCDWC
0335 757E0E 561 MOV DAT,#0EH ;显示开及光标设置
0338 713B 562 CALL LCDWC
033A 22 563 RET
564
565
566 ;;*****写指令操作*****
A51 MACRO ASSEMBLER TEXT1 05/11/2009 10:12:46 PAGE 10
033B 567 LCDWC: ;送控制字子程序(检测忙信号)
033B 12036E 568 LCALL CHK
033E 569 LCDWCN: ;送控制字子程序(不检测忙信号)
033E 857E80 570 MOV P0,DAT
0341 C2A7 571 CLR RS ;RS=0 RW=0 E=高脉冲
0343 C2A6 572 CLR RW
0345 D2A5 573 SETB E
0347 00 574 NOP
0348 00 575 NOP
0349 C2A5 576 CLR E
034B 22 577 RET
578
579 ;;*****写数据操作*****
034C 580 LCDWD: ;写字符数据子程序
034C 12036E 581 LCALL CHK
034F 857E80 582 MOV P0,DAT
0352 D2A7 583 SETB RS ;RS=1 RW=0 E=高脉冲
0354 C2A6 584 CLR RW
0356 D2A5 585 SETB E
0358 00 586 NOP
0359 00 587 NOP
035A C2A5 588 CLR E
035C 22 589 RET
590
591 ;;*****批量写数据*****
035D 592 LCDWDP:
035D 7900 593 MOV R1,#00H
035F E9 594 A1: MOV A,R1
0360 93 595 MOVC A,@A+DPTR
0361 B45E01 596 CJNE A,#5EH,A2 ;检测到结束符"^"时,停止写操作
0364 22 597 RET
0365 F57E 598 A2: MOV DAT,A
0367 12034C 599 LCALL LCDWD
036A 09 600 INC R1
036B 80F2 601 SJMP A1
036D 22 602 RET
603
604
605 ;;*****忙检测*****
036E 606 CHK: ;正常读写操
作之前必须检测LCD控制器状态
036E 7580FF 607 MOV P0,#0FFH
0371 C2A7 608 CLR RS ;RS=0 RW=1 E=高电平
0373 D2A6 609 SETB RW
0375 D2A5 610 SETB E
0377 00 611 CHK1: NOP
0378 00 612 NOP
0379 2087FB 613 JB P0.7,CHK1 ; DB7: 1 LCD控制器忙;0 LCD控制器空闲
037C C2A5 614 CLR E
037E 22 615 RET
616
617
618
619 ;;*****延时程序(ms)*****
037F 7530C8 620 DEL1000:MOV 30H,#200
0382 8021 621 SJMP D3
0384 753064 622 DEL500:MOV 30H,#100
0387 801C 623 SJMP D3
0389 753028 624 DEL200:MOV 30H,#40
038C 8017 625 SJMP D3
038E 753014 626 DEL100:MOV 30H,#20
0391 8012 627 SJMP D3
0393 75300A 628 DEL50:MOV 30H,#10
0396 800D 629 SJMP D3
0398 753004 630 DEL20:MOV 30H,#4
039B 8008 631 SJMP D3
A51 MACRO ASSEMBLER TEXT1 05/11/2009 10:12:46 PAGE 11
039D 753002 632 DEL10:MOV 30H,#2
03A0 8003 633 SJMP D3
03A2 753001 634 DEL5: MOV 30H,#1
03A5 75311E 635 D3: MOV 31H,#30
03A8 753280 636 D4: MOV 32H,#128
03AB D532FD 637 D5: DJNZ 32H,D5
03AE D531F7 638 DJNZ 31H,D4
03B1 D530F1 639 DJNZ 30H,D3
03B4 22 640 RET
641
642
03B5 00 643 CC:NOP
644 End
A51 MACRO ASSEMBLER TEXT1 05/11/2009 10:12:46 PAGE 12
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
A1 . . . . . . . . C ADDR 035FH A
A2 . . . . . . . . C ADDR 0365H A
B. . . . . . . . . D ADDR 00F0H A
CC . . . . . . . . C ADDR 03B5H A
CHK. . . . . . . . C ADDR 036EH A
CHK1 . . . . . . . C ADDR 0377H A
D1MS . . . . . . . C ADDR 00B1H A
D3 . . . . . . . . C ADDR 03A5H A
D4 . . . . . . . . C ADDR 03A8H A
D5 . . . . . . . . C ADDR 03ABH A
DAT. . . . . . . . N NUMB 007EH A
DEL10. . . . . . . C ADDR 039DH A
DEL100 . . . . . . C ADDR 038EH A
DEL1000. . . . . . C ADDR 037FH A
DEL20. . . . . . . C ADDR 0398H A
DEL200 . . . . . . C ADDR 0389H A
DEL5 . . . . . . . C ADDR 03A2H A
DEL50. . . . . . . C ADDR 0393H A
DEL500 . . . . . . C ADDR 0384H A
DIO. . . . . . . . B ADDR 00A0H.0 A
DISP . . . . . . . C ADDR 01D7H A
DONE . . . . . . . C ADDR 01AFH A
DQ . . . . . . . . B ADDR 00B0H.3 A
E. . . . . . . . . B ADDR 00A0H.5 A
FLAG1. . . . . . . N NUMB 0038H A
GET_TEMPER . . . . C ADDR 004EH A
HBCD . . . . . . . C ADDR 010DH A
HH1. . . . . . . . C ADDR 0132H A
HH2. . . . . . . . C ADDR 0131H A
HH3. . . . . . . . C ADDR 013DH A
INIT_1820. . . . . C ADDR 001DH A
LCDRESET . . . . . C ADDR 0310H A
LCDWC. . . . . . . C ADDR 033BH A
LCDWCN . . . . . . C ADDR 033EH A
LCDWD. . . . . . . C ADDR 034CH A
LCDWDP . . . . . . C ADDR 035DH A
LCD_DB . . . . . . D ADDR 0080H A
LOOP . . . . . . . C ADDR 02CAH A
LOOP1. . . . . . . C ADDR 0302H A
LOOP2. . . . . . . C ADDR 02F2H A
LOOPP. . . . . . . C ADDR 02DAH A
MAIN . . . . . . . C ADDR 0009H A
P0 . . . . . . . . D ADDR 0080H A
P1 . . . . . . . . D ADDR 0090H A
P2 . . . . . . . . D ADDR 00A0H A
P3 . . . . . . . . D ADDR 00B0H A
QQ2. . . . . . . . C ADDR 00CCH A
RBYTE. . . . . . . C ADDR 02E8H A
RE00 . . . . . . . C ADDR 0091H A
RE01 . . . . . . . C ADDR 0093H A
RE10 . . . . . . . C ADDR 00A1H A
RE20 . . . . . . . C ADDR 00A7H A
READ . . . . . . . C ADDR 0198H A
READ_18200 . . . . C ADDR 008DH A
RS . . . . . . . . B ADDR 00A0H.7 A
RST. . . . . . . . B ADDR 00A0H.2 A
RW . . . . . . . . B ADDR 00A0H.6 A
SCLK . . . . . . . B ADDR 00A0H.1 A
SP . . . . . . . . D ADDR 0081H A
TAB. . . . . . . . C ADDR 0141H A
A51 MACRO ASSEMBLER TEXT1 05/11/2009 10:12:46 PAGE 13
TEMPER_COV . . . . C ADDR 00B6H A
TEMPER_H . . . . . N NUMB 0028H A
TEMPER_L . . . . . N NUMB 0029H A
TSR1 . . . . . . . C ADDR 0024H A
TSR2 . . . . . . . C ADDR 0031H A
TSR3 . . . . . . . C ADDR 0039H A
TSR4 . . . . . . . C ADDR 0040H A
TSR5 . . . . . . . C ADDR 0047H A
TSR6 . . . . . . . C ADDR 0049H A
TSR7 . . . . . . . C ADDR 004BH A
TSS2 . . . . . . . C ADDR 0057H A
WBYTE. . . . . . . C ADDR 02BFH A
WR1. . . . . . . . C ADDR 0078H A
WRITE. . . . . . . C ADDR 0161H A
WRITE_1820 . . . . C ADDR 0075H A
XSZH . . . . . . . C ADDR 00E7H A
YUZHI. . . . . . . C ADDR 017EH A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -