基于STM32单片机的心率计
功能描述:
由 STM32FC103单片机最小系统+Pulse Sensor心率采集模块 +OLED显示模块组成
1、采用STM32FC103单片机为主控制器
2、采用心率传感器PulseSensor测量心率。
3、OLED显示测得的心率值。
4、仿真中心率传感器用波形发生器和按键两种方式模拟,可用开关切换。
注意:proteus8.11以上版本才能打开 心率测量误差±1
视频演示链接:
6、基于STM32单片机的心率计(仅测心率)(OLED显示)
仿真图:
程序源码:
#include "delay.h"#include "OLED_I2C.h" #include "pulsesensor.h"#include "stdio.h" #include "stdlib.h" extern unsigned int cnt;int main(void){unsigned char Heart = 0; //心率值unsigned char buf[18];NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级OLED_Init();//OLED初始化操作OLED_CLS(); //OLED清除屏幕OLED_ShowCN(16*0,0,0);OLED_ShowCN(16*1,0,1);OLED_ShowStr(16*2,0,"STM32",2);OLED_ShowCN(16*4+8,0,3);OLED_ShowCN(16*5+8,0,4);OLED_ShowCN(16*6+8,0,5);OLED_ShowCN(16*0,2,3);OLED_ShowCN(16*1,2,4);TIM3_Int_Init(11,7285);//定时 按照正常计算发现数值偏大 这里作为微调使仿真中更加准确EXTIX_Init();//外部中断初始化while(1){Heart = Pulsesensor_Read(); //获取心率值sprintf((char *)buf,(const char *)":%3d/min",Heart);OLED_ShowStr(16*2,2,buf,2);sprintf((char *)buf,(const char *)"IBI:%4dms",cnt);OLED_ShowStr(0,4,buf,2);}}
软件免费下载地址:
1、Proteus仿真软件
文件内容:Proteus7.8安装包、Proteus8.6安装包、Proteus.8.10安装包、Proteus Professional 8.11 SP0安装包
链接:/s/11LNUZ9BJXWvXf1C4dPc3_w
提取码:2756
3、KEIL5 MDK软件(STM32开发软件)
链接:/s/1t3eY-3yRdTa7jZMlijq_jg
提取码:ab58
代码下载:
/s/16meqzTFraMvdEBD1gp8MFA?pwd=cerh
如果觉得《基于STM32单片机的心率计(仅测心率)(OLED显示)(Proteus仿真+程序)》对你有帮助,请点赞、收藏,并留下你的观点哦!