18b20.c

来自「18b20库函数」· C语言 代码 · 共 61 行

C
61
字号
#include "18b20.h"
#include "delay.h"
bit flag;
void Init_18b20()
{	   
	{
		DQ = 1;
		delay(48);
		DQ = 0;
		delay(48);
		DQ = 1;
		delay(4);
		flag =  DQ;
		delay(10);
		DQ = 1;	
	}while(flag);		
}
static void Write_cmd(uchar cmd)
{
	uchar i;
	for(i=0;i<8;i++)
	{
		DQ = 0;
		DQ = cmd&0x01;
		delay(1);
		DQ = 1;
		cmd>>=1;
	}		
}
static unsigned char  read_char()
{	 
	uchar i,Data;
	for(i=0;i<8;i++)
	{
		DQ = 0;
		Data>>=1;
		DQ = 1;
		if(DQ)
		Data |= 0x80;
		delay(2) ;
	}
	return Data;
}
unsigned char read_temperature()
{
	uchar tl,th,wendu;
	Init_18b20();
	Write_cmd(0xcc);
	Write_cmd(0x44);
	delay(2);
	Init_18b20();
	Write_cmd(0xcc);
	Write_cmd(0xbe);
	tl = read_char();
	th = read_char();
	th=(th&0x0f)<<4;
	tl=(tl&0xf0)>>4;
	wendu = th|tl;
	return wendu;
}

⌨️ 快捷键说明

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