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

server/2024/9/20 7:26:54/ 标签: 51单片机, 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();//设置INT0IT0=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.5stime++;else{time=0;high=ADC(1);//液位//报警if(start==1){if((high<4)&&(high>1))//2-3cmbeep=!beep;else{if((high<2)||(speed<10))//停滴beep=0;elsebeep=1;}}elsebeep=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 ");elsewrite_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++;elseflag=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++;elseflag=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;elsespeed=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.ppmy.cn/server/6754.html

相关文章

找不到api-ms-win-crt-runtime-l1-1-0.dll文件5种解决方法

在日常使用计算机的过程中&#xff0c;我们时常会遭遇各类意想不到的问题&#xff0c;其中之一就是“api-ms-win-crt-runtime-l1-1-0.dll丢失”。这个错误通常发生在Windows操作系统中&#xff0c;它表示一个动态链接库文件丢失或损坏。这个问题可能会导致某些应用程序无法正常…

【软件测试】单元测试+集成测试+系统测试

以下是来自“文心一言”搜索的回答 单元测试 单元测试是软件开发中的一种测试方法&#xff0c;用于对软件中的最小可测试单元进行测试。这些最小单元通常是函数、方法或类等代码片段。单元测试的目的是验证每个单元的代码是否按预期工作&#xff0c;确保其功能正确&#xff0…

C++笔记打卡第14天(文件管理、职工操作系统)

1.文本文件(写文件) 文件类型分为两种&#xff1a; 文本文件&#xff1a;文件以文本的ASCII码形式存储在计算机中二进制文件&#xff1a;文件以文本的二进制形式存储在计算机中&#xff0c;用户一般不能直接读懂它 操作文件的三大类 ofstream&#xff1a;写操作ifstream&am…

【嵌入式学习】ARM day04.17

一、主要逻辑 写入数据&#xff1a; 主机发送起始信号主机发送8bit从机地址1bit写标志&#xff08;0&#xff09;从机回应应答信号主机发送8bit从机的寄存器地址从机回应应答信号主机发送8bit数据从机回应应答主机发送8bit数据从机回应应答主机发起终止信号 读取数据&#x…

原生实现ajax

1 什么是ajax AJAX Asynchronous JavaScript and XML&#xff08;异步的 JavaScript 和 XML&#xff09;。 AJAX 不是新的编程语言&#xff0c;而是一种使用现有标准的新方法。 AJAX 最大的优点是在不重新加载整个页面的情况下&#xff0c;可以与服务器交换数据并更新部分网…

数码摄影色彩构成,数码相机色彩管理

一、资料描述 本套摄影色彩资料&#xff0c;大小58.54M&#xff0c;共有6个文件。 二、资料目录 《抽象彩色摄影集》.阿瑟.pdf 《色彩构成》.pdf 《色彩学》.星云.扫描版.pdf 《摄影色彩构成》.pdf 《数码相机色彩管理》.pdf 数码摄影进阶之4《色彩篇》.pdf 三、资料下…

大坝安全监测GNSS接收机:保障水库安全

大坝安全一直是社会关注的焦点之一。为了及时监测大坝的变形和位移情况&#xff0c;以预防可能发生的危险事故&#xff0c;GNSS接收机成为了不可或缺的仪器之一。本文将详细介绍GNSS接收机在大坝安全监测中的应用及其重要性。 一、GNSS接收机是什么 GNSS全球导航卫星系统&…

Gradle 进阶学习之 文件操作

1、本地文件 在 Gradle 中&#xff0c;Project.file(java.lang.Object) 方法是一个非常有用的工具&#xff0c;它允许你以一种类型安全的方式引用文件。这个方法可以接收一个字符串路径&#xff0c;返回一个 File 对象&#xff0c;这个对象代表的是一个相对于当前项目目录&…

生成对抗网络GAN的扩展应用理解

注&#xff1a;本文仅个人学习理解&#xff0c;如需详细内容请看原论文&#xff01; 一、cycleGAN 1.整体架构&#xff1a; 将图片A通过生成器生成图片B&#xff0c;然后通过判别器判别图片B的真假&#xff1b;并且图片B通过另一个生成器生成A‘&#xff0c;让A和A’近似。 2…

小红书电商运营实战课,从0打造全程实操(65节视频课)

