基于51单片机点滴输液控制系统LCD显示( proteus仿真+程序+设计报告+讲解视频)

基于51单片机点滴输液控制系统LCD显示

  • 1. 主要功能:
  • 2. 讲解视频:
  • 3. 仿真设计
  • 4. 程序代码
  • 5. 设计报告
  • 6. 设计资料内容清单&&下载链接

基于51单片机点滴输液控制系统LCD显示( proteus仿真+程序+设计报告+讲解视频)

仿真图proteus7.8及以上

程序编译器:keil 4/keil 5

编程语言:C语言

设计编号:S0081

1. 主要功能:

基于51单片机的点滴输液控制系统proteus仿真设计

(1)设计一个光电传感器检测点滴速度;

(2)检测点滴速度,并与预定速度值比较,电机转动调整,使点滴速度能够稳定在预定速度值。

(3)自动调整吊瓶时间小于3分钟,误差范围为预定速度值的10%;

(4)点滴设定范围20~160滴/分钟

(5)吊瓶中的液体高度低于3厘米时能发出报警声音

需注意仿真中51单片机芯片是兼容的,AT89C51,AT89C52是51单片机的具体型号,内核是一样的。相同的原理图里,无论stc还是at都一样,引脚功能都是一样的,程序是兼容的,芯片可以替换为STC89C52/STC89C51/AT89C52/AT89C51等51单片机芯片。

img

以下为本设计资料展示图:

2. 讲解视频:

讲解视频包含仿真运行讲解和代码讲解

基于51单片机吊瓶点滴输液控制系统(proteus仿真+程序+报告+讲解)

3. 仿真设计

打开仿真工程,双击proteus中的单片机,选择hex文件路径,然后开始仿真。开始仿真后数码管显示当前速度,设置速度,当前液位和运行状态。

img

系统实时检测点滴速度,并与预定速度值比较,通过电机调整吊瓶高度,使点滴速度能够稳定在预定速度值。

img

吊瓶中的液体高度低于3厘米时能发出报警声音。液体停滴时能发出报警声音。img

可以通过按键调整预设滴速大小。

4. 程序代码

使用keil4或者keil5编译,代码有注释,可以结合视频理解代码含义。

#include "reg51.h"
#include "ADC0832.h"
#include "lcd1602.h"
完整代码见文章后面下载压缩
#define uchar unsigned char
#define uint unsigned int
sbit k1=P1^4;//按钮
sbit k2=P1^5;
sbit k3=P1^6;
sbit k4=P1^7;
sbit beep=P2^3;//蜂鸣器
sbit AA=P3^4;
sbit BB=P3^5;
sbit CC=P3^6;
sbit DD=P3^7;
uint time=0,sec=0;//系统变量
uchar flag=0;//测量控制
uchar high=0,speed=0,set=80;//液位+速度
uint sudu=0;
uchar disp1[]="sudu:000 set:000";//速度+设置
uchar disp2[]="H:000cm";
uchar start=0;
//主函数
void main()
{
	init_1602();
	//设置INT0
	IT0=1;//跳变沿出发方式(下降沿)
	EX0=1;//打开INT0的中断允许。	
	TMOD|=0X01;
	TH0=0XFC;
	TL0=0X18;	
	ET0=1;//打开定时器0中断允许
	EA=1;//打开总中断
	TR0=1;//打开定时器
	while(1)
	{
		//按键检测
		if(!k1)
			start=1;
		if(!k2)
			start=0;
		if(!k3)
		{
			if(set<160)
				set++;
			while(!k3);
		}
		if(!k4)
		{
			if(set>20)
				set--;
			while(!k4);
		} 
	}
}

