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

📄 d18b20.lst

📁 北京航空航天大学出版社 单片机与嵌入式系统 图书介绍 (2007年第2期) 通信地址: 北京市海淀区学院路37号 北京航空航天大学出版社 邮编: 1
💻 LST
字号:
A51 MACRO ASSEMBLER  D18B20                                                               08/10/2007 21:44:05 PAGE     1


MACRO ASSEMBLER A51 V8.00
OBJECT MODULE PLACED IN D18B20.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE D18B20.ASM SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

                       1     ;/*****************************************************************
                       2     ;/* 这是DS18B20的汇编程序,  文件名D18B20.ASM                      */
                       3     ;/* 功能:本程序主要是读出芯片DS18B20固有的序列号,序列号共64位,  */
                       4     ;/*    也就是8个字节,读出后依次放在单片机的RAM 40H,41H,...47H中。*/
                       5     ;/*    单片机的P1.0接DS18B20的BQ。                                */
                       6     ;/*    本芯片的序列号为: 28h,10h,46h,e2h,00,00,00,7eh             */
                       7     ;/*****************************************************************
  0090                 8     DQ    EQU    P1.0
0000                   9           ORG 0000H
0000 0120             10           AJMP MAIN
0020                  11           ORG 0020H
0020                  12     MAIN:
0020 758160           13          MOV SP,#60H
0023 C2AF             14          CLR EA      ;使用ds1820一定要禁止任何中断产生
0025 120059           15          LCALL INT   ;初始化ds1820
0028 7433             16          MOV A,#33H
002A 12007D           17          LCALL WRITE ;送入读ds1820的ROM命令
002D 120095           18          LCALL READ  ;开始读出当前ds1820序列号
0030 F540             19          MOV 40H,A
0032 120095           20          LCALL READ
0035 F541             21          MOV 41H,A
0037 120095           22          LCALL READ
003A F542             23          MOV 42H,A
003C 120095           24          LCALL READ
003F F543             25          MOV 43H,A
0041 120095           26          LCALL READ
0044 F544             27          MOV 44H,A
0046 120095           28          LCALL READ
0049 F545             29          MOV 45H,A
004B 120095           30          LCALL READ
004E F546             31          MOV 46H,A
0050 120095           32          LCALL READ
0053 F547             33          MOV 47H,A
0055 D2AF             34          SETB EA
0057 80FE             35          SJMP $
                      36     
0059                  37     INT:             ;初始化ds1820子程序
0059 C2AF             38          CLR EA
005B C290             39     L0:  CLR DQ      ;ds1820总线为低复位电平
005D 7AC8             40          MOV R2,#200
005F C290             41     L1:  CLR DQ
0061 DAFC             42          DJNZ R2,L1  ;总线复位电平保持400us
0063 D290             43          SETB DQ     ;释放ds1820总线
0065 7A1E             44          MOV R2,#30
0067 DAFE             45     L4:  DJNZ R2,L4  ;释放ds1820总线保持60us
0069 C3               46          CLR C       ;清存在信号
006A 7290             47          ORL C,DQ
006C 40ED             48          JC L0       ;存在吗?不存在则重新来
006E 7E50             49          MOV R6,#80
0070 7290             50     L5:  ORL C,DQ
0072 4004             51          JC L3
0074 DEFA             52          DJNZ R6,L5
0076 80E3             53          SJMP L0
0078 7AF0             54     L3:  MOV R2,#240
007A DAFE             55     L2:  DJNZ R2,L2
007C 22               56          RET
                      57     
007D                  58     WRITE:           ;向ds1820写操作命令子程序
A51 MACRO ASSEMBLER  D18B20                                                               08/10/2007 21:44:05 PAGE     2

007D C2AF             59          CLR EA
007F 7B08             60          MOV R3,#8   ;写入ds1820的bit

⌨️ 快捷键说明

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