基于51单片机脉搏体温检测

2023-11-04 01:10

本文主要是介绍基于51单片机脉搏体温检测,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一、项目功能

二、仿真

​三、程序


资料下载地址:基于51单片机脉搏体温设计  

一、项目功能

1、通过MPX4115模拟测量脉搏

2、通过DS18B20测量体温

3、按键设置报警阈值,超限报警

二、仿真

温度显示界面

脉搏测量界面

三、程序

main.c代码

void main()	  //主函数
{SCON_init();InitLcd();while(1)			  //进入循环{counts ++;sprintf(mStrBloodPressure,"%.1f    1\r\n",mBloodPressure);KEY_SCAN();getdata=Adc0832(0);	mBloodPressure = (getdata * 10 / 2 - 50) / 10;	if(counts >= 4){counts = 5;send(mStrBloodPressure,1);delay5ms();delay5ms();delay5ms();delay5ms();send(mStrBloodPressure+1,1);delay5ms();delay5ms();delay5ms();delay5ms();send(mStrBloodPressure+2,1);delay5ms();delay5ms();delay5ms();delay5ms();send(mStrBloodPressure+3,1);delay5ms();delay5ms();delay5ms();delay5ms();//send((char *)mStrBloodPressure,11);}temp=getdata/2-5;if( temp >  Xintiao_H ){speaker = 0;}else{speaker = 1;}temp = 0;if( KEY_Set_TIMES == 0 ){if( KEY_TIMES == 1 )//血压显示{getdata=Adc0832(0);if(14<getdata<243)			               //当压力值介于15kpa到115kpa之间时,遵循线性变换{			    
//			  	int vary=getdata;						//y=(115-15)/(243-13)*X+15kpa			temp=getdata*10/2-50;			//测试时补偿值为9.3		//  mBloodPressure = temp;				
//				temp=(int)(press*10);	          //放大10倍,便于后面的计算if(temp != ppress){ppress = temp;OverFlg = 1;}    											dispbuf[3]=temp/1000;			     	//取压力值百位dispbuf[2]=(temp%1000)/100;		    	//取压力值十位dispbuf[1]=((temp%1000)%100)/10;	    	//取压力值个位dispbuf[0]=((temp%1000)%100)%10;			//取压力值十分位LCD_WriteCom( 0x80 );LCD1602_Write_char( "blood pressure 1" );LCD_WriteCom( 0x80 + 0x40 );LCD1602_Write_char("   Rate:");LCD_WriteData( 0x30 + dispbuf[3] );LCD_WriteData( 0x30 + dispbuf[2] );LCD_WriteData( 0x30 + dispbuf[1] );LCD_WriteData( '.' );LCD_WriteData( 0x30 + dispbuf[0] );}}if( KEY_TIMES == 0 ){lcd_1602_word(0x80,16,"  temperature  ");	  //初始化显示 wendu=ReadTemperature();lcd_1602_word(0xc0,10," Temp:    ");//显示第二行数据LCD_WriteCom(0x80+0x40+10);LCD_WriteData(wendu/100+0x30);LCD_WriteData(wendu%100/10+0x30);LCD_WriteData('.');LCD_WriteData(wendu%100%10+0x30);LCD_WriteData(0xdf);LCD_WriteData('C');}}else{KEY_Set_Rate();dispbuf[3]=Xintiao_H/100;			     	    //取设置压力值百位dispbuf[2]=Xintiao_H%100/10;		    	    //取设置压力值十位dispbuf[1]=Xintiao_H%10;	    				//取设置压力值个位LCD_WriteCom( 0x80  );LCD1602_Write_char( " Set heart rate " );LCD_WriteCom( 0x80 + 0x40 );LCD1602_Write_char("warning:");LCD_WriteData( 0x30 + dispbuf[3] );LCD_WriteData( 0x30 + dispbuf[2] );LCD_WriteData( 0x30 + dispbuf[1] );}}
}/**Adress_Com显示地址,Num_Adat显示字符数量,Adress_Data显示字符串内容**/ 
void lcd_1602_word(uchar Adress_Com,uchar Num_Adat,uchar *Adress_Data)
{uchar a=0;uchar Data_Word;LCD_WriteCom(Adress_Com); //选中地址for(a=0;a<Num_Adat;a++)   //for循环决定显示字符个数{Data_Word=*Adress_Data;	  //读取字符串数据LCD_WriteData(Data_Word);  //显示字符串Adress_Data++;			  //显示地址加一}
}

这篇关于基于51单片机脉搏体温检测的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/342157

相关文章

51单片机学习记录———定时器

