stm32单片机电子血压心率脉搏体温计模拟测量仪Proteus仿真全套资料

本文介绍了如何使用STM32单片机配合各种传感器(如DS18B20温度传感器)和LCD1602显示屏,实现心率、血压和体温的模拟测量,以及报警功能。提供了详细的Proteus仿真过程和C语言源程序,适合初学者参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 资料编号:141

一:功能介绍

1、采用stm32单片机+LCD1602显示屏+蜂鸣器+DS18B20温度传感器+按键+电位器,制作一个基于stm32单片机电子血压心率脉搏体温计模拟测量仪Proteus仿真;

2、通过ds18b20传感器测量当前的体温,显示到LCD1602屏幕上面;

3、通过按键模拟调节当前的心率脉搏,显示到LCD1602屏幕上面;

4、通过电位器调节当前的血压值,经过stm32单片机ADC采集得到当前的血压值,显示到LCD1602显示屏上面;

5、当温度、心率或者血压超过程序设置阈值,蜂鸣器进行报警提醒,(阈值可以在程序中进行更改)

二:仿真演示视频+程序简要讲解:(程序有中文注释,新手容易看懂)

141-基于stm32单片机电子血压心率脉搏体温计模拟测量仪Proteus仿真+源程序

三:设计软件介绍

本设计使用C语言编程设计,程序代码采用keil5编写,程序有中文注释,新手容易看懂,仿真采用Proteus软件进行仿真演示视频使用的是Proteus8.9版本;资料包里有相关软件包,可自行下载安装。

四:程序打开方法

特别注意:下载资料包以后一定要先解压!(建议解压到桌面上,文件路径太深会导致程序打开异常),解压后再用keil5打开。

6bba009f1c9edc439ed3f86d68afa48e.png

7c73c6bbbf6146c1b8084588f88e0b69.png

部分程序展示,有中文注释,新手容易看懂
int main(void)//主函数
  
{
int xueya,maibo=60,t=0;
  SystemCoreClockUpdate ();
   LCD1602_Init();
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);//初始化ds18b20传感器
  GPIO_InitTypeDef g;
  g.GPIO_Mode = GPIO_Mode_Out_PP;
  g.GPIO_Speed = GPIO_Speed_10MHz;
  g.GPIO_Pin = GPIO_Pin_8  ;
  GPIO_Init(GPIOC,&g);
   GPIO_SetBits(GPIOC,GPIO_Pin_8);    //输出1
 tem=DS18B20_Get_Temp();//读取温度
 ADC1_GPIO_Config();
  ADC_Config(); 
key_init();BEEP_Init();
KEY1=KEY2=1;
while(1)
  {  
    t++;
    if(t>100)//每隔一段时间初始化一次LCD1602  防止花屏
    {
      t=0;
       LCD1602_Init();
    }
    xueya=(float)ADC_GetConversionValue(ADC1)*(3.4/4096)*50;//读取血压
    if(KEY1==0)     //脉搏+
    {
    maibo++;if(maibo>999) maibo=999;
      while(KEY1!=1);
    }
    if(KEY2==0)     //脉搏-
    {
    maibo--;if(maibo<0) maibo=0;
      while(KEY2!=1);
    }
    tem=DS18B20_Get_Temp();//读取温度
    if(  tem>0)
    {  a=tem/100;
    b=tem%100/10;
    c=tem%10;
  LCD_ShowChar(2,0,'T');//显示零上温度
  LCD_ShowChar(3,0,'E');
  LCD_ShowChar(4,0,'M');
  LCD_ShowChar(5,0,'P');
  LCD_ShowChar(6,0,'E');
  LCD_ShowChar(7,0,'=');    
  LCD_ShowChar(8,0,'+');
  LCD_ShowNum(9,0,a);  
  LCD_ShowNum(10,0,b);
  LCD_ShowChar(11,0,'.');  
  LCD_ShowNum(12,0,c);
  LCD_ShowChar(13,0,'C');
  
  LCD_ShowChar(0,1,'M');//显示脉搏
  LCD_ShowChar(1,1,'B');
  LCD_ShowChar(2,1,'=');
  LCD_ShowNum(3,1,maibo/100);
  LCD_ShowNum(4,1,maibo%100/10);
  LCD_ShowNum(5,1,maibo%10);    
        
  LCD_ShowChar(10,1,'X');//显示血压
  LCD_ShowChar(11,1,'Y');
  LCD_ShowChar(12,1,'=');
  LCD_ShowNum(13,1,xueya/100);
  LCD_ShowNum(14,1,xueya%100/10);
  LCD_ShowNum(15,1,xueya%10);      
    }
  else 
  {  
    tem1=-(tem);//显示零下温度
    tem1=tem1+1;
    a=tem1/100;
    b=tem1%100/10;
    c=tem1%10;
  LCD_ShowChar(8,0,'-');
  LCD_ShowNum(9,0,a);  
  LCD_ShowNum(10,0,b);
  LCD_ShowNum(12,0,c);
    
  }
  if(tem>380||maibo>140||maibo<40||xueya>140||xueya<40) BEEP=0;//温度大于38或者40>脉搏或者血压>140  蜂鸣器提醒
  else BEEP=1;
  }

:仿真文件(采用Proteus打开)

ab3dc891a82539a75517cfbe5d6c0c25.png

b03a0af66830088b5de68a0da6f8185a.png

ebce7e69c445abcaa2bde8844981ba92.png

六:资料清单展示(文件中包含的相关资料)

6325e99af969c3173a34249a42279197.png

资料下载链接(可点击)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值