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

📄 ds18b20.c

📁 郑州远博公司生产的单片机B型实验板电路原理图及配套源程序代码
💻 C
字号:
/**************************************************************************
YB-51-B  DS18B20数字温度模块的演示程序(函数模块)
来源: 郑州远博科技   王兴民
0371-66949037  0371-67256036 13949105551
(需要参看DS18B20的原理和时序,见配套光盘)
***************************************************************************/

#include <config.h>
#define DQ18B20   P2_6   //DS18B20接口定义

/*****************************************************************************
ds18b20 的各个功能函数
******************************************************************************/
/*****************************************************************************
写18b20
******************************************************************************/
void Write_18b20(Uchar ddata)  {
      Uchar i;
 	  for(i=0;i<8;i++) 
	  {
	     DQ18B20 =0;
		 Delayus(1);  //延时18us
		 DQ18B20 =(bit)(ddata&0x01);
		 ddata=ddata>>1;
		 Delayus(6);  //延时68us
		 DQ18B20 =1;
	   }
                               }
/*******************************************************************************
读18b20
********************************************************************************/
Uchar Read_18b20(void)         {
      Uchar   i,temp;
	  for(i=0;i<8;i++)
	  {
	     temp=temp>>1;
		 DQ18B20 =0;
		 DQ18B20 =1;
		 Delayus(0);
		 if(DQ18B20 ==0)
		 {
		    temp=temp&0x7f;
		 }
		 else
		 {
		    temp=temp|0x80;
		 }
		 Delayus(5); //延时58us
		 DQ18B20 =1;
	   }
	   return temp;
                              }

/*********************************************************************************
18b20初始化
**********************************************************************************/
void Init_18b20(void)         {
      DQ18B20 =0;
	  Delayus(50);    //延时508us
	  DQ18B20 =1;
	  Delayus(10);    //延时108us
      while(!DQ18B20 ) ; 
	  DQ18B20 =1;
	  
	                           }
/**************************************************************************************
跳过函数 
***************************************************************************************/
void Skip(void)                {
     Write_18b20(0xcc);
	                           }

/**************************************************************************************
转换函数
***************************************************************************************/
void Convert(void)             {
     Write_18b20(0x44);
	                            }

/**************************************************************************************
read_scrat
***************************************************************************************/
void Read_scrat(void)              {
     Write_18b20(0xbe);
	                            }
/*************************************************************************************

**************************************************************************************/



		    






⌨️ 快捷键说明

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