📄 18b20.c
字号:
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit DQ=P1^0;
uchar temperature,tl,th;
void delay(uint n)
{
uint x,y;
for(x=n;x>0;x--)
for(y=112;y>0;y--)
;
}
void init()
{
uchar x=0;
DQ=1;
delay(5);
DQ=0;
delay(500);
DQ=1;
delay(15);
}
uchar read()
{
uchar i=0;
uchar dat=0;
for(i=8;i>0;i--)
{
DQ=1;
delay(2);
DQ=0;
dat>>=1;
DQ=1;
if(DQ!=0)
dat|=0x80;
delay(4);
}
return(dat);
}
void write(uchar dat)
{
uchar i=0;
for(i=8;i>0;i--)
{
DQ=0;
DQ=dat&0x01;
delay(5);
DQ=1;
dat>>=1;
}
delay(5);
}
uchar readtemperature()
{
init();
write(0xcc);
write(0x44);
delay(150);
init();
write(0xcc);
write(0xbe);
tl=read();
th=read();
temperature=(th*256+tl)*0.0625;
delay(200);
return (temperature);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -