📄 ds18b20.lst
字号:
C51 COMPILER V7.06 DS18B20 02/26/2007 00:08:56 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE DS18B20
OBJECT MODULE PLACED IN DS18B20.OBJ
COMPILER INVOKED BY: C:\Keil2\C51\BIN\C51.EXE DS18B20.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 /*******************************ds18b20***********************/
2 //本模块对外提供void BeginConver(void),void ReadTemperature()二个函数
3 #include <e51.h>
4 #include <reg51.h>
5 sbit DQ =P3^7;
6 void delay(unsigned int i)
7 {
8 1 while(i--);
9 1 }
10 Init_DS18B20(void)
11 {
12 1 unsigned char x=0;
13 1 DQ = 1; //DQ??
14 1 delay(8); //????
15 1 DQ = 0; //????DQ??
16 1 delay(80); //???? ?? 480us
17 1 DQ = 1; //????
18 1 delay(14);
19 1 x=DQ; //????? ??x=0?????? x=1??????
20 1 delay(20);
21 1 }
22 unsigned char ReadOneChar(void)
23 {
24 1 unsigned char i=0;
25 1 unsigned char dat = 0;
26 1 for (i=8;i>0;i--)
27 1 {
28 2 DQ = 0; // ?????
29 2 dat>>=1;
30 2 DQ = 1; // ?????
31 2 if(DQ)
32 2 dat|=0x80;
33 2 delay(4);
34 2 }
35 1 return(dat);
36 1 }
37 void WriteOneChar(unsigned char dat)
38 {
39 1 unsigned char i=0;
40 1 for (i=8; i>0; i--)
41 1 {
42 2 DQ = 0;
43 2 DQ = dat&0x01;
44 2 delay(5);
45 2 DQ = 1;
46 2 dat>>=1;
47 2 }
48 1 delay(4);
49 1 }
50
51 void BeginConver(void)
52 {
53 1 Init_DS18B20();
54 1 WriteOneChar(0xCC); // ??????????
55 1 WriteOneChar(0x44);
C51 COMPILER V7.06 DS18B20 02/26/2007 00:08:56 PAGE 2
56 1 }
57 unsigned int ReadTemperature(void)
58 {
59 1 unsigned char a=0;
60 1 unsigned char b=0;
61 1 unsigned int t=0;
62 1 // Init_DS18B20();
63 1 // WriteOneChar(0xCC); // ??????????
64 1 // WriteOneChar(0x44); // ??????
65 1 Init_DS18B20();
66 1 WriteOneChar(0xCC); //??????????
67 1 WriteOneChar(0xBE); //????????(???9????) ???????
68 1 a=ReadOneChar();
69 1 b=ReadOneChar();
70 1 t=b;
71 1 t<<=8;
72 1 t=t|a;
73 1 t=t*0.625;//????????1?
74 1 return(t);
75 1 }
76
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 172 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -