一. 系统概述
该系统由STM32单片机进行主控,配备血氧传感器用于检测血氧水平,并通过电机进行血液采集。用户可以通过按键控制采血和检测操作。
二. 仿真概述
- 按下检测按键后,系统会启动电机进行血液采集,同时在显示屏上展示血氧值和健康状况。
- 调整输入的血氧值,显示屏将根据血氧水平的高低评估健康状态并进行显示。
三.程序设计
#include <stm32f10x.h>
#include <delay.h>
#include <Lcd1602.h>
#include <Led.h>
#include <Key.h>
#include <motor.h>
#include "PCF8591.h"
int main(void)
{
u8 bs,m,bsh=100,bsl=30;
Lcd1602_Init();
Motor_Init();
Key_Init();
PCF8591_Init();
Lcd1602_Write_String(0x80,16,(u8*)">>>>>>HELLO<<<<<<");
Lcd1602_Write_String(0xc0,sizeof"welcome",(u8*)"welcome");
delay_ms(1000);
Lcd1602_Write_CD(CMD,0X01);
Lcd1602_Write_String(0x80,3,(u8*)"BS:");Lcd1602_Write_String(0x89,7,(u8*)"mmol/ml");
Lcd1602_Write_String(0xc0,3,(u8*)"ST:");
while(1)
{
if(Key0_Read==0)
{
m=1;
}
if(m==1)
{
delay_ms(500);
Motor_Rhythm_424(0,10);
delay_ms(2000);
bs=PCF8591_ADC_Input(0x90,1);
Lcd1602_Write_Num8(0x83,bs);
if(bs<bsl||bs>bsh)
{
if(bs<bsl) Lcd1602_Write_String(0xc3,4,(u8*)"Low ");
else if(bs>bsh) Lcd1602_Write_String(0xc3,4,(u8*)"High");
}
else if(bsl<bs<bs)
{
delay_ms(1000);
Lcd1602_Write_String(0xc3,4,(u8*)"Good");
}
m=0;
delay_ms(1000);
}
}
}
24-32f-34