基于51单片机的心率脉搏计检测系统
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单片机的心率脉搏计检测系统相关推荐
- 基于51单片机的心率脉搏计测量报警全套设计
功能介绍: 本系统采用单片机+LCD1602液晶+光电传感器+蜂鸣器+运放+滤波电路+按键组合而成. 按键说明: 从左边第一个起,减键.加键.设置键. 1.单片机型号:STC89C52/51.AT89 ...
- 基于51单片机的公交车安全智能检测系统、基于51单片机的金属探测仪控制设计、基于单片机的智能电子密码锁系统设计、基于51单片机酒精浓度检测仪设计【资料转发分享】
630基于51单片机的公交车安全智能检测系统-设计资料 本资料是基于单片机的公交车安全监测系统 具有如下功能: 1.监测环境的温度,超标报警.可以设置上下限 2.监测是否有火灾以及有毒气体,超标报警, ...
- 【无标题】基于51单片机和DHT11的温湿度检测系统
基于51单片机的温湿度检测系统 摘 要:设计一款能够实时检测当前空气温度和湿度的装置.主控芯片采用STC12C5A60S2芯片,温湿度传感器采用DHT11数字温湿度传感器,显示屏幕采用OLED屏幕.整 ...
- 基于51单片机PM2.5空气质量检测系统(源程序+仿真+原理图+PCB+论文)
资料编号:208 功能介绍:(全套毕设资料齐全) 本电路是由51单片机为控制核心,另外主要通过5个模块的电路设计实现功能,他们分别是LCD显示模块.粉尘传感器.A/D转换.蜂鸣器电路.LED指示电路. ...
- 单片机数码管显示自行车里程c语言,基于51单片机的自行车里程计速度计设计.doc...
信电学院课程设计报告 题目: 基于51单片机的自行车里程计/速度计设计 学生姓名 学 号 班 级 专 业 指导教师 说 明 1. 课程设计文本材料 2. 学生根据指导教师下达的任务书.指导书完成课程设 ...
- c语言51单片机湿度浇花器,基于51单片机的室内自动浇花系统的制作方法
本实用新型涉及单片机应用领域,具体涉及一种基于51单片机的室内自动浇花系统. 背景技术: 随着科学技术不断进步,人民的消费水平和生活质量逐渐,物质水平已经满足不了人民的需求,精神上的需求越来越受人们的 ...
- 【038】基于51单片机的土壤湿度自动浇花系统Proteus仿真设计
一.压缩包资料内容 (1).基于51单片机的土壤湿度自动浇花系统proteus仿真设计一份: (2).基于51单片机的土壤湿度自动浇花系统proteus仿真设计keli源代码一份: (3).基于51单 ...
- 基于51单片机的智能家居安防系统(程序+仿真+PCB)
@TOC 一.基于51单片机的智能家居安防系统 1.主要功能 通过人体红外检测模块.光敏传感器.蜂鸣器.继电器模块模拟智能家居安防功能. 2.实验结果 3.实验仿真 4.程序源码 /********* ...
- 【043】基于51单片机的篮球比赛积分计时系统Proteus仿真
一.压缩包资料内容 (1).基于51单片机的篮球比赛积分计时系统proteus仿真设计一份: (2).基于51单片机的篮球比赛积分计时系统proteus仿真设计keli源代码一份: (3).基于51单 ...
最新文章
- Android 使用反射机制获取或设置系统属性(SystemProperties)
- Python基础语法精心总结!看完都知道的可以往下继续学习了
- 百度论文引用网络节点分类比赛
- hibernate one2one 唯一外键关联(双向关联)
- 机器学习概念 —— 样本距离矩阵
- 定时任务时间表达式的规则
- Python:利用python语言实现18位身份证号码和15位身份证号码相互转换
- python爬取豆瓣电影top250网络响应_python使用requests+re爬取豆瓣电影top250简单入门爬虫...
- 2021计算机学校分数,泰州市博日电脑技术学校2021年招生录取分数线
- Hibernate的关系映射——Many-To-Many(多对多)
- day75,爬虫02,webmagic入门程序,组件介绍:Downloader,PageProcess,pipeline,Scheduler,51jop招聘网站综合案例
- axure8.0发布html,Axure RP 8 Release History
- 敏感词过滤器 filter
- 写一个情人节表白页面
- html如何同时选择多个选择器,JS中如何使用选择器选择多个元素
- eclipse中安装ant,详细
- Modbus网关调试(卓岚5143D+Modbus Slave)
- 有毒气体运输如何监管?资产监测设备可以完成实现透明化监测
- Excel VBA之MD5验证密码介绍
- 加速中国投资,VMware开通中文支持热线