在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > STC12C5A60S2控制溫度傳感器DS18B20 c程序

            STC12C5A60S2控制溫度傳感器DS18B20 c程序

            作者: 時間:2013-05-11 來源:網(wǎng)絡(luò) 收藏

            控制 c程序工作頻率:12.000MHz
            #include"REG51.H"
            #include"INTRINS.H" typedefunsignedcharBYTE; sbitDQ=P3^3;//的數(shù)據(jù)口位P3.3


            BYTETPH;//存放溫度值的高字節(jié)
            BYTETPL;//存放溫度值的低字節(jié) voidDelayXus(BYTEn);
            void_Reset();
            voidDS18B20_WriteByte(BYTEdat);
            BYTEDS18B20_ReadByte(); voidmain()
            {
            DS18B20_Reset();//設(shè)備復(fù)位
            DS18B20_WriteByte(0xCC);//跳過ROM命令
            DS18B20_WriteByte(0x44);//開始轉(zhuǎn)換命令
            while(!DQ);//等待轉(zhuǎn)換完成 DS18B20_Reset();//設(shè)備復(fù)位
            DS18B20_WriteByte(0xCC);//跳過ROM命令
            DS18B20_WriteByte(0xBE);//讀暫存存儲器命令
            TPL=DS18B20_ReadByte();//讀溫度低字節(jié)
            TPH=DS18B20_ReadByte();//讀溫度高字節(jié) while(1);
            } /**************************************
            延時X微秒(@12M)
            不同的工作環(huán)境,需要調(diào)整此函數(shù)
            此延時函數(shù)是使用1T的指令周期進(jìn)行計算,與傳統(tǒng)的12T的MCU不同
            **************************************/
            voidDelayXus(BYTEn)
            {
            while(n--)
            {
            _nop_();
            _nop_();
            }
            } /**************************************
            復(fù)位DS18B20,并檢測設(shè)備是否存在
            **************************************/
            voidDS18B20_Reset()
            {
            CY=1;
            while(CY)
            {
            DQ=0;//送出低電平復(fù)位信號
            DelayXus(240);//延時至少480us
            DelayXus(240);
            DQ=1;//釋放數(shù)據(jù)線
            DelayXus(60);//等待60us
            CY=DQ;//檢測存在脈沖
            DelayXus(240);//等待設(shè)備釋放數(shù)據(jù)線
            DelayXus(180);
            }
            } /**************************************
            從DS18B20讀1字節(jié)數(shù)據(jù)
            **************************************/
            BYTEDS18B20_ReadByte()
            {
            BYTEi;
            BYTEdat=0; for(i=0;i8;i++)//8位計數(shù)器
            {
            dat>>=1;
            DQ=0;//開始時間片
            DelayXus(1);//延時等待
            DQ=1;//準(zhǔn)備接收
            DelayXus(1);//接收延時
            if(DQ)dat|=0x80;//讀取數(shù)據(jù)
            DelayXus(60);//等待時間片結(jié)束
            } returndat;
            } /**************************************
            向DS18B20寫1字節(jié)數(shù)據(jù)
            **************************************/
            voidDS18B20_WriteByte(BYTEdat)
            {
            chari; for(i=0;i8;i++)//8位計數(shù)器
            {
            DQ=0;//開始時間片
            DelayXus(1);//延時等待
            dat>>=1;//送出數(shù)據(jù)
            DQ=CY;
            DelayXus(60);//等待時間片結(jié)束
            DQ=1;//恢復(fù)數(shù)據(jù)線
            DelayXus(1);//恢復(fù)延時
            }
            }

            傳感器相關(guān)文章:傳感器工作原理


            風(fēng)速傳感器相關(guān)文章:風(fēng)速傳感器原理
            塵埃粒子計數(shù)器相關(guān)文章:塵埃粒子計數(shù)器原理


            關(guān)鍵詞: STC12C5A60S2 溫度傳感器 DS18B20

            評論


            相關(guān)推薦

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

            關(guān)閉