新聞中心

        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);

          }



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 格尔木市| 马关县| 长阳| 华阴市| 浠水县| 新乡市| 永仁县| 盖州市| 日土县| 双辽市| 东海县| 深圳市| 凤山县| 湖南省| 新余市| 莱西市| 博白县| 泸州市| 丽江市| 三穗县| 资源县| 河源市| 宿州市| 孟村| 昭通市| 蓬莱市| 凉城县| 贵州省| 大余县| 乳源| 巴东县| 阜新| 凤台县| 德钦县| 赤城县| 余姚市| 东阳市| 元阳县| 水富县| 罗甸县| 武山县|