//定时器中断
void Timer0() interrupt 1
{
	if(time<500)//0.5s
		time++;
	else
	{
		time=0;
		high=ADC(1);//液位
		//报警
		if(start==1)
		{
		if((high<4)&&(high>1))//2-3cm
			beep=!beep;
		else
		{
			if((high<2)||(speed<10))//停滴
				beep=0;
			else
				beep=1;
		}
		}
		else
			beep=1;
		//显示
		disp2[2]=high/100+0x30;
		disp2[3]=high%100/10+0x30;
		disp2[4]=high%10+0x30;
		write_string(2,0,disp2);
		disp1[5]=speed/100+0x30;
		disp1[6]=speed%100/10+0x30;
		disp1[7]=speed%10+0x30;
		disp1[13]=set/100+0x30;
		disp1[14]=set%100/10+0x30;
		disp1[15]=set%10+0x30;
		write_string(1,0,disp1);
		if(start)
			write_string(2,12,"run ");
		else
			write_string(2,12,"stop");
	}
	//速度计时
	if(sudu<10000)
		sudu++;
	if(start==1)
	{
	if(sec<50)//高度控制
		sec++;
	else
	{
		sec=0;
	if(speed<set-2)	 //正转
	{	
		switch(flag)
		{
			case 0:BB=1;break;
			case 1:AA=0;break;
			case 2:CC=1;break;
			case 3:BB=0;break;
			case 4:DD=1;break;
			case 5:CC=0;break;
			case 6:AA=1;break;
			case 7:DD=0;
		}
		if(flag<7)//下一个状态
			flag++;
		else
			flag=0;
	}
	if(speed>set+2)	 //反转
	{	
		switch(flag)
		{
			case 0:DD=1;break;
			case 1:AA=0;break;
			case 2:CC=1;break;
			case 3:DD=0;break;
			case 4:BB=1;break;
			case 5:CC=0;break;
			case 6:AA=1;break;
			case 7:BB=0;
		}
		if(flag<7)//下一个状态
			flag++;
		else
			flag=0;
	}
	}
	}
	TH0=0XFC;
	TL0=0X18;
}
void Int0()	interrupt 0		//外部中断0的中断函数
{
	unsigned long i=0;
	if(sudu==0)	//计算速度
		sudu=10000;
	i=60000/sudu;
	sudu=0;
	if(i<200)
		speed=i;
	else
		speed=200;
}

5. 设计报告

8485字设计报告,内容包括硬件设计、软件设计、软硬件框图、调试等

img

随着现代医疗技术的飞速进步与智能化医疗设备在临床实践中的日益普及,智能点滴输液控制系统已经从理想化的概念逐步发展成为提升医疗服务质量和效率的关键工具。这一系统不仅能够实现对静脉输液过程的高度自动化控制,还通过精密传感和实时监控技术确保了治疗过程中点滴速度的精确稳定,从而极大地降低了因输液过快或过慢导致的患者不适甚至并发症的风险,为病患的生命安全提供了坚实保障。

同时,智能点滴输液控制系统还能有效减轻医护人员的工作强度和心理压力。传统的输液管理方式需要医护人员频繁巡查、手动调整滴速以及及时响应输液结束等突发情况,而智能化系统的应用使得这些任务得以自动化执行,减少了人为干预可能带来的误差,并能及时发出警报,使医护人员可以将更多精力投入到其他直接关乎病人病情评估和护理质量改善的核心工作中去。

6. 设计资料内容清单&&下载链接

资料设计资料包括仿真,程序代码、讲解视频、功能要求、设计报告、软硬件设计框图等。

0、常见使用问题及解决方法–必读!!!!

1、程序

2、proteus仿真

3、功能要求

4、软硬件流程图

5、开题报告

6、设计报告

7、讲解视频

Altium Designer 安装破解

KEIL+proteus 单片机仿真设计教程

KEIL安装破解

MQ-7.pdf

Proteus元器件查找

Proteus安装

Proteus简易使用教程

单片机学习资料

相关数据手册

答辩技巧

设计报告常用描述

鼠标双击打开查找嘉盛单片机51 STM32单片机课程毕业设计.url

img

资料下载链接(可点击):

https://docs.qq.com/doc/DS1ZUVWhoRm9jZGZD

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/552943.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于开源IM即时通讯框架MobileIMSDK:RainbowChat v11.5版已发布

