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

專(zhuān)注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

自制高精度控制電熱水瓶

作者:佚名   來(lái)源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2012年10月26日   【字體:

    最近因需要買(mǎi)了一個(gè)電熱水瓶,使用中發(fā)現(xiàn),水溫根本上沒(méi)有達(dá)到沸騰,里面溫控器就跳開(kāi)了,而且水溫稍一下降,溫控器又很快閉合,再次進(jìn)入煮水狀態(tài),這樣水不斷處于冷卻-加熱-冷卻狀態(tài),這樣不但浪費(fèi)電,長(zhǎng)期飲用此水,對(duì)身體也是有害的。剛好最近在學(xué)單片機(jī)編程,于是打算自己寫(xiě)個(gè)程序,用單片機(jī)來(lái)控制水溫,可以達(dá)到十分精確的沸騰溫度。說(shuō)干就干,馬上拆開(kāi)電熱水瓶,發(fā)現(xiàn)里面電路極其簡(jiǎn)單,只是用個(gè)KSD301溫控器來(lái)控制水溫,仔細(xì)觀察發(fā)現(xiàn)電源還直接加到另一組加熱絲,測(cè)量其阻值有600歐左右,粗略計(jì)算達(dá)到80W,也就是說(shuō),在溫控器跳開(kāi)后,此加熱絲仍耗電80W來(lái)保持水溫,這樣是很浪費(fèi)電的。于是把原電路拆掉,接通電源到主加熱絲,加入1/3水,直接通電加熱到水沸騰,用溫度計(jì)測(cè)量底部原溫控器感溫點(diǎn),溫度有96度,一直沸騰下去,還是96度,也就是說(shuō),只要水沸騰,此處溫度就是96度了。于是,根據(jù)此數(shù)據(jù)寫(xiě)了一個(gè)溫控程序,設(shè)定下限溫度50度,上限溫度96度,并且具備提示功能,就是水要是沸騰了,熱水瓶會(huì)”滴“一聲提醒我們水已經(jīng)煮好,這個(gè)就是單片機(jī)的優(yōu)勢(shì),可以實(shí)現(xiàn)智能控制!上面我還采用三個(gè)數(shù)碼管直接顯示水溫,在水溫達(dá)到設(shè)定時(shí),繼電器跳開(kāi),常閉觸點(diǎn)接通副加熱器進(jìn)行恒溫加熱,不過(guò)這次不是連續(xù)通電,而是加熱3秒,停止1秒,并且是半波交流電,這樣耗電是很低的,又可以進(jìn)行保溫,同時(shí)使熱水瓶耗電降到最低,真正環(huán)保啊!好了,下面附上C程序,監(jiān)于時(shí)間關(guān)系,我就先不傳上電路圖了,其實(shí)電路倒是 簡(jiǎn)單,不會(huì)很復(fù)雜!單片機(jī)采用AT89C2051,水溫傳感用DS18B20,用DS18B20成本稍高,但程序容易設(shè)計(jì),而且也比較準(zhǔn)確!

#include <reg2051.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit GW=P3^0;
sbit SW=P3^1;
sbit BW=P3^2;
sbit DQ=P3^3;
sbit JDQ=P3^4;
sbit BAW=P3^5;
sbit FMQ=P3^7;
bit K;
code uchar NUM[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uchar temp_value;
uchar sec;
uchar TH=96,TL=50;
void delay(uchar a)
{
 while(a--);
}
void INIT()
{
 TMOD=0x01;
 TH0=0x3c;
 TL0=0xb0;
 TR0=1;
 }
void init_DS18B20()
{
 uchar b=0;
 DQ=1;
 delay(8);
 DQ=0;
 delay(100);
 DQ=1;
 delay(14);
 b=DQ;
 delay(20);
}
uchar read()
{
 uint i, dat=0;
 for(i=8;i>0;i--)
 {
  DQ=1;
  _nop_();_nop_();
  dat>>=1;
  DQ=0;
  _nop_();_nop_();_nop_();_nop_();
  DQ=1;
  _nop_();_nop_();_nop_();_nop_();
  if(DQ)
  dat|=0x80;
  delay(12);
  }
  DQ=1;
  return(dat);
}
void write(uchar dat)
{
 uchar d=0;
 for(d=8;d>0;d--)
 {
  DQ=1;
  _nop_();_nop_();
  DQ=0;
  delay(1);
  DQ=dat&0x01;
  delay(12);
  dat=dat/2;
  }
  DQ=1;
  delay(2);
}
void ReadTemp()
{
 uint a=0;
 uint b=0;
 init_DS18B20();
 write(0xCC);    
 write(0x44); 
 delay(100); 
       
 init_DS18B20();
 write(0xCC);  
 write(0xBE);  
 delay(100);
 a=read(); 
 b=read(); 
  
 temp_value=((b<<8)|a)*0.0625;          
}
 void display (uchar num0,uchar num1,uchar num2)
{ 
  P1=NUM[num0];
  GW=0;
  delay(200);
  GW=1;
  P1=NUM[num1];
  SW=0;
  delay(200);
  SW=1;
  
  P1=NUM[num2];
  BW=0;
  delay(200);
  BW=1;
}
void wenkong()
{
   if(temp_value<TL)
  {
   JDQ=1;
   K=0;
   }
   if(temp_value>=TH)
   {
    JDQ=0;
    }
}
main() 
{ 
 uchar a,b,c,t;
 INIT();
 K=0;
 if(sec==0)
 FMQ=0;
 BZ: if(sec>=1)
 FMQ=1;
 if(temp_value>=TH&K==0)
 {
  sec=0;
  FMQ=0;
  if(sec==3)
  FMQ=1;
  K=!K;
 }
 while(1)
 {
      if(TF0==1)
     {
     TF0=0;
   TH0=0x3c;
      TL0=0xb0;
   t++;
       }
    if(t==20)
    {
     t=0;
     sec++;
  BAW=0;
     }
    if(sec==4)
    {
       sec=0;
    BAW=1;
    }
    ReadTemp();
  a=temp_value%10; 
     b=temp_value/10%10;
  c=temp_value/100%10;
  display(a,b,c);
   wenkong();
   goto BZ;
 }
}
關(guān)閉窗口

相關(guān)文章

主站蜘蛛池模板: 99免费在线观看 | 国产精品一区在线观看 | 国产精品99久久免费观看 | 中文字幕在线播放第一页 | 国产成人精品久久二区二区 | 一级黄色毛片a | 国产欧美视频一区二区 | 亚洲乱码一区二区三区在线观看 | 97成人精品 | 亚洲精品久久久久久久久久久久久 | 欧美精品二区三区 | 最新av片 | 久久国产精品首页 | 亚洲一区 中文字幕 | 精品视频99| 狠狠躁天天躁夜夜躁婷婷老牛影视 | 国产乱码精品一区二区三区五月婷 | 午夜a√ | 国产精品久久久久久亚洲调教 | 日韩第一区 | 亚洲高清中文字幕 | 国产精品一区二区三 | 午夜电影福利 | www免费视频 | 不卡一区| 1区2区3区视频 | 91精品久久久久久久久中文字幕 | 岛国在线免费观看 | 97国产精品 | 亚洲视频 欧美视频 | 欧美中文字幕 | 久久国产精品一区 | 国产电影一区二区 | 日韩综合在线视频 | h视频免费在线观看 | 久久精品中文字幕 | 九色在线| 国产精品爱久久久久久久 | 精品欧美一区二区在线观看 | 人人艹人人 | 国产偷录视频叫床高潮对白 |