ETC CH450

1
CH450 中文手册
数码管驱动及键盘控制芯片 CH450
中文手册
版本:1C
http://wch.cn
1、概述
CH450 是数码管显示驱动和键盘扫描控制芯片。CH450 内置时钟振荡电路,可以动态驱动 6 位数
码管或者 48 只 LED;同时还可以进行 48 键的键盘扫描;CH450 通过 2 线串行接口与单片机等交换数
据;并且可以对单片机提供上电复位信号。
SCL
SEG7~SEG0
SDA
CH450 芯片
单片机
MCU 等
8×6 矩阵
48 键键盘
INT#
(虚线可选)
6位
数码管
或
48 个
发光管
RSTH
DIG7~DIG2
2、特点
●
●
●
●
●
●
●
●
●
内置显示电流驱动级,段电流不小于 15mA,字电流不小于 80mA。
动态显示扫描控制,直接驱动 6 位数码管或者 48 只发光管 LED。
内置 48 键键盘控制器,基于 8×6 矩阵键盘扫描。
内置按键状态输入的下拉电阻,内置去抖动电路。
提供低电平有效的键盘中断,提供按键释放标志位,可供查询按键按下与释放。
2
高速 2 线串行接口,时钟速度从 0 到 4MHz,兼容两线 I C 总线,节约引脚。
内置时钟振荡电路,不需要外部提供时钟或者外接振荡元器件,更抗干扰。
内置上电复位,可以为单片机提供高电平有效的复位输出。
提供 DIP20 和 SOP20 两种无铅封装,兼容 RoHS,功能和引脚部分兼容 CH455 芯片。
3、封装
封装形式
SOP20
DIP20
宽度
7.62mm
7.62mm
引脚间距
300mil
300mil
1.27mm
2.54mm
50mil
100mil
封装说明
订货型号
标准的宽 20 脚贴片
标准 20 脚双列直插
CH450H
CH450K
2
CH450 中文手册
4、引脚
引脚号
引脚名称
类型
引脚说明
12
5
10、11、13、14、
15、16、17、18
20、1、2、
6、7、8
VCC
GND
SEG0
~SEG7
DIG2
~DIG7
电源
电源
三态输出
及输入
正电源,持续电流不小于 100mA
公共接地,持续电流不小于 100mA
数码管的段驱动,高电平有效,
键盘扫描输入,高电平有效,内置下拉
数码管的字驱动,低电平有效,
键盘扫描输出,高电平有效
4
SDA
3
9
SCL
RSTH
19
INT#
输出
内置上拉
开漏输出
及输入
输入
输出
内置上拉
开漏输出
2 线串行接口的数据输入和输出
2 线串行接口的数据时钟,内置上拉电阻
上电复位输出,高电平有效
键盘中断输出,低电平有效
5、功能说明
5.1. 一般说明
本手册中的数据,以 B 结尾的为二进制数,以 H 结尾的为十六进制数,否则为十进制数,标注
为 x 的位表示该位可以是任意值。
单片机(也可以是 DSP、微处理器等控制器)通过 2 线串行接口控制 CH450 芯片,CH450 的数码
管显示驱动与键盘扫描控制之间相互独立,单片机可以通过操作命令分别启用、关闭、设定这两个功
能。CH450 的 2 线串行接口是由硬件实现的,单片机可以频繁地通过串行接口进行高速操作,而绝对
不会降低 CH450 的工作效率。
5.2. 显示驱动
CH450 对数码管和发光管采用动态扫描驱动,顺序为 DIG2 至 DIG7,当其中一个引脚吸入电流时,
其它引脚则不吸入电流。CH450 内部具有电流驱动级,可以直接驱动 0.5 英寸至 1 英寸的共阴数码管,
段驱动引脚 SEG6~SEG0 分别对应数码管的段 G~段 A,段驱动引脚 SEG7 对应数码管的小数点,字驱
动引脚 DIG7~DIG2 分别连接 6 个数码管的阴极;CH450 也可以连接 8×6 矩阵的发光二级管 LED 阵列
或者 48 个独立发光管,或者通过外接反相驱动器支持共阳数码管,或者外接大功率管支持大尺寸的
数码管。
CH450 内部具有 6 个 8 位的数据寄存器,用于保存 6 个字数据,分别对应于 CH450 所驱动的 6 个
数码管或者 6 组每组 8 个的发光二极管。数据寄存器中字数据的位 7~位 0 分别对应各个数码管的小
数点和段 G~段 A,对于发光二极管阵列,则每个字数据的数据位唯一地对应一个发光二级管。当数
据位为 1 时,对应的数码管的段或者发光管就会点亮;当数据位为 0 时,则对应的数码管的段或者发
光管就会熄灭。例如,第三个数据寄存器的位 0 为 1,所以对应的第三个数码管的段 A 点亮。
下图是数码管的段名称
3
CH450 中文手册
5.3. 键盘扫描
CH450 的键盘扫描功能支持 8×6 矩阵的 48 键键盘。在键盘扫描期间,DIG7~DIG2 引脚用于列
扫描输出,SEG7~SEG0 引脚都带有内部下拉电阻,用于行扫描输入。
CH450 定期在显示驱动扫描过程中插入键盘扫描。在键盘扫描期间,DIG7~DIG2 引脚按照 DIG2
至 DIG7 的顺序依次输出高电平,其余引脚输出低电平;SEG7~SEG0 引脚的输出被禁止,当没有键被
按下时,SEG7~SEG0 都被下拉为低电平;当有键被按下时,例如连接 DIG3 与 SEG4 的键被按下,则
当 DIG3 输出高电平时 SEG4 检测到高电平;为了防止因为按键抖动或者外界干扰而产生误码,CH450
实行两次扫描,只有当两次键盘扫描的结果相同时,按键才会被确认有效。如果 CH450 检测到有效的
按键,则记录下该按键代码,并通过 INT#引脚产生低电平有效的键盘中断,此时单片机可以通过串
行接口读取按键代码;在没有检测到新的有效按键之前,CH450 不再产生任何键盘中断。CH450 不支
持组合键,也就是说,同一时刻,不能有两个或者更多的键被按下;如果多个键同时按下,那么按键
代码较小的按键优先。
CH450 所提供的按键代码为 7 位,位 2~位 0 是列扫描码,位 5~位 3 是行扫描码,位 6 是状态
码(键按下为 1,键释放为 0)
。例如,连接 DIG3 与 SEG4 的键被按下,则按键代码是 1100011B 或者
63H,键被释放后,按键代码通常是 0100011B 或者 23H(也可能是其它值,但是肯定小于 40H)
,其中,
对应 DIG3 的列扫描码为 011B,对应 SEG4 的行扫描码为 100B。单片机可以在任何时候读取按键代码,
但一般在 CH450 检测到有效按键而产生键盘中断时读取按键代码,此时按键代码的位 6 总是 1,另外,
如果需要了解按键何时释放,单片机可以通过查询方式定期读取按键代码,直到按键代码的位 6 为 0。
下表是在 DIG7~DIG2 与 SEG7~SEG0 之间 8×6 矩阵的按键编址,也是数码管段位和发光管 LED
阵列的顺序编址。由于按键代码是 7 位,键按下时位 6 总是 1,所以当键按下时,CH450 所提供的实
际按键代码是表中的按键编址加上 40H,也就是说,此时的按键代码应该在 40H 到 7FH 之间。
编址
DIG7
DIG6
DIG5
DIG4
DIG3
DIG2
SEG0
SEG1
SEG2
SEG3
SEG4
SEG5
SEG6
SEG7
07H
0FH
17H
1FH
27H
2FH
37H
3FH
06H
0EH
16H
1EH
26H
2EH
36H
3EH
05H
0DH
15H
1DH
25H
2DH
35H
3DH
04H
0CH
14H
1CH
24H
2CH
34H
3CH
03H
0BH
13H
1BH
23H
2BH
33H
3BH
02H
0AH
12H
1AH
22H
2AH
32H
3AH
5.4. 附加功能
CH450 可以向单片机提供高电平有效的上电复位。单片机、DSP、微处理器的复位输入引脚可以
根据需要直接连接到 CH450 的 RSTH 引脚,当 CH450 通电时,RSTH 引脚输出高电平有效的复位脉冲信
号。CH450 的上电复位脉冲信号同时作用于 CH450 芯片的内部电路。
CH450 的上电复位是指上电过程(从断电状态变为正常供电状态的过程)中产生的复位脉冲。为
了减少 CH450 驱动大电流而产生的电源干扰,在设计印制电路板 PCB 时,应该紧靠 CH450 芯片,在正
负电源之间并联一组电源退耦电容,包括至少一个容量不小于 0.1uF 的独石或者瓷片电容和一个容量
不小于 100uF 的电解电容。
5.5. 串行接口
CH450 具有硬件实现的 2 线串行接口,包含 2 个主要信号线:串行数据时钟输入线 SCL、串行数
据输入和输出线 SDA;以及 1 个辅助信号线:中断输出线 INT#。其中,SCL 是带上拉的输入信号线,
默认是高电平;SDA 是带上拉的准双向信号线,默认是高电平;INT#是带上拉的开漏输出,在启用键
盘扫描功能后作为键盘中断输出线,默认是高电平。
SDA 用于串行数据输入和输出,高电平表示位数据 1,低电平表示位数据 0,串行数据输入的顺
CH450 中文手册
4
序是高位在前,低位在后。
SCL 用于提供串行时钟,CH450 在其上升沿从 SDA 输入数据,在其下降沿从 SDA 输出数据。
在 SCL 为高电平期间发生的 SDA 下降沿定义为串行接口的启动信号,在 SCL 为高电平期间发生
的 SDA 上升沿定义为串行接口的停止信号。CH450 只在检测到启动信号后才接收并分析命令。所以在
单片机 I/O 引脚资源紧张时,可以在保持 SDA 引脚状态不变的情况下,将 SCL 引脚与其它接口电路共
用;如果能够确保 SDA 引脚的变化仅在 SCL 引脚为低电平期间发生,那么 SCL 引脚和 SDA 引脚都可以
与其它接口电路共用。
INT#用于键盘中断输出,默认是高电平。当 CH450 检测到有效按键时,INT#输出低电平有效的
键盘中断;单片机被中断后,对 CH450 执行读操作,CH450 将 INT#恢复为高电平,并从 SDA 输出按键
代码,单片机从 SDA 获得一个字节的数据,其中低 7 位是按键代码。
单片机与 CH450 的通讯过程总是分为 6 个步骤,按单片机的操作方向分成两种类型,一种是写
操作,用于输出数据,一种是读操作,用于输入数据。具体过程可以参考例子程序中的说明。
写操作包括以下 6 个步骤:输出启动信号、输出字节 1、应答 1、输出字节 2、应答 2、输出停
止信号。其中,启动信号和停止信号如上所述,应答 1 和应答 2 总是固定为 1,输出字节 1 和输出字
节 2 各自包含 8 个数据位,即一个字节数据。
读操作包括以下 6 个步骤:输出启动信号、输出字节 1、应答 1、输入字节 2、应答 2、输出停
止信号。其中,启动信号和停止信号如上所述,应答 1 和应答 2 总是固定为 1,输出字节 1 和输入字
节 2 各自包含 8 个数据位,即一个字节数据。
下图是一个写操作的实例,字节 1 为 01001000B,即 48H;字节 2 为 00000001B,即 01H。
6、操作命令
CH450 的操作命令分为 3 组。各命令的启动信号、停止信号、应答 1 和应答 2 都相同,区别在于
输出字节 1 和字节 2 的数据不同以及字节 2 的传输方向不同。
6.1. 设置系统参数命令
该命令的输出字节 1 为 01001000B,即 48H;输出字节 2 为 000000[KEYB][DISP]B,即 00H、01H、
02H 或者 03H。
设置系统参数命令用于设定 CH450 的系统级参数:显示驱动使能 DISP、键盘扫描使能 KEYB。当
DISP 位为 1 时允许显示输出,当 DISP 位为 0 时关闭显示驱动;当 KEYB 位为 1 时启用键盘扫描,当
KEYB 位为 0 时关闭键盘扫描。该命令不影响内部数据缓冲区中的数据。
6.2. 加载字数据命令
该命令的输出字节 1 为地址 64H、66H、68H、6AH、6CH 或者 6EH,分别对应于 DIG2~DIG7 引脚
驱动的 6 个数码管;输出字节 2 为[DIG_DATA]B,即 00H 到 0FFH 之间的值,是 8 位的字数据。
加载字数据命令用于将字数据 DIG_DATA 写入字节 1 指定地址的数据寄存器中。例如,命令数据
01100100B(即 64H 对应 DIG2)
、01111001B 表示将字数据 79H 写入第 1 个数据寄存器,使 DIG2 引脚
驱动的数码管将显示 E。
上电复位后 CH450 内部数据寄存器中的数据是不确定的,所以在开启显示之前,应该先清空数
据寄存器中的数据,或者直接加载将要显示的数据,复位过程不影响数据寄存器中的数据。
6.3. 读取按键代码命令
该命令的输出字节 1 为 01001111B,即 4FH;输入字节 2 的低 7 位为按键代码。
读取按键代码命令用于获得 CH450 最近检测到的有效按键的按键代码。该命令属于读操作,是
唯一的具有数据返回的命令,单片机必须先释放 SDA 引脚(三态输出禁止或者上拉到高电平)
,然后
CH450 从 SDA 引脚输出按键代码,按键代码的有效数据是位 6~位 0,其中位 6 是状态码,位 5~位 0
5
CH450 中文手册
是扫描码和按键编址。
7、参数
7.1. 绝对最大值(临界或者超过绝对最大值将可能导致芯片工作不正常甚至损坏)
名称
TA
TS
VCC
VIO
IMdig
IMseg
IMall
参数说明
工作时的环境温度
VCC=5V
VCC=3.3V
储存时的环境温度
电源电压(VCC 接电源,GND 接地)
输入或者输出引脚上的电压
单个 DIG 引脚的连续驱动电流
单个 SEG 引脚的连续驱动电流
所有 SEG 引脚的连续驱动电流的总和
最小值
最大值
-30
-40
-55
-0.5
-0.5
0
0
0
85
70
125
6.5
VCC+0.5
120
25
130
典型值
5
80
0.5
最大值
5.5
150
1
0.8
VCC+0.5
0.5
VCC+0.5
0.8
单位
℃
℃
V
V
mA
mA
mA
7.2. 电气参数(测试条件:TA=25℃,VCC=5V)
名称
VCC
ICC
ICCs
VIL
VIH
VILseg
VIHseg
VOLdig
VOHdig
VOLseg
VOHseg
VOL
VOH
IDN1
IUP1
IUP2
IUP3
VR
参数说明
电源电压
电源电流
静态电流(SCL、SDA、INT#为高电平)
SCL 和 SDA 引脚低电平输入电压
SCL 和 SDA 引脚高电平输入电压
SEG 引脚低电平输入电压
SEG 引脚高电平输入电压
DIG 引脚低电平输出电压(-80mA)
DIG 引脚高电平输出电压(8mA)
SEG 引脚低电平输出电压(-18mA)
SEG 引脚高电平输出电压(15mA)
其余引脚低电平输出电压(-4mA)
其余引脚高电平输出电压(4mA)
SEG 引脚的输入下拉电流
SCL 引脚的输入上拉电流
SDA 引脚的输入上拉电流
INT#引脚的输出上拉电流
上电复位的默认电压门限
最小值
3.3
0.2
-0.5
2.0
-0.5
1.8
4.5
0.5
4.5
0.5
4.5
2.3
-50
200
300
230
2.6
-90
300
400
350
2.9
单位
V
mA
mA
V
V
V
V
V
V
V
V
V
V
uA
uA
uA
uA
V
7.3. 内部时序参数(测试条件:TA=25℃,VCC=5V)
(注:本表时序参数都是内置时钟周期的倍数,内置时钟的频率随着电源电压的降低而降低)
名称
参数说明
最小值
典型值
最大值
单位
TPR
电源上电检测产生的复位时间
10
25
60
mS
TDP
显示扫描周期
0.5
1
4
mS
TKS
键盘扫描间隔,按键响应时间
16
mS
7.4. 接口时序参数(测试条件:TA=25℃,VCC=5V,参考附图)
6
CH450 中文手册
-9
(注:本表计量单位以纳秒即 10 秒为主,未注明最大值则理论值可以无穷大)
名称
参数说明
最小值
TSSTA
THSTA
TSSTO
THSTO
TCLOW
TCHIG
TSDA
THDA
TAA
TDH
Rate
SDA 下降沿启动信号的建立时间
SDA 下降沿启动信号的保持时间
SDA 上升沿停止信号的建立时间
SDA 上升沿停止信号的保持时间
SCL 时钟信号的低电平宽度
SCL 时钟信号的高电平宽度
SDA 输入数据对 SCL 上升沿的建立时间
SDA 输入数据对 SCL 上升沿的保持时间
SDA 输出数据有效对 SCL 下降沿的延时
SDA 输出数据无效对 SCL 下降沿的延时
平均数据传输速率
100
100
100
100
100
100
30
10
2
2
0
典型值
最大值
单位
30
40
4M
nS
nS
nS
nS
nS
nS
nS
nS
nS
nS
bps
8、应用
8.1. 数码管显示驱动(下图)
CH450 通过 2 线串行接口 SCL 和 SDA 与外部的单片机相连接。电容 C1 和 C2 布置于 CH450 的电源
引脚附近,用于电源退耦,减少驱动大电流产生的干扰。
CH450 可以直接动态驱动 6 个共阴数码管,所有数码管的相同段引脚(段 A~段 G 以及小数点)
并联后通过串接的限流电阻 R0 连接 CH450 的段驱动引脚 SEG0~SEG7,各数码管的公共阴极分别由
CH450 的 DIG2~DIG7 引脚进行驱动。段引脚串接的电阻 R0 用于限制和均衡段驱动电流,在 5V 电源
电压下,串接 200Ω电阻通常对应段电流 13mA。串接限流电阻的阻值越大则段驱动电流越小,数码管
的显示亮度越低,R0 的阻值一般在 100Ω至 1KΩ之间,在其它条件相同的情况下,应该优先选择较
大的阻值,以降低 CH450 芯片本身的功耗。
CH450 中文手册
8.2. 数码管驱动和键盘扫描(下图)
7
CH450 中文手册
8
CH450 具有 48 键的键盘扫描功能,如果应用中只需要很少的按键,那么可以在 8×6 矩阵中任意
去掉不用的按键。为了防止键被按下后在 SEG 信号线与 DIG 信号线之间形成短路而影响显示,一般应
该在 CH450 的 DIG2~DIG7 引脚与键盘矩阵之间串接限流电阻 R1-R6,其阻值可以从 1KΩ至 10KΩ。
当使用键盘功能时,CH450 的 INT#引脚可以连接到单片机的中断输入引脚,如果连接到普通 I/O 引脚,
那么应该使用查询方式确定 CH450 是否检测到有效按键。
图中,单片机 U2 通过 CH450 驱动 6 个共阴数码管显示,并同时扫描 48 个按键。由于某些数码管
在较高工作电压时存在反向漏电现象,容易被 CH450 误认为是某个按键一直按下,所以强烈建议使用
二级管 D1-D6 防止数码管反向漏电,并提高键盘扫描时 SEG0~SEG7 输入信号的电平,确保键盘扫描
更可靠。当电源电压较低时(例如 VCC=3.3V)
,这些二级管应该去掉以避免影响显示亮度。
8.3. 驱动共阳数码管(下图)
在为 DIG2~DIG7 字引脚增加反相器后,CH450 可以驱动共阳数码管。图中是由 6 只 PNP 三极管
T1~T6(型号为 9012 或 8550 等)和 6 只电阻 R1(阻值 300Ω~3KΩ)构成 6 组反相器,分别驱动 6
只共阳数码管的公共端阳极。由于该共阳接法中 CH450 的 SEG 段引脚是反相驱动,所以加载字数据命
令中的字数据应该按位取反,数据位为 0 则点亮,数据位为 1 则熄灭。
如果需要驱动大尺寸高压数码管或者需要增加驱动电流提高亮度,那么可以参考 CH452 芯片的
数据手册中的方法处理。
8.4. 抗干扰
由于 CH450 驱动数码管或者 LED 的电流较大,会在电源上产生较大的毛刺电压,所以如果电源线
或者地线的 PCB 布线不合理,将有可能影响单片机或者 CH450 的稳定性,建议使用较粗的电源线和地
线,并靠近 CH450 在正负电源之间并联电源退耦电容。
对于强干扰的应用环境,单片机可以每隔数秒定期对 CH450 进行刷新,包括重新加载各个数码管
的数据寄存器,以及重新开启显示。
另外,如果由标准 MCS-51 单片机的 I/O 引脚对 CH450 进行较远距离的驱动,通常要加强 MCS-51
单片机的 I/O 引脚的上拉能力,以便在远距离传输时保持较好的数字信号波形。上拉电阻的阻值可以
是 1KΩ到 10KΩ,近距离无需上拉电阻。
8.5. 单片机接口程序
网站上提供了部分单片机的 C 语言和 ASM 汇编接口程序。