时间:2024-05-04
李启丙
摘要:真空荧光显示屏点阵显示模块GU160X32-800B,显示点阵为160*32点,可显示字符、汉字和图形。具有使用方便、亮度高且可以调节。文章介绍GU160X32-800B的基本原理,探讨硬件设计和软件编程方法。
关键词:真空荧光显示屏;VFD模块;点阵式显示
中图分类号:TP211文献标识码:A文章编号:1006-8937(2009)10-0077-02
VFD模块选用日本NORITAKE ITRON公司的点阵显示模块GU160X32-800B。显示点阵为160*32点,可显示字符、汉字和图形。电源方便,只需要+5V电源就可以正常工作。
1模块原理
整个显示屏由5120个点按照160*32排列,被划分为64个大小显示区域。每个显示区域可通过显示区域设置命令分配相应的GRAM(图形显示模式)和DDRAM(字符模式)存储区。但是此版本的模块没有字符ROM,因此DDRAM为无效。所有的显示区域在初始化时必须设置为GRAM。
图形显示(GRAM)结构,GRAM由16384位构成,并分成256*64大小的区域,在垂直方向显示为8位。结构如图1所示。
本模块有两个显示层,0层和1层,每个层有256*32个点阵构成,并利用显示开关命令可以组合显示层。0层的256*32个点阵的起始地址是从GRAM的起始位置开始,1层是剩下地址。
2硬件电路图
接口控制使用方便,有口串口控制和两个并口控制,为了提高数据传输速率,我们选择使用并口进行数据传输。并口1的控制接口如表1所示。
3汉字显示编程
为了在VFD上显示汉字,根据GRAM的结构图,对汉字的点阵取码如图2所示。先从上向下取8位,再从左至右取第二列中的8位数据,以此进行取值,将第一行(8位构成)取完后取第二行(8位),直到取完所有点为此。
VFD显示数据的程序如下:
void displayonvfd(uchar lenth,hight, number,uchar font[])
{
uchar idata i,k,j=0;
for(k=0;k { for(j=0;j { for(i=0;i { set_position(); gu800_send(VFDDATA,font[(k*lenth*hight/8)+j*lenth+i]); } xpos-=lenth; ypos+=8; } xpos+=lenth; ypos-=hight; } } xpos、ypos分别是显示点的X坐标和Y坐标值,set_position()函数是设置座标函数,座标值就是xpos、ypos的值。gu800_send(uchar cd,uchar senddata)是发送数据或者是发送命令的函数。实现如下: void gu800_send(uchar cd,uchar senddata){ //send the data to the VFD module. gu_cs=0;// enable module if (cd==1) gu_cd=1; //send command else gu_cd=0;//send data gu_bus=senddata; gu_wr=0; delayms(5); gu_wr=1; } 4结 语 通过以上的方法之后,可以静态显示汉字、图形,也可以动态显示。同时亮度可灵活控制。用于显示系统设计方便、灵活、简单,是一款性价比较高的VFD显示模块。 参考文献: [1] 阮世平.高性能真空荧光显示器(VFD)开发和应用[J].光电子技术, 2005,(4). [2] 张卜南,陈德荣.VFD GU384x32L-3900模块特性及应用[J].微处理机,2006,27(6). [3] 成聪,汪道辉.基于CPLD的VFD显示和键盘扫描设计[J].机械工程与自动化,2006,(1). [4] 谢新刚,金鑫.三星128S64A VFD显示模块在仪器仪表中的应用[J].电子工程师,2007,33(8).
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!