GU 39XX系列VFD显示模块中自制光标的C语言实现

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年元宵节,大连中雨,寒风冽冽。记忆中,这是第一次在元宵节这天下雨。看来现在的地球变暖现象已经影响到我们的日常生活了。


 

前言: 今天的主角其实是好多朋友都应该已经熟悉的8位米字VFD显示屏,由YLEEE老板一年前“隆重”推出,期间很多朋友都做过,各种各样的实现和驱动方法都有,这里我就不做评价。我的主要思路是:简单、可靠,有专门驱动就用专门驱动,当然最重要的是要时间精准:1、和我之前的同步母钟同步(推荐)2、使用GPS模块校时。 八位米字VFD显示屏实物截图: 这个屏从图片上可以看出,做时钟屏是非常合适的,唯一的缺点就是稍微小点,不过瑕不掩瑜,量多价优呀! 尺寸图: 先说说规划的功能和特点: 1、从上面数据手册可以知道,这个屏是8位16段,使用PT6311可以了,专用芯片稳定、可靠、驱动效果好,这是我的一贯的原则,大家也可以使用几十个三极管做动态扫描驱动,反正是折腾,咋么搞亮都行; 2、还是使用绕制的高频变压器做灯丝、负压、隔离电源,优点:简单、稳定、可靠,灯丝交流、负压一次产生,不需要再利用系统其它资源。缺点:变压器虽然是EE13,可也不能能做的超薄; 3、3组硬件自动开关机,这个我之前的很多时钟上面都有。就是可以设置几组自动开 关时间,控制VFD 的灯丝、负压电源,做到节能,延长屏寿命; 4、3组闹钟,每组可单独设置开启、关闭,闹铃响铃长度1-99秒,周末闹铃是否开启; 5、星期是程序根据年月日自动计算的,不需要设置; 6、12小时/24小时时间显示模式选择;(遥控器上F1快捷功能有效) 7、温度显示;(遥控器上TEMP快捷功能有效) 8、日期 星期显示;(遥控器上DATE快捷功能有效) 9、固定显示时间/或者循序显示:时间1分钟-星期、日期显示5秒、温度显示5秒,2种显示模式可选。(遥控器上F2快捷功能有效) 10、光控自动调节或手动亮度调节,1-8级,设置00就是光控自动调节。自动开关机时段,也能手动或自动亮度控制; 11、红外遥控功能,也带红外学习功能,可以使用你自己的遥控器学习、控制; 12、有DS1302实时时钟芯片(正宗的能弄到只有拆机的了),外接正品日本KDS 5ppm晶振(这个好不容易找工厂朋友弄到,厂家仪表进行过筛选) 13、母钟的同步子钟/GPS同步时钟/普通时钟,大家可以根据自己的需要,选择不同的功能应用; 子母钟同步时,可以使用我之前介绍的2种,具体可参考之前的文章: https://www.yeyudo.cn/article.asp?id=254 https://www.yeyudo.cn/article.asp?id=259 https://www.yeyudo.cn/article.asp?id=260 8位米字VFD屏制作的同步子钟/GPS时钟电路设计包括MCU控制板+驱动板2部分。 见PCB实物截图: 实物购买链接:https://item.taobao.com/item.htm?spm=2013.1.0.0.lJN4W6&id=15071361340
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值