基于51单片机水位监测控制报警仿真设计( proteus仿真+程序+设计报告+讲解视频)
这里写目录标题
- 💥1. 主要功能:
- 💥2. 讲解视频:
- 💥3. 仿真
- 💥4. 程序代码
- 💥5. 设计报告
- 💥6. 设计资料内容清单&&下载链接
- 💥[资料下载链接:](https://docs.qq.com/doc/DS2RGaVBRcHhId3Bk)
51单片机水位监测控制报警仿真设计
( proteus仿真+程序+设计报告+讲解视频)
仿真图proteus7.8及以上
程序编译器:keil 4/keil 5
编程语言:C语言
设计编号:S0064
💥1. 主要功能:
基于51单片机AT89C51/52(与AT89S51/52、AT89C51/52、STC89C51/52等51内核单片机通用)
基于51单片机水位监测控制报警仿真设计
1、监测并通过数码管显示当前水位;
2、利用电机模拟水泵,具有蜂鸣器,显示灯等装置;
3、带有水位上下限设置功能,低于水位下限加水,高于上限停止加水;
4、当前水位高于水位上限蜂鸣器报警,并抽水,水泵抽水时显示灯亮,抽到水位上限时则停止抽水;
需注意仿真中51单片机芯片是兼容的,AT89C51,AT89C52是51单片机的具体型号,内核是一样的。相同的原理图里,无论stc还是at都一样,引脚功能都是一样的,程序是兼容的,芯片可以替换为STC89C52/STC89C51/AT89C52/AT89C51等51单片机芯片。
💥2. 讲解视频:
讲解视频包含仿真运行讲解和代码讲解
💥3. 仿真
打开仿真工程,双击proteus中的单片机,选择hex文件路径,然后开始仿真。开始仿真后,数码管显示水位,如果水位偏高,偏高指示灯亮红色
当前水位高于水位上限蜂鸣器报警,并抽水,水泵抽水时显示灯亮,抽到水位上限时则停止抽水;
💥4. 程序代码
使用keil4或者keil5编译,代码有注释,可以结合报告理解代码含义。
main.c
#include "reg51.h"
#include <PCF8591.h>
#define uchar unsigned char
#define uint unsigned int
sbit out=P3^3;//抽水机
sbit led1=P3^6;//指示灯
sbit led2=P3^7;
sbit smg1=P2^0;//数码管
sbit smg2=P2^1;
sbit smg3=P2^2;
sbit smg4=P2^3;
sbit k1=P1^0;//按钮
sbit k2=P1^1;
sbit k3=P1^2;
sbit k4=P1^3;
sbit k5=P1^4;
sbit beep=P1^7;//蜂鸣器
uchar time=0,mode=0;//系统变量
uchar water=0;//水位
uchar lim1=40,lim2=60;//阀值
uchar key=0;
uchar code smgduan[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//显示0~9,无小数点
//延时
部分函数,工程文件压缩包解压后即可获取
void delay(uint i)
{while(i--);
}//按键检测
uchar key_scan()
{uchar i=0;if(!k1 &&(key!=1)){key=1;i=1;}if(!k2 &&(key!=2)){key=2;i=2;}if(!k3 &&(key!=3)){key=3;i=3;}if(!k4 &&(key!=4)){key=4;i=4;}if(!k5 &&(key!=5)){key=5;i=5;}if(k1 && k2 && k3 && k4 && k5 )key=0;return i;
}
//主函数
void main()
{uchar i=0,k=0;TMOD|=0X01;TH0=0X3C;TL0=0XB0; ET0=1;//打开定时器0中断允许EA=1;//打开总中断TR0=1;//打开定时器while(1){i=key_scan();//按键检测//设置按钮if(i==2){mode=1;}if(i==1){mode=2;}if(mode==1)//设置下限{if(i==4){if(lim1<lim2)lim1++;}if(i==5){if(lim1>0)lim1--;}}if(mode==2)//设置上限{if(i==4){if(lim2<100)lim2++;}if(i==5){if(lim2>lim1)lim2--;}}if(i==3)//OK{mode=0;}//点亮LEDif(water<lim1)//水位低{led1=0;led2=1;}else if(water>lim2)//水位高{led1=1;led2=0;}else{led1=1;led2=1;}//显示水位if(mode==0){P0=smgduan[water/100]; smg2=0;delay(100);smg2=1;P0=smgduan[water%100/10]; smg3=0;delay(100);smg3=1;P0=smgduan[water%10]; smg4=0;delay(100);smg4=1;}//显示下限if(mode==1){P0=0x38; smg1=0;delay(100);smg1=1;P0=smgduan[lim1/100]; smg2=0;delay(100);smg2=1;P0=smgduan[lim1%100/10]; smg3=0;delay(100);smg3=1;P0=smgduan[lim1%10]; smg4=0;delay(100);smg4=1;}//显示上限if(mode==2){P0=0x76; smg1=0;delay(100);smg1=1;P0=smgduan[lim2/100]; smg2=0;delay(100);smg2=1;P0=smgduan[lim2%100/10]; smg3=0;delay(100);smg3=1;P0=smgduan[lim2%10]; smg4=0;delay(100);smg4=1;}}
}
//定时器中断
void Timer0() interrupt 1
{if(time<10)//0.5stime++;else{time=0;water=PCF8591_read(0);//测量水位
// water=water*5.0/255; //抽水控制if(mode==0)//自动模式{if(water<lim1)//抽水{out=0;beep=0;}elsebeep=1;if(water>lim2)//停止抽水out=1;}}TH0=0X3C;TL0=0XB0;
}
💥5. 设计报告
4909字设计报告,内容包括硬件设计、软件设计、软硬件框图、调试、结论等
💥6. 设计资料内容清单&&下载链接
资料设计资料包括仿真,程序代码、讲解视频、功能要求、设计报告、软硬件设计框图等。
0、常见使用问题及解决方法–必读!!!!
0、常见使用问题及解决方法–必读!!!!
1、仿真图
2、程序源码
3、功能要求
4、开题报告
5、软硬件流程框图
6、讲解视频
7、设计报告
Altium Designer 安装破解
filename.bat
KEIL+proteus 单片机仿真设计教程
KEIL安装破解
Proteus元器件查找
Proteus安装
Proteus简易使用教程
单片机学习资料
相关数据手册
答辩技巧
设计报告常用描述
鼠标双击打开查找嘉盛单片机51 STM32单片机课程毕业设计.url
💥资料下载链接:
相关文章:

基于51单片机水位监测控制报警仿真设计( proteus仿真+程序+设计报告+讲解视频)
这里写目录标题 💥1. 主要功能:💥2. 讲解视频:💥3. 仿真💥4. 程序代码💥5. 设计报告💥6. 设计资料内容清单&&下载链接💥[资料下载链接:](https://doc…...

git基本用法和操作
文章目录 创建版本库方式:Git常用操作命令:远程仓库相关命令分支(branch)操作相关命令版本(tag)操作相关命令子模块(submodule)相关操作命令忽略一些文件、文件夹不提交其他常用命令 创建版本库方式: 创建文件夹 在目录下 右键 Git Bush H…...

设计模式-组合模式-笔记
“数据结构”模式 常常有一些组件在内部具有特定的数据结构,如果让客户程序依赖这些特定数据结构,将极大地破坏组件的复用。这时候,将这些特定数据结构封装在内部,在外部提供统一的接口,来实现与特定数据结构无关的访…...

Android 弹出自定义对话框
Android在任意Activity界面弹出一个自定义的对话框,效果如下图所示: 准备一张小图片,右上角的小X图标64*64,close_icon.png,随便找个小图片代替; 第一步:样式添加,注意:默认在value…...

(论文阅读40-45)图像描述1
40.文献阅读笔记(m-RNN) 简介 题目 Explain Images with Multimodal Recurrent Neural Networks 作者 Junhua Mao, Wei Xu, Yi Yang, Jiang Wang, Alan L. Yuille, arXiv:1410.1090 原文链接 http://arxiv.org/pdf/1410.1090.pdf 关键词 m-RNN、…...

4核8G服务器价格选择轻量还是CVM合适?
腾讯云服务器4核8G配置优惠价格表,轻量应用服务器和CVM云服务器均有活动,云服务器CVM标准型S5实例4核8G配置价格15个月1437.3元,5年6490.44元,轻量应用服务器4核8G12M带宽一年446元、529元15个月,腾讯云百科txybk.com分…...

Selenium操作已经打开的Chrome浏览器窗口
Selenium操作已经打开的Chrome浏览器窗口 0. 背景 在使用之前的代码通过selenium操作Chrome浏览器时,每次都要新打开一个窗口,觉得麻烦,所以尝试使用 Selenium 获取已经打开的浏览器窗口,在此记录下过程 本文使用 chrome浏览器来…...
创新研报|新业务发展是CEO推动企业增长的必要选择 – Mckinsey研究
🔍📈 创新研究报告 |新业务拓展:CEO推动企业成长的必然选择 – 麦肯锡研究 🔥💼 所有执行长和商界领袖请注意!您是否正在寻找为您的组织释放成长机会的钥匙? 🌐 麦肯锡最近的一份研究…...

rv1126-rv1109-openssh
这是一个工具,可以通过ssh远程登录来操作,非常逆天! 于是rv1109代码自身自带有openssh 所以只需要打开config即可 diff --git a/buildroot/configs/rockchip_rv1126_rv1109_spi_nand_defconfig b/buildroot/configs/rockchip_rv1126_rv1109…...
MySQL中json类型,你使用过吗
在最近的项目开发过程中,遇到了消息发送内容以Map形式存储的情况。最初的解决方案是将对象转换为字符串,并存储在MySQL的varchar(3000)字段中。然而,由于对存储空间的限制,不得不寻找其他解决方案。在调研中发现,从MyS…...

MATLAB 状态空间设计 —— LQG/LQR 和极点配置算法
系列文章目录 文章目录 系列文章目录前言一、相关函数 —— LQG/LQR 和极点配置算法1.1 LQR —— lqr 函数1.1.1 函数用法1.1.2 举例1.1.2.1 倒摆模型的 LQR 控制 1.2 LQG —— lqg() 函数1.2.1 函数用法1.2.2 举例 1.3 极点配置 —— place() 函数1.3.1 函数用法1.3.2 示例1.3…...

杭州-区块链前瞻性论坛邀请函
2023密码与安全前瞻性论坛邀请函 生成合法节点或非法节点,测试共识协议...

ElasticSearch学习篇6_ES实践与Lucene对比及原理分析技术分享小记
前言 QBM、MFS的试题检索、试题查重、公式转换映射等业务场景以及XOP题库广泛使用搜索中间件,业务场景有着数据量大、对内容搜索性能要求高等特点,其中XOP题库数据量更是接近1亿,对检索性能以及召回率要求高。目前QBM、MFS使用的搜索中间件是…...

mysql练习1
-- 1.查询出部门编号为BM01的所有员工 SELECT* FROMemp e WHEREe.deptno BM01; -- 2.所有销售人员的姓名、编号和部门编号。 SELECTe.empname,e.empno,e.deptno FROMemp e WHEREe.empstation "销售人员";-- 3.找出奖金高于工资的员工。 SELECT* FROMemp2 WHE…...

【2017年数据结构真题】
请设计一个算法,将给定的表达式树(二叉树)转换成等价的中缀表达式(通过括号反映次序),并输出。例如,当下列两棵表达式树作为算法的输入时: 输出的等价中缀表达式分别为(ab)(a(-d)) 和…...

神辅助 Cursor 编辑器,加入 GPT-4 让编码更轻松!
分类 互联网 在 ChatGPT 问世之前,我们的编码方式很多时候都是面向搜索引擎编码,需要不断地进行搜索,然后复制粘贴,俗称复制粘贴工程师。 但是,随着ChatGPT的出现,这一切将彻底改变。 ChatGPT 是一种基于…...

解决Qt5.13.0无MySQL驱动问题
一、前言 由于Qt5.12.3是最后提供mysql数据库插件的版本,往后的版本需要自行编译对应的mysql数据库插件,官方安装包不再提供。使用高版本的Qt就需要自行编译mysql驱动。 若没有编译在QT中调用Qsqldatabase库连接mysql时,提示出现如下问题&a…...

YOLOv8改进 | 如何在网络结构中添加注意力机制、C2f、卷积、Neck、检测头
一、本文介绍 本篇文章的内容是在大家得到一个改进版本的C2f一个新的注意力机制、或者一个新的卷积模块、或者是检测头的时候如何替换我们YOLOv8模型中的原有的模块,从而用你的模块去进行训练模型或者检测。因为最近开了一个专栏里面涉及到挺多改进的地方ÿ…...
记录一个困难
Mysql加插件 create table tb_xuesheng1 as select * from tb_xuesheng; 会报如下错误 SQL 错误 [3185] [HY000]: Cant find master key from keyring, please check in the server log if a keyring is loaded and initialized successfully.当我去搜寻答案网上都说缺少插件…...

Linux 进程管理 实时调度类及SMP和NUMA
文章目录 一、 实时调度类分析1.1 实时调度实体sched_rt_entity数据结构1.2 实时调度类rt_sched_class数据结构1.3 实时调度类功能函数 二、SMP和NUMA2.1 SMP(多对称处理器结构,UMA)2.2 NUMA(非一致内存访问结构)2.3 C…...

idea大量爆红问题解决
问题描述 在学习和工作中,idea是程序员不可缺少的一个工具,但是突然在有些时候就会出现大量爆红的问题,发现无法跳转,无论是关机重启或者是替换root都无法解决 就是如上所展示的问题,但是程序依然可以启动。 问题解决…...

C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...
C++:std::is_convertible
C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...
spring:实例工厂方法获取bean
spring处理使用静态工厂方法获取bean实例,也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下: 定义实例工厂类(Java代码),定义实例工厂(xml),定义调用实例工厂ÿ…...
什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南
文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果
MySQL:分区的基本使用
目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区(Partitioning)是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分(分区)可以独立存储、管理和优化,…...

从“安全密码”到测试体系:Gitee Test 赋能关键领域软件质量保障
关键领域软件测试的"安全密码":Gitee Test如何破解行业痛点 在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的"神经中枢"。从国防军工到能源电力,从金融交易到交通管控,这些关乎国计民生的关键领域…...

【C++】纯虚函数类外可以写实现吗?
1. 答案 先说答案,可以。 2.代码测试 .h头文件 #include <iostream> #include <string>// 抽象基类 class AbstractBase { public:AbstractBase() default;virtual ~AbstractBase() default; // 默认析构函数public:virtual int PureVirtualFunct…...
云原生周刊:k0s 成为 CNCF 沙箱项目
开源项目推荐 HAMi HAMi(原名 k8s‑vGPU‑scheduler)是一款 CNCF Sandbox 级别的开源 K8s 中间件,通过虚拟化 GPU/NPU 等异构设备并支持内存、计算核心时间片隔离及共享调度,为容器提供统一接口,实现细粒度资源配额…...