智能视力检测仪器的设计与推广

2017-03-23 09:21赵跃
科学与财富 2016年34期

赵跃

(温州医科大学 浙江省 温州市 325035)

摘 要:以价格低廉的STC89C52单片机为核心,设计一款只需用户一人便可完成对自己视力检测的仪器,大大缩短了视力检测的时间,解放了医护人员的劳动力。将该款视力检测仪器推广于偏远山区及基层的卫生医院,以提高基层医疗机构服务能力为目标,使视力检测普及化,为乡镇居民提供一个眼科疾病早预防的平台。

关键词:STC89C52单片机;视力检测;基层医疗;早预防

前言

随着医疗改革的不断推进,农村居民的健康意识不断提升,基层医疗卫生服务受到越来越广泛的关注。但由于基础医疗设施并不完善,特别是没有相对完善的视力检测仪器以及相对应的劳动力,因而利用价格低廉的单片机设计一款集方向判断、智能识别与信息处理为一体的视力检测仪器尤为必要,该视力检测仪器免去了验光员的参与,大大减少了基层医疗卫生服务的成本,减轻了医务人员的工作强度[1],实现了方便快速的测试视力的目标。

1仪器硬件总体设计

该仪器主要是由单片机最小系统、数码管显示模块、红外线遥控模块,按键模块,语音提醒模块,LED灯组控制模块以及电源等模块所组成的。

我们将STC89C52单片机的引脚作以下分配:P0接口用于控制视力表上E字后面发光二极管的亮灭;P1.0-P1.3接口用于数码管显示视力测试的结果;四个独立按键分别由P1.4-P1.7接口用来控制;控制语音提醒模块通过P3.0-P3.1接口控制;P3.2接口用于控制红外遥控按键模块。仪器控制模块电路如图1所示。

(1)数码管显示

本仪器使用4位数码管来显示视力的数值,左眼视力度数与右眼视力度数分别由两个数码管表示。单片机通过查询到的视标位置,计算得出视标的示数从而显现在数码管上。

(2)红外遥控按键部分

硬件设施主要是一个红外遥控器,视力表上的E字方向由上、下、左、右四个方向键判断。通过STC89C52单片机接收到的红外脉冲载波信号,经软件处理后控制变量进行赋值查询,最后决定所按键方向,实现方向的识别。

(3)语音播报模块

该仪器用到的语音录放电路由YS07语音模块构成的,调用语音文件从而实现视力的播報。

(4)数码管显示模块

当多位数码管运用到一个系统时,他们的“位选”是可以独立控制的,而“段选”是链接在一起的,他们的对应关系分别是:a段、b段、c段、d段分别对应P3.7口、P3.6口、P3.5口与P3.4口;e段、f段、g段、dp段分别与P2.4口、P2.5口、P2.6口与P2.7口对应。4个数码管的位选由单片机的P1.0口到P1.3口分别控制,利用三极管的开关特性可以实现对多个数码管的控制。数码管的电路图如图2所示。

(5)LED模块

LED模块主要用于视力表E视标的点亮。LED灯组、视力表、模拟开关等硬件组成了此模块。

制做一个视力表的灯组,需要在视力表上每个E视标的背后安装一个发光二极管,将地端与所有发光二极管的接地端相连接,通过一个保护电阻我们再将每个LED的输入端接入模拟开关芯片cd4067的输出引脚。4个cd4067共有64个输出引脚控制64盏LED的亮灭情况,这样就完成了LED灯组的制作。

2仪器软件的设计与调试

当定时器,外部中断,串口开始经过初始化了后,开始语音提醒将由YS107语音模块播报发送,首先会进行左眼视力的检测,待左眼检测完成后,会提播报换眼语音信息,之后将进行右眼的视力检测。两只眼睛视力检测完毕后语音将会播报出检测结果,数码管显示相对应的数据。

(1)LED点亮模块

我们把视力表背后的64个发光二极管分为四组,即16个发光二极管为一组。每个模拟开关芯片cd4067控制一组发光二极管。视力表上的第几行我们用xx变量来表示,而视力表上的第几列则有yy变量来表示。该位置的E字开口方向是通过一个函数去计算得到的。

