APP下载

嵌入式油脂颜色检测装置人机界面的设计

2015-02-25高杨

黄河水利职业技术学院学报 2015年2期
关键词:人机界面微控制器缓冲区

高杨

(黄河水利职业技术学院,河南 开封 475004)

嵌入式油脂颜色检测装置人机界面的设计

高杨

(黄河水利职业技术学院,河南 开封 475004)

将嵌入式光电智能检测技术引入到油脂颜色检测中,以高集成度数字色彩传感器和微控制器构建油脂颜色检测装置,采用液晶图形显示模块和键盘操作图形用户界面,进行人机界面硬件电路及软件操作的设计,实现油脂颜色检测结果的实时显示。

油脂颜色;检测装置;人机界面;嵌入式;软硬件设计

0 引言

颜色是油脂销售、存储、加工等过程的一项必检项目,是油脂产品质量优劣的外在表现之一。目前,国际上通用的油脂颜色检测装置是罗维朋比色计[1]。由于罗维朋比色计依靠人工目测读数,观测结果因人而异,加之其滤色片组合色本身有一定的差异,其值存在较大的主观误差。因此,建立客观、快速的油脂颜色检测方法,开发一种简便的油脂颜色检测装置是非常必要的。

随着计算机及微电子技术的不断发展,嵌入式硬件及软件系统逐渐被广泛应用到测量仪器领域。在嵌入式应用系统中,通常都要有人机对话功能,包括用户对应用系统的状态干预与数据输入,以及应用系统向用户报告运行状态和运行结果[2]。油脂颜色检测装置作为一种嵌入式应用,友好的人机交互必不可少,它便于使用者的当前操作和提示输出,直观读取油脂颜色结果和油脂颜色变化情况,为生产和研究提供更有力的依据和数据。

1 油脂颜色检测实验装置

1.1 油脂颜色检测实验装置结构

油脂在常温下是透明液体。根据Beer-Lambert定律,测量液体物质的颜色宜采用透射法进行,以便得到比较可靠的光谱功率分布曲线,进而准确地识别出液体颜色。本设计采用透射法检测油脂颜色。实验装置借助于罗维朋比色计中的样品室、滤色片组和滤色片架、光源、油样(盛放于比色皿中)和传感器,采用垂直一线的排列方式,结构如图1所示。

图1 油脂颜色采集部分结构示意图Fig.1 Grease color collecting part structure

1.2 油脂颜色采集方法

实验装置选用大功率白色LED作为照明光源,CMOS数字色彩传感器ADJD-S313作为油脂颜色信号的检测器件,微控制器PIC18F452分析处理油脂颜色信号,并作为整个检测装置的控制核心。利用PIC18F452的I2C串行通讯模块,基于I2C总线传输协议[3],编程实现ADJD-S313与的PIC18F452微控制器之间数据交换,准确读取到油脂颜色的RGB值。

2 人机界面硬件电路的设计

本设计的人机界面基于计算机图形学,将微控制器与液晶图形显示模块和键盘相结合,构成图形人机界面,显示检测油脂颜色的结果。油脂颜色参数的输入输出显示是人机界面中的重要环节,显示的参数来自键盘输入或系统内部,数据流向如图2所示。

2.1 液晶图形显示模块

采用液晶(LCD)图形显示模块12864M作为人机接口的显示设备。LCD具有功耗低,体积小,重量轻、超薄等诸多优点,已经被广泛应用于各种各样的嵌入式产品中,如手机、PDA、电子游戏机和便携式仪表等。12864M属于点阵式LCD,不仅可以显示字符、数字,还可以显示各种曲线、图形以及汉字。在软件控制下,12864M可以实现屏幕滚动、动画、闪烁、文本特征显示等多种功能。因此,在许多控制系统中,12864M被用作显示终端。

图2 参数显示的数据流向图Fig.2 Parameter data flow

12864M显示128列×64行内容,能显示汉字及图形,内置8192个中文汉字(16×16点阵)、128个字符(8×16点阵)及64×256点阵显示RAM,能通过8位或4位并行/3位串行与微控制器接口,同时具有光标显示、画面移位、自定义字符、睡眠模式等多种软件功能。

2.2 液晶图形显示模块与微控制器的连接方式

12864M与微控制器接口有并行、串行两种方式。串行方式是指12864M以模拟总线的形式与微控制器连接,微控制器用普通I/O口模拟12864M的总线信号完成连接。串行方式便于调试分析数据流的流向,方便程序的调试,但执行速度较慢,并且在模拟总线周期中,容易发生中断,对模拟周期进行破坏。为了保证油脂颜色数据准确快速的显示,本设计采用并行连接方式,如图3所示。RD的8个引脚作为数据总线,RC1连接并行的指令/数据选择引脚RS,RC2连接并行的读写选择信号R/W,RC5连接并行的使能E引脚,RC6连接并/串行接口选择引脚PSB[4]。

2.3 键盘设计

为了减少I/O口的占用,本装置采用4×4矩阵式键盘,如图4所示。

3 人机界面数据结构和程序设计

3.1 操作与显示界面设计

