基于单片机的心率监测系统设计(#0403)

脉搏测量仪在我们的日常生活中已经得到了非常广泛的应用,通过观测脉搏信号,可以对人体的健康进行检查,通常被用于保健中心和医院。为了提高脉搏测量仪的简便性和精确度,本课题设计了一种基于51单片机的脉搏测量仪。

功能描述

1、采用51单片机作为主控单元芯片;

2、采用LCD1602显示,单位: 心率/分钟;

3、手指放到红外对管中间,2秒内读出心率;

4、采用LM358实现红外信号放大电路;

5、当检测到超标时,蜂鸣器进行报警;

6、按键可以设置报警的上下限心率;

基于单片机的心率监测系统设计(#0403)_第1张图片

按键说明

1、K1:进入/切换/退出设置菜单;

2、K2:设置值+1操作;

3、K3:设置值-1操作;

整体方案

基于单片机的心率监测系统设计(#0403)_第2张图片

电路设计

采用Altium Designer作为电路设计工具。Altium Designer通过把原理图设计、PCB绘制编辑、拓扑逻辑自动布线、信号完整性分析和设计输出等技术的完美融合,为设计者提供了全新的设计解决方案,使设计者可以轻松进行设计,熟练使用这一软件必将使电路设计的质量和效率大大提高。

基于单片机的心率监测系统设计(#0403)_第3张图片

仿真设计

采用Proteus作为仿真设计工具。Proteus是一款著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。

基于单片机的心率监测系统设计(#0403)_第4张图片

主程序设计

void main()	  //主函数
{
 InitLcd();
 Tim_Init();
 lcd_1602_word(0x80,16,"Heart Rate:     ");	  //初始化显示
 TR0=1;
 TR1=1;				  //打开定时器
 while(1)			  //进入循环
  {
   if(Key_Change)	  //有按键按下并已经得出键值
    {
	 Key_Change=0;	  //将按键使能变量清零,等待下次按键按下
	 View_Change=1;
	 switch(Key_Value)				//判断键值
	  {
	   case 1:						//设置键按下
	         {
			  View_Con++;			//设置的位加
			  if(View_Con==3)		//都设置好后将此变量清零
			   View_Con=0;
			  break;				//跳出,下同
			 }
	   case 2:						//加键按下
	         {
			  if(View_Con==2)		//判断是设置上限
			   {
			   	if(Xintiao_H<150)	//上限数值小于150
				 Xintiao_H++;		//上限+
			   }
			  if(View_Con==1)		//如果是设置下限
			   {
			   	if(Xintiao_LXintiao_L+1)//上限数据大于下限+1(同样上限值不能小于下限)
				 Xintiao_H--;		//上限数据减
			   }
			  if(View_Con==1)		//设置下限
			   {
			   	if(Xintiao_L>30)	//下限数据大于30时
				 Xintiao_L--;		//下限数据减
			   }
			  break;
			 } 
	 }
	}

源文件获取

关注公众号【电子开发圈】,首页发送 “心率” 获取;

基于单片机的心率监测系统设计(#0403)_第5张图片

你可能感兴趣的:(MCU51系统设计,单片机,心率检测,系统设计)