我们以a、b、c、d分别用来代表上、下、左、右四个方向来定义视力表上E字的开口方向,然后把视力表上的64个E字的方向信息通过一个一维数组都存进去。部分代码如下:

/*------------------------------------------------

计算当前光标所在应输出视力表LED位置

------------------------------------------------*/

ucharshuchu(intx,inty)

{

inti;

uchars=0x80,ss;

i=xuanze(x,y);//第一步是计算视力表的位置

s=(~(s>>(i/16)))&0xf0;//对16取整所得到的左移位数是作为LED的输出(一段为16个)

i=i%16;//对16取余

if(i==0){s=s<<1;i=16;}//当余数为0时,则输出上一段LED的最后一个

i--;

ss=(uchar)(i&0x000f);//int转换为uchar

s=s+ss;

return(s);

}

(2)语音播报模块

本仪器事先合成了相关语音文件,并进行格式处理使其成为*.wav格式,为了调用处理好的语音文件,我们还需给处理完成后的每一个语音文件编号。接着通过485通讯线运用录音软件从电脑里录入到YS07语音芯片。

以引导码+段号+结束码的指令来实现语音播报模块的调用。其基本流程为语音模块通过单片机发送的语音引导码,查询到对应的语音文件,然后发送语音段号,通过地址查找语音文件,之后进行播报。语音播报完毕后,单片机发送结束码,语音播报模块停止语音播报。

在视力检测的过程中我们要进行左右眼的语音文件计算。我们将数码管的数值乘上10,再减去40即可得到E字所在位置的行数。将行数用变量s进行赋值,再通过一次强制字符变化使s成为无符号的字符型。最后减去左右眼之间的公差就可以找到对应视力结果的语音文件,从而实现语音播报的功能。

3智能视力检测仪器的应用于推广

(1)目前基层医疗状况

随着社会的不断进步,农村居民也越来越重视自己的身体状况。我们以入户调查、问卷等形式随机调查了温州市文成县玉壶镇的部分村民来反映实际情况。,我们通过调研发现了影响当地农村居民的健康状况主要存在两个因素,一是基础医疗设备并不完善,从而导致农村医疗卫生服务的满意度相对较低[2],二是缺乏适宜农村状况的卫生人才,表现出医生人手不足和药品种类匮乏的现象。因而设计一款价格低廉的且能让用户自行完成视力检测的仪器尤为必要。

(2)仪器推广流程

首先将该套智能检测视力仪器首先投入医科院校的试用点,开展学生活动对在校生进行免费视力检测,根据实际检测的数据对检测仪器进行进一步地改良。开始阶段该套设备的检测结果可能不能达到项目的预期目标与要求,故需要不断进行调试与改进,满足最合适的人机交互。

待项目完善后借用学校暑期实践为平台,在基层乡镇进行推廣和普及。我们以基层眼科诊疗需求为向导,加以适宜装备技术推广为手段,先在乡镇的学校及基层的卫生服务站进行投入试用,一家卫生服务站的标配为两台智能检测仪器。通过对检测仪器在运行的过程中结合被检测者所出现的相关问题进行优化改良,从而促进安全、有效、方便、廉价的适宜装备技术的推广普及和规范应用。在项目进一步地成熟后可投入眼科医院进行摆设使用,让眼病患者自行检测从而对自己的视力情况深入了解,进而真正达到免去了验光员的参与,减轻相关人员的工作负担。此外,由于该仪器方便可靠,测量较为精准可投入学校常规学生视力检测的环节中,进行大量且快速地进行无人验光,经长期的投入使用的过程中确认检测仪器的效果良好后,我们还将此项目进行批量生产,面向广大群众从公共场所走进家庭的普及。

参考文献

[1]周泽学.单片机标准对数视力自动检测仪的研制[J].中国医疗器械杂志,1995,19(2):99.

[2]姚成玥,汪聪亚,涂玮靖,岳锦锐,许挺.乡镇居民对医疗卫生状况了解程度调查.科技创新导报.2013.(20):210-212.