历史上的今天
返回首页

历史上的今天

今天是:2025年01月08日(星期三)

正在发生

2018年01月08日 | PT6312驱动VFD显示程序

2018-01-08 来源:eefocus

硬件结构:
VFD即真空荧光显示屏,其结构和原理可参考 单片机 音响技术网 -VFD应用指南资料,里面详细介绍了VFD的原理结构,应用等等。
VFD显示高贵华丽,常应用在DVD,高档的功率放大器,电磁炉,电冰箱等电器产品中用于用户操作显示。而与各种VFD显示配套的驱动常用PT6312,PT6311芯片,驱动芯片的硬件结构主要由扫描信号发生器、串行通信接口、控制模块、显示存储器、按键扫描值寄存器、通用输入寄存器、LED驱动器、VFD段/位驱动器等构成。本文着重讲述PT6312即VFD驱动的 单片机 编程应用。首先认识下PT6312连接VFD的电路原理框图如图1所示。

PT6312电路图
图(1) PT6311电路图

由图1及电路原理可知,SW输入端可做为开关输入口也可以作为四个键盘的输入,即在按键数目不多于4个或者可以利用组合按键的情况下,这部分资源也可作为按键接口来利用。因此,PT6312实际提供两个键盘扫描的接口,一个是通常的矩阵式键盘接口,另一个就是开关信号输入端SW1~SW4。另外,PT6312还集成了外挂四个LED驱动功能。见内部功能图2所示。

PT6312电路图
图(2) PT6312功能框图

键盘接口
普通的键盘接法主要有两种:独立式和矩阵式。
四个SW口可直接连接4个独立键盘。键盘矩阵则可组成6×4接法,键的输入状态KEY1-KEY4由读取信号SEG1/KS1-SEG6/KS6采样并锁存到PT6312的内部寄存器中, 单片机 控制读键只需读取其键盘寄存器内的锁存值并判断按键状态即可,使用简单方便。由图1所示矩阵式按键多达24个,PT6311的用法相同,但矩阵式按键更多,它有比PT6312更多的内部寄存器。 PT6312的显存空间配置情况如图3所示。实际应用中,显存空间往往只是使用一部分,因为所使用的显存空间大小与设置的显示模式有关,图中的每一行对应一字,每一列对应八段即一个字节,相当于一段对应于一个字节的一位。另外,PT6312还有键扫描值寄存器、开关量输入寄存器和LED输出寄存器,这些寄存器的数据格式如图4图5所示。

PT6312显存空间配置
图(3) PT6312显存空间配置

PT6312开关SW和LED
图(4) PT6312开关SW和LED

PT6312键盘矩阵输入与读键格式
图(5) PT6312键盘矩阵输入与读键格式

片内的控制字
PT6312具有显示模式设置、数据设置、地址设置(针对显存)和显示控制等四种控制字。其中最高两位为指令特征位,由指令解码器来识别。
外部通信接口及信号时序
根据该芯片的电路结构,PT6312提供四线制串行接口与外部控制器通信,接口信号线分别为时钟CLK、输入数据DIN、输出数据DOUT和选通STB,通信的控制时序见后。接口电路连接如图6图7图8所示。

PT6312时序图
图(6) PT6312时序图

PT6312扫描和显示时间
图(7) PT6312扫描和显示时间

PT6312写入数据
图(8) PT6312写入数据

根据PT6311与外部微控制器的接口协议,外部控制操作分为写入控制字、写入数据(包括显存及LED口)、读取数据(包括键值及通用输入SW口)。写入控制字/数据的时序如图9所示,以地址自动增一方式连续写入显存数据的时序,读取数据的时序如图10所示。
当然,键盘可根据需要选择挂接部分按键,但是,由前述内部键扫描存储器的对应关系,最好选择可以连续读取键值的区间,便于程序处理和减少读取时间和处理时间。

PT6312读取数据
图(9) PT6312读取数据

PT6312应用时序
图(10) PT6312应用时序

