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

本文主要是介绍基于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();//设置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

这篇关于基于51单片机点滴输液控制系统LCD显示( proteus仿真+程序+设计报告+讲解视频)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/913013

相关文章

Python Transformers库(NLP处理库)案例代码讲解

《PythonTransformers库(NLP处理库)案例代码讲解》本文介绍transformers库的全面讲解,包含基础知识、高级用法、案例代码及学习路径,内容经过组织,适合不同阶段的学习者,对... 目录一、基础知识1. Transformers 库简介2. 安装与环境配置3. 快速上手示例二、核心模

将Java程序打包成EXE文件的实现方式

《将Java程序打包成EXE文件的实现方式》:本文主要介绍将Java程序打包成EXE文件的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录如何将Java程序编程打包成EXE文件1.准备Java程序2.生成JAR包3.选择并安装打包工具4.配置Launch4

Java程序进程起来了但是不打印日志的原因分析

《Java程序进程起来了但是不打印日志的原因分析》:本文主要介绍Java程序进程起来了但是不打印日志的原因分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java程序进程起来了但是不打印日志的原因1、日志配置问题2、日志文件权限问题3、日志文件路径问题4、程序

C++ vector的常见用法超详细讲解

《C++vector的常见用法超详细讲解》:本文主要介绍C++vector的常见用法,包括C++中vector容器的定义、初始化方法、访问元素、常用函数及其时间复杂度,通过代码介绍的非常详细,... 目录1、vector的定义2、vector常用初始化方法1、使编程用花括号直接赋值2、使用圆括号赋值3、ve

SpringBoot实现微信小程序支付功能

《SpringBoot实现微信小程序支付功能》小程序支付功能已成为众多应用的核心需求之一,本文主要介绍了SpringBoot实现微信小程序支付功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作... 目录一、引言二、准备工作(一)微信支付商户平台配置(二)Spring Boot项目搭建(三)配置文件

基于Python和MoviePy实现照片管理和视频合成工具

《基于Python和MoviePy实现照片管理和视频合成工具》在这篇博客中,我们将详细剖析一个基于Python的图形界面应用程序,该程序使用wxPython构建用户界面,并结合MoviePy、Pill... 目录引言项目概述代码结构分析1. 导入和依赖2. 主类:PhotoManager初始化方法:__in

Java调用C++动态库超详细步骤讲解(附源码)

《Java调用C++动态库超详细步骤讲解(附源码)》C语言因其高效和接近硬件的特性,时常会被用在性能要求较高或者需要直接操作硬件的场合,:本文主要介绍Java调用C++动态库的相关资料,文中通过代... 目录一、直接调用C++库第一步:动态库生成(vs2017+qt5.12.10)第二步:Java调用C++

Python基础文件操作方法超详细讲解(详解版)

《Python基础文件操作方法超详细讲解(详解版)》文件就是操作系统为用户或应用程序提供的一个读写硬盘的虚拟单位,文件的核心操作就是读和写,:本文主要介绍Python基础文件操作方法超详细讲解的相... 目录一、文件操作1. 文件打开与关闭1.1 打开文件1.2 关闭文件2. 访问模式及说明二、文件读写1.

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优