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

📄 读ds18b20地址.lst

📁 ds18b20相关程序 单点温度读取 64位光刻序列读取
💻 LST
字号:
A51 MACRO ASSEMBLER  读DS18B20礯址                                                        06/03/2007 09:41:03 PAGE     1


MACRO ASSEMBLER A51 V6.12
OBJECT MODULE PLACED IN .\读DS18B20地址.OBJ
ASSEMBLER INVOKED BY: D:\keil c51\C51\BIN\A51.EXE .\读DS18B20地址.asm SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

                       1                       ;12MHZ,默认,读18B20序号
  0080                 2           sbit TMDAT  =P0^0
0000                   3           ORG 0000H 
0000 0120              4           AJMP MAIN 
0020                   5           ORG 0020H
0020 7B10              6     MAIN: mov r3,#10h ;清楚存储编号单元
0022 7840              7           mov r0,#40h
0024 7600              8     ss: mov @r0,#0
0026 08                9           inc r0
0027 DBFB             10           djnz r3,ss 
0029 758160           11           MOV SP,#60H 
002C C2AF             12           CLR EA      ;使用ds1820一定要禁止任何中断产生 
002E 120062           13           LCALL INT   ;初始化ds1820 
0031 7433             14                 MOV A,#33H 
0033 120084           15           LCALL WRITE ;送入读ds1820的ROM命令 
0036 12009C           16           LCALL READ  ;开始读出当前ds1820序列号 
0039 F540             17                 MOV 40H,A 
003B 12009C           18           LCALL READ 
003E F541             19                 MOV 41H,A 
0040 12009C           20           LCALL READ 
0043 F542             21                 MOV 42H,A 
0045 12009C           22           LCALL READ 
0048 F543             23                 MOV 43H,A 
004A 12009C           24           LCALL READ 
004D F544             25                 MOV 44H,A 
004F 12009C           26           LCALL READ 
0052 F545             27                 MOV 45H,A 
0054 12009C           28           LCALL READ 
0057 F546             29                 MOV 46H,A 
0059 12009C           30           LCALL READ 
005C F547             31                 MOV 47H,A 
005E D2AF             32                 SETB EA 
0060 80FE             33                 SJMP $ 
                      34     ;----------------------------------------------------------------
0062                  35     INT:              ;初始化ds1820子程序 
0062 C2AF             36           CLR EA 
0064 C280             37     L0: CLR TMDAT      ;ds1820总线为低复位电平 
0066 7AC8             38           MOV R2,#200 
0068 C280             39     L1: CLR TMDAT 
006A DAFC             40           DJNZ R2,L1  ;总线复位电平保持400us 
006C D280             41           SETB TMDAT   ;释放ds1820总线 
006E 7A1E             42           MOV R2,#30 
0070 DAFE             43     L4: DJNZ R2,L4    ;释放ds1820总线保持60us 
0072 2080EF           44           jb  TMDAT,L0 ;存在吗 不存在则重新来 
0075 7E50             45           MOV R6,#80 
0077 7280             46     L5: ORL C,TMDAT 
0079 4004             47           JC L3 
007B DEFA             48           DJNZ R6,L5 
007D 80E5             49           SJMP L0 
007F 7AF0             50     L3: MOV R2,#240 
0081 DAFE             51     L2: DJNZ R2,L2 
0083 22               52     RET
                      53     ;----------------------------------------------------------------------------- 
0084                  54     WRITE:            ;向ds1820写操作命令子程序 
0084 C2AF             55           CLR EA 
0086 7B08             56           MOV R3,#8   ;写入ds1820的bit

⌨️ 快捷键说明

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