1.功能原理
脉搏传感器采样脉搏信号,采用STC89C51单片机作为控制器,脉搏传感器输出方波传入单片机,触发单片机进去外部中断函数,每接收一个脉冲波形,显示屏就计数一次。如果脉搏次数超过设定值是,用蜂鸣器报警提示。

2.硬件设计
(1)总体硬件框图

(2)心率检测电路原理
心率检测电路是以红外反射式传感器ST188为检测原件,并利用单片机系统内部定时器来计算时间。

心率检测处理电路

此电路采用两级运算放大电路,一级放大倍数为可调,二级放大倍数固定为2。当红外反射式传感器ST188感应到一个完整的脉搏,便产生一个脉冲,单片机通过对脉冲累加得到脉搏心率跳动次数,并使用定时器计数脉搏的频率。系统运行中能显示脉搏心率次数和时间,系统停止运行时,能够显示总的脉搏心率次数和时间。
(3)其他硬件电路
除了主要的心率检测电路外,还包括单片机最小系统、LCD1602显示屏电路、蜂鸣器报警电路。因为这几个电路比较常用,就省略不介绍了。

3.程序设计
(1)LCD1602驱动程序

sbit RS = P2^5;//Pin4
sbit RW = P2^6; //Pin5
sbit E  = P2^7;//Pin6
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long uchar data TimeNum[]="                ";
uchar data Test1[]="                  ";void DelayUs(unsigned char us)//delay us
{unsigned char uscnt;uscnt=us>>1;/* Crystal frequency in 12MHz*/while(--uscnt);
}/******************************************************************/
void DelayMs(unsigned char ms)//delay Ms
{while(--ms){DelayUs(250);DelayUs(250);DelayUs(250);DelayUs(250);}
}
void WriteCommand(unsigned char c)
{DelayMs(5);//short delay before operationE=0;RS=0;RW=0;_nop_();E=1;P1=c;E=0;
}
/****************************************************************/
void WriteData(unsigned char c)
{DelayMs(5);   //short delay before operationE=0;RS=1;RW=0;_nop_();E=1;P1=c;E=0;RS=0;
}
/*********************************************************************/
void ShowChar(unsigned char pos,unsigned char c)
{unsigned char p;if (pos>=0x10)p=pos+0xb0; //是第二行则命令代码高4位为0xcelse p=pos+0x80; //是第二行则命令代码高4位为0x8WriteCommand (p);//write commandWriteData (c);   //write data
}
/*************************************************************************/
void ShowString (unsigned char line,char *ptr)
{unsigned char l,i;l=line<<4;for (i=0;i<16;i++)ShowChar (l++,*(ptr+i));//循环显示16个字符
}
/*********************************************************************/
void InitLcd()
{DelayMs(15);WriteCommand(0x38); //display modeWriteCommand(0x38); //display modeWriteCommand(0x38); //display modeWriteCommand(0x06); //显示光标移动位置WriteCommand(0x0c); //显示开及光标设置WriteCommand(0x01); //显示清屏}

(2)脉搏检测处理程序

unsigned int i,n,ci,dd[11],jj,j,k,tmp;
bit w=0;
uchar bh;
ulong time;
sbit spd = P2^0;external0() interrupt 0//外部中断服务程序
{ w=~w;if(w==0){EX0=0; ET0=1;TH0=0x0;TL0=0x0;n=0;}else {time=n*65536+TH0*256+TL0;dd[jj]=30000000/time;        //计算脉搏时间jj++;if(jj>10){jj=0;for(j=0;j<11;j++)for(k=0;k<11-j;k++){if(dd[k]>dd[k+1]){tmp=dd[k];dd[k]=dd[k+1];dd[k+1]=tmp;}}if(dd[5]>50&&dd[5]<200)ci=((dd[4]+dd[5]+dd[6])/3)+11;}TH0=0x0;TL0=0x0;n=0;}
}
void timer0(void) interrupt 1
{n++;}

(3)主函数

void main(void)
{InitLcd();//DelayMs(15);IT0=1;     //INT0下降沿中断EX0=1;     //允许INT1中断TMOD=0x1;TH0=0x0;TL0=0x0; TR0=1;ET0=1;EA=1;while(1){if(n>10){n=0;    jj=0;ci=0;TimeNum[0]='N'; TimeNum[1]='O' ;TimeNum[2]=' ' ;TimeNum[3]='I' ;   TimeNum[4]='N' ;TimeNum[5]='P' ;TimeNum[6]='U' ;TimeNum[7]='T' ;TimeNum[8]=' ' ;ShowString(0,TimeNum);ShowString(1,Test1);}else  {if(w==0&&EX0==0){delay();EX0=1;}  TimeNum[0]=' '; TimeNum[1]=' ' ;TimeNum[2]=' ' ;TimeNum[3]=' ' ;    TimeNum[4]=' ' ;  TimeNum[5]=' ' ; if(ci/100>0)TimeNum[6]=ci/100+'0' ; else TimeNum[6]=' ' ; if(ci/100==0&&ci%100/10>0)TimeNum[7]=ci%100/10+'0' ; else TimeNum[7]=' ' ; TimeNum[8]=ci%10+'0' ;ShowString(0,TimeNum);ShowString(1,Test1);if(ci>100)spd=0;else spd=1;}};
}

源码+AD电路图 下载:关注公众号,首页回复“心率脉搏计”获取资料

基于51单片机的心率脉搏计检测系统相关推荐

  1. 基于51单片机的心率脉搏计测量报警全套设计

    功能介绍: 本系统采用单片机+LCD1602液晶+光电传感器+蜂鸣器+运放+滤波电路+按键组合而成. 按键说明: 从左边第一个起,减键.加键.设置键. 1.单片机型号:STC89C52/51.AT89 ...

  2. 基于51单片机的公交车安全智能检测系统、基于51单片机的金属探测仪控制设计、基于单片机的智能电子密码锁系统设计、基于51单片机酒精浓度检测仪设计【资料转发分享】

    630基于51单片机的公交车安全智能检测系统-设计资料 本资料是基于单片机的公交车安全监测系统 具有如下功能: 1.监测环境的温度,超标报警.可以设置上下限 2.监测是否有火灾以及有毒气体,超标报警, ...

  3. 【无标题】基于51单片机和DHT11的温湿度检测系统

    基于51单片机的温湿度检测系统 摘 要:设计一款能够实时检测当前空气温度和湿度的装置.主控芯片采用STC12C5A60S2芯片,温湿度传感器采用DHT11数字温湿度传感器,显示屏幕采用OLED屏幕.整 ...

  4. 基于51单片机PM2.5空气质量检测系统(源程序+仿真+原理图+PCB+论文)

    资料编号:208 功能介绍:(全套毕设资料齐全) 本电路是由51单片机为控制核心,另外主要通过5个模块的电路设计实现功能,他们分别是LCD显示模块.粉尘传感器.A/D转换.蜂鸣器电路.LED指示电路. ...

  5. 单片机数码管显示自行车里程c语言,基于51单片机的自行车里程计速度计设计.doc...

    信电学院课程设计报告 题目: 基于51单片机的自行车里程计/速度计设计 学生姓名 学 号 班 级 专 业 指导教师 说 明 1. 课程设计文本材料 2. 学生根据指导教师下达的任务书.指导书完成课程设 ...

  6. c语言51单片机湿度浇花器,基于51单片机的室内自动浇花系统的制作方法

    本实用新型涉及单片机应用领域,具体涉及一种基于51单片机的室内自动浇花系统. 背景技术: 随着科学技术不断进步,人民的消费水平和生活质量逐渐,物质水平已经满足不了人民的需求,精神上的需求越来越受人们的 ...

  7. 【038】基于51单片机的土壤湿度自动浇花系统Proteus仿真设计

    一.压缩包资料内容 (1).基于51单片机的土壤湿度自动浇花系统proteus仿真设计一份: (2).基于51单片机的土壤湿度自动浇花系统proteus仿真设计keli源代码一份: (3).基于51单 ...

  8. 基于51单片机的智能家居安防系统(程序+仿真+PCB)

    @TOC 一.基于51单片机的智能家居安防系统 1.主要功能 通过人体红外检测模块.光敏传感器.蜂鸣器.继电器模块模拟智能家居安防功能. 2.实验结果 3.实验仿真 4.程序源码 /********* ...

  9. 【043】基于51单片机的篮球比赛积分计时系统Proteus仿真

    一.压缩包资料内容 (1).基于51单片机的篮球比赛积分计时系统proteus仿真设计一份: (2).基于51单片机的篮球比赛积分计时系统proteus仿真设计keli源代码一份: (3).基于51单 ...

最新文章

  1. Android 使用反射机制获取或设置系统属性(SystemProperties)
  2. Python基础语法精心总结!看完都知道的可以往下继续学习了
  3. 百度论文引用网络节点分类比赛
  4. hibernate one2one 唯一外键关联(双向关联)
  5. 机器学习概念 —— 样本距离矩阵
  6. 定时任务时间表达式的规则
  7. Python:利用python语言实现18位身份证号码和15位身份证号码相互转换
  8. python爬取豆瓣电影top250网络响应_python使用requests+re爬取豆瓣电影top250简单入门爬虫...
  9. 2021计算机学校分数,泰州市博日电脑技术学校2021年招生录取分数线
  10. Hibernate的关系映射——Many-To-Many(多对多)
  11. day75,爬虫02,webmagic入门程序,组件介绍:Downloader,PageProcess,pipeline,Scheduler,51jop招聘网站综合案例
  12. axure8.0发布html,Axure RP 8 Release History
  13. 敏感词过滤器 filter
  14. 写一个情人节表白页面
  15. html如何同时选择多个选择器,JS中如何使用选择器选择多个元素
  16. eclipse中安装ant,详细
  17. Modbus网关调试(卓岚5143D+Modbus Slave)
  18. 有毒气体运输如何监管?资产监测设备可以完成实现透明化监测
  19. Excel VBA之MD5验证密码介绍
  20. 加速中国投资,VMware开通中文支持热线

热门文章

  1. 使用Linux命令cURL实现文件定时上传到ftp服务器的程序
  2. 有哪些好用的App云测试平台
  3. matlab 二维地图常用绘图函数用法(plot,fill,rectangle)
  4. web页面中如何唤起打开APP实践
  5. Flutter 开发——识别iOS设备
  6. Java基础知识(二) 面向对象的技术
  7. Kafka节点扩容、缩容后reassign partition
  8. MacOS Catalina 关闭和开启文件安全性检查
  9. axurerp出现错误报告_Windows 应用程序无法安装 事件查看器报错
  10. ASCII码与16进制的互相转换(表)