⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ds18b20.c

📁 在PROTEUS仿真实现
💻 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 + -