📄 ds18b20.lst
字号:
C51 COMPILER V7.06 DS18B20 07/15/2012 20:15:16 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE DS18B20
OBJECT MODULE PLACED IN .\obj\ds18b20.obj
COMPILER INVOKED BY: D:\单片机相关软件\51单片机软件大全\Keil uVision2 软件\安装\C51\BIN\C51.EXE ds18b20.c BROWSE DEBUG O
-BJECTEXTEND OBJECT(.\obj\ds18b20.obj)
stmt level source
1 #include"init.h"
2 #include"ds18b20.h"
3 #include"delay.h"
4 /**********************************************************
5
6 //控制总线
7
8 **********************************************************/
9 bit init_18b20()
10 {
11 1 bit dat=0;
12 1 DQ=1;
13 1 delay_n10us(1);
14 1 DQ=0;
15 1 delay_n10us(40);
16 1 delay_n10us(30);
17 1 DQ=1;
18 1 delay_n10us(6);
19 1 dat=DQ;
20 1 delay_n10us(10);
21 1 return(dat);
22 1 }
23 /**********************************************************
24
25 //读一个字节
26
27 **********************************************************/
28 uchar readonechar()
29 {
30 1 uchar i,dat=0;
31 1 for(i=8;i>0;i--)
32 1 {
33 2 DQ=0;
34 2 dat>>=1;
35 2 DQ=1;
36 2 if(DQ)
37 2 dat|=0x80;
38 2 delay_n10us(3);
39 2 }
40 1 return(dat);
41 1 }
42 /**********************************************************
43
44 //写一个字节
45
46 **********************************************************/
47 void writeonechar(uchar dat)
48 {
49 1 uchar i;
50 1 for(i=8;i>0;i--)
51 1 {
52 2 DQ=0;
53 2 DQ=dat&0x01;
54 2 delay_n10us(3);
C51 COMPILER V7.06 DS18B20 07/15/2012 20:15:16 PAGE 2
55 2 DQ=1;
56 2 dat>>=1;
57 2 }
58 1 delay_n10us(3);
59 1 }
60 /**********************************************************
61
62 //读取温度值
63
64 **********************************************************/
65 int readtemperture()
66 {
67 1 uchar a=0,c=0;
68 1 uint b=0,t=0;
69 1 init_18b20();
70 1 writeonechar(0xcc);
71 1 writeonechar(0x44);
72 1 delay_nms(10);
73 1 init_18b20();
74 1 writeonechar(0xcc);
75 1 writeonechar(0xbe);
76 1 a=readonechar(); //低位
77 1 b=readonechar(); //高位
78 1 b<<=8;
79 1 t=a|b;
80 1 return(t);
81 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 174 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 6
IDATA SIZE = ---- ----
BIT SIZE = ---- 1
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -