VFD即真空荧光显示器,它的显示信息量大,亮度高,自发光,功耗小,无视角的障碍,适用的温度,湿度范围大,可靠性好。VFD显示模块是一种集显示、控制与驱动于一体的显示器件,具有有接口方便,编程简单等优点,可被广泛应用在家用电器、办公自动化设备、工业仪器表及汽车等各种领域中。
日本则武伊势株式会社(noritake-itron)生产的一款GU256*128, 39XX系列vfd显示模块,被我们选来做显示器件。该模块通过串口与主板联接,可以通过一系列的控制命令控制显示内容。该模块内置的光标是一条宽度为1个dot,高度为8个dot的短竖线,在我的显示界面中,字体为8*16,这个内置的光标就显得不协调,太小,而且对当前选择的菜单的指示作用也不明显。因此,需要自制一个光标。
先了解几个与自制光标有关的命令:Cursor Set,RAM bit image definition,downloaded bit image display。简单解释一个这几个命令含义:
cursor set:移动默认cursor,制定显示的起始位置。
RAM bit image definition:在显示模块的指定RAM区域中定义一幅图像。
downloaded bit image display:在cursor当前所在的位置显示用户在RAM或者FROM中定义的图像。
上述命令的具体说明参见39XX系列的软件说明书。
利用上面的几个命令,我们就可以自己定义一个图标,并根据需要移动它,形成自制光标。编程语言采用C语言,具体做法如下:
1、首先利用字模工具等,画出光标图形,得到该图形数据—一个字节数组。
2、利用RAM bit image definition定义两个函数,分别负责在RAM里定义自制光标图像和铅笔擦。
void vfd_DefineMyIcon()
{
//RAM bit image definition command set
........................
//image data 通过字模工具得到的字节数组
.......
}
void vfd_DefineMyBrush()
{
//RAM bit image definition command set
........................
//image data 通过字模工具得到铅笔擦的字节数组
.......
}
3、利用downloaded bit image display命令定义两个函数,分别负责显示、擦除自制光标。
void vfd_ShowIcon()
{
//downloaded bit image display命令,显示自制光标
}
void vfd_HideIcon()
{
//downloaded bit image display命令,显示铅笔擦图像,隐去自制光标
}
4、定义Moveicon函数,实现自制光标的移动。
void MoveIcon(BYTE oldPos, BYTE newPosl)
{
//首先擦掉起始位置的光标
vfd_SetCursor(oldPos);
vfd_HideIcon();
vfd_SetCursornewPos);
vfd_ShowIcon();
}
通过上述几个步骤,就可以定义任意形状的自己光标,并且根据自己的需要和程序,随心所意的移动了。
参考书目:《GU256*128, 39XX系列vfd显示模块 软件说明书》,日本则武伊势电子株式会社
补注:今天是2007年元宵节,大连中雨,寒风冽冽。记忆中,这是第一次在元宵节这天下雨。看来现在的地球变暖现象已经影响到我们的日常生活了。