前言
本设计主要利用红外光电传感器产生脉冲信号,经过放大整形后,输入51单片机,测量一分钟内的脉搏跳动次数,可以设定脉搏上限次数和下限次数,当测量的范围超过设定的范围则驱动蜂鸣器报警提醒,在测量脉搏的同时还可以检测体温,当体温超过设置的温度上下限蜂鸣器报警提,测量结果通过LCD1602显示。
一、系统功能
主要功能:测量一分钟内的脉搏跳动次数,可以设定脉搏上限次数和下限次数,当测量的范围超过设定的范围则驱动蜂鸣器报警提醒,在测量脉搏的同时还可以检测体温,当体温超过设置的温度上下限蜂鸣器报警提,测量结果通过LCD1602显示。
1.系统流程图
二、硬件构成
硬件部分主要由51单片机+LCD1602显示模块+脉搏传感器+DS18B20温度传感器几个部分构成,原理图如下:
三、仿真
四、代码
/****************主函数***************/
void main()
{
ReadTemperature();
show1();//显示问候语和其他信息
time_init(); //初始化定时器
init_int0(); //外部中断0初始化程序
init_eeprom(); //读eeprom数据
while(1)
{
key(); //按键扫描
if(flat300ms>=4) //200ms
{
flat300ms=0;
//==================主界面===================
if(yemian==0)
{
if(biaozhi==0)
{
biaozhi=1;
lcd_init();// 初始化
display(0x00,'H');
display(0x01,'e');
display(0x02,'a');
display(0x03,'r');
display(0x04,'t');
display(0x05,':');
display(0x40,'T');
display(0x41,'e');
display(0x42,'m');
display(0x43,'p');
display(0x44,':');
}
wendumaibo();
baojin();
}
//==================脉搏报警上限 设置===================
if(yemian==1)
{
if(biaozhi==1)
{
biaozhi=2;
Buzzer=1;
lcd_init();// 初始化
display(0x04,'H');
display(0x05,'e');
display(0x06,'a');
display(0x07,'r');
display(0x08,'t');
display(0x09,'-');
display(0x0a,'H');
display(0x46,S_heart_H/100+'0');
display(0x47,S_heart_H%100/10+'0');
display(0x48,S_heart_H%100%10+'0');
}
shezhi();
}