微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 医疗电子 > 一种基于AT89S52的可视电子听诊器的研制

一种基于AT89S52的可视电子听诊器的研制

时间:01-13 来源:互联网 点击:
2 调理电路的调试

一个正常人的心音图如图4所示,其中s1是第1心音,s2是第2心音;Systole代表心脏收缩期,Diastole代表心脏舒张期。



经过信号调理电路后的心音变成如图5所示的波形。



3 系统软件设计

系统选用的LCD是在图形工作方式下,通过建立坐标系,利用位操作实现对心音波形的逼真显示。下面详细介绍液晶显示屏绘图编程的算法和波形连续显示。

3.1 绘图编程的算法

系统选用的是128×64点阵式图形液晶显示模块。要绘制心音波形只要根据A/D转换来的数据在液晶显示器的对应位置上绘点显示。首先在液晶平面上建立如图6所示的显示坐标系。



图中画出了液晶显示器在图形工作方式下液晶平面的每一处所对应的显示缓冲区地址情况,数据为十六进制,并建立以左下角为坐标原点的坐标系。这样坐标(X,Y)的值都为正值,简化了算法。其中X表示1~128个点,Y表示各个点所对应的幅值。由于A/D采样的数值为0"255,而LCD的行取值为0~63,所以把幅值缩小一定的倍数,即Y=D/B,D为A/D采集的数字量,B为该数缩小的倍数。由图可以看出幅值Y加1,显示缓冲区地址K就减少10H,从而得到缓冲区地址的表达式:K=X/8-10H*Y+0BF0H。而缓冲区地址字节中对应X除以8的余数的位就正好是要绘点的位置。只要利用位操作命令对它置位就可实现绘点。

3.2 波形显示

把采集的数据存放在RAM中,RAM共存了8KB波形数据。而液晶显示器1次只能显示128个点,因此可以通过改变在RAM中读数间隔来控制波形的横向显示,即每显示完1个数据,RAM地址加N,通过改变N的大小来拉开或回缩信号波形,以便于观察。

如果相邻2个点的幅值稍有不同,2个点的距离就会分开,造成显示不连续,影响视觉效果。因而怎样使波形显示连续,是显示信号波形中一个很重要的问题。本系统中对这一问题的解决方法:在LCD上每显示完1个点后,判断它与前1个点的幅值差距,即Y值值差,若大于8,就要在2点之间插入若干点(X值不变,只变Y值),使2点连续起来,然后再进行下1个点的显示。利用这种方法,可很好地实现心音波形的显示。波形显示程序流程图如图7所示。



4 结束语

本文介绍的可视听诊器能实时显示心率和心音波形,并能进行波形拉伸、变换和回放,形象直观、操作方便,适合向临床教学和医疗领域推广应用。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top