当前位置:首页 > CH451键盘显示芯片
数码管显示驱动和键盘扫描控制器CH451及其应用
文章作者:施隆照
文章类型:设计应用 文章加入时间:2004年6月18日0:23
文章出处:国外电子元器件
摘要:介绍一种新型的键盘显示驱动芯片CH451的性能特点和工作原理,给出了CH451键盘显示驱动芯片与MCS-51单片机的接口方法与相应的软件驱动程序。
关键词:键盘显示控制;单片机;CH451
单片机在开发过程中,常常会因为资源不足而不得不大量扩展接口芯片以满足应用系统的需要,其中原因之一是人机界面中的键盘显示占用了系统太多资源,从而造成系统庞大,同时降低了系统的可靠性。在单片机应用系统中,键盘显示通常可采用以下几种方式:
(1)采用并行接口的键盘显示专用芯片8279。但8279所需外围元件多(显示驱动、译码等)、占用电路板面积大、综合成本高,在中小系统中常常大材小用;
(2)采用通用并行I/O芯片扩展(如用8155等),但此方案同样需要驱动显示,同时键盘显示扫描还需占用CPU大量时间;
(3)采用专用显示控制器,并用CPU的I/O引脚完成键盘输入(如MC14499、PS7219、MAX7219、ICM7218、TLC5921等,大多是串行接口并有显示驱动能力,I/O占用少)。这种接口方式省去了显示的扫描,而且电路大多也很简单,通常在系统需要的按键较少时比较适用;
(4)采用带I2C总线的键盘显示芯片(如显示用SAA1064,键盘用PCF8574),不过这种方式对于无I2C总线接口的CPU来说,编程显得有些不便;
(5)采用串行接口的键盘显示专用芯片,如BC7280/81、HD7279、CH451等。这类芯片占用CPU的资源少,传输速度较快,外围器件要求也较少,在中小系统中都可得到广泛的
应用。BC7280/81与HD7279中已有介绍,本文着重介绍CH451的主要特性及接口应用方法。
1 CH451的功能与引脚介绍
CH451是一个整合了数码管显示驱动和键盘扫描控制以及μP监控的多功能外围芯片。CH451内置RC振荡电路,可以直接动态驱动8位数码管或者64位LED,具有BCD译码或不译码功能,可实现数据的左移、右移、左循环、右循环、各数字独立闪烁等控制功能。CH451内置大电流驱动级,段电流不小于30mA,字电流不小于160mA,并有16 级亮度控制功能;在键盘控制方面,该器件内置64键键盘控制器,可实现8×8矩阵键盘扫描,并内置去抖动电路,可提供按键中断与按键释放标志位等功能;在外部接口方面,CH451可选择简洁的1线串行接口或高速4线串行接口,且内置上电复位,可提供高电平有效复位和低电平有效复位两种输出,同时内置看门狗电路Watch-Dog。CH451提供有28引脚的DIP28与SOP28封装以及DIP24S封装形式,28脚与24脚在功能上稍有差别,它们的引脚定义见表1所列。
表1 CH451的引脚说明 28脚引脚号 24脚引脚号 23 9 25 26 27 24 22~15 2 15 4 5 6 3 1、24~18 引脚名称 VCC GND LOAD DIN DCLK DOUT 类 型 电源 电源 输入 输入 输入 输出 引 脚 说 明 正电源,持续电流不小于200mA 接地,持续电流不小于200mA 4线串行接口的数据加协,带上拉 4线串行接口的数据输入,带上拉 串行接口听数据时钟,带上拉,可同时用于看门狗的清除输入 串行接口的数据输出键盘中断 数码管的段驱动,高电平有效,键盘扫描输入,高电平有效,带下拉 数码管的字驱动,低电平有效,键盘扫描输入,高电平有效,带下拉 DIG7~SEG0 三态输出及输入 1~8 7~14 DIG7~DIG0 输出 12 13 28 14 10 11 不支持 不支持 不支持 不支持 不支持 不支持 17 RST RST RSTI ADJ CLK CLKO NC 输出 输出 输入 输入 输入 输出 上电复位和看门狗复位,高电平有效 上电复位和看门狗复位,低电平有效 上电复位门限调整或手工复位输入 段电流上限调整,带强下拉 外接阻容振荡 CLK引脚时钟信号的二分频输出 不连接,禁止使用 2 CH451的操作命令
CH451的操作命令均为12位,其中高4位为标识码,低8位为参数,各操作命令如下: ●空操作:0000xxxxxxxxB(x可为任意值,下同)
空操作命令对CH451不产生任何影响。该命令可以在多个CH451级联的应用中透过前级CH451向后级CH451发送操作命令而不影响前级CH451的状态。例如,要将操作命令001000000001B发送给两级级联电路中的后级CH451(后级CH451的DIN引脚连接到前级CH451的DOUT引脚),只要在该操作命令后添加空操作命令000000000000B再发送,那么,该操作命令将经过前级CH451到达后级CH451,而空操作命令留给了前级CH451。另外,为了在不影响CH451的前提下变化DCLK以清除看门狗计时器,也可以发送空操作命令。在非级联的应用中,空操作命令可只发送高4位。
● 芯片内部复位:001000000001B
内部复位命令可将CH451的各个寄存器和各种参数复位到默认的状态。芯片上电时,CH451均被复位,此时各个寄存器均复位为0,各种参数均恢复为默认值。
● 字数据移位:0011000000[D1][D0]B
字数据移位命令共有4个:开环左移、右移,闭环左移、右移。D0为0时为开环,为1时为闭环,D1为0时左移,为1时为右移。开环左移时
DIG0引脚对应的单元补00H,此时不译码
方式显示为空格,BCD译码方式时显示为0;开环右移时,DIG7引脚对应的单元补00H;而在闭环时DIG0与DIG7头尾相接,闭环移位。
● 设定系统参数:010000000[WDOG][KEYB][DISP]B 该命令用于设定CH451的系统级参数
如看门狗使能WDOG、键盘扫描使能KEYB、显
示驱动使能DISP等。各个参数均可通过1位数据来进行控制,将相应的数据位置为1可启用该功能,否则关闭该功能(默认值)。
● 设定显示参数:0101[MODE][LIMIT][INTENSITY]B
此命令用于设定CH451的显示参数,如译码方式MODE(1位)、扫描极限LIMIT(3位)、显示亮度INTENSITY(4位)等。译码方式MODE为1时选择BCD译码方式,为0时选择不译码方式。CH451默认工作于不译码方式,此时8个数据寄存器中字节数据的位7~位0分别对应8个数码管的小数点和段G~段A,当数据位为1时,对应的数据段(或发光管)点亮;数据位为0时熄灭。CH451工作于BCD译码方式主要应用于数码管驱动,单片机只要给出二进制数的BCD码,便可由CH451将其译码并直接驱动数码管以显示对应的字符。BCD译码方式是对数据寄存器中字节数据的位4~位0进行兼容BCD的译码,可用于控制段驱动引脚SEG6~SEG0的输出,它们对应于数码管的段G~段A,同时可用字节数据的位7控制段来驱动引脚SEG7的输出以对应数码管的小数点,字节数据的位6和位5不影响BCD译码的输出,它们可以是任意值。将位4~位0进行BCD译码可显示以下28个字符,其中00000B~01111B分别对应于“0~F”、10000B~11010B分别对应于负号或减号
、“=
等于号小数点
、
"
左方括号
、
空格
、“+
+或加号下划线
、“-、“H” 、
右方括号、“_
“L” 、“P” 、“.、其余值为空格。
扫描极限LIMIT控制位001B~111B和000B(默认值)可分别设定扫描极限1~7和8。显示亮度INTENSITY控制位的0001B~1111B和0000B(默认值)则用于分别设定显示驱动占空比1/16~15/16 和16/16,以实现16级显示亮度控制。
●设定闪烁控制:0110[D7S][D6S][D5S][D4S][D3S][D2S][D1S][D0S]B 设定闪烁控制命令用于设定CH451的闪烁显示属性,其中D7S~D0S 分别对应于8个
共分享92篇相关文档