单片机 编程实现
PS:主程序调用显示更新程序即可更新显示,顺序为先根据显示屏电路连接的段位,对应设置PT6312段位,写入PT6312内部RAM,再设置PT6312写完一个字节后其内部RAM地址是否自动跳转+1,然后再设置VFD亮度,最后把 单片机 处理的显示数据对应写入PT6312的显存中。
同样键盘程序也需要循环调用,键盘程序就是给PT6312发一个读键命令(先写入一个读键命令字给PT6312),再读出其内部按键缓存的值判断按键,按键按下就执行对应的功能或者更新 单片机 内的显示存储数据。
PT6312的键值内部缓存有3个,读三次缓存到3个寄存器。读键程序可参考 单片机 音响技术网TOPAV-2008开发板配套之相关程序。

下面给出显示与更新的子程序:
WR_VFD:
MOV A,#MODE_VFD;扫描模式,段位设置6X16
CALL WR_PT6312_COMD

MOV A,#WR_DIS_MEM_I;地址+1
CALL WR_PT6312_COMD

MOV A,S_DB_DIMMER;显示亮度设置
CALL WR_PT6312_COMD

MOV A,#0C0H ;FIRST ADDRESS=00H开始,6311:00H-2FH,6312:00H-15H
CALL WR_PT6312_COMD

MOV R1,#ADD_START;显示值缓存RAM开始地址
WR_VFD2:
MOV A,@R1
CALL WR_A_BYTE_TO_VFD0
INC R1;显示缓存RAM地址+1
MOV A,@R1
CALL WR_A_BYTE_TO_VFD0;
INC R1
CJNE R1,#ADD_END,WR_VFD2;循环写完全部缓存
SETB P_STB_VFD
END_WR_VFD:
RET

WR_PT6312_COMD:
SETB P_STB_VFD
CLR P_STB_VFD
WR_A_BYTE_TO_VFD0:;写入一个字节
MOV R0,#8
WR_A_BYTE_TO_VFD1:
RRC A
CLR P_CLK_VFD
MOV P_DATA_VFD,C
SETB P_CLK_VFD
DJNZ R0,WR_A_BYTE_TO_VFD1
RET

RD_A_BYTE_F_VFD0:;读一个字节
SETB P_DATA_VFD;读取先置位
MOV R0,#8
RD_A_BYTE_F_VFD1:
CLR P_CLK_VFD
MOV C,P_DATA_VFD;CLK上升沿读出数据
SETB P_CLK_VFD
RRC A
DJNZ R0,RD_A_BYTE_F_VFD1
RET

又:PT6311只是矩阵键扫缓存多3个,LED口多一个,其段位设置方式比PT6312多,适应更复杂的显示屏,所以其内部显示缓存要多些,编程方式几乎一样,在此不多说明,可参考PT6311的DATASHEET。


推荐阅读

史海拾趣

Fairchild Imaging公司的发展小趣事

Fairchild Imaging一直致力于成像技术的创新。在XXXX年,公司成功研发出一款具有划时代意义的图像传感器,该传感器以其高清晰度、低噪声和宽动态范围等特性,赢得了市场的广泛认可。这一技术的突破不仅为Fairchild Imaging赢得了众多客户的青睐,还为公司后续的发展奠定了坚实的基础。

Atmel (Microchip)公司的发展小趣事

2016年,Atmel被美国芯片制造商Microchip以35.6亿美元收购。这一收购事件标志着Atmel发展史上的一个重要转折点。在被收购后,Atmel成为了Microchip的一部分,继续发挥其在微控制器领域的优势,同时也获得了Microchip在技术支持、市场渠道等方面的强大支持。这使得Atmel能够更快地推出新产品、拓展新市场,进一步巩固其市场地位。

Delta Electronics Manufacturing Corp公司的发展小趣事

Delta Electronics Manufacturing Corp公司始建于上世纪七十年代,起初以生产电源产品为主。在初创阶段,公司凭借对技术的深度钻研和对市场的敏锐洞察,成功研发出一系列高效、稳定的电源产品。这些产品迅速在市场上获得认可,为Delta在电源领域奠定了坚实的基础。

Extech公司的发展小趣事