课程内容&#xff1a; 1.小红书的电商介绍 .mp4 2.小红书的开店流程,mp4 3.小红书店铺基础设置介绍 ,mp4 4.小红书店铺产品上架流程 .mp4 5.客服的聊天过程和子账号建立 .mp4 6.店铺营销工具使用和后台活动参加 .mp4 7.小红书产品上架以及拍单教程,mp4 8.小红书如何选品…

自定义类似微信效果Preference

1. 为自定义Preference 添加背景&#xff1a;custom_preference_background.xml <?xml version"1.0" encoding"utf-8"?> <selector xmlns:android"http://schemas.android.com/apk/res/android"><item><shape android:s…

TCP/IP协议—HTTP

TCP/IP协议—HTTP HTTP协议HTTP通讯特点HTTP通讯流程 HTTP请求报文请求方法 HTTP应答报文状态码 HTTP协议 超文本传输协议&#xff08;Hypertext Transfer Protocol&#xff0c;HTTP&#xff09;是一种请求-响应的协议&#xff0c;用户可以通过HTTP向服务器上传、下载数据。HT…

04—常用方法和正则表达式

一、字符串 1.length 属性返回字符串的长度(字符数)。 2.在字符串中查找字符串 indexOf() 字符串使用 indexOf() 来定位字符串中某一个指定的字符首次出现的位置 如果没找到对应的字符函数返回-1 lastIndexOf() 方法在字符串末尾开始查找字符串出现的位置。 3.replace() 方…

C#创建磁性窗体的方法:创建特殊窗体

目录 一、磁性窗体 二、磁性窗体的实现方法 (1)无标题窗体的移动 (2)Left属性 (3)Top属性 二、设计一个磁性窗体的实例 &#xff08;1&#xff09;资源管理器Resources.Designer.cs设计 &#xff08;2&#xff09;公共类Frm_Play.cs &#xff08;3&#xff09;主窗体 …

使用WebSocket实现答题积分排名实时更新的功能

需求分析 接到一个需求&#xff0c;是一个答题积分小程序&#xff0c;其中有一个功能需求是需要实时更新答题积分排名的。之前通常比较常见的需求&#xff0c;都是指定某个时间点才更新答题排行榜的数据的。 经过技术调研&#xff0c;要实现答题积分排名实时更新的功能&#…

docker 安装geoipupdate

前提是docker已安装 一&#xff1a;执行命令&#xff1a; docker run --env-file /usr/local/etc/GeoIP.conf -v /usr/local/GeoIP2:/usr/share/GeoIP ghcr.io/maxmind/geoipupdate /usr/local/etc/GeoIP.conf &#xff1a;本地配置的账号&#xff0c;秘钥 GEOIPUPDATE_AC…

k8s安装记录

k8s安装记录 如无特别说明&#xff0c;则该步操作指在所有的机器上执行&#xff01;&#xff01;&#xff01; 如无特别说明&#xff0c;则该步操作指在所有的机器上执行&#xff01;&#xff01;&#xff01; 如无特别说明&#xff0c;则该步操作指在所有的机器上执行&#…

iOS知识点---Runloop

iOS 中的 Runloop 机制是一种事件驱动模型&#xff0c;用于管理和调度线程上的事件&#xff0c;确保线程在有工作要做时保持活跃&#xff0c;无事可做时进入休眠状态以节省系统资源。以下是 Runloop 机制的关键组成部分及其工作原理&#xff1a; 关键组成部分与原理&#xff1…

4 种策略让 MySQL 和 Redis 数据保持一致

先阐明一下 MySQL 和 Redis 的关系&#xff1a;MySQL 是数据库&#xff0c;用来持久化数据&#xff0c;一定程度上保证数据的可靠性&#xff1b;Redis 是用来当缓存&#xff0c;用来提升数据访问的性能。 关于如何保证 MySQL 和 Redis 中的数据一致&#xff08;即缓存一致性问…

过拟合与欠拟合

过拟合与欠拟合 过拟合有较为明显的对比可以判断&#xff0c;但欠拟合却是不容易判断的。 训练集效果很好&#xff0c;测试集效果变差&#xff0c;在保证训练集与测试集样本分布一致的情况下&#xff0c;很容易得出过拟合的结论。 欠拟合不太容易通过这种直接的对比来判断。 …