文章目录 前言一、定时器介绍二、STC89C52定时器资源三、定时器框图四、定时器模式五、定时器相关寄存器六、定时器练习 前言 一个学习嵌入式的小白~ 有问题评论区或私信指出~ 提示:以下是本篇文章正文内容,下面案例可供参考 一、定时器介绍 定时器介绍:51单片机的定时器属于单片机的内部资源,其电路的连接和运转均在单片机内部完成。 定时器作用: 1.用于计数系统,可

零基础STM32单片机编程入门(一)初识STM32单片机

文章目录 一.概要二.单片机型号命名规则三.STM32F103系统架构四.STM32F103C8T6单片机启动流程五.STM32F103C8T6单片机主要外设资源六.编程过程中芯片数据手册的作用1.单片机外设资源情况2.STM32单片机内部框图3.STM32单片机管脚图4.STM32单片机每个管脚可配功能5.单片机功耗数据6.FALSH编程时间,擦写次数7.I/O高低电平电压表格8.外设接口

基于CTPN(tensorflow)+CRNN(pytorch)+CTC的不定长文本检测和识别

转发来源:https://swift.ctolib.com/ooooverflow-chinese-ocr.html chinese-ocr 基于CTPN(tensorflow)+CRNN(pytorch)+CTC的不定长文本检测和识别 环境部署 sh setup.sh 使用环境: python 3.6 + tensorflow 1.10 +pytorch 0.4.1 注:CPU环境

基于深度学习的轮廓检测

基于深度学习的轮廓检测 轮廓检测是计算机视觉中的一项关键任务,旨在识别图像中物体的边界或轮廓。传统的轮廓检测方法如Canny边缘检测和Sobel算子依赖于梯度计算和阈值分割。而基于深度学习的方法通过训练神经网络来自动学习图像中的轮廓特征,能够在复杂背景和噪声条件下实现更精确和鲁棒的检测效果。 深度学习在轮廓检测中的优势 自动特征提取:深度学习模型能够自动从数据中学习多层次的特征表示,而不需要

自动驾驶---Perception之Lidar点云3D检测

1 背景         Lidar点云技术的出现是基于摄影测量技术的发展、计算机及高新技术的推动以及全球定位系统和惯性导航系统的发展,使得通过激光束获取高精度的三维数据成为可能。随着技术的不断进步和应用领域的拓展,Lidar点云技术将在测绘、遥感、环境监测、机器人等领域发挥越来越重要的作用。         目前全球范围内纯视觉方案的车企主要包括特斯拉和集越,在达到同等性能的前提下,纯视觉方

STM32单片机PWR电源控制详解

文章目录 1. PWR概述 2. 电源结构框图 3. 上电复位和掉电复位 4. 可编程电压监测器 5. 低功耗模式 6. 模式选择 6.1 睡眠模式 6.2 停止模式 6.3 待机模式 7. 代码示例 1. PWR概述 PWR(Power Control)电源控制,负责管理STM32内部的电源供电部分,可以实现可编程电压监测器和低功耗模式的功能。 可编程电压监测器

YOLOv9摄像头或视频实时检测

1、下载yolov9的项目 地址:YOLOv9 2、使用下面代码进行检测 import torchimport cv2from models.experimental import attempt_loadfrom utils.general import non_max_suppression, scale_boxesfrom utils.plots import plot_o

【单片机毕业设计选题24024】-房间自动除湿控制系统

系统功能: 系统分为手动和自动模式,上电默认为自动模式。自动模式下如果获取到湿度 值大于设定的湿度值则自动打开风扇,手动模式下手动开关风扇。 系统上电后显示“欢迎使用除湿控制系统请稍后”,两秒钟后进入主页面显示。 第一行显示系统模式,手动或自动模式 第二行显示获取到的温湿度 第三行显示设置的湿度阈值 第四行显示风扇状态和系统报警状态,风扇状态有开关状态,系统状态和OK和 NG状态。

基于51单片机抽奖系统

基于51单片机抽奖系统 (仿真+程序) 功能介绍 具体功能: 1.利用5片74HC495对单片机的IO进行串并转换,进而控制5个1位数码管; 2.采用一个独立按键用于抽奖系统的启停控制; 3.8位拨码开关是用于设定随机数发生器的“种子值”(初始值); ​演示视频: 基于51单片机抽奖系统  添加图片注释,不超过 140 字(可选) 程序 #inclu

Java内存泄漏检测和分析介绍

在Java中,内存泄漏检测和分析是一个重要的任务,可以通过以下几种方式进行:   1. 使用VisualVM VisualVM是一个可视化工具,可以监控、分析Java应用程序的内存消耗。它可以显示堆内存、垃圾收集、线程等信息,并且可以对内存泄漏进行分析。 2. 使用Eclipse Memory Analyzer Eclipse Memory Analyzer(MAT)是一个强大的工具,可