2022年心电监测的单片机系统设计.pdf
心电监测的单片机系统设计心电监测的单片机系统设计生物医学工程2 宗慧洋一、内容 : 1 设计一个单片机系统: (1)具有 R 波的检测及心律失常报警功能(至少考虑二种心律失常情况)。(2)具有心电波的存储与回放功能。2 对系统 (1)或(2)功能进行软件模拟调试仿真二、目标 : 训练综合运用所学知识独立完成设计课题的能力掌据单片机系统设计方法通过查阅资料 .元器件手册等 ,培养独立分析与解决实际问题的能力学会写设计报告三、要求 : 1.原理介绍(1)本系统具有心电波的存储与回放功能。当病人需要监测时可在安置好导联电极后按下“监测开始键” ,系统即对病人的心电波进行采集并将其存储。当需要回放数据时,可以按下“数据回放键”系统即将存储的数据回放一次。(2)本系统具有R 波的检测及心律失常报警功能。R 波的检测由硬件R 波检测器完成,它每检测到一个 R 波即向系统发出中断请求,系统响应中断后,计算 R-R 间隔 ,并利用此 R-R 间隔进行心率失常分析。目前阶段系统只对心动过缓与心动过速进行分析,当发现其中一种异常心电时,系统即发出警报。(3)系统采用低功耗设计,充分利用 80C51 系列单片机的节电工作方式,并且数字电路主要芯片CMOS型,保证系统能过对病人进行长时间检测而无需更换电池。2.设计思路及框图(1)检测算法 :当 R 波检测器检测出R 波后 ,系统即进行R-R 间隔计算并求出前8 个 R-R 间隔的平均值作为心律失常分析的主要原始数据。由于目前阶段只对心动过缓与心动过速进行分析,检测算法较简单。即 : 心动过缓 :AR1 、2S。当平均 R-R 间隔时间 1、2S,即作为心动过缓检出报警。R 波ECG 放大器R 波检测器导 连 脱 落检测器A/D 转换器单片机系统D/A 转换器声光报警电路按键电路精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 8 页 - - - - - - - - - - 心电监测的单片机系统设计心动过速 :AR0 、5S。当平均 R-R 间隔时间 0、5S,即作为心动过速检出报警。(2)系统框图 :系统框图如下图所示。心电信号由导联电极导入,经 ECG 放大器放大、 滤波后一路送 A/D 转换器 ,由单片机系统每隔5 毫秒采样并存储一次,当回放时 ,数据经 D/A 转换器输出给监视器或记录器 ;另一路送R 波检测器 ,每次检出R 波后 ,由单片机发出中断请求,单片机响应中断后,在中断服务程序中 ,进行心率失常分析,当检出异常心电时,通过声光报警电路发出报警;还有一路送导连脱落检测器 ,在发现导连脱落(或导电膏已干)即向单片机系统发出中断请求,由中断服务发出报警信号,病人听到报警信号后,通过按键电路按下任意一键即可结束报警,再按“监测开始键”可以继续进行检测。3.硬件原理图及说明(含单片机口线及地址分配表、有原理框图、总原理图) 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 8 页 - - - - - - - - - - 心电监测的单片机系统设计4.程序流程图及说明程序流程图如上图所示,系统采用模块化的设计方法,各模块功能如下: (1)检测开始模块。当“检测开始”键按下,即转入此模块,完成心电监测的初始化,包括采样频率的设置 ,存储地址的设置,R 波检测中断的设置。由于心电信号的的上限频率为100Hz,根据采样定理 ,系统采用 200 Hz 的采样频率采样周期5ms。(2)心电采集模块。完成定时(5ms)对心电数据进行采集与数据存储,及 R-R 间隔时间的记录。(3)R 波检测模块。当R 波检测器发出中断请求后,系统进入此模块,进行前 8 个 R-R 间隔的平均值(AR) 计算 ,并将 AR 与上限 (1、2s)及下限 (0、5s)进行比较 ,若异常则发出心律失常报警型号。(4)数据回放模块。当“数据回放”键按下,即转入此模块,进行一次128KB 数据的回放。(5)导联数据模块。当导联脱落中断时即转入此模块,发出导联脱落报警信号。5.主程序与子程序及注解T0 初值计算 : 工作于计时方式1:TMOD 01H 5ms 计时初值 :X655365ms12MHz/12 605360EC78H 程序设计如下 : ORG 0000H LJMP main ORG 0003H LJMP INTL0 INT1 中断入口保护现场R 波检测恢复现场中 断 返 回上电复位初 始 化置节电工作方式TO 中断入口保护现场心电采集恢复现场中 断 返 回INT0 中断入口保 护 现 场“监测开始” 键“数据回放” 键导联脱落报警恢复现场中 断 返 回检测开始数据回放精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 8 页 - - - - - - - - - - 心电监测的单片机系统设计ORG 0013H LJMP INTL1 ORG 000BH LJMP T012 ORG 2000H main: mov sp,#60H ;主程序开始SETB EX0 ;开 INT0 中断SETB IT0 SETB EA ;开 CPU 总中断ORL PCON,#00000001B ;置节电工作方式here:sjmp wait ;等待中断;检测导联脱落、开始信号、回放信号中断子程序INTL0:JB P1 、6,INTL0_0 ;判断就是否时开始信号?ACALL start ;若位开始信号,则执行开始子程序RETI INTL0_0:JB P1 、7,INTL0_1 ;就是否为回放信号?ACALL redisplay ;若为回放信号,则执行回放子程序RETI INTL0_1:SETB P1 、0 ;若为导联脱落信号,则指示灯亮 ,报警CLR P1、4 CLR P1、3 ACALL DELAY ;报警延时CLR ET0 RETI ;开始工作子程序start:SETB EX1 ;开 INT1 中断SETB IT1 SETB ET0 ;开 T0 中断SETB TR0 mov TMOD,#01H ;T0 工作于方式1 mov TL0,#78H ;5ms 计时初值mov TH0,#0ECH mov 38H,#30H ;记录 8 个 RR 间隔的首址 (30H-37H) mov 40H,#0 ;RR 间隔计时初值mov R0,#00H ;存储区首址mov R1,#20H mov DPTR,#7FF8H ;0809 通道首址movx DPTR,A ;启动 A/D 转换RET ;T05ms 计时子程序T012:SETB P3、 6 ;每隔 5ms 启动一次A/D 转换mov TL0,#78H ;重赋计时初值mov TH0,#0ECH mov A,40H ;R R 间隔计时精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 8 页 - - - - - - - - - - 心电监测的单片机系统设计INC A mov 40H,A CLR P3、6 RETI ;A/D 转换INTL1:JNB P1 、 5,INTL1_0 ;就是否检测到下一个R 波?ACALL RJG ;检测到 R 波,则计算 R R 间隔时间INTL1_0:movx A,DPTR ;读 A/D 转换结果push DPL ;地址指针入栈push DPH mov DPH,R1 ;将存储区首址给DPTR mov DPL,R0 movx DPTR,A ;存放 A/D 转换结果pop DPH pop DPL INC R0 ;存储区地址增1 mov A,R1 ADDC A,#00H mov R1,A movx DPTR,A ;启动 A/D 转换RETI ;计算 R 波间隔子程序RJG: push PSW ;保护现场push ACC JNB 10H,INI ;R 波检测初始化否?mov A,40H ;更新 8 个 R-R 间隔MOV R0,38H mov R0,A INC R0 mov A,R0 ANL A,#37H mov 38H,A ACALL AVERAG ;计算平均R-R 间隔mov R1,A ;心率失常检测CLR C SUBB A,#64H ;心动过速检测小于 0、5s JNC xlgh ;正常 ,转过缓检测SETB P1、0 ;正常指示灯灭CLR P1、4 ;异常 ,报警 ,指示灯亮CLR P1、 1 ACALL DELAY ;报警延时AJMP ENDR xlgh: mov A,R1 SUBB A,#0F0H ;心动过缓检测大于 1、2s 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 8 页 - - - - - - - - - - 心电监测的单片机系统设计JC ENDR ;心率正常 ,继续检测SETB P1、0 ;心率正常指示灯灭CLR P1、 4 ;异常指示灯亮报警CLR P1、 2 ACALL DELAY ;报警延时AJMP ENDR INI: JNB 01H,ONER ;R 波检测初始化mov A,40H mov R0,38H mov R0,A INC R0 mov A,R0 JB ACC、3,INIF ;初始化完成否mov 38H,A ;未完成 ,返回SJMP ENDR INIF: ANL A,#37H ;完成mov 38H,A SETB 10H ;置初始化标志SJMP ENDR ONER: SETB 01H ;第一个 R 波标志ENDR: CLR A ;下一个 R-R 间隔时间记录CLR P1、 5 mov 40H,A pop ACC ;恢复现场pop PSW RET ;计算平均R-R 间隔子程序AVERAG:mov R1,#08H ;8 个 R-R 波间隔计算初值mov R0,#30H ;8 个 R-R 波间隔存放首址CLR A mov B,A LOOP: ADD A,R0 XCH A,B ADDC A,#00H XCH A,B DJNZ R1,LOOP SWAP A RL A ANL A,#00011111B XCH A,B SWAP A RL A ORL A,B RET 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 8 页 - - - - - - - - - - 心电监测的单片机系统设计;回放子程序redisplay:CLR P2 、7 ;启动 D/A 转换CLR P3 、7 mov R0,#00H ;存储区首址mov R1,#20H mov DPTR,#7FFFH ;D/A 口地址push DPL push DPH mov DPL,R0 mov DPH,R1 movx A,DPTR ;读存储区的值pop DPH pop DPL movx DPTR,A ;输出 D/A 转换结果INC R0 mov A,R1 ADDC A,#00H mov R1,A SJMP replay RET ;延时 12ms 子程序DELAY: mov R7,#18H TM: mov R6,#0FFH TM6:DJNZ R6,TM6 DJNZ R7,TM RET END 6.工作原理本系统就是为离院病人设计的便携式智能心电监测仪。当系统中装有电池,并打开电源开关,系统即可工作。在检测时,按下“检测开始”键,系统开始对心电信号进行采集与存储。由于正常情快下(未检出心律失常时),心电波形基本一致,无需完全存储 ,所以当128KB SRAM记满时 ,采用循环的方式将原存储数据覆盖。当系统检测出心律失常时,即由声光报警器发出警报,同时存储数据冻结,此时的数据可以在以后回放时为医生诊断病情提供原始材料。需要数据回放时,可按下“数据回放” 键,随时回访一次128KB SRAM中的数据。在正常情况下,回放数据不干扰心电的采样与存储。7.收获 .体会等本次“心电检测的单片机技术”实验可以说就是这学期单片机技术的总结,实验要介绍具有R波的检测及心律失常报警功能的原理、算法及框图 ,还要具有心电波的存储与回放功能。要用 Proteus软件进行模拟调试仿真,用 Keil uVision3 灌入程序。最后得出结果。说来惭愧,虽然已经学了两学期的微机原理与单片机技术,但这次做实验还就是很吃力,虽然实验原理与内容很明确,但实际操作做的时候 ,我上课学漏掉的知识就暴露无遗,为此我把课本又翻了几遍,对着 Proteus 软件头大了几圈,总算有了点头绪。 经过几天的努力终于做好这份实验。通过这次心电监测的单片机系统设计,我也学到了很多东西 ,现在在学校作为一个学生,不能只为通过考试,还要为自己的将来负责。学习无止境 ,我们对知识要有追求的心态。实验虽然结束了,但这些心得将沉淀在我心里,让我对未来更坚定一些。最后,感谢同学的帮助与老师的辛苦!精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 7 页,共 8 页 - - - - - - - - - - 心电监测的单片机系统设计四、参考资料 : 单片机原理及应用生理学医用电子仪器医学微机仪器电子技术应用杂志生物医学工程杂志精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 8 页 - - - - - - - - - -