□邱 杰,覃斌毅,董积有
(1.玉林师范学院,计算机科学与工程学院,广西 玉林 537000;2.玉林师范学院,电子与通信工程学院,广西 玉林 537000;3. 玉林师范学院,学生工作处,广西 玉林 537000)
基于MCS-51单片机的视力测试仪设计
□邱 杰1,覃斌毅2*,董积有3
(1.玉林师范学院,计算机科学与工程学院,广西 玉林 537000;2.玉林师范学院,电子与通信工程学院,广西 玉林 537000;3. 玉林师范学院,学生工作处,广西 玉林 537000)
视力检测是体检中最为常见的检测项目,传统的视力检测方法需要医护人员自始至终参与到检测过程中,工作强度大,且医护人员在检测中无意识的暗示也可能对体检者的检查结果造成影响. 本文提出了一种基于MCS-51单片机的视力检测仪的设计方法,该检测仪可需医护人员的较少的干预下,有效地辅助医务人员对体检者进行视力检测.
MCS-51;视力;视力测试仪
人们在入学、入职等很多场合都需要进行体检,视力检测是体检中最为常见的检测项目之一.传统的视力检测方法是医护人员指向视力表中的某一视标,体检者判断出视标的开口方向,最终医护人员根据体检者所能正确识别的最小视标给出其视力值,这就要求医护人员自始至终参与到检测过程中.当体检人数众多时,这种检测方法需要医护人员花费大量的时间完成检测工作,体检者也需要花费大量的时间等待检测,且医护人员在检测中无意识的暗示也可能对体检者的检查结果造成影响.
本文提出了一种基于MCS-51单片机的视力检测仪的设计方法,该检测仪以MCS-51单片机为控制核心,在医护人员较少的干预下,有效地辅助医务人员对体检者进行视力检测.
本设计硬件由单片机主控模块、LED显示矩阵模块、红外收发和键盘输入模块、LCD液晶显示模块构成,硬件结构图如图1所示.单片机主控模块控制LED显示矩阵模块中的LED灯点亮,引导体检者进行视力检测;体检者将视标开口方向的判断情况通过键盘输入;从键盘输入的判断信息由红外收发模块传递给单片机主控模块,主控模块对信息进行判决并最终将体检者的视力值送到LCD液晶显示模块显示.
图1 自动视力测试仪硬件结构
2.1 单片机主控模块
单片机主控模块使用AT89S51单片机,它是一个低功耗,高性能CMOS 8位单片机,片内含4k BytesFlash片内程存储器,128 bytes的随机存取数据存储器,2个16位可编程定时器/计数器.AT89S51单片机主要完成LED显示矩阵控制、结果判决、LCD液晶显示控制.以单片机的P2口作为LED显示矩阵的控制口;P0口与无线接收模块的数据输出口相连;P3.0与LCD液晶的片选相连,P3.1连接LCD串行数据口,P3.2连接LCD液晶串行数据时钟,P3.3连接LCD液晶串/并行方式选择口.[1]
2.2 LED显示矩阵模块
在视力表每个视标下方都安装了一个LED灯,当LED灯亮时,表示要求体检者指出视标的开口方向.为了节约单片机的IO口,将LED以矩阵的形式连接,每一个LED灯都有一个属于自己的唯一编号.在检测视力时,任一时刻只有一盏LED灯亮.[2]
2.3 红外收发和键盘输入模块
为了使体检者对视标的判断信息能通过无线传输给单片机,选用PT2262/PT2272芯片组对信号进行调制和解调.PT2262/PT2272是一对带地址、数据编码功能的红外遥控发射/接收芯片,可传输距离达100m,满足视力检测的距离要求.
键盘输入采用独立键盘的形式,共设置了四个按键,按键的键值送到红外发射模块的输入端.当有按键按下时,红外发射模块的输入端输入高电平;当按键没按下时,红外发射模块输入端输入低电平.依靠红外收发和键盘输入模块,单片机就能获得体检者对视标的判断信息.[3]
2.4 液晶显示模块
选用带中文字库的LCD 128 X 64显示视力检测结果,[4]128 X 64 是一种具有4位/8位并行、2 线或3线串行多种接口方式,内部含有国标一级、二级简体、中文字库的点阵图形液晶显示模块;其显示分辨率为128 X 64,内置8192个16*16 点汉字和128 个16*8 点ASCII 字符集.为了节约单片机的IO口,单片机与LCD128 X 64相连使用3线串行的接口方式.
本设计软件流程图如图2所示.根据结构化的思想,软件可分为以下模块:随机数生成模块、输入识别模块、结果判决模块这三部分构成.随机数模块用于生成一个1~72之间的随机数,利用这一随机数即可控制LED显示矩阵中相应位置的LED灯点亮,引导体检者进行视力检测.输入识别模块识别体检者按下按键的键值并将键值传递给单片机进行处理.结果判决模块是将收到的键值与单片机内部存储的视力表相比较,最终得出视力检测结果.显示模块则是把视力检测结果显示到液晶面板上.
3.1 随机数生成模块
为了避免每个视力等级亮灯具有规律性,本系统采用了随机数去控制同等级中LED灯的亮灭.借助C语言标准库头文件(stdlib.h)中的srand( )和rand( )两个函数产生控制LED灯所需的随机数.[5]其中,srand( )中的种子可以使用单片机定时中断产生.种子从0开始,毎到一次定时中断,种子加1,种子的取值范围从0到251.
3.2 输入识别模块
输入识别模块将体检者的按键键值传递给单片机处理,本系统总共使用了四个按键,通过按键的不同组合,可实现视力检测所需的各项功能,每个按键的功能如表1所示.本设计设置了一个“高视力模式”键,当体检者按下“高视力模式”键时,检测不是从第一行(视力值4.0)开始检测,而是从第五行(视力值4.4)开始测试.视力好的体检者可使用“高视力”这一功能,省去检测第一至第六行视标的时间,提高检测效率.
表1 按键功能
图2 视力测试仪软件流程图
图3 判决过程流程图
3.3 结果判决模块
单片机在获得红外接收模块的键值信息后进行判决,单片机将键值与单片机ROM中存储的视力表对比.判决规则是,从视力表第八行(从上往下数)作为分界线,将视力表分为上下两个片区.在上片区,当同一等级连续判断正确的次数是本行视标数的一半时,检测下一等级;当第一次出现同一等级的判错次数大于2次时,则返回上一个等级进行测试,记录标志位flag为1.在接下来的测试中再次出现判错次数大于2次时,记录标志位flag为2,这时直接输出结果为当前上一等级视力值.在下片区,当第一次出现同一等级连续判断正确的次数是本行视标数的一半时,检测下一等级;在当同一等级的判错次数大于3次时,则返回测试上一个等级,记录标志位flag为1.当在测试中再次出现判错次数大于3次时,,记录标志位flag为2时,这时直接输出结果为上一等级视力值,流程图如图3所示.
本文设计了一种基于MCS-51单片机的自动视力测试仪,可在医护人员较少的干预下,有效地辅助医务人员对体检者进行视力检测.
本设计仍有不足:(1)随机数的生成与种子有联系,种子的取值范围越大,生产随机数的随机性会越好,因此,随机数生成模块中的种子取值范围有待增大;(2)目前使用的判决规则是依据经验得出,此规则有待根据临床试验进行修改,以增强规则的适用性;(3)在每一个视标下安装的LED灯是否会影响体检结果,有待进一步的临床实验确认. ■
[1]李荣正. PIC单片机在视力测试仪中的应用[J]. 上海工程大学学报,2003,17(3):171-174,180.
[2]沈晓宇. 基于OMAP3530双核处理器的液晶视力测试仪研制[J]. 现代仪器与医疗,2013,19(2):16-19.
[3]李荣正. 微机控制视力测试仪的研制[J]. 电气自动化,1998,(6):28-29.
[4]马建宁,蒋红兵,王林农,等. 新型视力自动测试仪的研制[J].现代医学仪器与应用,1999,11,(4):4-5.
[5]魏保立,李秀玲.基于STM32的多功能视力测试仪制作[J].电子制作,2013,(8):23-24.
【责任编辑 谢明俊】
Design of Vision Testing Instrument Base on Singlechip MCS-51
QIU Jie1,QIN Bin-yi2*,DONG Ji-you3
(1. Schoolo of Computer Science and Engineering, Yulin Normal University, Yulin, Guangxi 537000;2. School of Electronics and Communication Engineering, Yulin Normal University, Yulin, Guangxi 537000;3. Department of Student Affairs, Yulin Normal University, Yulin, Guangxi 537000)
Vision testing is a common project in physical examination. Traditional method of vision testing requires doctor to involve in the testing process, which is a heavy workload. The result of the testing is affected by unconscious cues of doctor. This paper proposes a method which designs vision testing instrument based on MCS-51 single chip microcomputer. This instrument can intelligently guide physical examinees to complete visual acuity examination without the guidance of doctor.
MCS-51; vision; vision testing instrument
TP216
A
1004-4671(2015)02-0031-04
2014-03-01
邱杰(1987~),男,汉族,广西玉林人,玉林师范学院计算机科学与工程学院助教,硕士研究生。研究方向:计算机应用、数据挖掘。*