⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ds18b20.lst

📁 该程序是基于c8051f020的平台
💻 LST
📖 第 1 页 / 共 2 页
字号:
0013 2560            141             ADD     A,TEMPER_NUM
0015 F560            142             MOV     TEMPER_NUM,A ; 保存变换后的温度数据
0017 120000   F      143             LCALL   BIN_BCD
001A AF60            144             mov     R7,TEMPER_NUM
001C 22              145             RET
                     146     
                     147     ;-------将16进制的温度数据转换成压缩BCD码
001D                 148     BIN_BCD:
001D 900000   F      149             MOV     DPTR,#TEMP_TAB
0020 E560            150             MOV     A,TEMPER_NUM
0022 93              151             MOVC    A,@A+DPTR
0023 F560            152             MOV     TEMPER_NUM,A
0025 22              153             RET
0026                 154     TEMP_TAB:
0026 00010203        155             DB 00H,01H,02H,03H,04H,05H,06H,07H
002A 04050607                
002E 08091011        156             DB 08H,09H,10H,11H,12H,13H,14H,15H
0032 12131415                
0036 16171819        157             DB 16H,17H,18H,19H,20H,21H,22H,23H
003A 20212223                
003E 24252627        158             DB 24H,25H,26H,27H,28H,29H,30H,31H
0042 28293031                
0046 32333435        159             DB 32H,33H,34H,35H,36H,37H,38H,39H
004A 36373839                
004E 40414243        160             DB 40H,41H,42H,43H,44H,45H,46H,47H
0052 44454647                
0056 48495051        161             DB 48H,49H,50H,51H,52H,53H,54H,55H
005A 52535455                
005E 56575859        162             DB 56H,57H,58H,59H,60H,61H,62H,63H
0062 60616263                
0066 64656667        163             DB 64H,65H,66H,67H,68H,69H,70H,71H
006A 68697071                
006E 72737475        164             DB 72H,73H,74H,75H,76H,77H,78H,79H
0072 76777879                
0076 80818283        165             DB 80H,81H,82H,83H,84H,85H,86H,87H
007A 84858687                
007E 88899091        166             DB 88H,89H,90H,91H,92H,93H,94H,95H
0082 92939495                
0086 96979899        167             DB 96H,97H,98H,99H
                     168     
                     169     ;-------DS18B20初始化程序
008A                 170     INIT_1820:
008A D2B3            171             SETB    DQ
008C 00              172             NOP
008D C2B3            173             CLR     DQ
008F 7880            174             MOV     R0,#80H
0091 D8FE            175     TSR1:   DJNZ    R0,TSR1 ; 延时
0093 D2B3            176             SETB    DQ
0095 7825            177             MOV     R0,#25H ;96US-25H
0097 D8FE            178     TSR2:   DJNZ    R0,TSR2
A51 MACRO ASSEMBLER  DS18B20                                                              07/26/2007 20:21:38 PAGE     4

0099 30B303          179             JNB     DQ,TSR3
009C 020000   F      180             LJMP    TSR4    ; 延时
009F D200            181     TSR3:   SETB    FLAG1   ; 置标志位,表示DS1820存在
00A1 020000   F      182             LJMP    TSR5
00A4 C200            183     TSR4:   CLR     FLAG1   ; 清标志位,表示DS1820不存在
00A6 020000   F      184             LJMP    TSR7
00A9 786B            185     TSR5:   MOV     R0,#06BH ;200US
00AB D8FE            186     TSR6:   DJNZ    R0,TSR6 ; 延时
00AD D2B3            187     TSR7:   SETB    DQ
00AF 22              188             RET
                     189     
                     190     ;-------重新写DS18B20暂存存储器设定值
00B0                 191     RE_CONFIG:
00B0 200001          192             JB      FLAG1,RE_CONFIG1 ; 若DS18B20存在,转RE_CONFIG1
00B3 22              193             RET
00B4                 194     RE_CONFIG1:
00B4 74CC            195             MOV     A,#0CCH ; 发SKIP ROM命令
00B6 120000   F      196             LCALL   WRITE_1820
00B9 744E            197             MOV     A,#4EH ; 发写暂存存储器命令
00BB 120000   F      198             LCALL   WRITE_1820
                     199             
00BE 7400            200             MOV     A,#00H ; TH(报警上限)中写入00H
00C0 120000   F      201             LCALL   WRITE_1820
00C3 7400            202             MOV     A,#00H ; TL(报警下限)中写入00H
00C5 120000   F      203             LCALL   WRITE_1820
00C8 747F            204             MOV     A,#7FH ; 选择12位温度分辨率
00CA 120000   F      205             LCALL   WRITE_1820
00CD 22              206             RET
                     207     
                     208     ;------------------延时子程序
00CE                 209     DELAY:
00CE 7F00            210             MOV     R7,#00H
00D0 DF01            211     MIN:    DJNZ    R7,YS500
00D2 22              212             RET
00D3 120000   F      213     YS500:  LCALL   YS500US
00D6 020000   F      214             LJMP    MIN
00D9 7E00            215     YS500US:MOV     R6,#00H
00DB DEFE            216             DJNZ    R6,$
00DD 22              217             RET
00DE 7F20            218     DELAY1: MOV     R7,#20H
00E0 DFFE            219             DJNZ    R7,$
00E2 22              220             RET
                     221     
                     222             END
                             
