电子工程师的网站
首 页 |  新闻资讯 | 最新产品 | 解决方案 | 技术参数
设计应用
电路图 | 技术资料 | 芯片资料 | 技术论坛
  现在位置: 首页 > 设计应用 > 开关技术 > 详细信息
开关技术:兆赫同步开关电池充电器 的应用
来源:   时间: 2007-4-17 12:31:39    

PT6311原理与应用分析
硬件结构

作为VFD显示控制及驱动器芯片,PT6311的核心功能仍然是实现VFD显示控制与驱动。芯片的硬件结构主要由扫描信号发生器、串行通信接口、控制模块、显示存储器、按键扫描值寄存器、通用输入寄存器、LED驱动器、VFD段/位驱动器等构成。PT6311内部电路原理框图如图1所示。
由图1及电路原理可知,SW输入端也可以作为四个单键的输入,即在按键数目不多于4个或者可以利用组合按键的情况下,这部分资源也可作为按键接口来利用。因此,PT6311实际提供两个键盘扫描的接口,一个是通常的矩阵式键盘接口,另一个就是开关信号输入端SW1~SW4。另外,PT6311还集成了外挂四个LED驱动功能。

键盘接口

普通的键盘接法主要有两种:独立式和矩阵式。
(1)由通用开关量输入SW1~SW4构成四按键的独立式键盘。接法如图2(a)所示

(2)由K1~K4与KS1~KS12所构成矩阵式键盘。键盘接法如图2(b)所示。
由图可见,PT6311的键盘接口所支持的最大键盘矩阵为4 12,即最大按键数目为48个。

PT6311的显存空间配置情况如图3所示。实际应用中,显存空间往往只是使用一部分,因为所使用的显存空间大小与设置的显示模式有关,图中的每一行对应一字,每一列对应八段即一个字节,相当于一段对应于一个字节的一位。另外,PT6311还有键扫描值寄存器、开关量输入寄存器和LED输出寄存器,这些寄存器的数据格式如图4所示。



片内的控制字

PT6311具有显示模式设置、数据设置、地址设置(针对显存)和显示控制等四种控制字。其中最高两位为指令特征位,由指令解码器来识别。

外部通信接口及信号时序

根据该芯片的电路结构,PT6311提供四线制串行接口与外部控制器通信,接口信号线分别为时钟CLK、输入数据DIN、输出数据DOUT和选通STB,通信的控制时序见后。接口电路连接如图5(a)所示。


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


键扫描与VFD显示实用系统

结合键扫描与VFD显示控制等功能于一体的电子系统较常见,比如家庭影视音响系统、电梯等电子电器设备。一般而言,这些应用系统所采用的体系结构如图6所示。

AC-3解码板的控制和面板显示系统的设计采用多键键盘和VFD显示器来作为人机接口,系统的原理框图与图6相似。


VFD显示与键扫描的编程实现

要使得PT6311应用系统能够正常、可靠地工作,在硬件体系基础上,PT6311还得通过编程来实现具体的功能。外部控制器控制PT6311实现预定的操作,实际上就是一种串口编程,这在编程实现时尤其要注意操作时序。当然,VFD显示与键扫描的具体编程还跟外部微控制器有关,这里给出AT89C52单片机的汇编编程实现的部分程序,并在程序中作了详细的注释以便读者更好地理解。

PT6311上电后,外接矩阵式键盘的键扫描和VFD显示均处于关闭状态,因此需要进行初始化设置,且至少要开启一次显示,则键扫描功能才能自动启动,此后若关闭显示键扫描仍会继续。


键扫描读取的编程实现

按键无论以独立式接入SW端口,还是以矩阵式接入键扫描专用端口,基于PT6311的键扫描编程都是类似的,故此处不再单独叙述。这里主要探讨PT6311外接矩阵式键盘的键扫描编程方法。

假设PT6311已启动,单片机从PT6311读取按键位置的编程(读取SW口只需修改指令,操作类似):

(1)、单键按键的编程实现

单键按键的键扫描无需把全部键扫描的结果读出,只要读到有键按下即可,因为不存在组合按键的情况则不可能有多键同时按下。于是,可以对键盘的按键进行编号,并按照PT6311键扫描寄存器的对应顺序及读取时序进行读取,只需检测是否有效按键并保存编号即可,而无需将全部键扫描值数据保存。具体程序段如下:

RD_KEYNUMBER:
MOV B,#RD_KEY_I;将键扫描值读取指令放入指令缓存,如读SW口,则只需修改指令
SETB RD_D
CLRADDR
CLR INCL_D;设置标志以调用单指令发送子程序
ACALL SEND_1BI_ND;调用单字节指令发送子程序,参见后面VFD显示控制的编程
MOV R6,#00H;R6保存按下键的单键编号
RDKEY_ON:
CPL CLK;指令发送完毕CLK=H,脉冲下降沿处PT6311输出数据DOUT
INC R6;键值取自然数
CPL CLK;脉冲上升沿后单片机读取数据可靠
JNB DOUT,NO_KEY;读取DOUT状态,判断有无键按下
SETB KEY_PRESSED;有键按下,则设置有效按键标志
AJMP EXIT
NO_KEY:
CJNE6,#KEYNUM_MAX,RDKEY_ON;是否扫描完毕所有按键,是则表示无键按下
CLR K_PRESSED
EXIT:
SETB STB
RET

退出该程序段后即可根据有无有效按键及键编号进行必要的按键响应处理。实际上,这个程序段就是实现一个逐位检测程序,判断是否有按键,有则记下按键编号,无则退出。

(2)、组合按键的编程实现

组合按键就是通常所称的“组合键”,即两个或者两个以上按键同时按下的按键方法。此时,按键的作用并不等于各个单键按下所代表的意思,而是一个由程序预先规定的新指令,常用于按键较少而需指令较多的场合。这种键值的读取一般要将全部键扫描值寄存器内容读出暂存并进行软件判决处理(查询是否有预定义的组合键),所以需要一定的暂存空间支持。 RD_MULTI_KEY:
……;这部分与单键扫描程序相同
MOV R0,#KEYNUM_MAX;R0作为键计数器,比如前面提到的系统KEYNUM_MAX=8
(……);此时根据键盘布局,增加避开无效数据的空操作
RDMKEY_ON:
CPL CLK; 指令发送完毕CLK=H,脉冲下降沿处PT6311输出数据DOUT
NOP
CPL CLK;脉冲上升沿后单片机读取数据可靠
MOVC,DOUT
RRC A
DJNZ R0,RDMKEY_ON
MOVKEY_VALUE,A
SETB STB
RET
……
ACALL MULTI_KEY_ID;组合键及单键的识别处理,根据按键情况作出相应处理以上程序是针对按键数据第一位输出即有效的情况,就是说按键布局对应于键值寄存器的开始端。如果不是这样,且按键布局对应键值寄存器的连续空间,则需要在程序读取数据开始时增加避开无效数据位的空操作。

从以上程序可知,其实单键扫描可以视为多键扫描的一种特殊情况。后面的按键识别处理程序要根据需要进行软件设计,比如最多的组合按键只有两个按键,则多于两个以上的按键组合就视为无效而无需作组合识别处理。

以上按键扫描程序一般放在定时中断服务程序中的,主要是为了方便延时去抖动。识别到有效单键或者组合键并作出响应后都需要处理重复按键问题,实际上我们一般都要作按键是否松开的识别处理或者按键间隔有效控制处理,主要是为了避免指令的过于频繁反复操作,尤其是大功率调整。

VFD显示控制的编程实现

假设显示内容已经放入DISPLAY_BUF_DATA,并且芯片已完成上电初始化设置,则单片机向PT6311发送指令与数据的通用程序段如下:(发送单字节指令可带有N(0≤N≤48)个字节数据的子程序)
SEND_1BI_ND:;发单字节指令可带N字节数据,用于初始化设置或修改显存内容
CLREA;发送过程禁止中断,确保发送过程完整
JNB ADDR,NO_ADDR;判断是否需要设置显存需要操作的始地址
CLR ADDR
MOV A,DISPLY_BUF_ADDR;取要操作的显存地址
OR A,#0C0H ;将要设置的地址与PT6311的指令特征位合并
MOV B,A;B作为发送字节缓存,也作为发送单字节指令的缓存
NO_ADDR:
CLR STB;启动发送过程
S_ON_D:
MOV A,B
MOV CNT,#08H ;用CNT作为位计数器,指示串行数据字节发送完毕与否
S_ON:
RRC A
CPL CLK;CLK初始化为H(高电平)
MOV DIN,C;按位将数据或指令的一位加载到串行数据线
CPL CLK;时钟上升沿发送
DEC CNT;发送的位计数器递减一
DJNZ CNT,S_ON;字节数据发送完否?否,则继续发送下一位
JNB INCL_D,S_OVER;发送完毕则判断是否后带数据,无则发送完毕
DJNZ R6,S_NEXT_BYTE
CLR INCL_D;清除后带数据的标志
MOV B,DISPLY_BUF_DATA;取得本次发送过程的最后一个字节
AJMP S_ON_D
S_NEXT_BYTE:
CLRC
MOV A,#DISPLY_BUF_DATA;单片机内的显存为DISPLAY_BUF_DATA开始的一段RAM空间
ADD A,R6
MOV R0,A
MOV B,@R0;这里的运算取得要发送的显示数据的下一个字节
AJMP S_ON_D
S_OVER:
JB RD_D,KEEP_STB;如果发送了读取数据指令,则保持STB为低,由读取程序置高
SETB STB
SETB EA;恢复允许中断设置
KEEP_STB:
RET
如果发送单字节的控制字,则设置ADDR=0,INCL_D=0,RD_D=0,B=指令,再调用该子程序即可。

 
相关信息
发表评论
打印本页 关闭本页
基于单片机AT89C52的CAN总线分布式测控系统的研制
  1CAN总线网络的技术特点    用通讯数据块编码,可实现多主工作方式,数据收发方式灵活,可实现点对点、一点对多点及全局广播等多种传输方式;可将DCS结构中主机的常规测试与控制功能分散到各个智能节点,节点控制器把采集到的数据通过CAN适配器发送到总线,或者向总线申请数据,主机便从原来繁重的底层设备监控任务中解放出来,进行更高层次的控制和管理功能,比如故障诊断、优化协调等...
