【毕业设计】基于单片机的智能输液监测系统设计-详细说明书、原理图、仿真工程、源代码和物料清单

【毕业设计】80-基于单片机的智能输液监测系统设计(详细说明书+原理图工程+仿真工程+源代码+物料清单)

功能需求:

(1)设计一个光电传感器,置于一次性输液器的漏斗外边。
(2)检测点滴速度,并与预定速度值比较,调整吊瓶高度,使点滴速度能够稳定在预定速度值。
(3)自动调整吊瓶时间小于3分钟,误差范围为预定速度值的干10%
(4)点滴设定范围20~160滴/分钟
2、发挥部分
(1)吊瓶中的液体高度尚存2~3厘米时能发出报警声音(2)液体停滴时能发出报警声音

本次设计是基于单片机的智能输液监测系统设计。此系统使用单片机作为主控。通过单片机的控制系统可以使用在各种工业的环境中。即使在强干扰的环境也可以稳定的运行,所以对于单片机控制系统的研究有着深远的意义。
本设计第一章主要讲述了基于单片机的智能输液监测系统设计的现状、通过对于目前社会中使用的输液监测系统的使用调查、功能介绍、以及对于当前输液监测的看法、同类产品使用过程中遇到的问题。针对与目前对于输液监测系统的使用场景分析。第二章主要讲述了单片机的智能输液监测系统设计实现方案分析,是否可以满足目前设计的要求,根据设计要求来对元器件选型,驱动电路选择。绘制出大概的设计框架。第三章主要讲述了单片机的智能输液监测系统设计的硬件设计,分别对单片机的最小系统;按键模块、报警模块、LCD1602显示模块、ADC采集模块、电机驱动模块电路原理讲解、分析,最后并对整个电路进行了总结。第四章主要讲述了单片机的智能输液监测系统设计的软件设计,编程软件Keil进行了详细的介绍,编写单个模块的程序流程,通过流程图来对程序编写,按键模块、、LCD1602显示模块、蜂鸣器模块、ADC采集模块、LED显示模块程序。第五章主要讲述了单片机的智能输液监测系统设计的仿真实现,通过Proteus软件对系统仿真,并验证所设计的功能是否满足要求。
在最后也对整个系统做了详细的测试记录,通过测试验证各个模块的功能是否实现,并做好记录,再对系统分析是否存在需要改进的地方,并对系统总结最后达到自己想要的设计成果。

资料包含:

详细说明书(1.8W字以上配套说明书)
原理图工程
仿真工程
源代码
物料清单

目 录

前 言 1
第一章 绪论 2
第一节 研究背景 2
第二节 研究意义 2
第三节 国内外研究现状 3
第四节 本文的主要研究内容 3
第五节 本章小结 4
第二章 智能输液监测系统设计方案分析 5
第一节 系统设计方案需求 5
第二节 物料选型 5
一、人机交互方案选择 5
二、步进电机驱动方案选择 5
三、显示器方案选择 6
第三节 系统结构总框图 7
第四节 本章小结 8
第三章 智能输液监测系统设计硬件电路设计 9
第一节 单片机最小系统模块设计 9
一、单片机的简介 9
二、复位电路设计 10
三、晶振电路设计 10
第二节 光电传感器电路设计 11
第三节 按键电路设计 12
第四节 步进电机及驱动电路设计 13
第五节 LCD液晶显示电路设计 13
第六节 蜂鸣器报警电路设计 14
第七节 系统总电路图 16
第八节 本章小结 16
第四章 智能输液监测系统设计的软件设计 18
第一节 Keil软件介绍 18
第二节 软件总设计 18
第三节 按键模块程序设计 19
第四节 蜂鸣器模块程序设计 20
第五节 电机控制模块程序设计 21
第六节 液位高度传感器模块程序设计 21
第七节 本章小结 23
第五章 智能输液监测系统的仿真 24
第一节 仿真软件介绍 24
第二节 功能仿真并分析 24
一、仿真总电路 24
二、系统功能仿真 25
第三节 本章小结 27
结 论 28
致 谢 29
参考文献 30
附 录 32
一、英文原文 32
二、英文翻译 34
三、工程图纸 36
四、源程序 37

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

#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;
}
\

作者:叫我Eric

物联沃分享整理
物联沃-IOTWORD物联网 » 【毕业设计】基于单片机的智能输液监测系统设计-详细说明书、原理图、仿真工程、源代码和物料清单

发表评论