A51 MACRO ASSEMBLER  DS18B20                                                              07/26/2007 20:21:38 PAGE     5

SYMBOL TABLE LISTING
------ ----- -------


N A M E                  T Y P E  V A L U E   ATTRIBUTES

?PR?GET_TEMPER?DS18B20.  C SEG    0095H       REL=UNIT
?PR?_TEMPER_COV?DS18B20  C SEG    00E3H       REL=UNIT
ABC . . . . . . . . . .  C ADDR   0028H   R   SEG=?PR?GET_TEMPER?DS18B20
ACC . . . . . . . . . .  D ADDR   00E0H   A   
BCD . . . . . . . . . .  C ADDR   0002H   R   SEG=?PR?GET_TEMPER?DS18B20
BIN_BCD . . . . . . . .  C ADDR   001DH   R   SEG=?PR?_TEMPER_COV?DS18B20
CBA . . . . . . . . . .  C ADDR   001FH   R   SEG=?PR?GET_TEMPER?DS18B20
DELAY . . . . . . . . .  C ADDR   00CEH   R   SEG=?PR?_TEMPER_COV?DS18B20
DELAY1. . . . . . . . .  C ADDR   00DEH   R   SEG=?PR?_TEMPER_COV?DS18B20
DQ. . . . . . . . . . .  B ADDR   00B0H.3 A   
FLAG1 . . . . . . . . .  B ADDR   0020H.0 A   
GET_TEMPER. . . . . . .  C ADDR   0000H   R   SEG=?PR?GET_TEMPER?DS18B20
INIT_1820 . . . . . . .  C ADDR   008AH   R   SEG=?PR?_TEMPER_COV?DS18B20
MIN . . . . . . . . . .  C ADDR   00D0H   R   SEG=?PR?_TEMPER_COV?DS18B20
P3. . . . . . . . . . .  D ADDR   00B0H   A   
RE00. . . . . . . . . .  C ADDR   0075H   R   SEG=?PR?GET_TEMPER?DS18B20
RE01. . . . . . . . . .  C ADDR   0077H   R   SEG=?PR?GET_TEMPER?DS18B20
RE1 . . . . . . . . . .  C ADDR   003FH   R   SEG=?PR?GET_TEMPER?DS18B20
READ_1820 . . . . . . .  C ADDR   003DH   R   SEG=?PR?GET_TEMPER?DS18B20
READ_18200. . . . . . .  C ADDR   0071H   R   SEG=?PR?GET_TEMPER?DS18B20
RE_CONFIG . . . . . . .  C ADDR   00B0H   R   SEG=?PR?_TEMPER_COV?DS18B20
RE_CONFIG1. . . . . . .  C ADDR   00B4H   R   SEG=?PR?_TEMPER_COV?DS18B20
S22 . . . . . . . . . .  C ADDR   000BH   R   SEG=?PR?GET_TEMPER?DS18B20
TEMPER_COV1 . . . . . .  C ADDR   000EH   R   SEG=?PR?_TEMPER_COV?DS18B20
TEMPER_H. . . . . . . .  N NUMB   0035H   A   
TEMPER_L. . . . . . . .  N NUMB   0036H   A   
TEMPER_NUM. . . . . . .  N NUMB   0060H   A   
TEMP_TAB. . . . . . . .  C ADDR   0026H   R   SEG=?PR?_TEMPER_COV?DS18B20
TSR1. . . . . . . . . .  C ADDR   0091H   R   SEG=?PR?_TEMPER_COV?DS18B20
TSR2. . . . . . . . . .  C ADDR   0097H   R   SEG=?PR?_TEMPER_COV?DS18B20
TSR3. . . . . . . . . .  C ADDR   009FH   R   SEG=?PR?_TEMPER_COV?DS18B20
TSR4. . . . . . . . . .  C ADDR   00A4H   R   SEG=?PR?_TEMPER_COV?DS18B20
TSR5. . . . . . . . . .  C ADDR   00A9H   R   SEG=?PR?_TEMPER_COV?DS18B20
TSR6. . . . . . . . . .  C ADDR   00ABH   R   SEG=?PR?_TEMPER_COV?DS18B20
TSR7. . . . . . . . . .  C ADDR   00ADH   R   SEG=?PR?_TEMPER_COV?DS18B20
WR1 . . . . . . . . . .  C ADDR   005CH   R   SEG=?PR?GET_TEMPER?DS18B20
WRITE_1820. . . . . . .  C ADDR   0059H   R   SEG=?PR?GET_TEMPER?DS18B20
YS500 . . . . . . . . .  C ADDR   00D3H   R   SEG=?PR?_TEMPER_COV?DS18B20
YS500US . . . . . . . .  C ADDR   00D9H   R   SEG=?PR?_TEMPER_COV?DS18B20
_TEMPER_COV . . . . . .  C ADDR   0000H   R   SEG=?PR?_TEMPER_COV?DS18B20


REGISTER BANK(S) USED: 0 

ASSEMBLY COMPLETE.  0 WARNING(S), 0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -