新闻中心

EEPW首页 > 测试测量 > 设计应用 > 基于Matlab的一种小型温度检测系统的设计

基于Matlab的一种小型温度检测系统的设计

作者:时间:2010-01-02来源:网络收藏

  2,基本操作:DS18B20的一线工作协议流程是:初始化→ROM操作指令→存储器操作指令→数据传输。对DS18B20 进行所有的读写操作都是从初始化开始的,主要分为初始化操作,读操作和写操作。

  基于以上分析,对DS18B20的编程源码如下:

  Init_DS18B20(void) //初始化函数

  {DQ = 1; //DQ复位

  Delay15(1); //稍做延时

  DQ = 0; //单片机将DQ拉低

  Delay15(32); //精确延时 大于 480us

  DQ = 1; //拉高总线

  Delay15(6); //延时90us

  x=DQ; //读存在脉冲

  delay15(20); //延时约270us

  }

  Write_DS18B20(unsigned char dat)//写一个字节

  {

  unsigned char i="0";//定义循环变量

  for (i=0; i8; i++)

  {

   DQ = 0; //复位

   DQ = dat0x01;//取数据的第i位并送出

  Delay15(1);//延时

  DQ = 1; //停止

   dat>>=1;//右移

  }

  }

  Read_DS18B20(void)//读一个字节

  {

  unsigned char i="0";

  unsigned char dat = 0;

  for (i=8;i>0;i--)

  {

   DQ = 0; // 复位

   dat>>=1;

   DQ = 1; // 给脉冲信号

   if(DQ)

   dat|=0x80;//取位脉冲并存入dat

   delay15(1);//延时

  }

  return(dat);

  }



评论


相关推荐

技术专区

关闭