关于MobileIMSDK MobileIMSDK 是一套专门为移动端开发的开源IM即时通讯框架&#xff0c;超轻量级、高度提炼&#xff0c;一套API优雅支持UDP 、TCP 、WebSocket 三种协议&#xff0c;支持iOS、Android、H5、小程序、Uniapp、标准Java平台&#xff0c;服务端基于Netty编写。 工…

09 SQL进阶 -- SQL高级处理 -- 窗口函数等

1. 窗口函数 1.1 窗口函数概念及基本的使用方法 窗口函数也称为 OLAP 函数。OLAP 是 OnLine AnalyticalProcessing 的简称,意思是对数据库数据进行实时分析处理。 为了便于理解,称之为窗口函数。常规的 SELECT 语句都是对整张表进行查询,而窗口函数可以让我们有选择的去某…

创建一个javascript公共方法的npm包,js-tool-big-box,发布到npm上,一劳永逸

前端javascript的公共方法太多了&#xff0c;时间日期的&#xff0c;数值的&#xff0c;字符串的&#xff0c;搞复制的&#xff0c;搞网络请求的&#xff0c;搞数据转换的&#xff0c;几乎就是每个新项目&#xff0c;有的拷一拷&#xff0c;没有的继续写&#xff0c;放个utils目…

每日一题---OJ题: 用队列实现栈

片头 嗨! 小伙伴们,大家好! 今天我们一起来看看这道OJ题---用队列实现栈,话不多说,我们马上开始~ emmm,题目看似有点长,我们一起来分析分析! 我们都知道,栈的特点是后进先出(Last In First Out,简称 LIFO ),队列的特点是先进先出(First In First Out 简称 FIFO),明明两者的性…

【记录】Python|Selenium 下载 PDF 不预览不弹窗(2024年)

版本&#xff1a; Chrome 124Python 12Selenium 4.19.0 版本与我有差异不要紧&#xff0c;只要别差异太大比如 Chrome 用 57 之前的版本了&#xff0c;就可以看本文。 如果你从前完全没使用过、没安装过Selenium&#xff0c;可以参考这篇博客《【记录】Python3&#xff5c;Sele…

求π的近似值(C语言)

一、N-S流程图&#xff1b; 二、运行结果&#xff1b; 三、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h> # include <math.h>int main() {//初始化变量值&#xff1b;int symbol 1;double denominator 1.0, sum 0, term 1.0;//循…

Excel文件解析(Java)

一、概述 在应用程序的开发过程中&#xff0c;经常需要使用 Excel文件来进行数据的导入或导出。所以&#xff0c;在通过Java语言实现此类需求的时候&#xff0c;往往会面临着Excel文件的解析(导入&#xff09;或生成&#xff08;导出)。 在Java技术生态圈中&#xff0c…

JVM运行时内存溢出以及解决办法

JVM有哪些运行时数据区 JVM运行时数据区有程序计数器、本地方法栈虚拟机栈、堆、元数据区、直接内存。 其中只有程序计数器不是内存溢出&#xff0c;其他的都有可能会产生内存溢出。 栈内存溢出 当方法的调用深度过深&#xff0c;可能会导致栈内存溢出。 一般是发生在递归调…

Elasticsearch:如何将 MongoDB 数据引入 Elastic Cloud

作者&#xff1a;Hemendra Singh Lodhi Elastic Cloud 是由 Elastic 提供的基于云的托管服务。Elastic Cloud 允许客户在亚马逊网络服务 (AWS)、谷歌云平台 (GCP) 和微软 Azure 上部署、管理和扩展他们的 Elasticsearch 集群。 MongoDB 是一种流行的 NoSQL 文档导向数据库&am…

IDEA最好用插件推荐

1 背景 俗话说&#xff1a;“工欲善其事必先利其器”&#xff0c;本问介绍几款强大实用的 IDEA 插件&#xff0c;助力大家开发。 希望大家做一个聪明又努力的人&#xff0c;而不只是一个努力的人。 以下插件大都可以通过 IDEA 自带的插件管理中心安装&#xff0c;如果搜不到可以…

算法|最大堆、最小堆和堆排序的实现(JavaScript)

