📄 ds18b20.c
字号:
#include<reg51.h>
#define uchar unsigned char
sbit dq=P1^7;
sbit led=P1^6;
void delay(uchar i)
{
while(--i);
}
void init(void)
{
uchar i=1;
led=0;
while(i)
{
dq=1;
_nop_();
_nop_();
dq=0;
delay(255);
dq=1;
delay(15);
if(dq==0)i=0;
}
led=1;
}
void write(uchar i)
{
uchar k;
for(k=0;k<8;k++)
{
dq=1;
_nop_();
_nop_();
dq=0;
dq=i&0x01;
delay(18);
dq=1;
i>>=1;
}
}
uchar read(void)
{
uchar i,j=0x00;
for(i=0;i<8;i++)
{
dq=0;
j>>=1;
dq=1;
if(dq)j|=0x80;
delay(15);
}
return j;
}
uchar ds18b20(void)
{
uchar i,j,k;
init();
write(0xcc);
write(0x44);
init();
write(0xcc);
write(0xbe);
i=read();
j=read();
i>>=4;
j&=0x07;
j<<=4;
k=i|j;
return k;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -