📄 ds18b20.lst
字号:
677
0457 74C0 678 LINE2: MOV A,#0C0H ;设置 LCD 的第二行地址
0459 917B 679 CALL WCOM ;写入命令
045B 916D 680 CALL CLR_LINE ;清除该行字符数据
045D 74C0 681 MOV A,#0C0H ;设置 LCD 的第二行地址
045F 917B 682 CALL WCOM
0461 E4 683 FILL: CLR A ;填入字符
0462 93 684 MOVC A,@A+DPTR ;由消息区取出字符
0463 B40001 685 CJNE A,#0,LC1 ;判断是否为结束码
0466 22 686 RET
0467 9188 687 LC1: CALL WDATA ;写入数据
0469 A3 688 INC DPTR ;指针加1
A51 MACRO ASSEMBLER DS18B20 11/15/2006 21:06:21 PAGE 12
046A 80F5 689 JMP FILL ;继续填入字符
046C 22 690 RET
691 ;=========================================
046D 692 CLR_LINE: ;清除该行 LCD 的字符
046D 7818 693 MOV R0,#24
046F 7420 694 CL1: MOV A,#' '
0471 9188 695 CALL WDATA
0473 D8FA 696 DJNZ R0,CL1
0475 22 697 RET
0476 7FFA 698 DE: MOV R7,#250
0478 DFFE 699 DJNZ R7,$
047A 22 700 RET
701 ;============================================
047B 702 WCOM: ;以8位控制方式将命令写至LCD
047B F580 703 MOV P0,A ;写入命令
047D C2A0 704 CLR LCD_RS ;RS=L,RW=L,D0-D7=指令码,E=高脉冲
047F C2A1 705 CLR LCD_RW
0481 D2A2 706 SETB LCD_EN
0483 91C2 707 ACALL DELAY1
0485 C2A2 708 CLR LCD_EN
0487 22 709 RET
710 ;=============================================
0488 711 WDATA: ;以8位控制方式将数据写至LCD
0488 F580 712 MOV P0,A ;写入数据
048A D2A0 713 SETB LCD_RS
048C C2A1 714 CLR LCD_RW
048E D2A2 715 SETB LCD_EN
0490 9176 716 CALL DE
0492 C2A2 717 CLR LCD_EN
0494 9176 718 CALL DE
0496 22 719 RET
720 ;=============================================
721 ;PRINT A CHAR ON LINE 1
722 ;A=ASC DATA, B=LINE X POS
723 ;==============================================
0497 724 LCDP1: ;在LCD的第一行显示字符
0497 C0E0 725 PUSH ACC ;
0499 E5F0 726 MOV A,B ;设置显示地址
049B 2480 727 ADD A,#80H ;设置LCD的第一行地址
049D 917B 728 CALL WCOM ;写入命令
049F D0E0 729 POP ACC ;由堆栈取出A
04A1 9188 730 CALL WDATA ;写入数据
04A3 22 731 RET
732
733 ;==============================================
04A4 734 BEEP_BL:
04A4 7E64 735 MOV R6,#100
04A6 91B1 736 BL2: CALL DEX1
04A8 B2B7 737 CPL BEEP
04AA DEFA 738 DJNZ R6,BL2
04AC 7D0A 739 MOV R5,#10
04AE 91B7 740 CALL DELAY
04B0 22 741 RET
04B1 7FB4 742 DEX1: MOV R7,#180
04B3 00 743 DE2: NOP
04B4 DFFD 744 DJNZ R7,DE2
04B6 22 745 RET
04B7 746 DELAY: ;(R5)*延时10MS
04B7 7E32 747 MOV R6,#50
04B9 7F64 748 DL1: MOV R7,#100
04BB DFFE 749 DJNZ R7,$
04BD DEFA 750 DJNZ R6,DL1
04BF DDF6 751 DJNZ R5,DELAY
04C1 22 752 RET
753
04C2 754 DELAY1: ;延时5MS
A51 MACRO ASSEMBLER DS18B20 11/15/2006 21:06:21 PAGE 13
04C2 7E19 755 MOV R6,#25
04C4 7F64 756 DL2: MOV R7,#100
04C6 DFFE 757 DJNZ R7,$
04C8 DEFA 758 DJNZ R6,DL2
04CA 22 759 RET
760 ;================================================
761 END
A51 MACRO ASSEMBLER DS18B20 11/15/2006 21:06:21 PAGE 14
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
ACC. . . . . . . . D ADDR 00E0H A
AS0. . . . . . . . C ADDR 007FH A
AS00 . . . . . . . C ADDR 0089H A
ASJ01. . . . . . . C ADDR 00C5H A
ASJ011 . . . . . . C ADDR 00D3H A
ASJ02. . . . . . . C ADDR 00DBH A
ASJ021 . . . . . . C ADDR 00E9H A
ASJ022 . . . . . . C ADDR 00F1H A
ASJ03. . . . . . . C ADDR 00F5H A
ASZ01. . . . . . . C ADDR 008EH A
ASZ011 . . . . . . C ADDR 009DH A
ASZ02. . . . . . . C ADDR 00A5H A
ASZ021 . . . . . . C ADDR 00B4H A
ASZ03. . . . . . . C ADDR 00BCH A
B. . . . . . . . . D ADDR 00F0H A
BBJJ1. . . . . . . C ADDR 0157H A
BBJJ2. . . . . . . C ADDR 0344H A
BBJJ3. . . . . . . C ADDR 013EH A
BEEP . . . . . . . B ADDR 00B0H.7 A
BEEP_BL. . . . . . C ADDR 04A4H A
BJ1. . . . . . . . C ADDR 015FH A
BJ2. . . . . . . . C ADDR 034CH A
BJ3. . . . . . . . C ADDR 0146H A
BJ4. . . . . . . . C ADDR 0148H A
BJ5. . . . . . . . C ADDR 014AH A
BL2. . . . . . . . C ADDR 04A6H A
C1 . . . . . . . . C ADDR 0441H A
CHULI1 . . . . . . C ADDR 0124H A
CHULI2 . . . . . . C ADDR 012EH A
CL1. . . . . . . . C ADDR 046FH A
CLEAR. . . . . . . C ADDR 000BH A
CLR_LINE . . . . . C ADDR 046DH A
CLR_LINE1. . . . . C ADDR 043BH A
CONV . . . . . . . C ADDR 03CFH A
CONV1. . . . . . . C ADDR 03D9H A
CONV2. . . . . . . C ADDR 03E2H A
CONV3. . . . . . . C ADDR 03E4H A
CONVTEMP . . . . . C ADDR 0280H A
CY . . . . . . . . B ADDR 00D0H.7 A
DATE_LINE. . . . . B ADDR 00B0H.3 A
DE . . . . . . . . C ADDR 0476H A
DE2. . . . . . . . C ADDR 04B3H A
DELAY. . . . . . . C ADDR 04B7H A
DELAY1 . . . . . . C ADDR 04C2H A
DEX1 . . . . . . . C ADDR 04B1H A
DISPBCD. . . . . . C ADDR 039BH A
DISPBCD0 . . . . . C ADDR 03BEH A
DISPBCD2 . . . . . C ADDR 03CEH A
DL1. . . . . . . . C ADDR 04B9H A
DL2. . . . . . . . C ADDR 04C4H A
D_DATA . . . . . . C ADDR 023BH A
FILL . . . . . . . C ADDR 0461H A
FLAG1. . . . . . . B ADDR 0020H.0 A
HEX2BCD1 . . . . . C ADDR 02DDH A
INIT_LCD . . . . . C ADDR 041CH A
K1 . . . . . . . . B ADDR 0090H.4 A
K2 . . . . . . . . B ADDR 0090H.5 A
K3 . . . . . . . . B ADDR 0090H.6 A
K4 . . . . . . . . B ADDR 0090H.7 A
KEY_UD . . . . . . B ADDR 0020H.1 A
A51 MACRO ASSEMBLER DS18B20 11/15/2006 21:06:21 PAGE 15
LC1. . . . . . . . C ADDR 0467H A
LCDP1. . . . . . . C ADDR 0497H A
LCDP2. . . . . . . C ADDR 0408H A
LCD_EN . . . . . . B ADDR 00A0H.2 A
LCD_PRINT. . . . . C ADDR 0448H A
LCD_RS . . . . . . B ADDR 00A0H.0 A
LCD_RW . . . . . . B ADDR 00A0H.1 A
LCD_X. . . . . . . N NUMB 002FH A
LINE1. . . . . . . C ADDR 044BH A
LINE2. . . . . . . C ADDR 0457H A
LOOK_ALARM . . . . C ADDR 02FBH A
MAIN . . . . . . . C ADDR 0002H A
MENU_ERROR . . . . C ADDR 0192H A
MENU_OK. . . . . . C ADDR 0161H A
M_ALAX1. . . . . . C ADDR 0319H A
M_ALAX2. . . . . . C ADDR 032AH A
M_ERROR1 . . . . . C ADDR 01A1H A
M_ERROR2 . . . . . C ADDR 01B2H A
M_OK1. . . . . . . C ADDR 0170H A
M_OK2. . . . . . . C ADDR 0181H A
P0 . . . . . . . . D ADDR 0080H A
P1 . . . . . . . . D ADDR 0090H A
P2 . . . . . . . . D ADDR 00A0H A
P3 . . . . . . . . D ADDR 00B0H A
PROC_END . . . . . C ADDR 007CH A
PROC_K1. . . . . . C ADDR 0063H A
PROC_K2. . . . . . C ADDR 0078H A
PROC_KEY . . . . . C ADDR 004BH A
RE00 . . . . . . . C ADDR 025FH A
RE01 . . . . . . . C ADDR 0261H A
READ . . . . . . . C ADDR 025BH A
READ_E2. . . . . . C ADDR 021CH A
RELAY. . . . . . . B ADDR 0090H.3 A
RESET. . . . . . . C ADDR 01C3H A
RESET_A1 . . . . . C ADDR 0100H A
RESET_ALARM. . . . C ADDR 00F8H A
RE_18B20 . . . . . C ADDR 01EFH A
RE_18B20A. . . . . C ADDR 01F3H A
SET_ALARM. . . . . C ADDR 007DH A
SET_LCD. . . . . . C ADDR 0415H A
SHOW_DIG2. . . . . C ADDR 0400H A
SHOW_DIG2H . . . . C ADDR 034EH A
SHOW_DIG2L . . . . C ADDR 037BH A
SP . . . . . . . . D ADDR 0081H A
START. . . . . . . C ADDR 0013H A
START1 . . . . . . C ADDR 0020H A
START2 . . . . . . C ADDR 0026H A
STORE_DATA . . . . C ADDR 0228H A
S_DATA . . . . . . C ADDR 0233H A
TEMPC1 . . . . . . C ADDR 0297H A
TEMPC11. . . . . . C ADDR 029AH A
TEMPC12. . . . . . C ADDR 02DCH A
TEMPDOTTAB . . . . C ADDR 02EBH A
TEMPH. . . . . . . D ADDR 0026H A
TEMPHC . . . . . . D ADDR 0029H A
TEMPL. . . . . . . D ADDR 0025H A
TEMPLC . . . . . . D ADDR 002AH A
TEMP_BJ. . . . . . C ADDR 014CH A
TEMP_BJ1 . . . . . C ADDR 033BH A
TEMP_BJ3 . . . . . C ADDR 0136H A
TEMP_COMP. . . . . C ADDR 0110H A
TEMP_TH. . . . . . D ADDR 0027H A
TEMP_TL. . . . . . D ADDR 0028H A
TEMP_ZH. . . . . . D ADDR 0024H A
TSR1 . . . . . . . C ADDR 01CCH A
TSR2 . . . . . . . C ADDR 01D9H A
A51 MACRO ASSEMBLER DS18B20 11/15/2006 21:06:21 PAGE 16
TSR3 . . . . . . . C ADDR 01E0H A
TSR4 . . . . . . . C ADDR 01E4H A
TSR5 . . . . . . . C ADDR 01E8H A
TSR6 . . . . . . . C ADDR 01EAH A
TSR7 . . . . . . . C ADDR 01ECH A
WCOM . . . . . . . C ADDR 047BH A
WDATA. . . . . . . C ADDR 0488H A
WR1. . . . . . . . C ADDR 0246H A
WRITE. . . . . . . C ADDR 0243H A
WRITE_E2 . . . . . C ADDR 020FH A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -