【Proteus仿真】【51单片机】医用血压测量仪设计


一、主要功能

本项目使用Proteus8仿真51单片机控制器,使用OLED12864液晶模块、PCF8591 AD模块、按键、电机等。

主要功能:
系统运行后,OLED显示开机显示界面。可通过K1键开始测量血压,气泵阀开启,一段时间后停止,开始测量高压和低压,并将测量值显示在OLED,并且显示当前血压状态。
主要功能如下:
1、OLED显示血压
2、血压高压测量
3、血压低压测量
4、血压状态显示


二、硬件资源

1、51单片机核心模块
2、OLED12864液晶模块
3、按键、电机模块
4、PCF8591 AD模块


三、软件设计

/*
作者:嗨小易(QQ:3443792007)
*/

//定义结构体
_sys_ctrl sys_ctrl;


//系统参数设置
void sys_parm_set(void)
{
	//开始/停止
	while(KEY1==1);
	//清除高压显示值
	OLED_ShowString(48,3,"   ",16);
	//清除低压显示值
	OLED_ShowString(48,6,"   ",16);
	//清除血压状态
	OLED_ShowString(16*6,6,"    ",16);

	if(KEY1==0)
	{
		delay_ms(10);
		if(KEY1==0)
		{
			QPF_PIN=0;//开启气泵
			sys_ctrl.flag=1;
			delay_ms(1000);
			QPF_PIN=1;//关闭气泵	
		}
	}

}

//系统数据显示
void sys_data_show(void)
{
	u8 buf[4];

	while(1)
	{
		//采集高压值显示
		buf[0]=sys_ctrl.xy_hval/100+0x30;
		if(buf[0]==0x30)buf[0]=' ';
		buf[1]=sys_ctrl.xy_hval%100/10+0x30;
		buf[2]=sys_ctrl.xy_hval%100%10+0x30;
		buf[3]='\0';
		OLED_ShowString(48,3,buf,16);

		//采集低压值显示
		buf[0]=sys_ctrl.xy_lval/100+0x30;
		if(buf[0]==0x30)buf[0]=' ';
		buf[1]=sys_ctrl.xy_lval%100/10+0x30;
		buf[2]=sys_ctrl.xy_lval%100%10+0x30;
		buf[3]='\0';
		OLED_ShowString(48,6,buf,16);

		break;	
	}		
}

//系统功能控制
void sys_fun_ctrl(void)
{
	//如果检测高压值高于血压高值1,或者检测低压值高于血压高值2,血压高
	if(sys_ctrl.xy_hval>=XY_HVAL1 || sys_ctrl.xy_lval>=XY_HVAL2)
	{
		OLED_ShowCHinese(16*7,6,5);//高	
	}
	//如果检测高压值低于血压低值1,或者检测低压值低于血压低值2,血压低
	if(sys_ctrl.xy_hval<=XY_LVAL1 || sys_ctrl.xy_lval<=XY_LVAL2)
	{
		OLED_ShowCHinese(16*7,6,6);//低		
	}
	//如果检测高压值低于血压高值1,并且高于血压高值2
	//如果检测低压值低于血压低值1,并且高于血压低值2
	if(sys_ctrl.xy_hval<XY_HVAL1 && sys_ctrl.xy_hval>XY_HVAL2 &&
		sys_ctrl.xy_lval<XY_LVAL1 && sys_ctrl.xy_lval>XY_LVAL2)
	{
		OLED_ShowCHinese(16*6,6,7);//正常
		OLED_ShowCHinese(16*7,6,8);	
	}	
}


//应用控制系统
void appdemo_show(void)
{
	sys_parm_init();//系统参数初始化
	OLED_Init();
	sys_open_show();//系统开机显示
	
	while(1)
	{
		sys_parm_set();//系统参数设置
		sys_data_get();//系统数据采集
		sys_data_show();//系统数据显示
		sys_fun_ctrl();//系统功能控制	
	}
}


四、实验现象

B站演示视频:https://space.bilibili.com/444388619

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


联系作者

B站演示视频:https://space.bilibili.com/444388619
专注于51单片机、STM32、国产32、DSP、Proteus、ardunio、ESP32、物联网软件开发,PCB设计,视频分享,技术交流。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值