?? d18b20.lst
字號(hào):
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固有的序列號(hào),序列號(hào)共64位, */
4 ;/* 也就是8個(gè)字節(jié),讀出后依次放在單片機(jī)的RAM 40H,41H,...47H中。*/
5 ;/* 單片機(jī)的P1.0接DS18B20的BQ。 */
6 ;/* 本芯片的序列號(hào)為: 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一定要禁止任何中斷產(chǎn)生
0025 120059 15 LCALL INT ;初始化ds1820
0028 7433 16 MOV A,#33H
002A 12007D 17 LCALL WRITE ;送入讀ds1820的ROM命令
002D 120095 18 LCALL READ ;開始讀出當(dāng)前ds1820序列號(hào)
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總線為低復(fù)位電平
005D 7AC8 40 MOV R2,#200
005F C290 41 L1: CLR DQ
0061 DAFC 42 DJNZ R2,L1 ;總線復(fù)位電平保持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 ;清存在信號(hào)
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
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -