天天看点

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

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

功能描述

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

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

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

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

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

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

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

按键说明

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

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

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

整体方案

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

电路设计

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

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

仿真设计

主程序设计

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_L<Xintiao_H-1)//下限值小于上限-1(下限值不能超过上限)
         Xintiao_L++;   //下限值加
         }
        break;
       }
     case 3:            //减键按下
           {
        if(View_Con==2)   //设置上限
         {
          if(Xintiao_H>Xintiao_L+1)//上限数据大于下限+1(同样上限值不能小于下限)
         Xintiao_H--;   //上限数据减
         }
        if(View_Con==1)   //设置下限
         {
          if(Xintiao_L>30) //下限数据大于30时
         Xintiao_L--;   //下限数据减
         }
        break;
       } 
   }
  }      

源文件获取