0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于51單片機的超聲波智能熱水器設(shè)計

精通單片機與嵌入式 ? 來源:精通單片機與嵌入式 ? 2023-09-06 11:19 ? 次閱讀

功能

本設(shè)計采用51單片機+DS18B20溫度傳感器+數(shù)碼管顯示+繼電器+功能按鍵組成。DS18B20溫度傳感器檢測水溫并將水溫信息轉(zhuǎn)換成電信號傳送給單片機,單片機將得到的數(shù)據(jù)進行處理、顯示與控制。上電后數(shù)碼管顯示當前的水溫溫度,通過按鍵可設(shè)置水溫值,當檢測到的水溫低于設(shè)置的水溫值時,繼電器吸合接通外部加熱裝置,使水溫達到設(shè)定水溫值。當水溫值超過設(shè)定水溫值時,繼電器斷開,停止加熱。溫度檢測精確到0.1度。并具有掉電保存功能,數(shù)據(jù)保存在單片機內(nèi)部EEPOM中,按鍵還具有連加、減功能。

原理圖

18f1e448-4c41-11ee-a25d-92fbcf53809c.png

PCB

193d435c-4c41-11ee-a25d-92fbcf53809c.png

程序源碼

#include            //調(diào)用單片機頭文件
#define uchar unsigned char  //無符號字符型 宏定義  變量范圍0~255
#define uint  unsigned int   //無符號整型 宏定義  變量范圍0~65535
#include 


sbit dq   = P1^5;  //18b20 IO口的定義
sbit beep = P1^4;   //蜂鳴器IO口定義


uint temperature ;  //
bit flag_300ms ;


bit flag_lj_en;     //按鍵連加使能
bit flag_lj_3_en;   //按鍵連3次連加后使能  加的數(shù)就越大了 
uchar key_time,key_value;      //用做連加的中間變量
bit key_500ms  ;


sbit relay1 = P1^6;  //加熱繼電器IO口定義
sbit relay2 = P1^3;  //加水繼電器IO口定義


uchar code table_num[]="0123456789abcdefg";


sbit rs=P1^0;   //寄存器選擇信號 H:數(shù)據(jù)寄存器    L:指令寄存器
sbit rw=P1^1;   //寄存器選擇信號 H:數(shù)據(jù)寄存器    L:指令寄存器
sbit e =P1^2;   //片選信號   下降沿觸發(fā)






/****************主函數(shù)***************/
void main()
{  
  beep = 0;                    //開機叫一聲   
  delay_1ms(150);
  P0 = P1 = P2 = P3 = 0xff;
  init_1602();                    //1602初始化
  time_init();                    //初始化定時器 
  while(1)
  {
    if(flag_300ms == 1)          //300ms 處理一次溫度程序
    {  
      flag_300ms = 0;  
      temperature = read_temp();  //先讀出溫度的值
      shuiwei_dis() ;   //水位顯示
      send_wave();  //測距離函數(shù)
      clock_h_l();            //報警函數(shù)
      write_sfm3_18B20(1,8,temperature);
      dingshi_dis();  //定時控制
      if(distance > 10 + sw_jz)  //說明水位出錯
      {
        beep = 1;
        write_string(2,8,"--.-m");      
      }else 
      {
        if(sw_jz >= distance)
        {
          shuiwei = sw_jz - distance;    //計算出液位
        }else 
          shuiwei = 0;  
        write_sfm3(2,8,shuiwei);          
      }  
    }
    key();          //按鍵程序
     key_with();          //設(shè)置報警溫度  
   }
}


/*************定時器0中斷服務(wù)程序***************/
void time0_int() interrupt 1
{  
  static uchar value;
  TH0 = 0x3c;
  TL0 = 0xb0;     // 50ms
  value ++;   
  if(value % 6 == 0)
  {
    flag_300ms = 1;     //300ms
    value = 0;
  }
  if(flag_lj_en == 1)     //按下按鍵使能
  {
    key_time ++;
    if(key_time >= 10) //500ms
    {
      key_time = 0;
      key_500ms = 1; //500ms
      key_value ++;
      if(key_value > 3)
      {
        key_value = 10;
        flag_lj_3_en = 1; //3次后1.5秒連加大些
      }            
    }
  }
}

元器件清單

19898f1e-4c41-11ee-a25d-92fbcf53809c.png

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 繼電器
    +關(guān)注

    關(guān)注

    132

    文章

    5350

    瀏覽量

    148934
  • 單片機
    +關(guān)注

    關(guān)注

    6037

    文章

    44558

    瀏覽量

    635399
  • 超聲波
    +關(guān)注

    關(guān)注

    63

    文章

    3017

    瀏覽量

    138399
  • 熱水器
    +關(guān)注

    關(guān)注

    5

    文章

    217

    瀏覽量

    27077

