新聞中心

EEPW首頁 > 測試測量 > 設(shè)計(jì)應(yīng)用 > 基于Matlab的一種小型溫度檢測系統(tǒng)的設(shè)計(jì)

基于Matlab的一種小型溫度檢測系統(tǒng)的設(shè)計(jì)

作者: 時間:2010-01-02 來源:網(wǎng)絡(luò) 收藏

  2,基本操作:DS18B20的一線工作協(xié)議流程是:初始化→ROM操作指令→存儲器操作指令→數(shù)據(jù)傳輸。對DS18B20 進(jìn)行所有的讀寫操作都是從初始化開始的,主要分為初始化操作,讀操作和寫操作。

  基于以上分析,對DS18B20的編程源碼如下:

  Init_DS18B20(void) //初始化函數(shù)

  {DQ = 1; //DQ復(fù)位

  Delay15(1); //稍做延時

  DQ = 0; //單片機(jī)將DQ拉低

  Delay15(32); //精確延時 大于 480us

  DQ = 1; //拉高總線

  Delay15(6); //延時90us

  x=DQ; //讀存在脈沖

  delay15(20); //延時約270us

  }

  Write_DS18B20(unsigned char dat)//寫一個字節(jié)

  {

  unsigned char i="0";//定義循環(huán)變量

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

  {

   DQ = 0; //復(fù)位

   DQ = dat0x01;//取數(shù)據(jù)的第i位并送出

  Delay15(1);//延時

  DQ = 1; //停止

   dat>>=1;//右移

  }

  }

  Read_DS18B20(void)//讀一個字節(jié)

  {

  unsigned char i="0";

  unsigned char dat = 0;

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

  {

   DQ = 0; // 復(fù)位

   dat>>=1;

   DQ = 1; // 給脈沖信號

   if(DQ)

   dat|=0x80;//取位脈沖并存入dat

   delay15(1);//延時

  }

  return(dat);

  }



關(guān)鍵詞: Matlab 溫度檢測系統(tǒng)

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