基于STC89C52的无线实时体温心率监测
2021-11-11徐杰崔艳
徐杰,崔艳
(山西师范大学物理与信息工程学院,临汾 山西 041004)
0 引言
随着社会经济的快速发展,人们对于健康愈发地重视,生活中各类运动APP、运动手环应运而生。肆虐全球的新冠疫情使得具有风险提示功能的可穿戴设备成为了必需品。后疫情时代,可穿戴设备和其他互联设备会越来越多地投入到医疗应用中,研发可长期佩戴的便携式无线医疗设备成为了最新的发展方向。随着我国进入疫情防控常态化,卫生经济也即将迎来空前的发展机遇。
单一的健康指标检测方案有很多,比如,文献[ 2]以AT89C51单片机为控制核心,使用红外光电传感器ST188进行数据采集,将患者的心率显示在LCD1602上,实现了对患者心率的实时监测和异常报警功能,但功能单一,无法实现向监护人报警的功能。文献[ 5]中利用光电容积法采集心率信号,但仅限于监测人体心率信号,监测功能单一。为此,本文提出一种基于单片机STC89C52,利用传感器和无线通信模块实时无线监测人体体温、心率的集成化健康系统,实现数据采集、监测、报警、无线传输的功能。该系统具有待机长、便携、成本低等特点。
1 健康监测系统设计原理
1.1 硬件设计原理
本设计采用低功耗高性能的微型控制器STC89C52单片机,利用RPR220红外传感器和温度传感器采集人体生物信号—心率和体温,传感器将实现数模转换,其中体温信号数值将显示在LCD1602数码管上。因心率信号可能会受到各种各样因素的干扰,比如汗液、潮湿度、温度等,所以采用RC滤波电路滤除非心脏跳动的干扰信号,再经过LM358波形整形,变为方波传入单片机,触发外部中断函数,使得单片机接收一个脉冲波形,显示屏就计数一次。将计算得到参数保存在存储模块。再通过SPI通信把数据传送给nRF905射频模块,利用无线通信向监护人和监护中心发出报警信号。该设计利用软件编程设定体温和心率报警阈值,一旦测量值超过设定范围,便会及时反馈,发起报警。该设计硬件结构框架图如图1所示。
图1 硬件结构框架图
1.2 软件设计原理
该设计的软件编程主要包括体温监测、心率监测和nRF905两部分,核心原理如下:
体温部分:DS18B20采用16位补码的形式来存储温度数据。当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器中。高字节的五个S为符号位,S=1表示温度为正,S=0表示温度为负,剩下的11位为温度数据位,该系统设计采用的是12位分辨率,所有位全部有效。
心率部分:设心脏跳动一次的时间为t(秒),心率n的单位为次/分钟,故知n= 60/t,设连续跳动M次需要T秒,则代入公式易知此时的心率为 n=60M/T。由于单片机的定时计数器T0定时1毫秒中断一次:T=0.001T0, 故最终计算公式为6000M/T0。
2 健康监测系统硬件设计
2.1 STC89C52单片机主控模块
本设计硬件系统STC89C52单片机为核心控制芯片,其具有高性能、低功耗、抗干扰强等优点。相对于传统的80C51单片机而言,它对指令的处理速度提高了8-10倍。该单片机主要是用来实现快速准确处理数据,配置兼容nRF905的工作模式,启动信号采集模块和显示模块。
2.2 信号采集模块
2.2.1 体温信号采集模块
DS18B20数字温度传感器体积小,接线方便,抗震性好,使用方便,封装形式多样,适用于各种数字测温和控制领域。该模块由接在VCC外部的5v电平供电,中间通信口与P3.7相连,由程序完成ROM设定以及打开DS18B20的记忆和控制功能。传感器即可自动向单片机提供使用者体温的数字信号。
2.2.2 心率信号采集模块
人体的心脏跳动带动了人体血液循环,在人体指尖处即血管末梢处的血液微循环使得该处血液容积改变。利用RPR220传感器,发出波长不变的红外线,有效获取到由于心脏跳动形成的指尖血液的改变。将采集到的心率信号转变为电信号输送给RC低通滤波电路,考虑到信号可能会受到各种因素的影响,因此通过滤波电路滤除非心脏跳动的干扰信号。已知正常人体心跳在60-100次/分钟,故设定该低通滤波电路的截止频率为2.5-3.5,选择R21=100K,C5=0.5uF,截止频率约为3.2Hz。由于心率信号十分微小,通过LM358放大器进行两次放大,达到单片机可识别强度,同时利用LM358搭建的电压比较器对波形进行整形,将输入的正弦信号转变为脉冲性信号,将方波输入单片机。心率信号采集模块的电路原理图如图2所示。
图2 心率信号采集模块电路原理图
2.3 无线通信模块
此设计的无线通信模块选用了nRF905,此芯片具有体积小、抗干扰能力强、高速传输、通信效果好、功耗极低等一系列优点。利用软件设置实现单片机的IO端口控制nRF905模块的状态接口、模式接口和SPI接口,实现高效、快速的数据传递。nRF905与STC89C52的接线图如图3所示。
图3 nRF905与STC89C52的接线图
2.4 数据显示模块
数据显示单元采用LCD1602液晶显示屏,该模块原理图如图4所示。
图4 数据显示模块原理图
DO-D7口用于显示数据的传输;RS口为寄存器的选择功能,通过P2.5进行控制;R/W口通过P2.6口实现对液晶的读和写的操作;EN端为液晶屏的使能端:高电平使能信号有效。通过分压电路与VO口相连,实现液晶屏的亮度调节。
3 软件设计
软件包括信号采集处理和无线通信nRF905两大模块。
信号采集部分将在Keil uVision5的编译环境中,根据单片机的时序和传感器需实现的功能进行C语言汇编,程序流程图如图5所示。
无线通信nRF905模块的驱动程序设计的关键在于接受和发射数据信号,接收和发送的地址要一致,程序流程图如图6所示。
图6 无线通信nRF905模块流程图
4 结论
体温和心率是反馈人体机能是否健康的两项重要指标,本设计提出了以传感器和STC89C52单片机为核心的便携式无线实时体温心率监测系统,利用无线通信技术和nRF905模块实现数据包的传输和报警信息的反馈。该系统在监测生理状态的基础上,可以实现状态异常报警和数据传输监测,提醒使用者生理健康状况,实时发送监测数据给监护人和监控中心,实现点对点、点对多点的通信。该系统还具有功耗低、性能高和携带方便的特点。