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

<s id="cmphk"><label id="cmphk"></label></s>
    <span id="cmphk"><var id="cmphk"></var></span>
    <dfn id="cmphk"><var id="cmphk"></var></dfn>
    <menu id="cmphk"><thead id="cmphk"></thead></menu>

    <address id="cmphk"></address>

      <dfn id="cmphk"></dfn>
      
      
      <span id="cmphk"></span>

      <object id="cmphk"><tt id="cmphk"></tt></object>
      1. 新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > AVR單片機(jī)的DS18B20 C語(yǔ)言程序

        AVR單片機(jī)的DS18B20 C語(yǔ)言程序

        作者: 時(shí)間:2016-11-27 來(lái)源:網(wǎng)絡(luò) 收藏

        /
        uchar resetDS18B20(void)
        {
        uchar errTime=0;
        RLS_DS18B20; //釋放總線
        _NOP();
        HLD_DS18B20; //Maga16控制總線
        CLR_DS18B20; //強(qiáng)制拉低
        delayUs(255); //209.42us
        delayUs(255); //209.42us
        delayUs(255); //83.28us
        //以上的三個(gè)延時(shí)大于480us
        RLS_DS18B20; //釋放總線,總線自動(dòng)上拉
        _NOP();
        while(STU_DS18B20)
        {
        delayUs(4); //5.15us
        errTime++;
        if(errTime>20)
        return(0x00); //如果等待大于約 5.15us*20就返回0x00,報(bào)告復(fù)位失?。▽?shí)際上只要等待15-60us)
        }
        errTime=0;
        while(!(STU_DS18B20))
        {
        delayUs(4); //5.15us
        errTime++;
        if(errTime>50)
        return(0x00); //如果等帶大于約 5.15us*50就返回0x00,報(bào)告復(fù)位失敗(實(shí)際上只要等待60-240us)
        }
        return(0xff);
        }
        /
        uchar readByteDS18B20(void)
        {
        uchar i;
        uchar retVal=0;
        RLS_DS18B20; //釋放總線
        for(i=8;i>0;i--)
        {
        retVal>>=1;
        HLD_DS18B20; //Maga16控制總線
        CLR_DS18B20; //強(qiáng)制拉低
        NOP();
        NOP();
        NOP();
        NOP();
        NOP();
        NOP();
        NOP();
        NOP(); //延時(shí)大于1us
        RLS_DS18B20; //釋放總線,DS18B20會(huì)將總線強(qiáng)制拉高
        NOP();
        NOP();
        NOP();
        if(STU_DS18B20)
        retVal|=0x80;
        delayUs(16); //14.92us
        delayUs(16); //14.92us
        RLS_DS18B20; //釋放總線
        delayUs(35); //30.38us
        }
        delayUs(1); //2.71us(大于1us就行了)
        return(retVal);
        }
        /
        void writeByteDS18B20(uchar wb)
        {
        uchar i;
        uchar temp;
        RLS_DS18B20; //釋放總線
        for(i=0;i<8;i++)
        {
        HLD_DS18B20; //Maga16控制總線
        CLR_DS18B20; //強(qiáng)制拉低
        delayUs(16); //14.92us
        temp=wb>>i;
        temp&=0x01;
        if(temp)
        RLS_DS18B20; //釋放總線
        else
        CLR_DS18B20; //強(qiáng)制拉低
        delayUs(16); //14.92us
        delayUs(35); //30.38us
        RLS_DS18B20; //釋放總線
        delayUs(1); //2.71us(大于1us就行了)
        }
        }
        /
        unsigned int readTempDS18B20(void)
        {
        uchar tempL,tempH;
        uint x;
        resetDS18B20();
        writeByteDS18B20(0xcc); //跳過(guò)ROM
        writeByteDS18B20(0x44); //啟動(dòng)溫度轉(zhuǎn)換
        delayUs(1);
        resetDS18B20();
        writeByteDS18B20(0xcc); //跳過(guò)ROM
        writeByteDS18B20(0xbe); //讀數(shù)據(jù)
        tempL=readByteDS18B20();
        tempH=readByteDS18B20();
        x=(tempH<<8)|tempL;
        return(x);
        }

        上一頁(yè) 1 2 下一頁(yè)

        評(píng)論


        技術(shù)專(zhuān)區(qū)

        關(guān)閉