<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

          作者: 時(shí)間: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); //稍做延時(shí)

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

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

            DQ = 1; //拉高總線

            Delay15(6); //延時(shí)90us

            x=DQ; //讀存在脈沖

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

            }

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

            {

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

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

            {

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

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

            Delay15(1);//延時(shí)

            DQ = 1; //停止

             dat>>=1;//右移

            }

            }

            Read_DS18B20(void)//讀一個(gè)字節(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);//延時(shí)

            }

            return(dat);

            }



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

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();