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

📄 ds18b20.lst

📁 DS18B20数据采集系统
💻 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
                     154     
0026                 155     TEMP_TAB:
0026 00010203        156             DB 00H,01H,02H,03H,04H,05H,06H,07H
002A 04050607                
002E 08091011        157             DB 08H,09H,10H,11H,12H,13H,14H,15H
0032 12131415                
0036 16171819        158             DB 16H,17H,18H,19H,20H,21H,22H,23H
003A 20212223                
003E 24252627        159             DB 24H,25H,26H,27H,28H,29H,30H,31H
0042 28293031                
0046 32333435        160             DB 32H,33H,34H,35H,36H,37H,38H,39H
004A 36373839                
004E 40414243        161             DB 40H,41H,42H,43H,44H,45H,46H,47H
0052 44454647                
0056 48495051        162             DB 48H,49H,50H,51H,52H,53H,54H,55H
005A 52535455                
005E 56575859        163             DB 56H,57H,58H,59H,60H,61H,62H,63H
0062 60616263                
0066 64656667        164             DB 64H,65H,66H,67H,68H,69H,70H,71H
006A 68697071                
006E 72737475        165             DB 72H,73H,74H,75H,76H,77H,78H,79H
0072 76777879                
0076 80818283        166             DB 80H,81H,82H,83H,84H,85H,86H,87H
007A 84858687                
007E 88899091        167             DB 88H,89H,90H,91H,92H,93H,94H,95H
0082 92939495                
0086 96979899        168             DB 96H,97H,98H,99H
                     169     
                     170     ;-------DS18B20初始化程序
008A                 171     INIT_1820:
008A D2B3            172             SETB    DQ
008C 00              173             NOP
008D C2B3            174             CLR     DQ
008F 7880            175             MOV     R0,#80H
0091 D8FE            176     TSR1:   DJNZ    R0,TSR1 ; 延时
0093 D2B3            177             SETB    DQ
0095 7825            178             MOV     R0,#25H ;96US-25H
A51 MACRO ASSEMBLER  DS18B20                                                              11/15/2006 20:46:33 PAGE     4

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

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


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

?PR?GET_TEMPER?DS18B20.  C SEG    0095H       REL=UNIT   7# 9
?PR?_TEMPER_COV?DS18B20  C SEG    00E3H       REL=UNIT   114# 125
ABC . . . . . . . . . .  C ADDR   0028H   R   SEG=?PR?GET_TEMPER?DS18B20   38 40#
ACC . . . . . . . . . .  D ADDR   00E0H   A      134
BCD . . . . . . . . . .  C ADDR   0002H   R   SEG=?PR?GET_TEMPER?DS18B20   26# 28
BIN_BCD . . . . . . . .  C ADDR   001DH   R   SEG=?PR?_TEMPER_COV?DS18B20   143 148#
CBA . . . . . . . . . .  C ADDR   001FH   R   SEG=?PR?GET_TEMPER?DS18B20   37# 39
DELAY . . . . . . . . .  C ADDR   00CEH   R   SEG=?PR?_TEMPER_COV?DS18B20   35 36 210#
DELAY1. . . . . . . . .  C ADDR   00DEH   R   SEG=?PR?_TEMPER_COV?DS18B20   29 40 219#
DQ. . . . . . . . . . .  B ADDR   00B0H.3 A      5# 25 54 57 61 64 75 79 82 85 94 97 101 104 172 174 177 180 188
FLAG1 . . . . . . . . .  B ADDR   0020H.0 A      4# 27 38 182 184 193
GET_TEMPER. . . . . . .  C ADDR   0000H   R   SEG=?PR?GET_TEMPER?DS18B20   8 24#
INIT_1820 . . . . . . .  C ADDR   008AH   R   SEG=?PR?_TEMPER_COV?DS18B20   26 37 171#
MIN . . . . . . . . . .  C ADDR   00D0H   R   SEG=?PR?_TEMPER_COV?DS18B20   212# 215
P3. . . . . . . . . . .  D ADDR   00B0H   A      5
RE00. . . . . . . . . .  C ADDR   0075H   R   SEG=?PR?GET_TEMPER?DS18B20   92# 111
RE01. . . . . . . . . .  C ADDR   0077H   R   SEG=?PR?GET_TEMPER?DS18B20   93# 108
RE1 . . . . . . . . . .  C ADDR   003FH   R   SEG=?PR?GET_TEMPER?DS18B20   53# 68
READ_1820 . . . . . . .  C ADDR   003DH   R   SEG=?PR?GET_TEMPER?DS18B20   51#
READ_18200. . . . . . .  C ADDR   0071H   R   SEG=?PR?GET_TEMPER?DS18B20   45 89#
RE_CONFIG . . . . . . .  C ADDR   00B0H   R   SEG=?PR?_TEMPER_COV?DS18B20   192#
RE_CONFIG1. . . . . . .  C ADDR   00B4H   R   SEG=?PR?_TEMPER_COV?DS18B20   193 195#
S22 . . . . . . . . . .  C ADDR   000BH   R   SEG=?PR?GET_TEMPER?DS18B20   27 29#
TEMPER_COV1 . . . . . .  C ADDR   000EH   R   SEG=?PR?_TEMPER_COV?DS18B20   134 137#
TEMPER_H. . . . . . . .  N NUMB   0035H   A      2# 46 138
TEMPER_L. . . . . . . .  N NUMB   0036H   A      1# 47 130 133
TEMPER_NUM. . . . . . .  N NUMB   0060H   A      3# 132 135 141 142 144 150 152
TEMP_TAB. . . . . . . .  C ADDR   0026H   R   SEG=?PR?_TEMPER_COV?DS18B20   149 155#
TSR1. . . . . . . . . .  C ADDR   0091H   R   SEG=?PR?_TEMPER_COV?DS18B20   176# 176
TSR2. . . . . . . . . .  C ADDR   0097H   R   SEG=?PR?_TEMPER_COV?DS18B20   179# 179
TSR3. . . . . . . . . .  C ADDR   009FH   R   SEG=?PR?_TEMPER_COV?DS18B20   180 182#
TSR4. . . . . . . . . .  C ADDR   00A4H   R   SEG=?PR?_TEMPER_COV?DS18B20   181 184#
TSR5. . . . . . . . . .  C ADDR   00A9H   R   SEG=?PR?_TEMPER_COV?DS18B20   183 186#
TSR6. . . . . . . . . .  C ADDR   00ABH   R   SEG=?PR?_TEMPER_COV?DS18B20   187# 187
TSR7. . . . . . . . . .  C ADDR   00ADH   R   SEG=?PR?_TEMPER_COV?DS18B20   185 188#
WR1 . . . . . . . . . .  C ADDR   005CH   R   SEG=?PR?GET_TEMPER?DS18B20   75# 84
WRITE_1820. . . . . . .  C ADDR   0059H   R   SEG=?PR?GET_TEMPER?DS18B20   31 33 42 44 72# 197 199 202 204 206
YS500 . . . . . . . . .  C ADDR   00D3H   R   SEG=?PR?_TEMPER_COV?DS18B20   212 214#
YS500US . . . . . . . .  C ADDR   00D9H   R   SEG=?PR?_TEMPER_COV?DS18B20   214 216#
_TEMPER_COV . . . . . .  C ADDR   0000H   R   SEG=?PR?_TEMPER_COV?DS18B20   117 128#


REGISTER BANK(S) USED: 0 

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

⌨️ 快捷键说明

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