>>详细内容
AT89C52单片机在捻度测量中的应用
    纱线捻度测量是纺织生产中重要的环节。目前纱线捻度普遍采用机械式和半电子化测量。该测量方法精度低、操作人员劳动强度大、易出现错误操作。为适应市场需求和社会发展,开发了以单片机为核心捻度测量装置,实现捻度测量的自动化、微型化、数字化,从而大大提高了测试精度。    1 系统原理  本装置如图所1示。单片机将测量的电机转速与键盘设置的工作方式和初始值进行比较判断...
>>详细内容
基于AT89C52单片机的多超声信号融合处理系统设计
    摘要:本文设计并实现了一种多超声信号融合处理系统,主要用于移动机器人超声测距导航。系统针对超声回波信号的特点,使用AT89C52单片机对来自多个超声波传感器的微弱回波信号进行数字处理,并通过RS-232串行口与主机实现通讯。利用该系统,可以完成超声波信号的精确提取及多传感器信息的融合处理,为移动机器人在未知环境下的快速导航奠定了基础。 关键字:多通道;超声测距;信息融...
>>详细内容
AT89C52的励磁调节器的设计与实现
  引言   励磁调节系统是同步发电机一个十分重要的组成部分[2],其主要任务是向同步发电机的励磁绕组提供一个可调的直流电流或电压,从而控制机端电压的恒定,以满足发电机正常发电的需要。近年来,微机励磁调节器[1]以其硬件结构简单、清晰、设备通用性好、标准化程度高、软件灵活、能够方便实现多种功能和满足各种控制规律的要求等优点,在许多电力工业得到了广泛的应用。但是,单微...
>>详细内容
基于AT89C52的励磁调节器的设计与实现
    引言  励磁调节系统是同步发电机一个十分重要的组成部分[2],其主要任务是向同步发电机的励磁绕组提供一个可调的直流电流或电压,从而控制机端电压的恒定,以满足发电机正常发电的需要。近年来,微机励磁调节器[1]以其硬件结构简单、清晰、设备通用性好、标准化程度高、软件灵活、能够方便实现多种功能和满足各种控制规律的要求等优点,在许多电力工业得到了广泛的应用。但是,单微...
>>详细内容
AT89C52的智能无线安防报警器
  摘 要: 以MCS-51系列单片机AT89C52为核心,结合外围无线编码接收电路、DTMF发送接收电路、数字语音录放电路、通话电路,以及其他的外围辅助电路,构成了一款高性能的智能无线安防报警器。配合各种无线传感器,可实现防盗、防火等安防功能。它能智能地区分各种警情、自动数字语音电话报警,可接收远端的电话遥控指令,有大功率继电输出口。 关键词: 安防;报警器;AT89C52;电话报警 引...
>>详细内容
已有(
)位对此新闻感兴趣的网发发表了看法 >>更多评论
内 容:
     
 
热点新闻
一周排行
关于我们 | 服务项目 | 付款方式 | 广告服务 | 联系我们 | 友情链接 | 投诉 建议 合作 | 网站地图 | 加入收藏
Copyright © 2007-2008 WEEQOO.COM Corp.All Rights Reserved. 版权所有 经营许可证编号:浙B2-20050339 法律声明
维库电子旗下网站:维库电子市场网 | ChinaICMart | 维库电子开发网 | 维库电子人才网
总部:杭州市下城区朝晖路182号国都发展大厦1号楼80A
电话:0571-85889139-8007 QQ:303939539 | MSN:zh1226@hotmail.com |  邮箱:laz8258@163.com dzsc51@163.com