📄 18b20.h
字号:
#ifndef _18B20_H_
#define _18B20_H_
bit init_18b20() //控制总线
{
bit dat=0;
DQ=1;
delayus2x(5);
DQ=0;
delayus2x(200);
delayus2x(200);
DQ=1;
delayus2x(50);
dat=DQ;
delayus2x(25);
return(dat);
}
uint8 readonechar() //读一个字节
{
uint8 i,dat=0;
for(i=8;i>0;i--)
{
DQ=0;
dat>>=1;
DQ=1;
if(DQ)
dat|=0x80;
delayus2x(25);
}
return(dat);
}
void writeonechar(uint8 dat) //写一个字节
{
uint8 i;
for(i=8;i>0;i--)
{
DQ=0;
DQ=dat&0x01;
delayus2x(25);
DQ=1;
dat>>=1;
}
delayus2x(25);
}
int readtemperture() //读取温度值
{
uint8 a=0,c=0;
uint16 b=0,t=0;
init_18b20();
writeonechar(0xcc);
writeonechar(0x44);
delayms(10);
init_18b20();
writeonechar(0xcc);
writeonechar(0xbe);
a=readonechar();
b=readonechar();
b<<=8;
t=a|b;
return(t);
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -