亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? ds18b20.txt

?? DS18B20的驅(qū)動(dòng)程序
?? TXT
字號(hào):
#include <reg2051.h>      //頭文件
#include <intrins.h>      //包含延時(shí)函數(shù)

sbit DQ=P3^7;             //定義接口
sbit Key_Set=P3^2;        //設(shè)定鍵和數(shù)碼管十號(hào)位
sbit Key_Up=P3^3;         //上調(diào)鍵和數(shù)碼管十位
sbit Key_Down=P3^4;       //下調(diào)鍵和數(shù)碼管個(gè)位
sbit Key_Com=P3^5;        //復(fù)合鍵盤公共端
sbit Out_1=P3^0;
sbit Out_2=P3^1;

/***********************以下聲明函數(shù)*************************/
void delay(unsigned int time);
void delay_led(void);
void Init_DS18B20(void);
ReadOneByte(void);
WriteOneByte(unsigned char dat);
ReadTemperatrue(void);
void Reset_DS18B20(void);
void Read_Alarm(void);
void WriteAlarm(unsigned char a,unsigned char k);
void display(unsigned char k);
void display_set(bit a,unsigned char b);
void key(unsigned char k);
/***********************聲明函數(shù)結(jié)束*************************/

unsigned char code led[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x89,0xC7,0xBF};        //定義LED筆畫
unsigned char AL=0;                 //定義下限報(bào)警變量(全局變量)
unsigned char AH=0;                 //定義上限報(bào)警變量(全局變量)
unsigned char se=0;                 //按鍵防抖
bit o=0;

void main(void)                     //主函數(shù)
{
      unsigned char tmp,j;
      P1=0xFF;
      Key_Com=1;
      for(j=0;j<10;j++)      //自檢
      {
       for(tmp=0;tmp<40;tmp++)
{
       Key_Set=0;
       P1=led[j];
       delay_led();
       Key_Set=1;
       Key_Up=0;
       P1=led[j];
       delay_led();
       Key_Up=1;
       Key_Down=0;
       P1=led[j];
       delay_led();
       Key_Down=1;
}
      }
      Reset_DS18B20();       //讀出上限、下限溫度值,并對(duì)DS18B20進(jìn)行檢測(cè),如果是新器件則初始化新器件。
      for(j=0;j<30;j++)      //等待DS18B20進(jìn)入正常狀態(tài)
      {
        tmp=ReadTemperatrue();
      }
      while(1)
      {
        tmp=ReadTemperatrue();
      for(j=0;j<125;j++)
      {
        Key_Com=1;
        display(tmp);
        key(tmp);
      }
      }
}



/*************************************************************
函數(shù)功能:延時(shí)子程序(用于DS18B20時(shí)序中延時(shí))
入口參數(shù):
出口參數(shù):
*************************************************************/
void delay(unsigned int time)
{
      unsigned int n;
      n=0;
      while(n<time)
      {n++;}
}

/*************************************************************
函數(shù)功能:延時(shí)子程序(用于數(shù)碼管掃描)
入口參數(shù):
出口參數(shù):
*************************************************************/
void delay_led(void)
{
      int k;
      for(k=0;k<600;k++);
}

/*************************************************************
函數(shù)功能:數(shù)碼管顯示子程序
入口參數(shù):k
出口參數(shù):
*************************************************************/
void display(unsigned char k)
{
      if((o==1)||(k>=100))
      {
        if(o==1)                //零下標(biāo)志位,1為零下溫度,百位顯示-已表示零下溫度。
        {
        Key_Set=0;
        P1=led[12];
        delay_led();
        Key_Set=1;
        }
        if(k>=100)             //溫度值小于100時(shí)百位消隱
        {
        Key_Set=0;
        P1=led[k/100];
        delay_led();
        Key_Set=1;
        }
      }
      else delay_led();      //只做延時(shí)
      if(k>=10)
      {
        Key_Up=0;
        P1=led[k%100/10];
        delay_led();
        Key_Up=1;
      }
      else delay_led();
      Key_Down=0;
      P1=led[k%10];
      delay_led();
      Key_Down=1;
}

/*************************************************************
函數(shù)功能:數(shù)碼管顯示子程序(上下限設(shè)置)
入口參數(shù):a,k
出口參數(shù):
*************************************************************/
void display_set(bit a,unsigned char k)
{
      if(a==0)             //通過a來判斷上下限
      {
        Key_Set=0;
        P1=led[10];
        delay_led();
        Key_Set=1;
      }
      else
      {
        Key_Set=0;
        P1=led[11];
        delay_led();
        Key_Set=1;
      }
      Key_Up=0;
      P1=led[k/10];
      delay_led();
      Key_Up=1;
      Key_Down=0;
      P1=led[k%10];
      delay_led();
      Key_Down=1;
      a=0;
}

/*************************************************************
函數(shù)功能:按鍵檢測(cè)及上、下降報(bào)警輸出
入口參數(shù):
出口參數(shù):
*************************************************************/
void key(unsigned char k)
{
      unsigned char a=0,b=0,temp=0;
      bit c=0;
      P1=0xFF;         //關(guān)閉顯示
      Key_Com=0;       //公共端輸出0
      if(Key_Set==0)
      {
        se++;
        if(se==30)
      {
        temp=AH;
        while(a!=2)
        {
        Key_Com=1;
        display_set(c,temp);
        Key_Com=0;
        if(Key_Up==0)           //響應(yīng)上調(diào)設(shè)置
        {
          b++;
        if(b==25)
        {
          temp++;             //上調(diào)
        if(temp==100)         //當(dāng)值設(shè)到最大時(shí),從0加起
        {
          temp=0;
        }
        b=0;
        }
        }
        if(Key_Down==0)         //響應(yīng)下調(diào)設(shè)置
        {
          b++;
        if(b==25)
        {
          temp--;               //下調(diào)設(shè)置
        if(temp==0)
        {
          temp=99;            //當(dāng)上限值高到最小時(shí),從99減起
        }
        b=0;
        }
        }
        if(Key_Set==0)          //響應(yīng)設(shè)置鍵
        {
          b++;
        if(b==25)
        {
           switch(a)
         {
           case 0:
         {
               a++;
             c=1;
                     AH=temp;
             temp=AL;
           b=0;
         }
         break;
         case 1:
         {
           a++;
           AL=temp;
           b=0;
         }
         break;
         }
        }
        }
      }        //while
      se=0;
          WriteAlarm(AH,AL);
      }       //if
      }        //if
      if(k<150)
      {
        if(AH!=AL)
        {
          if(k>=AH)
          {
            Out_1=0;
          }
          else
          {
            Out_1=1;
          }
          if(k<=AL)
          {
            Out_2=0;
          }
          else
          {
            Out_2=1;
          }
        }
      else
      {
        Out_1=1;
      Out_2=1;
      }
      }
      else
      {
        Out_1=1;
      Out_1=1;
      }
  
}
   
/*********************************以下DS18B20驅(qū)動(dòng)程序*********************************/
/*************************************************************
函數(shù)功能:DS18B20初始化子程序
入口參數(shù):
出口參數(shù):
*************************************************************/
void Init_DS18B20(void)
{
      DQ=1;               //總線釋放
      _nop_();            //稍延時(shí)
      _nop_();
      DQ=0;               //發(fā)送復(fù)位脈沖
      delay(85);          //延時(shí)(>480us)
      DQ=1;               //釋放總線
      delay(8);          //等待(15~60us)DS18B20發(fā)送存在脈沖
      while(DQ==1)
      {
       Key_Set=0;
       P1=led[12];
       delay_led();
       Key_Set=1;
       Key_Up=0;
       P1=led[12];
       delay_led();
       Key_Up=1;
       Key_Down=0;
       P1=led[12];
       delay_led();
       Key_Down=1;
        DQ=0;
        delay(85);
        DQ=1;
        delay(8);
      }
      delay(35);
}

/*************************************************************
函數(shù)功能:向DS18B20讀1字節(jié)數(shù)據(jù)
入口參數(shù):
出口參數(shù):dat
*************************************************************/
ReadOneByte(void)
{
      unsigned char i=0;
      unsigned char dat=0;
      for(i=8;i>0;i--)
      {
        DQ=1;
      delay(1);
      DQ=0;
      dat>>=1;
      DQ=1;
      if(DQ)
        dat|=0x80;
      delay(4);
      }
      return(dat);
}

/*************************************************************
函數(shù)功能:向DS18B20寫1字節(jié)數(shù)據(jù)
入口參數(shù):dat
出口參數(shù):
*************************************************************/
WriteOneByte(unsigned char dat)
{
      unsigned char i=0;
      for(i=8;i>0;i--)
      {
        DQ=0;
      DQ=dat&0x01;
      delay(5);
      DQ=1;
      dat>>=1;
      }
      delay(4);
}

/*************************************************************
函數(shù)功能:讀溫度值
入口參數(shù):
出口參數(shù):temperature
*************************************************************/
ReadTemperatrue(void)
{
      unsigned char tempL=0,tempH=0,temperature=0;
      Init_DS18B20();              //初始化
      WriteOneByte(0xCC);          //跳過ROM操作
      WriteOneByte(0x44);          //溫度轉(zhuǎn)換
      delay(25);                  //等待DS18B20轉(zhuǎn)換溫度
      Init_DS18B20();              //初始化
      WriteOneByte(0xCC);          //跳過ROM操作
      WriteOneByte(0xBE);          //讀暫存器中的溫度值
      tempL=ReadOneByte();
      tempH=ReadOneByte();
      o=0;
      if(tempH>0xF0)
      {
        o=1;
        tempL=~tempL;
      tempH=~tempH;
      tempL=tempL+1;
      }
      temperature=((tempH*256)+tempL)*0.0625;
      return(temperature);
}

/*************************************************************
函數(shù)功能:新DS18B20重新設(shè)置
入口參數(shù):
出口參數(shù):
*************************************************************/
void Reset_DS18B20(void)
{
      unsigned char temp=0;
      Init_DS18B20(); 
      WriteOneByte(0xCC);
      WriteOneByte(0xBE);
      temp=ReadOneByte();
      temp=ReadOneByte();
      AH=ReadOneByte();           //讀出上限值
      AL=ReadOneByte();           //讀出下限值
      temp=ReadOneByte();         //讀到配置字節(jié)
      if(temp!=0x1F)
      {
        Init_DS18B20();
       WriteOneByte(0xCC);
      WriteOneByte(0x4E);       //寫暫存器
      WriteOneByte(0x05);
      WriteOneByte(0x05);
      WriteOneByte(0x1F);       //寫入分辨率為0.5
      Init_DS18B20();
      WriteOneByte(0xCC);
      WriteOneByte(0x48);
      }
}

