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

📄 ds18b20.c

📁 使用18B20温度传感器的程序
💻 C
字号:
#include<ds18b20.h>

void delay(unsigned char us)//6*us+2+2+2
{	
	unsigned char k;
	for(k=0;k<us;k++)
			;
}

bit reset18b20(void)
{
	unsigned char i;
	bit exsit;
	DQ=0;
	for(i=0;i<100;i++)
			;
	//delay(60);
	DQ=1;
	for(i=0;i<12;i++)
			;
	//delay(6);
	exsit=DQ;
	for(i=0;i<70;i++)
			;
//	delay(20);
	return(exsit);
}
bit readbit18b20(void)
{
		char i;		
		DQ=0;
		DQ=1;
		for(i=0;i<3;i++)
		;
		return(DQ);
}
unsigned char readbyte18b20(void)
{
		unsigned char i,value=0,j;
		for(i=0;i<8;i++)
		{	value>>=1;
			if(readbit18b20())
			value|=0x80;
			else
			value&=0x7f;
		//	if(i<7)
		
			for(j=0;j<5;j++)
			;
			//
	   	}
	//	delay(5);
		return(value);
}

void writebit18b20(bit databit)
{		
		unsigned char j;
		DQ=0;		
		for(j=0;j<1;j++)
		;
		if(databit==1)	
		DQ=1;	
		for(j=0;j<12;j++)
		;
		//delay(9);
		DQ=1;
}
void writebyte18b20(unsigned char databyte)
{
		unsigned char i,j,temp=0;
		for(i=0;i<8;i++)
		{	
			temp=databyte>>i;
			if(temp&0x01)	
				writebit18b20(1);
			else
				writebit18b20(0);

	   	}
		for(j=0;j<20;j++)
			;
		//delay(24);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -