久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 18B20單線溫度檢測的應用樣例程序 [打印本頁]

作者: adwszxc1    時間: 2021-1-5 23:09
標題: 18B20單線溫度檢測的應用樣例程序
/*-----------------------------------------------
  名稱:18B20溫度傳感器
  網站:
  編寫:
  日期:2013.2
  修改:無
  內容:18B20單線溫度檢測的應用樣例程序
------------------------------------------------*/
#include"delay.h"
#include"18b20.h"
/*------------------------------------------------
                    18b20初始化
------------------------------------------------*/
bit Init_DS18B20(void)
{
        bit dat=0;
        DQ = 1;                                    //DQ復位
        DelayUs2x(5);                   //稍做延時
        DQ = 0;                         //單片機將DQ拉低
        DelayUs2x(200);                 //精確延時 大于 480us 小于960us
        DelayUs2x(200);
        DQ = 1;                                //拉高總線
        DelayUs2x(50);                         //15~60us 后 接收60-240us的存在脈沖
        dat=DQ;                                //如果x=0則初始化成功, x=1則初始化失敗
        DelayUs2x(25);                         //稍作延時返回
        return dat;
}

/*------------------------------------------------
                    讀取一個字節
------------------------------------------------*/
unsigned char ReadOneChar(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;
                  DelayUs2x(25);
        }
        return(dat);
}
/*------------------------------------------------
                    寫入一個字節
------------------------------------------------*/
void WriteOneChar(unsigned char dat)
{
        unsigned char i=0;
        for (i=8; i>0; i--)
        {
                  DQ = 0;
                  DQ = dat&0x01;
                  DelayUs2x(25);
                  DQ = 1;
                  dat>>=1;
        }
        DelayUs2x(25);
}

/*------------------------------------------------
                    讀取溫度
------------------------------------------------*/
unsigned int ReadTemperature(void)
{
        unsigned char a=0;
        int b=0;
        int t=0;
        float tt=0;
        while(Init_DS18B20());         //檢測初始化是否成功
        WriteOneChar(0xCC);         // 跳過讀序號列號的操作
        WriteOneChar(0x44);         // 啟動溫度轉換
        DelayMs(10);
        Init_DS18B20();
        WriteOneChar(0xCC);         //跳過讀序號列號的操作
        WriteOneChar(0xBE);         //讀取溫度寄存器等(共可讀9個寄存器) 前兩個就是溫度
        a=ReadOneChar();                   //低位
        b=ReadOneChar();                   //高位
        t=b;
        t<<=8;
        t=t|a;
        tt=t*0.0625;
        t= tt*10+0.5;
        return(t);
}







歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 久久久国产一区二区三区四区小说 | 在线视频一区二区 | 在线观看国产视频 | 91在线精品秘密一区二区 | 久久91精品国产 | 91精品国产91久久久久游泳池 | 久久国产一区二区三区 | 国产日韩欧美 | 黄色欧美视频 | 91视频官网 | 999久久久久久久 | 天天射网站 | 国产欧美视频一区二区三区 | 男人的天堂久久 | 国产亚洲第一页 | av网站免费看 | 亚洲 欧美 日韩 在线 | 久草在线影| 亚洲高清在线观看 | 黄久久久 | 91精品国产乱码麻豆白嫩 | 国产精品久久久久久久久久久久午夜片 | 国产欧美精品 | 操网站 | 青娱乐国产 | 国产精品波多野结衣 | 色综合激情 | 久久久久久www | 国产成人免费视频网站高清观看视频 | 亚洲一区亚洲二区 | yiren22 亚洲综合 | 岛国毛片 | 亚洲国产成人在线观看 | 看羞羞视频免费 | 久久久久久久久久久久久久久久久久久久 | 99精品视频一区二区三区 | 日韩视频一区二区 | 麻豆av免费观看 | 黄一区二区三区 | 一区二区三区在线免费观看 | 久久香蕉精品视频 |