河北工程大学科信学院毕业设计说明书
中断返回 恢复现场 R1R4+1送R1R4 保护现场 保护现场 置T1定时初置T0定时初值 外部中断0关闭 N 中断次数(100次)Y 外部中断恢复现场 中断返回
图4-3 定时器T0的中断 图4-4 定时器T1的中断
服务程序流程图 服务程序流程图
4.2测量计算原理
在心跳脉冲输入给计数器之前,此器件进行了100倍频的数据处理,组成方框图。如果每分钟人心脏跳动次数为n次,即频率f=n/60Hz,此刻,只需将计数闸门设置成0.6秒,那么就可以准确将心率显示出来。例如:n=76,100倍频后的f是127Hz,进入脉冲是0.6×127=76,恰恰和真是心率相同。
设时间为t(秒)内产生K个连续的动脉搏动作,于时间 t 内产生的心率的平均值为n(次/分),则:
n = 60K/t 式(4-1)
方便确保更好的掌控MCU算出t的数值,所以选择脉动信号控制MCU的计数/定时器To定时(定时每lms将会中断一次),工作寄存器会把中断次数进行累计,进而读取计数值。设该计数值为N,于是有:
t = 0.001N 式(4-2)
22
河北工程大学科信学院毕业设计说明书
把(2)带入(1)得到:
n = 60k/0.001N =60000K/N 式(4-3)
式(3)中即使用了单片机量取心率数的数学模型。正如此单片机模块中,K = 1~9。可测心率范围20次/分~~200次/分(N的范围:300~~30000)
4.3 KEIL编程软件的介绍
编程软件选择方面使用了美国KEIL SOFTWARE公司研发的KEIL c5l,它能完美的兼容5l系列单片机及c语言软件编写环境,和汇编语言相比,c语言比汇编语言拥有在结构性、可读性、功能使用等方面具有显著的长处。KEIL c5l编程系统拥有普遍的功能更全面的集成开发调试功能和库函数,融合了WINDOWS系统。还有关键的一点,KEIL c5l编出来的目标指令效率特别明显,基本上语句编出来的汇编程序非常紧凑,便于读取。这样开发大型软件时,便越能表达出高级编程软件的优势。利用KEIL的审查功能就可以保证程序语言的无误性且保证预期功能的正常执行。
4.4几种主要干扰因素
(1)阳光的干扰。
由于此电路是利用红外光线穿过手指来采集人的心率信号,在此基础上把信号进行处理,从而获得心率值。另外处于千差万别的环境内,外界光照的强度也会产生差异,此因素给实验的干扰很明显。但是外界光照对于人体表面的强度是均衡的,也就是照在人体的各处光照强度相同,对人体内变化的影响是相同的,也就是可以相互抵消的。
注:在实际操作过程中,光对测量的影响确实很明显,刚开始我还一直以为是由于手指的抖动,导致传感器采集到的信号不明显而导致整个心率计不灵敏,后来拿到黑暗的地方,问题就不太大了。 (2)测量过程中手指的抖动。
光电传感器如果监测取得的心率信号十分微弱,在实际操作是,手指的轻微抖动就可能导致测量的心跳值产生大幅变化。为了解决这个问题,在设计中,在测量的时候尽量手指不要有太大的浮动,就可以很大减小手指抖动对试验现象以及结果的影响。 (3)呼吸的影响。
血液中的含氧量的变化进而导致人体组织透明度变化,从而来测量心跳频率,这就是本设计心率信号的采集原理。这样正常情况下的呼吸和急促的呼吸就使得人体内的含氧量大大的不同,所以运动的人和一般人的心率也大不一样。据试验所得,当人运动之
23
河北工程大学科信学院毕业设计说明书
后呼吸会比较剧烈,这时他的心跳频率也就跟着变大。通常情况下 ,心率指的是当人一般生活状态下的时候的心跳值。
4.5 本章小结
基于单片机的数字心率器的软件设计部分大致包含主程序流程图、显示子程序还有中断程序流程图组成。众所周知C语言编程较容易完成难度较高的算法,而汇编语言指令则更节省时间,效率更高并且适用于精细计算程序工作的时间,而数字心率器的软件设计一方面包含相对复杂的计算(时间t内的平均值),另一方面还应做到准确计算程序工作时间(动脉搏动时间),因此控制程序选择C语言和汇编语言混合编程的方式。
24
总结
总结
脉搏测量过程核心环节是单片机的设置和传感器输出的信号如何提取的问题, 本课题的电路中模拟电路较为简洁,利用S51芯片来完成脉搏信号收取,对信号进行处理,对脉搏进行计数等功能,因此体积小,功耗低,电路的稳定性高。本设计可以作为对脉搏频率进行实时存储,还可以对脉搏次数进行报警, 所以适合当成便携的脉搏测试计。
基于单片机心率仪的软件部分大致有主程序流程图、显示子程序及中断程序流程图这几部分。众所周知,C语言编程能够完成较为高级的算法,而汇编语言编程则能够省时并且利于精细编程工作的时间,而心率计的编程指令既包含比较复杂的计算,还必须精细的计算出程序的工作时间(动脉搏动时间),因此控制代码运用C语言和汇编语言混合编程而成。
为了便于实现数字心率计的重复性,另外增加了单片机的复位按键还有测试复位按键。与此同时,为了便于观察脉搏跳动次数的增减情况,选择了动态扫描显示的方式,采取共阳极数码管,能够每时每刻便于观测脉搏跳动的实时情况。当测试完成时,利用心率计的报警功能,能够对病人进行预警,如果3种灯其中任何一种灯亮起,则表示测试过程结束。
本课题所研发的测量仪优点有:制作简单、操作简洁、功能全面、稳定性能高,日常使用范围广,拥有实际价值。但是因为利用的知识不够全面,所以本课题还拥有诸多可以改进的地方,例如:光电传感器的灵敏度不够精确,程序也许不够简练,数码管显示模块不是很完美等,另外这个设计里心率计的功能比较寻常,缺少如能够自动播放心率值的语音系统等一些更加人性化的功能,另外在设计的过程中,运用的运放数量也比较多,加大了电源管理的复杂度。但是我坚信,科学的发展势必会使监测仪的功能日益强大和完善,应用领域会不断扩大,会给我们的生活带来更多的方便和精彩。
25
河北工程大学科信学院毕业设计说明书
致谢
四年大学生活即将结束,这四年中,我收获了知识,收获了友谊,更收获了为人处事的道理。感谢学校为我提供这个自我发挥的舞台,让我在这里尽情展现了自己的才能。在这个大家庭里,我和同学们共同生活,共同学习。
生活的道路不会一直这么平坦,在前进的道路上,我遇到了很多困难和挫折,但是凭借着自己的毅力和周围老师、同学的帮助,我最终都努力地克服了。
在这次课程设计的过程中,我的指导老师高敬格老师给予了我很大的帮助,在设计的初期我遇到了比较大的麻烦,可以说毫无头绪一度对论文失去的信心。多亏高老师提供了相关的资料,对我的课程设计作品给予了指导和支持。使我顺利圆满的完成了此次课称设计。在此,向高老师表示衷心的感谢!同时,也要感谢我的同学,在我遇到困难时主动帮我解决,使我很快地攻克了一个又一个难题。毕业设计已经结束,但它却给我留下了美好的回忆,在做毕业设计的过程中加深了师生的感情和同学之间的友谊,觉得每一天都是那么的充实和愉快。接着我要感谢学校和学院给了我们这么一次展示自己能力的机会,大学即将结束,在踏入社会前,学校为我们安排这么一次毕业设计的任务,这在很大程度上有助于提高我的学业水平和生活适应能力。
在本次毕业设计过程中我受益匪浅,同时也遇到了许多困难,在我定下毕业设计题目时,我自认为挺简单的,但在理性分析和实际操作过程中却处处碰壁,这都是由于基础知识不牢固造成的,最后在老师的耐心指导下,我对题目有了一定程度的认识和理解,对具体的细节有了清晰地认识。本次毕业设计让我学习到一些实践应用知识,增强了我实践操作和动手应用能力,提高了独立思考的能力。最后,再次感谢学院给了我们机会,以及信电学院的各位老师和许多的朋友、同学在各个方面给予了我很多的帮助和支持,让我坚持到了最后,谢谢你们!
26