中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

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

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

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

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


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


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

        評(píng)論


        相關(guān)推薦

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

        關(guān)閉