原文標題:【畢業(yè)設(shè)計008】基于51單片機的超聲波智能熱水器(源代碼、原理圖、參考論文、調(diào)試步驟、答辯解答等)

文章出處:【微信號:精通單片機與嵌入式,微信公眾號:精通單片機與嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    基于51單片機超聲波測距系統(tǒng)

    250CM之間。誤差:1%。距離顯示:用三位LED數(shù)碼管進行顯示(單位是CM)。該接收電路結(jié)構(gòu)簡單,性能較好。 硬件電路的設(shè)計主要包括單片機系統(tǒng)及顯示電路、超聲波發(fā)射電路和超聲波接收電路三部分。
    發(fā)表于 03-25 10:21

    基于AT89S51單片機智能超聲波避障小車

    基于AT89S51單片機智能超聲波避障小車
    發(fā)表于 08-20 22:21

    超聲波單片機超聲波單片機超聲波單片機超聲波單片機超聲波單片機超聲波

    單片機超聲波單片機超聲波單片機超聲波單片機
    發(fā)表于 04-14 23:51

    51單片機超聲波程序

    各位大佬,求51單片機超聲波程序
    發(fā)表于 07-08 16:50

    基于51單片機超聲波測距設(shè)計與實現(xiàn)

    51單片機超聲波測距設(shè)計與實現(xiàn)
    發(fā)表于 04-24 19:34

    怎樣去設(shè)計一種基于51單片機超聲波避障小車

    模塊(hc-sr04)、L293D電機驅(qū)動和直流減速電機。這樣配合51單片機的控制,小車可以完成自主避障功能。超聲波模塊此圖為Proteus 8 提供的
    發(fā)表于 07-20 07:17

    51單片機超聲波測距串口顯示

    51單片機串口顯示超聲波測距程序,里面有定義的接口。
    發(fā)表于 03-28 16:47 ?12次下載

    基于51單片機超聲波測距設(shè)計

    基于51單片機超聲波測距設(shè)計,(附源程序).doc。
    發(fā)表于 05-11 13:49 ?73次下載

    51單片機超聲波測距仿真與分析

    51單片機超聲波測距仿真與分析
    發(fā)表于 09-04 08:49 ?30次下載

    基于51單片機超聲波測距模塊設(shè)計

    超聲波測距的模塊,51單片機接上12864液晶,HC-SR04超聲波模塊,就可以了,具體程序沒怎么看,超聲波模塊的硬件也不曉得。
    發(fā)表于 12-10 16:33 ?6975次閱讀

    51單片機驅(qū)動超聲波測距模塊

    51單片機驅(qū)動超聲波測距模塊(單片機最小系統(tǒng))-使用51單片機驅(qū)動
    發(fā)表于 07-22 10:01 ?61次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>驅(qū)動<b class='flag-5'>超聲波</b>測距模塊

    基于51單片機超聲波測距的制作

    基于51單片機超聲波測距的制作(郭天祥十天學會單片機)-該文檔為基于51
    發(fā)表于 07-22 11:09 ?25次下載
    基于<b class='flag-5'>51</b><b class='flag-5'>單片機</b><b class='flag-5'>超聲波</b>測距<b class='flag-5'>器</b>的制作

    基于某51單片機超聲波智能避障小車論文設(shè)計

    基于某51單片機超聲波智能避障小車論文設(shè)計(電動機的單片機控制)-該文檔為基于某51
    發(fā)表于 07-22 11:58 ?59次下載
    基于某<b class='flag-5'>51</b><b class='flag-5'>單片機</b>的<b class='flag-5'>超聲波</b><b class='flag-5'>智能</b>避障小車論文設(shè)計

    基于單片機超聲波測距

    設(shè)計簡介:本設(shè)計是基于單片機超聲波測距系統(tǒng),主要實現(xiàn)以下功能:可通過LCD1602顯示溫度、距離和最小距離; 可通過按鍵設(shè)置最小距離; 可通過蜂鳴器和LED進行不同頻率的聲光報警;標簽:51
    發(fā)表于 11-12 15:06 ?41次下載
    基于<b class='flag-5'>單片機</b>的<b class='flag-5'>超聲波</b>測距

    如何利用51單片機實現(xiàn)一種超聲波測距功能呢

    利用51單片機實現(xiàn)超聲波測距功能,利用單片機控制超聲波的發(fā)射和對超聲波自發(fā)射至接收往返時間的計時
    發(fā)表于 08-17 18:04 ?3160次閱讀
    如何利用<b class='flag-5'>51</b><b class='flag-5'>單片機</b>實現(xiàn)一種<b class='flag-5'>超聲波</b>測距功能呢