1994年,Extech公司推出了国内第一套基于“AutoCAD FOR WINDOWS”的XTMCAD软件,这一创新举措标志着公司在CAD领域迈出了坚实的步伐。XTMCAD软件凭借其先进的技术和易用性,迅速获得了市场的认可,并在同年荣获了国家教委科技进步一等奖。这一荣誉不仅是对Extech公司技术实力的肯定,也为公司未来的发展奠定了坚实的基础。

AAT [Advanced Analog Technology, Inc.]公司的发展小趣事

随着市场竞争的加剧,Extech公司意识到单一的产品已经无法满足客户的需求。因此,在1998年,公司推出了自主研发的产品工艺规划系统XTCAPP和产品数据管理系统XTPDM。这两款软件在推出后迅速成为市场上的主流产品,其高度的集成性和易用性赢得了客户的广泛赞誉。通过这两款软件的推出,Extech公司在CAD/PDM领域进一步巩固了自己的领导地位。

EPC公司的发展小趣事

某EPC公司在电子行业中以技术创新为核心竞争力。在早期阶段,公司专注于研发高效的电子制造技术和工艺,通过不断的技术突破,成功降低了生产成本,提高了产品质量。随着技术的不断成熟和应用,公司逐渐在行业内树立了技术领先的形象,吸引了众多客户的合作。通过与知名企业的合作,公司不断拓展市场份额,实现了快速发展。

问答坊 | AI 解惑

面阵CCD能否通过减少扫描的行数来提高帧数?

因为成本的限制,需要将CCD芯片的成本控制在100块钱之内。目前还没有找到合适的(需要在60fps以上)。 现在有一个笨笨的想法,不知道能否实现。 就是能否控制扫描的行数(比如直扫描镜头的中间几十行),这样能否达到提高帧数的目的? 或者各位 ...…

查看全部问答>

固件更新如何设计?

  本人在项目中设计的系统需要在线更新,是一个基于DSP的系统,就是可以通过上位机经过网口更新配置里面的算法程序及参数,但是不知道具体的框架设计.因为要更新肯定要涉及到FLASH的烧写,但又不是全部擦除和烧写,只更新需要更新的,那这个如何 ...…

查看全部问答>

现在大家都用wince6.0开发吗

现在大家都用wince6.0开发吗? 哪里有支持BSP6.0这样的开发板?…

查看全部问答>

关于蓝牙速率的迷惑和测试报告

市面上的蓝牙适配器BTH v2.0 + EDR 宣称最大数据率可达到3Mbps 在我们项目中使用了一块CSR芯片的某小公司的蓝牙模块,下位机与之相接的UART波特率选921600bps (约92KB/s)。但在实际的数据传输中,下位机最快只能是50微秒发送一个字节(20KB/s) ...…

查看全部问答>

【征询贴】团购real6410开发板

团购real6410开发板,我们的团购活动从年初开始一直在搞,但是由于货源和网友喜好的问题一直没有搞成功过,因为我是做嵌入式LINUX的,以前用过2440的平台,现在用三星的平台不多了,但是没事儿也喜欢玩玩板子,鉴于我前几次开的询问ARM开发板的帖 ...…

查看全部问答>

关于 arm7的void _irq IRQ_Expection(void)

最近看了下arm7的代码,看到void _irq IRQ_Expection(void)这个中断的函数,我想问的是这个“_irq”是怎么回事???它之前有定义还是????…

查看全部问答>

收到C2000 launchpad,是不是只能在CCS5下用啊

收到C2000 launchpad。感谢eeworld和TI 板载仿真器是不是只能在CCS5 以上的版本下用啊?…

查看全部问答>

基一于PT1311的单片机升压电路设计

单片机有的是用1AA或2AA 电池供电的,这时为了保正单片机的工作电压在2.5~5.0之间,这时就要用到DC-DC升压电路了,升压电路一般要用到电感 和肖特基二极管 电阻 电容等外围元件,空间较小的情部一下就要想办法精简一下外围器件了,这时不需电感和肖 ...…

查看全部问答>

Z_Stack_2.5.1a双向绑定

最近在做关于绑定的项目,使用2.5.1a协议栈,发现协调器不能绑定终端节点,求各位大神帮忙解答!…

查看全部问答>