/*************************************************************
函數(shù)功能:向DS18B20寫入上限下限值
入口參數(shù):a,b
出口參數(shù):
*************************************************************/
void WriteAlarm(unsigned char a,unsigned char b)
{
      Init_DS18B20();
      WriteOneByte(0xCC);
      WriteOneByte(0x4E);       //寫暫存器
      WriteOneByte(a);          //寫入TH
      WriteOneByte(b);          //寫入TL
      Init_DS18B20();
      WriteOneByte(0xCC);
      WriteOneByte(0x48);
}
/*********************************以上DS18B20驅(qū)動(dòng)程序*********************************/

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区在线免费观看| 不卡影院免费观看| 亚洲va欧美va天堂v国产综合| 国产精品国产三级国产aⅴ中文| 久久久久国产精品免费免费搜索| 日韩亚洲欧美一区二区三区| 欧美日韩国产另类一区| 91麻豆精品久久久久蜜臀 | 日韩欧美自拍偷拍| 337p亚洲精品色噜噜噜| 欧美一级理论性理论a| 欧美一区二区三区免费| 日韩欧美国产三级| 日韩视频免费观看高清完整版在线观看| 777亚洲妇女| 日韩欧美国产精品| 国产欧美日韩不卡免费| 国产精品国产三级国产aⅴ中文| 国产精品久久午夜夜伦鲁鲁| 亚洲激情第一区| 亚洲成人精品一区| 紧缚捆绑精品一区二区| 国产精品自产自拍| 91丨porny丨蝌蚪视频| 欧美亚洲动漫制服丝袜| 欧美大片在线观看一区| 国产拍揄自揄精品视频麻豆| 国产精品动漫网站| 亚洲成人av一区二区| 蜜桃精品视频在线观看| 国内成人免费视频| 99久久久无码国产精品| 欧美日韩国产综合一区二区| 精品国产电影一区二区| 国产精品美女久久久久aⅴ| 亚洲第一福利一区| 国产精品一区二区你懂的| 一本到高清视频免费精品| 欧美一级电影网站| 中文字幕在线播放不卡一区| 午夜精品影院在线观看| 国产在线精品一区在线观看麻豆| 91在线视频免费观看| 日韩欧美一卡二卡| 亚洲人成7777| 美女国产一区二区三区| 色狠狠色狠狠综合| 26uuu色噜噜精品一区二区| 136国产福利精品导航| 日韩高清不卡一区二区三区| 国产精品一二三四区| 91黄色免费版| 日本一二三不卡| 爽好久久久欧美精品| heyzo一本久久综合| 4438x成人网最大色成网站| 中文字幕一区二区三区蜜月| 日韩黄色片在线观看| 成人成人成人在线视频| 欧美大度的电影原声| 玉米视频成人免费看| 国产一区二区影院| 337p亚洲精品色噜噜噜| 亚洲精品综合在线| 国产麻豆午夜三级精品| 91精品欧美一区二区三区综合在 | 欧美日韩另类一区| 国产精品毛片高清在线完整版| 人人狠狠综合久久亚洲| 一本色道久久综合亚洲aⅴ蜜桃| 久久综合资源网| 午夜精品久久久久久久蜜桃app| 福利一区在线观看| 精品久久久影院| 五月婷婷综合在线| 色综合色综合色综合| 久久久久久**毛片大全| 麻豆免费精品视频| 欧美日韩另类一区| 伊人色综合久久天天人手人婷| 国产精品影视在线观看| 日韩欧美专区在线| 天堂久久久久va久久久久| 色婷婷av一区二区三区大白胸| 欧美激情一区二区三区| 国产精品综合久久| 久久综合九色综合97_久久久| 免费在线观看成人| 欧美巨大另类极品videosbest| 亚洲精品日产精品乱码不卡| 9久草视频在线视频精品| 国产偷国产偷精品高清尤物| 国产一区二区福利视频| 欧美mv日韩mv国产| 久久精品国产免费| 精品欧美一区二区久久| 日本午夜精品一区二区三区电影 | 伊人婷婷欧美激情| 91啦中文在线观看| 亚洲品质自拍视频网站| 色乱码一区二区三区88| 亚洲色图都市小说| 色哟哟日韩精品| 亚洲综合一区在线| 欧美日韩另类一区| 日本麻豆一区二区三区视频| 日韩欧美一区在线| 久久se这里有精品| 久久综合久久综合久久| 久久成人久久爱| 国产偷国产偷亚洲高清人白洁| 成人开心网精品视频| 国产精品国产三级国产三级人妇| 99久久精品免费精品国产| 亚洲精品欧美专区| 8v天堂国产在线一区二区| 麻豆成人久久精品二区三区小说| 日韩精品最新网址| 成人自拍视频在线| 亚洲激情欧美激情| 91精品婷婷国产综合久久竹菊| 久久99热99| 欧美国产欧美综合| 91精品91久久久中77777| 日韩精品成人一区二区在线| 精品粉嫩超白一线天av| 粉嫩一区二区三区性色av| 亚洲色图制服诱惑| 337p亚洲精品色噜噜噜| 国产一区二区三区在线观看免费视频| 国产亚洲制服色| 91在线小视频| 青青草成人在线观看| 国产午夜精品在线观看| 91福利社在线观看| 玖玖九九国产精品| 欧美激情艳妇裸体舞| 欧美亚洲高清一区二区三区不卡| 久久精品国产一区二区三| 国产日产欧产精品推荐色| 色狠狠一区二区三区香蕉| 玖玖九九国产精品| 亚洲天天做日日做天天谢日日欢| 欧美日韩国产天堂| 国产成人av在线影院| 亚洲一区二区三区在线看| 久久综合九色综合欧美亚洲| 91丨国产丨九色丨pron| 麻豆精品久久精品色综合| 国产精品久久久久久久久动漫| 欧美日本视频在线| 国产高清在线观看免费不卡| 一级做a爱片久久| 久久蜜桃av一区精品变态类天堂 | 97国产精品videossex| 日韩电影在线一区| 国产女主播一区| 欧美区视频在线观看| 丰满放荡岳乱妇91ww| 蜜桃av噜噜一区| 一区二区理论电影在线观看| 精品国产三级电影在线观看| 91福利社在线观看| 懂色av一区二区三区蜜臀| 图片区日韩欧美亚洲| 国产精品视频线看| 日韩美一区二区三区| 欧美吻胸吃奶大尺度电影 | 国产午夜精品久久久久久久| 在线播放/欧美激情| 色综合久久99| 国产经典欧美精品| 青青国产91久久久久久| 亚洲精品国产a| 国产精品久久久久影视| 精品国产乱码久久久久久1区2区 | 精品国产网站在线观看| 欧美人动与zoxxxx乱| 一本到一区二区三区| 成人午夜大片免费观看| 精品亚洲porn| 日韩在线a电影| 亚洲尤物在线视频观看| 国产精品国产三级国产普通话三级| 日韩欧美综合在线| 91麻豆精品国产91久久久使用方法 | 亚洲另类在线制服丝袜| 国产精品福利一区二区| 久久在线观看免费| 日韩精品在线一区二区| 日韩一区二区三区视频在线观看 | 樱花影视一区二区| 亚洲欧洲无码一区二区三区| 国产日韩精品一区二区浪潮av | 一区二区三区精品| 国产日产欧美一区| 国产日韩欧美电影| 国产女人18水真多18精品一级做| 欧美不卡一区二区三区| 日韩免费观看2025年上映的电影 |