基于51单片机的水流量传感器测试系统
目录
热水器上水报警器
问题咨询及项目源码下载请加群:
群名:IT项目交流群
群号:245022761
一、实验目的
1. 了解水流量传感器工作原理
2. 学会使用水流量传感器检测水流量
3. 会使用八段数码管显示热水器水箱水量百分比
4. 学会使用蜂鸣器发出报警声
二、设计项目要求
经常会看到某家属楼外墙排水管水哗哗的流着,原来是某家太阳能热水器上水忘记关阀门了,水白白浪费掉,非常可惜!为解决太阳能热水器上水忘记关阀门问题,请设计一款热水器上水报警器。该报警器通过水流量传感器检测上水的体积,并显示已上水的体积占总体积的百分比(最大值为100),当水上满后,启动蜂鸣器报警提醒用户关闭上水水阀。假设热水器总容量为1升。
三、项目系统连接图
四、代码实现部分
//数码管显示模块#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}; //共阴数码管编码void Print_u32_LED(u32 n)//输出6位无符号整数(0-999999)到6位数码管,不足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)//输出数字串到数码管 {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)//输出小数(有效数字不超过6位)到6位数码管,保留x(0-3)位小数 {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函数代码实现:#include <config.h> #include <shumaguan.h> sbit beep=P2^3; //蜂鸣器引脚 u8 print[20];//输出缓冲区 unsigned int num=0; float current=0.0; void delay_ms(u16 x)//毫秒延时函数 {u16 i;u8 j;for(i=0;i<x;i++)for(j=0;j<115;j++); } void delay_us(u8 t) //10倍微秒延时函数,延时10*t微秒 {u8 i;for(i=0;i<=t;i++); }void Alarm(u8 t) //蜂鸣器报警,持续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); //输出到数码管} }void EX_INT0() interrupt 0 /*INT0中断服务程序*/ {num++;}
附上本人在大学学习期间所有学习实现的demo,这些项目的实现都通过本人亲自测试运行,也是自己学习中知识的一点一点积累,整理不易,希望能帮到大家,不足之处大家多多交流。
QQ:1805523903
邮箱:1805523603@qq.com
昵称:忘尘
世界不同角落共同努力,变成更优秀的我们。
1.51单片机学习整理
基于51单片机的智能光控路灯 :https://download.csdn.net/download/qq_37037348/11071869
基于51单片机超声波测距(内含源程序,原理图及PCB源文件):https://download.csdn.net/download/qq_37037348/11071866
基于51单片机的智能安防报警系统: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单片机与上位机串口通信实例包含详细讲解的完整代码
https://download.csdn.net/download/qq_37037348/11053164
基于51单片机的直交流电压表仿真 (详细代码实现,设计讲解)
https://download.csdn.net/download/qq_37037348/11053145
基于51单片机胸牌 详细代码实现,设计讲解)
https://download.csdn.net/download/qq_37037348/11053125
基于51单片机3x4按键拨号 (详细代码实现,设计讲解)
https://download.csdn.net/download/qq_37037348/11053093
基于51单片机拨号 (详细代码实现,设计讲解)
https://download.csdn.net/download/qq_37037348/11053090
基于51单片机警灯系统设计(详细代码实现,设计讲解)
https://download.csdn.net/download/qq_37037348/11053086
基于51单片机点亮一个小灯(详细代码实现,设计讲解,学习51基础实验)
https://download.csdn.net/download/qq_37037348/11053084
基于51单片机开发的排球计时器,附有详细注释讲解,为大家提供最真心的帮助
https://download.csdn.net/download/qq_37037348/11053024
基于51单片机的音乐播放器,源码详细注释
https://download.csdn.net/download/qq_37037348/11053022
2.Android 开发学习整理:
Android-serialport 手机App串口通信代码实现:
https://download.csdn.net/download/qq_37037348/11050521
Android-serialport 手机App网络通信实例代码实现:
https://download.csdn.net/download/qq_37037348/11050516
Android 第一个App详细教程、基础实验 :
https://download.csdn.net/download/qq_37037348/11050515
3.计算机视觉(深度学习、神经网络的学习)
feature extraction(深度学习,特征提取,神经网络:https://download.csdn.net/download/qq_37037348/11065968
feature extraction(深度学习,特征提取,神经网络多种训练模型详细实现):
https://download.csdn.net/download/qq_37037348/11065974
欢迎大家加入学习项目交流,为大家分享各类个人学习项目及学习资料,互相交流互相学习。
问题咨询及项目源码下载请加群:
群名:IT项目交流群
群号:245022761
总结
以上是生活随笔为你收集整理的基于51单片机的水流量传感器测试系统的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: Neo4j(一):图数据库基础
- 下一篇: 解决 游戏中只要一移动鼠标,就会游戏指针