为了提高人机交互的友好性和易操作性,本设计采用简易的图形用户界面,方便用户通过窗口、菜单进行操作。菜单显示是目前用户界面中最受欢迎,也是普遍采用的类型之一,它由西文字符和中文汉字组合而成。为了液晶显示菜单与普通微机上的菜单结构保持一致,该检测装置采用下拉菜单作为显示终端和人机交互接口。

为了使油脂颜色检测装置的人机界面具有好的灵活性和良好的可维护性,采用窗口作为该装置的操作和显示界面。窗口是目前操作系统中最常用的界面[5],其形式是:每当显示一个界面时,其他界面都会退隐。用户可以通过键盘操作菜单进入不同的界面。系统的启动界面、参数设置界面以及运行和显示界面的窗口是由水平线和垂直线函数实现的。窗口结构示意图如图5所示。

为了获得较高的速度,保证12864M显示与缓冲区数据同步,在PIC18F452的RAM中开辟了显示缓冲区。缓冲区大小与12864M的点像素对应,为1024字节 (即128×64/8,l字节数据对应8个点像素)。12864M显示区(0,0)上的点对应缓冲区1个字节的显示数据,后续的各像素点顺次对应。将需要显示的各种图形的运算结果保存在显示缓冲区中。进行画图操作时,先对显示缓冲区相应点的数据进行设置,然后控制数据输出,当画图操作完毕后,再将显示缓冲区的数据发送到 12864M中,更新12864M显示图形。

图3 LCD与微控制器连接的电路原理图Fig.3 Circuit schematic of LCD and m icrocontroller connection

图4 矩阵键盘电路的原理图Fig.4 M atrix key circuit schematic

图5 窗口结构示意图Fig.5 W indow structure

3.2 人机界面软件设计

人机界面的软件设计采用分层的方式实现,即,硬件驱动层、基本图形层、高级接口层。各层之间的关系如图6所示。

图6中,硬件驱动层主要负责硬件驱动,将显示数据转换并发送给LCD。基本图形层主要是通过各种运算,实现基本的画点、画线、矩形和填充等图形显示。这一层的程序能直接调用硬件驱动层的函数,实现显示更新。高级接口层主要为用户提供窗口、菜单等接口,一般直接调用第2层的基本画图函数来实现。该层是进行各种数据结构处理,将它们转换为可显示的具体参数,并控制画图操作。

图6 图形用户界面的层次关系图Fig.6 Hierarchical relations of graphical user interface

油脂颜色检测装置的参数设置和运行模式选择都是通过键盘操作选择菜单来实现的。该装置识别键盘采用的是行扫描法。行扫描法又称为逐行扫描查询法,是一种最常用的按键识别方法。其识别按键的基本原理是:先将所有的行线置0,读列线的值,若此时列线上的值全为1,说明无键按下;若有某位为0,则说明对应这一列上有键按下,这时改变行扫描码,使行线逐行为0,依次扫描。当读到某一列线的值为0时,就可根据此时的行扫描码和列线的值唯一地确定按键的位置,同时也就确定了该键的扫描码。矩阵式键盘识别程序流程如图7所示。

在按键闭合、断开的瞬间,由于机械触点的弹性作用,有抖动现象,抖动时间一般为5~10ms。抖动会引起对按键错误的识别。采用软件延时方法可以消除机械抖动的影响。

图7 识别键盘程序流程图Fig.7 Program flow to identify the keyboard

4 结语

本文设计的油脂颜色检测装置主要用于采集油脂的三基色信号。通过矩阵式键盘输入命令,采用窗口作为操作和显示界面,以液晶图形显示模块作为显示设备,实现友好的人机界面。该方法对油脂加工过程中的油脂颜色在线检测技术和便携式应用技术的开发提供了一种新的参考。

[1]GBT 22460-2008,动植物油脂罗维朋色泽的测定[S].

[2]田泽.嵌入式系统开发与应用实验教程实例[M].北京:北京航空航天大学出版社,2005:160-230.

[3]Avago Technologies.ADJD-S313 Digital color sensor application note 5261[EB/OL].(2006-04-18)http://www.avagotech.com.

[4]彭树生,庄志洪,赵惠昌.PIC单片机原理及应用[M].北京:机械工业出版社,2001:3-89.

[5]王义怀,刘晓升.嵌入式应用技术基础教程[M].北京:清华大学出版社,2005:150-300.

[责任编辑 杨明庆]

TP11

B

1008-486X(2015)02-0041-04

2015-01-16

2013年度黄河水利职业技术学院科研基金资助计划项目:嵌入式油脂颜色检测仪的研究(2013KXJS014)。

高 杨(1982-),女,河南开封人,助教,硕士研究生,从事电气自动化技术专业的教学和科研工作,研究方向:自动化检测技术。

猜你喜欢

人机界面微控制器缓冲区
基于网络聚类与自适应概率的数据库缓冲区替换*
物联网技术在微控制器实验教学中的应用
用于高品质电动汽车的分布式并行计算
CBTC系统车载人机界面的设计与实现
基于PLC与人机界面的经编机电子横移控制系统研究
一类装配支线缓冲区配置的两阶段求解方法研究
关键链技术缓冲区的确定方法研究
Mouser推出TI C2000Delfino微控制器LaunchPad套件
CTCS-3级列控车载人机界面的系统设计与实现
初涉缓冲区