一些概念 堆&#xff1a;特殊的完全二叉树&#xff0c;具有特定性质的完全二叉树。大根堆&#xff1a;父节点 > 子节点小根堆&#xff1a;父节点 < 子节点 二叉堆也属于完全二叉树&#xff0c;所以可以用数组表示。 若下标从1开始&#xff0c;左节点为 2*i &#xff0…

类和对象-封装-设计案例1-立方体类

#include<bits/stdc.h> using namespace std; class Cube{public://设置长void setL(int l){m_Ll;} //获取长int getL(){return m_L;}//设置宽 void setW(int w){m_Ww;}//获取宽 int getW(){return m_W;}//设置高 void setH(int h){m_Hh;}//获取高int getH(){return m_H;…

【机器学习300问】72、神经网络的隐藏层数量和各层神经元节点数如何影响模型的表现?

评估深度学习的模型的性能依旧可以用偏差和方差来衡量。它们反映了模型在预测过程中与理想情况的偏离程度&#xff0c;以及模型对数据扰动的敏感性。我们简单回顾一下什么是模型的偏差和方差&#xff1f; 一、深度学习模型的偏差和方差 偏差&#xff1a;衡量模型预测结果的期望…

JAVAEE—UDP协议TCP协议/三次握手四次挥手

文章目录 UDP协议UDP协议的段格式UDP的传输过程校验和无连接 TCP协议TCP报文的格式段有连接可靠性确认应答超时重传如果ACK丢了呢&#xff1f; 序号和确认序号 连接的构建和断开连接的构建&#xff08;三次握手&#xff09;三次握手的作用为什么握手是三次&#xff0c;而不是四…

微信小程序的常用API ①

前言&#xff1a;什么是微信小程序的API&#xff1f; &#xff08;1&#xff09;微信小程序的API是由宿主环境提供的。通俗来说API是一种接口函数&#xff0c;把函数封装起来给开发者使用&#xff0c;这样好多功能都无需开发者去实现&#xff0c;直接调用即可。 &#xff08;…

工业电脑在ESOP工作站行业应用

ESOP工作站行业应用 项目背景 E-SOP是实现作业指导书电子化&#xff0c;并统一管理和集中控制的一套管理信息平台。信迈科技的ESOP终端是一款体积小巧功能齐全的高性价比工业电脑&#xff0c;上层通过网络与MES系统连接&#xff0c;下层连接显示器展示作业指导书。ESOP控制终…

Covalent Network(CQT)宣布推出面向 Cronos 生态的捐赠计划与 API 积分,为 Web3 创新赋能

为了促进 Web3 领域的创新&#xff0c;Covalent Network&#xff08;CQT&#xff09;宣布将其捐赠计划向 Cronos 生态系统中的开发者拓展。这一战略性举措&#xff0c;旨在通过向 Cronos 网络中基于 Covalent Network&#xff08;CQT&#xff09;API 构建的项目提供支持和资源&…

OpenHarmony实战开发-如何使用Navigation实现多设备适配。

介绍 在应用开发时&#xff0c;一个应用需要适配多终端的设备&#xff0c;使用Navigation的mode属性来实现一套代码&#xff0c;多终端适配。 效果图预览 使用说明 将程序运行在折叠屏手机或者平板上观看适配效果。 实现思路 本例涉及的关键特性和实现方案如下&#xff1a…

高版本Android studio 使用Markdown无法预览(已解决)

目录 概述 解决方法 概述 本人升级Android studio 当前版本为Android Studio Jellyfish | 2023.3.1 RC 2导致Markdown无法预览。 我尝试了很多网上的方法都无法Markdown解决预览问题&#xff0c;包括升级插件、安装各种和Markdown相关的插件及使用“Choose Boot Java Runtim…

Linux 操作系统编译器、静态库、动态库

1、编辑器 1.1、vim的安装 指令&#xff1a;sudo apt-get install vim 1.2 vim的使用 格式&#xff1a;vim 文件名 如果文件存在&#xff0c;只打开&#xff0c;文件不存在&#xff0c;创建并打开 vim的4中模式&#xff1a; 命令模式&#xff0c;插入模式&#xff0c;地行模…
最新文章