基于51单片机的水流量传感器测试系统
目錄
? 熱水器上水報警器
問題咨詢及項目源碼下載請加群:
群名:IT項目交流群
群號:245022761
?
?
一、實驗?zāi)康?/strong>
1. 了解水流量傳感器工作原理
2. 學(xué)會使用水流量傳感器檢測水流量
3. 會使用八段數(shù)碼管顯示熱水器水箱水量百分比
4. 學(xué)會使用蜂鳴器發(fā)出報警聲
?
二、設(shè)計項目要求
經(jīng)常會看到某家屬樓外墻排水管水嘩嘩的流著,原來是某家太陽能熱水器上水忘記關(guān)閥門了,水白白浪費掉,非常可惜!為解決太陽能熱水器上水忘記關(guān)閥門問題,請設(shè)計一款熱水器上水報警器。該報警器通過水流量傳感器檢測上水的體積,并顯示已上水的體積占總體積的百分比(最大值為100),當(dāng)水上滿后,啟動蜂鳴器報警提醒用戶關(guān)閉上水水閥。假設(shè)熱水器總?cè)萘繛?升。
?
三、項目系統(tǒng)連接圖
?
?四、代碼實現(xiàn)部分
?
//數(shù)碼管顯示模塊#include <shumaguan.h> sbit DX=P2^6; sbit WX=P2^7; u8 code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71,0x00}; //共陰數(shù)碼管編碼void Print_u32_LED(u32 n)//輸出6位無符號整數(shù)(0-999999)到6位數(shù)碼管,不足6位時,前面不顯示 {u8 t=0xdf;while(n){ P0=0xff; //消影WX=1;//允許更新位碼P0=t; //送位碼WX=0;//鎖存位碼P0=0x00; //消影DX=1;//允許更新段碼P0=table[n%10]; //送段碼DX=0;//鎖存段碼n=n/10;t=_cror_(t,1);delay_ms(3);} } void Print_str_LED(u8 *f)//輸出數(shù)字串到數(shù)碼管 {u8 t=0xdf,i;i=strlen(f);while(i){ P0=0xff; //消影WX=1;//允許更新位碼P0=t; //送位碼WX=0;//鎖存位碼P0=0x00; //消影DX=1;//允許更新段碼switch(f[i-1]){case '.':i--;P0=table[f[i-1]-'0']|0x80;break;case '-':P0=0x40;break;case ' ':P0=0x00;break;default:P0=table[f[i-1]-'0']; } //送段碼DX=0;//鎖存段碼i--;t=_cror_(t,1);delay_ms(3);}}void Print_float_LED(float n,u8 x)//輸出小數(shù)(有效數(shù)字不超過6位)到6位數(shù)碼管,保留x(0-3)位小數(shù) {u8 prtstr[10];switch(x){case 0:sprintf(prtstr,"%.0f",n);break;case 1:sprintf(prtstr,"%.1f",n);break;case 2:sprintf(prtstr,"%.2f",n);break;case 3:sprintf(prtstr,"%.3f",n);break;} Print_str_LED(prtstr);} main函數(shù)代碼實現(xiàn):#include <config.h> #include <shumaguan.h> sbit beep=P2^3; //蜂鳴器引腳 u8 print[20];//輸出緩沖區(qū) unsigned int num=0; float current=0.0; void delay_ms(u16 x)//毫秒延時函數(shù) {u16 i;u8 j;for(i=0;i<x;i++)for(j=0;j<115;j++); } void delay_us(u8 t) //10倍微秒延時函數(shù),延時10*t微秒 {u8 i;for(i=0;i<=t;i++); }void Alarm(u8 t) //蜂鳴器報警,持續(xù)t秒 {u8 i,j,k; for(j=0;j<t;j++){ for(i=0;i<200;i++){beep=0;delay_us(50);beep=1;delay_us(50);}for(k=0;k<100;k++){beep=0;delay_us(110);beep=1;delay_us(110);}} }void main() {u8 i,j;// Init_COM(); //初始化 // EA=1;//IT0=1;//EX0=1;while(1){P2=0X00; Alarm(5);// beep=0;// if(num>=450) { Alarm(5);}//current=100*num/450.0;//sprintf(print,"%d",current/1000);//for(i=10;i>0;i--) Print_float_LED(current,2); //輸出到數(shù)碼管} }void EX_INT0() interrupt 0 /*INT0中斷服務(wù)程序*/ {num++;}附上本人在大學(xué)學(xué)習(xí)期間所有學(xué)習(xí)實現(xiàn)的demo,這些項目的實現(xiàn)都通過本人親自測試運行,也是自己學(xué)習(xí)中知識的一點一點積累,整理不易,希望能幫到大家,不足之處大家多多交流。
?
QQ:1805523903
郵箱:1805523603@qq.com
昵稱:忘塵
?
世界不同角落共同努力,變成更優(yōu)秀的我們。
?
1.51單片機學(xué)習(xí)整理
?
基于51單片機的智能光控路燈 :https://download.csdn.net/download/qq_37037348/11071869
基于51單片機超聲波測距(內(nèi)含源程序,原理圖及PCB源文件):https://download.csdn.net/download/qq_37037348/11071866
?
?
基于51單片機的智能安防報警系統(tǒng):https://download.csdn.net/download/qq_37037348/11071865
?
基于51單片機模塊化編程模塊 (紅外、液晶顯示屏、溫濕度等傳感器模塊化)
:https://download.csdn.net/download/qq_37037348/11053222
?
基于51單片機pwm控制的呼吸燈程序
https://download.csdn.net/download/qq_37037348/11053195
?
51單片機與上位機串口通信實例包含詳細(xì)講解的完整代碼
https://download.csdn.net/download/qq_37037348/11053164
?
?
基于51單片機的直交流電壓表仿真 (詳細(xì)代碼實現(xiàn),設(shè)計講解)
https://download.csdn.net/download/qq_37037348/11053145
?
?
?
基于51單片機胸牌 詳細(xì)代碼實現(xiàn),設(shè)計講解)
https://download.csdn.net/download/qq_37037348/11053125
?
基于51單片機3x4按鍵撥號 (詳細(xì)代碼實現(xiàn),設(shè)計講解)
https://download.csdn.net/download/qq_37037348/11053093
?
?
基于51單片機撥號 (詳細(xì)代碼實現(xiàn),設(shè)計講解)
?
https://download.csdn.net/download/qq_37037348/11053090
?
?
基于51單片機警燈系統(tǒng)設(shè)計(詳細(xì)代碼實現(xiàn),設(shè)計講解)
https://download.csdn.net/download/qq_37037348/11053086
?
?
基于51單片機點亮一個小燈(詳細(xì)代碼實現(xiàn),設(shè)計講解,學(xué)習(xí)51基礎(chǔ)實驗)
https://download.csdn.net/download/qq_37037348/11053084
?
基于51單片機開發(fā)的排球計時器,附有詳細(xì)注釋講解,為大家提供最真心的幫助
https://download.csdn.net/download/qq_37037348/11053024
?
?
基于51單片機的音樂播放器,源碼詳細(xì)注釋
https://download.csdn.net/download/qq_37037348/11053022
?
?
?
2.Android 開發(fā)學(xué)習(xí)整理:
?
Android-serialport 手機App串口通信代碼實現(xiàn):
?
https://download.csdn.net/download/qq_37037348/11050521
?
Android-serialport 手機App網(wǎng)絡(luò)通信實例代碼實現(xiàn):
https://download.csdn.net/download/qq_37037348/11050516
?
Android 第一個App詳細(xì)教程、基礎(chǔ)實驗 :
https://download.csdn.net/download/qq_37037348/11050515
?
?
3.計算機視覺(深度學(xué)習(xí)、神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí))
?
feature extraction(深度學(xué)習(xí),特征提取,神經(jīng)網(wǎng)絡(luò):https://download.csdn.net/download/qq_37037348/11065968
?
feature extraction(深度學(xué)習(xí),特征提取,神經(jīng)網(wǎng)絡(luò)多種訓(xùn)練模型詳細(xì)實現(xiàn)):
https://download.csdn.net/download/qq_37037348/11065974
?
?
?
歡迎大家加入學(xué)習(xí)項目交流,為大家分享各類個人學(xué)習(xí)項目及學(xué)習(xí)資料,互相交流互相學(xué)習(xí)。
?
問題咨詢及項目源碼下載請加群:
群名:IT項目交流群
群號:245022761
總結(jié)
以上是生活随笔為你收集整理的基于51单片机的水流量传感器测试系统的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Neo4j(一):图数据库基础
- 下一篇: 解决 游戏中只要一移动鼠标,就会游戏指针