VFD显示模块128S64AA1及其应用
时间:03-18
来源:互联网
点击:
引言
目前,智能仪表常用的显示设备有发光二极管显示器LED、液晶显示器LCD等,但是由于LED不能显示复杂字符、LCD不宜在暗室中使用的缺点,无法满足智能仪表对显示的更高求;而真空荧光显示屏VFD具有亮度高、可调节、显示图案灵活的优点,在智能仪表中得到了广泛的应用。本文以 Samsung公司的128S64AA1VFD显示模块为例,介绍在基于51系列单片机的智能仪表中的应用。
1 显示模块的结构以及与单片机的接口
1.1 128S64AA1的基本结构
该模块提供有128×64点阵,包括VFD显示屏、VFD驱动电路、DC/DC转换器以及显示控制器;供电电压是12V,逻辑电压是5V;亮度可以由软件来控制。
其接线端子有供电端和接口端两个。其中接口端的引脚说明如表1所列。
表1 接口端引脚说明
外部接口简单易用,表1中所列的30根接口线的功能分别为:8根数据线D0~D7和于传输数据及亮度控制信号;11根地址线用于指定数据写入地址,其中A0~A7指定列数,A8~A10指定行数;9根控制线中,BRAD为选择写数据模式与亮度控制模式,WRITE为写控制信号,READY为模块写数据允许,CLEAR为清屏信号,DSPE为显示允许信号,WP为选择写数据页数,DP为显示页数;2根地线为从电池和逻辑地。
1.2 128S64AA1与单片机的接口
图1是128S64AA1模块与51系列单片机的接口示意图。其中P1口作为VFD所需的控制线,P0和P2作为地址线和数据线。
2 显示模块的控制和操作
该模块有清空方式(Clear Mode)、写数据方式(Write Mode)和亮度控制方式(Dimming Mode)三种工作方式,对应的操作时序如图2所示。
图 2所示的操作时序清晰示意了三种工作方式下对VFD模块的控制和操作过程。
(1)清空方式
将CLEAR端置低电平,此时由WP0和WP1所选择的RAM清空。当清空完毕时,READY输出低电平。此方式的优先级最高,即使READY 的输出为1,RAM仍波清空。
用C51实现的RAM清空的函数为:
void VFD_clear(void)
{P1^2=0; //置清空RAM模式
P1^2=1;
P1^1=0;
do {}
while(P1^1==1); //等待清空响应
}
(2)写数据方式
当DSPE为高电平,BRAD为高电平时,通过写操作可将待显示的数据写入由WP0和WP1所选择的RAM;当数据写入完毕,READY输出低电平,此时可以继续写入下一个数据。在此工作方式中,为了使VFD内部的RAM按照行排列地址连续,以便于软件编程,在实际设计时可将地址A8~A10接 VFD的A0~A2,以用于选择点阵的行数;而将地址线A0~A7接VFD的A3~A10,用于选择点阵的列数。
在写工作方式中,应包括以下几个操作步骤:
①置写数据模式;
②置显示允许;
③选择写数据页数;
④写待显示数据;
⑤选择显示页数。
因此,可将实现此功能的C51程序设计如下:
void WrChar(uchar xdata *addr,uchar code *codename,uchar count)
//addr为字的起始地址,count为字符个数
{uint i=0;
uchar col;
for(col=0;col<count;col++){
*(addr++)=codeName[i++];
do {}
while(P1^1==1);
}
} //写数据函数
P1^0=1; //置写数据模式
P1^3=1; //置显示允许
P1^4=0; //选择写第0页
P1^6=0; //选择写第0页
WrChar(0x1000,page0[],64); //写数据,从1000开始按行写64个字符编码,存放于page0[]数组中
P1^5=0;
P1^7=0; //选择显示第0页
(3)亮度控制方式
当WRITE输入有效信号,BRAD为低电平时,D0和D1两位的值决定显示的亮度。初始化时的亮度为100%,所需亮度与D1、D0两位数据的关系如表2所列。
表2 亮度控制表
因此,若要控制显示亮度,可用下列C51程序实现:
uchar xdata *p;
p=0x00;
(*p)=0x02; //控制亮度为75%
3 应用实例
某测控装置需显示包括概貌、温度控制、pH值控制以及实时同线在内的一系列图文信息,且显示要求较高,要求在光线不足的条件下保证其亮度。为此,选用128S64AA1这一VFD模块作为显示器件。该系统人机交互部分包括显示模块以及四个按键:确认键、参数修改键、光标移动键及返回键。
开机时要求显示公司名称,待按下确认键后,再进入主菜单显示。此时,用户可通过按光标移动键来选择不同的菜单页面,待确认键按下后进入相应的画面。在次级页面,按光标移动键和确认键,可以完成实时值和实时曲线的显示以及相应参数的修改和保存;修改完成后,按返回键返回到主菜单。
下面以主菜单画面中光标移动的子程序为例,简要介绍在键盘按下后,VFD上显示信息变化的过程。菜单包括7个菜单项;概貌、温度控制、pH值控制、转速消泡补料、pH DO的电极标定、pH Temp实时曲线和DO Agit实时曲线。为了简化程序设计,光标采用反写字符的方式,简单直观。该子程序的框图如图3所示(SemiPg为菜单号),VFD显示的2幅主菜单内容如图4所示。
当光标移动键按下后,先判断光标的位置(SemiPg=?),然后正写光标所在的位置,恢复原貌;SemiPg加1(保持SemiPg在1~7 内),然后反写SemiPg菜单项,使光标移动到下一项。此时按下确认键,就可根据SemigPg的值进入光标所在的下一级菜单。
以上仅是128S64AA1模块在实际测控装置中的一个信息显示实例。在实际装置中,该模块还实现了实时数据显示、设定参数修改显示、实时数据曲线显示功能。
目前,智能仪表常用的显示设备有发光二极管显示器LED、液晶显示器LCD等,但是由于LED不能显示复杂字符、LCD不宜在暗室中使用的缺点,无法满足智能仪表对显示的更高求;而真空荧光显示屏VFD具有亮度高、可调节、显示图案灵活的优点,在智能仪表中得到了广泛的应用。本文以 Samsung公司的128S64AA1VFD显示模块为例,介绍在基于51系列单片机的智能仪表中的应用。
1 显示模块的结构以及与单片机的接口
1.1 128S64AA1的基本结构
该模块提供有128×64点阵,包括VFD显示屏、VFD驱动电路、DC/DC转换器以及显示控制器;供电电压是12V,逻辑电压是5V;亮度可以由软件来控制。
其接线端子有供电端和接口端两个。其中接口端的引脚说明如表1所列。
表1 接口端引脚说明
引 脚 | 名 称 | 引 脚 | 名 称 | 引 脚 | 名 称 |
1 | BRAD | 11 | A7 | 21 | D2 |
2 | GND | 12 | A6 | 22 | D3 |
3 | WRITE | 13 | A5 | 23 | D4 |
4 | GND | 14 | A4 | 24 | D5 |
5 | READY | 15 | A3 | 25 | D6 |
6 | CLEAR | 16 | A2 | 26 | D7 |
7 | DSPE | 17 | A1 | 27 | WP0 |
8 | A10 | 18 | A0 | 28 | DP0 |
9 | A9 | 19 | D0 | 29 | WP1 |
10 | A8 | 20 | D1 | 30 | DP1 |
外部接口简单易用,表1中所列的30根接口线的功能分别为:8根数据线D0~D7和于传输数据及亮度控制信号;11根地址线用于指定数据写入地址,其中A0~A7指定列数,A8~A10指定行数;9根控制线中,BRAD为选择写数据模式与亮度控制模式,WRITE为写控制信号,READY为模块写数据允许,CLEAR为清屏信号,DSPE为显示允许信号,WP为选择写数据页数,DP为显示页数;2根地线为从电池和逻辑地。
1.2 128S64AA1与单片机的接口
图1是128S64AA1模块与51系列单片机的接口示意图。其中P1口作为VFD所需的控制线,P0和P2作为地址线和数据线。
2 显示模块的控制和操作
该模块有清空方式(Clear Mode)、写数据方式(Write Mode)和亮度控制方式(Dimming Mode)三种工作方式,对应的操作时序如图2所示。
图 2所示的操作时序清晰示意了三种工作方式下对VFD模块的控制和操作过程。
(1)清空方式
将CLEAR端置低电平,此时由WP0和WP1所选择的RAM清空。当清空完毕时,READY输出低电平。此方式的优先级最高,即使READY 的输出为1,RAM仍波清空。
用C51实现的RAM清空的函数为:
void VFD_clear(void)
{P1^2=0; //置清空RAM模式
P1^2=1;
P1^1=0;
do {}
while(P1^1==1); //等待清空响应
}
(2)写数据方式
当DSPE为高电平,BRAD为高电平时,通过写操作可将待显示的数据写入由WP0和WP1所选择的RAM;当数据写入完毕,READY输出低电平,此时可以继续写入下一个数据。在此工作方式中,为了使VFD内部的RAM按照行排列地址连续,以便于软件编程,在实际设计时可将地址A8~A10接 VFD的A0~A2,以用于选择点阵的行数;而将地址线A0~A7接VFD的A3~A10,用于选择点阵的列数。
在写工作方式中,应包括以下几个操作步骤:
①置写数据模式;
②置显示允许;
③选择写数据页数;
④写待显示数据;
⑤选择显示页数。
因此,可将实现此功能的C51程序设计如下:
void WrChar(uchar xdata *addr,uchar code *codename,uchar count)
//addr为字的起始地址,count为字符个数
{uint i=0;
uchar col;
for(col=0;col<count;col++){
*(addr++)=codeName[i++];
do {}
while(P1^1==1);
}
} //写数据函数
P1^0=1; //置写数据模式
P1^3=1; //置显示允许
P1^4=0; //选择写第0页
P1^6=0; //选择写第0页
WrChar(0x1000,page0[],64); //写数据,从1000开始按行写64个字符编码,存放于page0[]数组中
P1^5=0;
P1^7=0; //选择显示第0页
(3)亮度控制方式
当WRITE输入有效信号,BRAD为低电平时,D0和D1两位的值决定显示的亮度。初始化时的亮度为100%,所需亮度与D1、D0两位数据的关系如表2所列。
表2 亮度控制表
D1 | D0 | 亮度/% |
0 | 0 | 25 |
0 | 1 | 50 |
1 | 0 | 75 |
1 | 1 | 100 |
因此,若要控制显示亮度,可用下列C51程序实现:
uchar xdata *p;
p=0x00;
(*p)=0x02; //控制亮度为75%
3 应用实例
某测控装置需显示包括概貌、温度控制、pH值控制以及实时同线在内的一系列图文信息,且显示要求较高,要求在光线不足的条件下保证其亮度。为此,选用128S64AA1这一VFD模块作为显示器件。该系统人机交互部分包括显示模块以及四个按键:确认键、参数修改键、光标移动键及返回键。
开机时要求显示公司名称,待按下确认键后,再进入主菜单显示。此时,用户可通过按光标移动键来选择不同的菜单页面,待确认键按下后进入相应的画面。在次级页面,按光标移动键和确认键,可以完成实时值和实时曲线的显示以及相应参数的修改和保存;修改完成后,按返回键返回到主菜单。
下面以主菜单画面中光标移动的子程序为例,简要介绍在键盘按下后,VFD上显示信息变化的过程。菜单包括7个菜单项;概貌、温度控制、pH值控制、转速消泡补料、pH DO的电极标定、pH Temp实时曲线和DO Agit实时曲线。为了简化程序设计,光标采用反写字符的方式,简单直观。该子程序的框图如图3所示(SemiPg为菜单号),VFD显示的2幅主菜单内容如图4所示。
当光标移动键按下后,先判断光标的位置(SemiPg=?),然后正写光标所在的位置,恢复原貌;SemiPg加1(保持SemiPg在1~7 内),然后反写SemiPg菜单项,使光标移动到下一项。此时按下确认键,就可根据SemigPg的值进入光标所在的下一级菜单。
以上仅是128S64AA1模块在实际测控装置中的一个信息显示实例。在实际装置中,该模块还实现了实时数据显示、设定参数修改显示、实时数据曲线显示功能。
二极管 显示器 LED LCD 单片机 电路 电压 DSP 自动化 C语言 嵌入式 相关文章:
- 航天器DC/DC变换器的可靠性设计(02-12)
- 基于nRF2401智能小区无线抄表系统集中器设计(04-30)
- 卫星电源分系统可靠性设计与研究(02-12)
- 基于令牌存储技术的采集器设计与实现(03-18)
- 安森美90W太阳能LED街灯高能效解决方案(05-18)
- 用电子技术最大化太阳能电池板输出功率(05-18)