来源:网络转载更新时间:2020-09-29 09:44:53点击次数:3009次
人机交互面板是工业称重仪表的一个重要部件,用户所有的控制指令都是通过它传到微控制器进行处理.同时工业称重仪表在工作的过程中有许多重要的信息要通过显示面板上的显示器显示出来。
仪器仪表的显示屏以往常采用LED数码管.LED因其元器件多,面积大,功耗高,接口电路复杂,集成度低,显示信息简单等缺点,逐渐被液晶显示屏LCD和真空荧光显示屏VFD所代替⑴.
真空荧光显示屏(Vacuumfluorescentdisplay,VFD)是一种特殊变体的三级真空管,其电子从负极(灯丝)发射出来,通过栅网加速后撞击正极表面附着的磷光体从而发光.VFD的主要性能是:自动发光、高清晰度和高亮度显示、低压操作、低功耗、可靠且使用寿命长、有从红色到蓝色多种色彩(使用滤色器可获得更多色彩)、宽视角、反应速度快等⑵.
考虑到成本、显示亮度及工业称重仪表的工作环境等因素,最终采用7位段码VFD和16位5*7点阵VFD作为该称重仪表的显示屏.其中7段码VFD用来实时显示称重的数值,由一片CS16312芯片驱动;5*7点阵VFD可以显示的信息比较丰富,用来显示称重仪表的系统设置等相关的辅助信息,由3片CS16311芯片驱动.本文以CS16312为例对人机交互系统的软硬件设计及其在工业称重仪表中的应用做详细的论述.
1系统硬件设计
本电路采用微控制器AT89C52和VFD驱动电
图1基于CS16312的人机界面硬件结构图
Fig.1Thehardwarearchitectureofthehuman-computerinterfacebaseonCS16312
路16312构架.通过VFD显示、按键和LED标识构成工业仪表的人机界面.整体硬件架构如图1所示.
1.1电源电路
电源釆用工业市电经变压器降压和整流后产生灯丝电压(F1,F2)、CS16312的下拉电压Vra(-24V)和电压Vdd(+5V).电源电路部分如图2所示.
为了让阴极加热到设定的温度值,以获得良好的热电子发射,需要对灯丝通电加热,灯丝电压(EJ)的
图2电源电路
Fig.2Thepowersupplycircuit
施加方法有交流驱动和直流驱动两种工作方式.其中直流驱动由于灯丝加热电压在灯丝上有一个电位分布,存在左高右低的梯度.亮度也就同样会产生右高左低的现象为了获得均匀的亮度,必须对荧光显示屏的栅极和灯丝间的实际距离进行设计补偿.由于设计补偿的范围是有限的,故直流驱动,一般只限于灯丝较短的荧光显示屏.交流驱动有单侧接地和中心抽头接地两种方法.灯丝单端接地的方式所需的截止偏压,比灯丝变压器中心抽头接地方式更大.故本电路釆用带有中心抽头的交流驱动工作方式⑴.
在阳极、栅极上相对灯丝电位加上正电压,笔段就会被点亮.若要完全消除显示,必须使阳极或栅极的任何一方相对灯丝为零电位或更负的电位.消除显示的电压称为截止电压,为了完全消除漏光,必须施加截止偏压.CS16312采用负压输出,阳栅脚在逻辑0时输出负压,在逻辑1时输出电平为0V.为驱动VFD,须下拉灯丝绕组中心抽头电位.稳压管D1的稳压值由VFD截止电压决定.
灯丝电压值的设定,对保证显示品质及寿命有重要的影响.如果灯丝电压过高,电流或亮度并不随之增加,反而因阴极温度上升,而加速钧丝芯线上氧化物的蒸发,同时也会污染荧光粉表面,使发光效率及亮度提早下降,而缩短寿命.相反,如果灯丝电压过低,因阴极温度下降,便无法获得充分而稳定的热电子发射,致使显示品质劣化或灯丝电压变动而使亮度不稳定.参照VFD规格说明书,通过多次的测试,设定F1和F2两端的灯丝电压值为3.3V"J.
1.2VFD与LED控制电路
如图3所示,AT89C52通过三线与CS16312通信.P1.0用于数据输入,与Dw相连.Pl.1用于数据输岀,与Dout相连.P1.2产生申行时钟信号CLK.P1.3与CS16312的STB连,产生数据/命令识别信号.因D°ut口为N沟道开漏输出,故需接上拉电阻R1,以形成数据电平信号.CS16312内建OSC.R2决定其振荡频率,其典型值为56K.CS16312的7根GRID线分别接到VFD的栅极(grid)Gl〜G7,13根SEG线与VFD的阳极(anode)P1-P13相连.动态扫描显示由CS16312内建硬件电路自动完成.GRID线循环输出栅极扫描信号,SEG线输出取之内部显示RAM区与之对应的显示信号①.
CS16312有4个LED输岀口,本系统用LED1作为电源开关的指示灯丄ED2,LED3,LED4作为称重状态指示灯.当向某一端口写0时,与之对应的LED灯将被点灯;写1时,相应的灯将熄灭.
1.3按键电路
如图4所示,CS16312的KEY线与SK线组成键盘.二极管用于隔离阳极驱动电压.内嵌硬件键扫描电路在KS线输岀键扫描信号,KEY线接收键值(在显示周期的末端锁存至内部RAM).本系统中的键盘电路共有20个接键,每个键的数据通过一个命令读出,读取顺序从最低位开始.
2系统软件设计
2.1软件流程
图5为CS16312的控制流程,其对应着VFD显示、LED控制和按键扫描的程序流程.CS16311具有显示方式设置、数据读写方式设定、数据地址设定和显示控制等4条指令.MCU对CS16312的访问是通过这4条指令来执行的.MCU每次对驱动电路的访问时间是在STB信号的下降沿开始,STB的上升沿结束.在CLK信号的上升沿读入数据,一次访问只能传送一个命令字节或者一个命令字节加上多个数据字节,数据容量最多为22个字节.这些数据通过管脚Dm被存储在显示缓冲电路中,显示缓冲电路中输出的数据经过放大电路放大后从段/位驱动电路输出驱动VFD显示屏,或者直接在LED输出口输出驱动LED状态灯;通过管脚Dout获取芯片中存储的按键和SW信号②.
2.2编程实现⑸
以下函数实现了VFD显示、LED标识控制和按键扫描:部分代码及其说明如下:
1)函数VFDWriteOneByte(ucharbvalue)实现写一个字节的数据到CS16312.
VoidVFDWriteOneByte(ucharbvalue)
{
uchar
for(i=0:iV8;i++)
;CS16312; ;VFD;:LED■;按键,
:控制顺序::显示;:®制!!扫描!
CLK=0*
/*CLK控制传输,一个CLK周期为一个位的读写信号*/DIN=bvalue&(1< CLK=1>
}
}
2)函数ShowMessageOnVFD(uchar*str,ucharcount)将要显示的数字字符显示在VFD±.
voidShowMessageOnVFD(uchar*str«ucharcount)
STB=l;STB=0<
/*设置显示模式为7,13*/
VfdWrite()neByte(VFD1_DISP_SET)j
STB=l;delay(10);STB=0;
/并设置数据读写方式为写数据到显示存储器中*/VfdWriteOneByte(WR_TO_MEM);
STB=1;delay(10),STB=0,
/*设置显示存储器地址为自增量模式*/VfdWrite()neByte(ADDR.SET)>……/*写入要显示的字符信息关/
②CS16312VFDcontroller/driverdatasheej
STB=1jdelay(lO)?STB=Oj
/*显示控制命令,显示通*/
VfdWriteOneByte(DISP_ON)$
STB=1;
return;
}
3)函数LEDLight(ucharnum)点亮相应的LED灯.
voidLEDLightCuintnum)
{……
STB=1}STB=O;
/*设置数据读写方式为写数据到LED端*/
VfdWriteOneByteD2(WR_TO_LED)$
/*将LED的状态信息写入LED端*/
VfdWriteOneByteD2(...)j
STB=b
return;
)
4)函数GetKeyValue(void)获得键值.
ucharGetKeyValue(void)
STB=l;STB=0;
/*设置数据读写方式为读键值*/VfdWriteOneByte(RD_KEY),
For(i=0;iVMAXKEY订++)
{
CLK=0.
If(Doirr==Dreturni»/*返回按键的序号*/
CLK=h
}
Return—1;/*如果没有键值返回一1*/
}
3测试与应用
首先,测试VFD显示是否正常.测试方式:让数字VFD分别显示1〜7数字.测试结果:显示清晰明亮,背光与向光环境均能清晰显示.
其次,测试LED灯控制是否正常.测试方式:让LED灯逐一点亮并逐一熄灭,即走马灯程序.测试结果:LED灯亮度正常,关断自如.
最后,测试按键扫描是否正常.测试方式:将按键键值通过VFD显示出来.测试结果:按键键值能正确显示.按键防抖性强.
为了进一步验证这个VFD显示模块的优越性,已在实际工业称重仪表的开发中得到应用.
4结束语
基于CS16312的VFD显示模块是一种性能价格比较高的真空荧光显示模块,该模块与单片机的接口简单.由于它可能显示各种字符,又能实现按键控制、LED显示控制等功能,人机接口友好,因此,在仪器仪表领城中得到广泛应用的.
文章来源于网络转载,侵删
×