家用智能心率检测仪(13)

时间:2025-04-11

单片机课设,运用AT89s52,

第四章 软件设计

4.1 软件总体设计

软件的编写对一个系统的控制至关重要,它将教授控制芯片怎么去进行相应的动作。这是数字电子计数的一大提点。

软件的设计主要在于单片机的控制程序编写,本设计涉及到单片机内部模块有:时钟定时、事件计数、内部中断、数码管驱动显示、键盘软件编写等程序的编写。程序的功能是控制整个系统的工作,通过单片机内部的定时/计数来设置定时事件与计数数值,通过时间与数值来进行相应的动作。

图4.1 软件流程图

单片机课设,运用AT89s52,

4.2 部分软件程序设计 4.2.1外部事件计数器程序设计

前端信号(即心率检测处理信号)为0~~5V的数字脉冲信号,单片机可以识别此类信号,AT89S52内部拥有三个16为的定时/计数器,T0、T1与AT89C51完全相同,故选择T0模式2事件计数模式,模式2为八位计数模式,计数上线为256,完全满足使用范围,初始化时设置为边沿触发模式。程序流程图如下。

图4.2 计数过程

4.2.2 定时中断程序设计

心脏跳动的频率称为心率(次/分钟),根据每分钟心脏跳动的次数来判断人体的健康程度,所以需要当时间到达时候,计数器将不再工作,因此,系统需要进行一分钟的定时时间,当一分钟的时间到达后,执行中断,禁止计数器工作,心跳次数显示为恒定值不变。

图4.3 定时中断流程图

单片机课设,运用AT89s52,

4.2.3 数码管驱动软件实现

数码管的驱动方式为动态驱动,程序上的编写实现要按照扫描形式进行,先打开一个,然后关掉,在打开第二个,在关掉,依次进行,每次点亮时间很短,并且需要进行延迟一点时间。

4.2.4心率程序设计流程

测量心率有模拟和数字两种方法。模拟方法是在给定的时间间隔内计算R波(或脉搏波)的脉冲个数,然后将脉冲计数乘以一个适当的常数测量心率的。这种方法的缺点是测量误差较大、元件参数调试困难、可靠性差。数字方法是先测量相邻R波之间的时间,再将这个时间转换为每分钟的心跳数测量心率的。这种方法的优点是测量精度高、可靠性好,并且能同时测量瞬时心率和平均心率。用数字方法测量心率的电路又分为两种类型:一种是使用一个可预置的计数器实现现除法电路;另一种是通过自动下降的时钟频率测量相邻R波之间的时间。

本次设计我们采用数字方法测量瞬时心率(Intantaneous Heart Rate,IHR)时,只要测出两相邻R波之间的时间(即心率周期),再将这个心率周期转换为每分钟的心跳数。如图所示,设心率周期为T秒,则瞬时心率的计算公式为

IHR=60/T (1-1)

如果用频率为f0的时钟脉冲作为测量时间基准,在R波由高电平变成低电平的瞬间触发外部中断INT0,开始对时钟脉冲计数,当R波再由高电平变成低电平的瞬间停止记数。设计数值为N,则T=N/f0秒,故瞬时心率的计算公式为

IHR=60f0/N (1-2)

我们用的单片机的时钟频率f0=12MHz时,IHR=60×12M/N=720M/N。平均心率(Average Heart Rate)的测量是将一定时间内测得的各个瞬时心率求平均值。设测得的瞬时心率为IHR1,IHR2, ,IHRn,则平均心率的计算公式为:

AHR=(IHR1+IHR2+ + IHRn)/n (1-3)

图4.4 心率处理波形

根据瞬时心率计算公式及图4.4,瞬时心率的计算应以12MHz的时钟频率作为时间基准,测量相邻两次心跳之间的时间,然后做除法运算。因此,瞬时心率计算电路应包

家用智能心率检测仪(13).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219