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

    
    
    <address id="vxupu"><td id="vxupu"></td></address>

      <pre id="vxupu"><small id="vxupu"></small></pre>
      <dfn id="vxupu"></dfn>
      <div id="vxupu"><small id="vxupu"></small></div>
    1. 新聞中心

      EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > DS18B20與數(shù)碼管程序

      DS18B20與數(shù)碼管程序

      作者: 時(shí)間:2016-12-02 來源:網(wǎng)絡(luò) 收藏
      #include
      #define uint unsigned int
      #define uchar unsigned char
      sbit DQ=P2^0;//P2^0
      uchar code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//不帶小數(shù)點(diǎn)
      uchar code tab1[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};//帶小數(shù)點(diǎn)
      sbit wei0=P0^0;//P3^2
      sbit wei1=P0^1;//P3^3
      //sbit wei2=P1^2;
      //sbit wei3=P1^3;
      uchar disdata[2];
      uint tvalue;
      uchar tflag;
      void delay(uint i)
      {
      while(i--);
      }
      void ds1820rst()//復(fù)位
      {
      DQ=1;
      delay(4);
      DQ=0;
      delay(100);
      DQ=1;
      delay(40);
      }
      uchar ds1820rd()//讀數(shù)據(jù)
      {
      uchar i;
      uchar dat=0;
      for(i=8;i>0;i--)
      {
      DQ=0;
      dat>>=1;
      DQ=1;
      if(DQ)
      dat|=0x80;//dat=DQ;dat&=0x80;
      delay(10);
      }
      return(dat);
      }
      void ds1820wr(uchar wdata)//寫數(shù)據(jù)
      {
      uchar i=0;
      for(i=8;i>0;i--)
      {
      DQ=0;
      DQ=wdata&0x01;
      delay(10);
      DQ=1;
      wdata>>=1;
      }
      }
      read_temp()/*讀取溫度值并轉(zhuǎn)換*/
      {
      uchar a,b;
      ds1820rst();
      ds1820wr(0xcc);//*跳過讀序列號(hào)*/
      ds1820wr(0x44);//*啟動(dòng)溫度轉(zhuǎn)換*/
      ds1820rst();
      ds1820wr(0xcc);//*跳過讀序列號(hào)*/
      ds1820wr(0xbe);//*讀取溫度*/
      a=ds1820rd();
      b=ds1820rd();
      tvalue=b;
      tvalue<<=8;
      tvalue=tvalue|a;
      if(tvalue<0x0fff)
      tflag=0;
      else
      {tvalue=~tvalue+1;
      tflag=1;
      }
      tvalue=(tvalue*0.0625);//0.625溫度值擴(kuò)大10倍,精確到1位小數(shù)
      return(tvalue);
      }


      void ds1820disp()//溫度值顯示
      {
      disdata[0]=tvalue/10;//十位數(shù)
      disdata[1]=tvalue%10;//個(gè)位數(shù)
      wei0=0;
      P1=tab[disdata[0]];
      delay(250);
      wei0=1;
      wei1=0;
      P1=tab[disdata[1]];
      delay(250);
      wei1=1;
      }

      void main()
      {
      while(1)
      {

      read_temp();//讀取溫度

      ds1820disp();//顯示
      }
      }


      關(guān)鍵詞: DS18B20數(shù)碼

      評(píng)論


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

      關(guān)閉