1
CH451 手册
数码管驱动及键盘控制芯片 CH451
手册
版本:4E
http://wch.cn
1、概述
CH451 是一个整合了数码管显示驱动和键盘扫描控制以及μP 监控的多功能外围芯片。CH451 内
置 RC 振荡电路,可以动态驱动 8 位数码管或者 64 只 LED 发光管,具有 BCD 译码、闪烁、移位等功能;
同时还可以进行 64 键的键盘扫描;CH451 通过可以级联的串行接口与单片机等交换数据;并且提供
上电复位和看门狗等监控功能。
DCLK
SEG [7-0]
DIN
LOAD
单片机
MCU 等
DOUT
CH451
外围芯片
8×8 矩阵
64 键键盘
(虚线可选)
RST
RST#
DIG [7-0]
2、特点
2.1. 显示驱动
●
●
●
●
●
●
●
●
●
内置大电流驱动级,段电流不小于 25mA,字电流不小于 150mA。
动态显示扫描控制,直接驱动 8 位数码管或者 64 只发光管 LED。
可选数码管的段与数据位相对应的不译码方式或者 BCD 译码方式。
数码管的字数据左移、右移、左循环、右循环。
各数码管数字独立闪烁控制。
任意段位寻址,独立控制各个 LED 或者各数码管的各个段的亮与灭。
通过占空比设定提供 16 级亮度控制。
支持段电流上限调整,可以省去所有限流电阻。
扫描极限控制,支持 1 到 8 个数码管,只为有效数码管分配扫描时间。
2.2. 键盘控制
●
●
●
●
内置 64 键键盘控制器,基于 8×8 矩阵键盘扫描。
内置按键状态输入的下拉电阻,内置去抖动电路。
键盘中断,低电平有效输出。
提供按键释放标志位,可供查询按键按下与释放。
2.3. 其它
● 高速的 4 线串行接口,支持多片级联,时钟速度从 0 到 10MHz。
● 串行接口中的 DIN 和 DCLK 信号线可以与其它接口电路共用,节约引脚。
● 完全内置时钟振荡电路,不需要外接晶体或者阻容振荡。
8位
数码管
或
64 只
发光管
2
CH451 手册
●
●
●
●
●
内置上电复位和看门狗 Watch-Dog,提供高电平有效和低电平有效复位输出。
支持低功耗睡眠,节约电能,可以被按键唤醒或者被命令操作唤醒。
支持 3V~5V 电源电压。
提供 SOP28 和 DIP24S 两种无铅封装,兼容 RoHS。
引脚及功能基本兼容 4 线接口方式的 CH452 芯片。
3、封装
封装形式
宽度
引脚间距
SOP28
7.62mm
300mil
1.27mm
50mil
DIP24S
7.62mm
300mil
2.54mm
100mil
注:基于成本和供货周期等考虑,推荐用贴片封装。
封装说明
标准的 28 脚贴片
窄 24 脚双列直插
订货型号
CH451S
CH451L
4、引脚
SOP28
的引脚号
23
9
25
26
DIP24S
的引脚号
2
15
4
5
27
24
引脚名称
类型
引脚说明
VCC
GND
LOAD
DIN
电源
电源
输入
输入
6
DCLK
输入
3
1、
24~18
输出
三态输出
及输入
正电源端,持续电流不小于 200mA
公共接地端,持续电流不小于 200mA
串行接口的数据加载,内置上拉电阻
串行接口的数据输入,内置上拉电阻
串行接口的数据时钟,内置上拉电阻
同时用于看门狗的清除输入
串行接口的数据输出和键盘中断
数码管的段驱动,高电平有效,
键盘扫描输入,高电平有效,内置下拉
数码管的字驱动,低电平有效,
键盘扫描输出,高电平有效
上电复位和看门狗复位,高电平有效
上电复位和看门狗复位,低电平有效
外部手工复位输入,
高电平有效,内置下拉电阻
段电流上限调整,内置强下拉电阻
内部系统时钟输出
建议接 GND
未使用,禁止连接
1~8
7~14
12
13
16
不支持
DOUT
SEG7
~SEG0
DIG7
~DIG0
RST
RST#
28
不支持
RSTI
输入
14
11
10
不支持
不支持
不支持
不支持
17
ADJ
CLKO
GND
NC.
输入
输出
电源
空脚
22~15
输出
输出
输出
3
CH451 手册
5、功能说明
5.1. 一般说明
本手册中的数据,以 B 结尾的为二进制数,以 H 结尾的为十六进制数,否则为十进制数,标注
为 x 的位表示该位可以是任意值。
CH451 是一个多功能外围芯片,通过可以级联的 4 线串行接口与单片机、DSP、微处理器等交换
数据。CH451 包含三个功能:数码管显示驱动、键盘扫描控制、μP 监控,三个功能之间相互独立,
单片机可以通过操作命令分别启用、关闭、设定 CH451 的任何一个功能。CH451 的串行接口是由硬件
实现的,单片机可以频繁地通过串行接口进行高速操作,而绝不会降低 CH451 的工作效率。
5.2. 显示驱动
CH451 对数码管和发光管采用动态扫描驱动,顺序为 DIG0 至 DIG7,当其中一个引脚吸入电流时,
其它引脚则不吸入电流。CH451 内部具有大电流驱动级,可以直接驱动 0.5 英寸至 2 英寸的共阴数码
管,段驱动引脚 SEG6~SEG0 分别对应数码管的段 G~段 A,段驱动引脚 SEG7 对应数码管的小数点,
字驱动引脚 DIG7~DIG0 分别连接 8 个数码管的阴极;CH451 也可以连接 8×8 矩阵的发光二级管 LED
阵列或者 64 个独立发光管;CH451 还可以通过外接反相驱动器支持共阳数码管,或者外接大功率管
支持大尺寸的数码管。
CH451 支持扫描极限控制,并且只为有效数码管分配扫描时间。当扫描极限设定为 1 时,唯一的
数码管 DIG0 将得到所有的动态驱动时间,从而等同于静态驱动;当扫描极限设定为 8 时,8 个数码
管 DIG7~DIG0 各得到 1/8 的动态驱动时间;当扫描极限设定为 4 时,4 个数码管 DIG3~DIG0 各得到
1/4 的动态驱动时间,此时各数码管的平均驱动电流将比扫描极限为 8 时增加一倍,所以降低扫描极
限可以提高数码管的显示亮度。
CH451 将分配给每个数码管的显示驱动时间进一步细分为 16 等份,通过设定显示占空比支持 16
级亮度控制。占空比的值从 1/16 至 16/16,占空比越大,数码管的平均驱动电流越大,显示亮度也
就越高,但占空比与显示亮度之间是非线性关系。
CH451 内部具有 8 个 8 位的数据寄存器,用于保存 8 个字数据,分别对应于 CH451 所驱动的 8 个
数码管或者 8 组每组 8 个的发光二极管。CH451 支持数据寄存器中的字数据左移、右移、左循环、右
循环,并且支持各数码管的独立闪烁控制,在字数据左右移动或者左右循环移动的过程中,闪烁控制
的属性不会随数据移动。
CH451 默认情况下工作于不译码方式,此时 8 个数据寄存器中字数据的位 7~位 0 分别对应 8 个
数码管的小数点和段 G~段 A,对于发光二极管阵列,则每个字数据的数据位唯一地对应一个发光二
级管。当数据位为 1 时,对应的数码管的段或者发光管就会点亮;当数据位为 0 时,则对应的数码管
的段或者发光管就会熄灭。例如,第三个数据寄存器的位 0 为 1,所以对应的第三个数码管的段 A 点
亮。通过设定,CH451 还可以工作于 BCD 译码方式,该方式主要应用于数码管驱动,单片机只要给出
二进制数 BCD 码,由 CH451 将其译码后直接驱动数码管显示对应的字符。BCD 译码方式是指对数据寄
存器中字数据的位 4~位 0 进行 BCD 译码,
控制段驱动引脚 SEG6~SEG0 的输出,
对应于数码管的段 G~
段 A,同时用字数据的位 7 控制段驱动引脚 SEG7 的输出,对应于数码管的小数点,字数据的位 6 和
位 5 不影响 BCD 译码。下表为数据寄存器中字数据的位 4~位 0 进行 BCD 译码后,所对应的段 G~段
A 以及数码管显示的字符。参考下表,如果需要在数码管上显示字符 0,只要置入数据 0xx00000B 或
者 00H;需要显示字符 0.(0 带小数点)
,只要置入数据 1xx00000B 或者 80H;类似地,数据 1xx01000B
或者 88H 对应于字符 8.(8 带小数点)
;数据 0xx10011B 或者 13H 对应于字符=;数据 0xx11010B 或者
1AH 对应于字符.(小数点)
;数据 0xx10000B 或者 10H 对应于字符 (空格,数码管没有显示)
。
位 4~位 0
00000B
00001B
00010B
00011B
段 G~段 A
0111111B
0000110B
1011011B
1001111B
显示的字符
0
1
2
3
位 4~位 0
10000B
10001B
10010B
10011B
段 G~段 A
0000000B
1000110B
1000000B
1000001B
显示的字符
空格
-| -1 或加号
- 负号减号
= 等于号
4
CH451 手册
00100B
00101B
00110B
00111B
01000B
01001B
01010B
01011B
01100B
01101B
01110B
01111B
1100110B
1101101B
1111101B
0000111B
1111111B
1101111B
1110111B
1111100B
1011000B
1011110B
1111001B
1110001B
4
5
6
7
8
9
A
b
c
d
E
F
10100B
10101B
10110B
10111B
11000B
11001B
11010B
其余值
下图是 CH451 的段驱动引脚 SEG7~SEG0 的内部电路简图。
下图是 CH451 的字驱动引脚 DIG7~DIG0 的内部电路简图。
0111001B
0001111B
0001000B
1110110B
0111000B
1110011B
0000000B
0000000B
[ 左方括号
] 右方括号
_ 下划线
H
L
P
. 小数点
空格
5
CH451 手册
5.3. 键盘扫描
CH451 的键盘扫描功能支持 8×8 矩阵的 64 键键盘。在键盘扫描期间,DIG7~DIG0 引脚用于列
扫描输出,SEG7~SEG0 引脚都带有内部下拉电阻,用于行扫描输入;当启用键盘扫描功能后,DOUT
引脚的功能由串行接口的数据输出变为键盘中断以及数据输出。
CH451 定期在显示驱动扫描过程中插入键盘扫描。在键盘扫描期间,DIG7~DIG0 引脚按照 DIG0
至 DIG7 的顺序依次输出高电平,其余 7 个引脚输出低电平;SEG7~SEG0 引脚的输出被禁止,当没有
键被按下时,SEG7~SEG0 都被下拉为低电平;当有键被按下时,例如连接 DIG3 与 SEG4 的键被按下,
则当 DIG3 输出高电平时 SEG4 检测到高电平;为了防止因为按键抖动或者外界干扰而产生误码,CH451
实行两次扫描,只有当两次键盘扫描的结果相同时,按键才会被确认有效。如果 CH451 检测到有效的
按键,则记录下该按键代码,并通过 DOUT 引脚产生低电平有效的键盘中断,此时单片机可以通过串
行接口读取按键代码;在没有检测到新的有效按键之前,CH451 不再产生任何键盘中断。CH451 不支
持组合键,也就是说,同一时刻,不能有两个或者更多的键被按下;如果多个键同时按下,那么按键
代码较小的按键优先。
CH451 所提供的按键代码为 7 位,位 2~位 0 是列扫描码,位 5~位 3 是行扫描码,位 6 是状态
码(键按下为 1,键释放为 0)
。例如,连接 DIG3 与 SEG4 的键被按下,则按键代码是 1100011B 或者
63H,键被释放后,按键代码通常是 0100011B 或者 23H,其中,对应 DIG3 的列扫描码为 011B,对应
SEG4 的行扫描码为 100B。单片机可以在任何时候读取按键代码,但一般在 CH451 检测到有效按键而
产生键盘中断时读取按键代码,此时按键代码的位 6 总是 1,另外,如果需要了解按键何时释放,单
片机可以通过查询方式定期读取按键代码,直到按键代码的位 6 为 0。
下表是连接在 DIG7~DIG0 与 SEG7~SEG0 之间的键被按下时,CH451 所提供的按键代码。这些按
键代码具有一定的规律,如果需要键被释放时的按键代码,则将表中的按键代码的位 6 置 0,也就是
将表中的按键代码减去 40H。
按键代码
SEG0
SEG1
SEG2
SEG3
SEG4
SEG5
SEG6
SEG7
DIG7
47H
4FH
57H
5FH
67H
6FH
77H
7FH
DIG6
46H
4EH
56H
5EH
66H
6EH
76H
7EH
DIG5
45H
4DH
55H
5DH
65H
6DH
75H
7DH
DIG4
44H
4CH
54H
5CH
64H
6CH
74H
7CH
DIG3
43H
4BH
53H
5BH
63H
6BH
73H
7BH
DIG2
42H
4AH
52H
5AH
62H
6AH
72H
7AH
DIG1
41H
49H
51H
59H
61H
69H
71H
79H
DIG0
40H
48H
50H
58H
60H
68H
70H
78H
5.4. μP 监控
CH451 提供的μP 监控包括上电复位和看门狗 Watch-Dog。单片机、DSP、微处理器的复位输入引
脚可以根据需要直接连接到 CH451 的 RST 引脚或者 RST#引脚,当 CH451 通电或者看门狗溢出时,RST
引脚输出高电平有效的复位脉冲信号,RST#引脚输出低电平有效的复位脉冲信号。CH451 的上电复位
脉冲信号同时作用于 CH451 芯片的内部电路,而看门狗复位脉冲信号不会对 CH451 芯片的内部电路起
作用。
CH451 的上电复位是指上电过程(从断电状态变为正常供电状态的过程)中产生的复位脉冲。为
了减少 CH451 驱动大电流而产生的电源干扰,在设计印制电路板 PCB 时,应该紧靠 CH451 芯片,在正
负电源之间并联一组电源退耦电容,包括至少一个容量不小于 0.1uF 的独石或者瓷片电容和一个容量
不小于 100uF 的电解电容。
CH451 在启用看门狗功能后,只要清除输入引脚 DCLK 的电平没有变化,看门狗计时器就会计时,
当计满溢出周期时,就会产生看门狗复位脉冲信号。为了避免计时溢出而产生复位信号,单片机应该
定期变化 DCLK 的电平,及时清除看门狗的计时。CH451 的看门狗计时可以被下述的任何一个操作清
除:上电复位、RSTI 引脚的手工复位、DCLK 从低变为高、DCLK 从高变为低等。启用看门狗功能后,
当单片机程序失控而使 DCLK 的电平长时间保持不变时,CH451 就会输出看门狗复位脉冲信号。
CH451 手册
6
5.5. 串行接口
下面是框图。
CH451 具有硬件实现的高速 4 线串行接口,包括 4 个信号线:串行数据输入线 DIN、串行数据时
钟线 DCLK、串行数据加载线 LOAD、串行数据输出线 DOUT。其中,DIN、DCLK、LOAD 是带上拉的输入
信号线,默认是高电平;DOUT 在未启用键盘扫描功能时作为串行数据输出线,在启用键盘扫描功能
后作为键盘中断和数据输出线,默认是高电平。
DIN 用于提供串行数据,高电平表示位数据 1,低电平表示位数据 0,串行数据输入的顺序是低
位在前,高位在后。另外,在 CH451 上电复位后,单片机必须在 DCLK 输出串行时钟之前,先在 DIN
上输出一个低电平脉冲(由高电平变为低电平再恢复为高电平)
,通知 CH451 使能 4 线串行接口。
DCLK 用于提供串行时钟,
CH451 在其上升沿从 DIN 输入数据,
在其下降沿从 DOUT 输出数据。
CH451
内部具有 12 位移位寄存器,在 DCLK 的上升沿,DIN 上的位数据被移入移位寄存器的最高位寄存器,
以此类推,原次低位数据移入最低位寄存器,在该上升沿后的第一个下降沿,原次低位数据从 DOUT
输出。CH451 允许 DCLK 引脚的串行时钟频率大于 10MHz,从而可以实现高速串行输入输出。
LOAD 用于加载串行数据,CH451 在其上升沿加载移位寄存器中的 12 位数据,作为操作命令分析
并处理。也就是说,LOAD 的上升沿是串行数据帧的帧完成标志,此时无论移位寄存器中的 12 位数据
是否有效,CH451 都会将其当作操作命令。
由于 CH451 只在 LOAD 的上升沿加载命令数据并处理,所以单片机不能将 LOAD 信号线用于其它
CH451 手册
7
用途,但是 DIN 和 DCLK 可以用于其它用途。当单片机 I/O 引脚资源紧张时,CH451 只需要独占使用
LOAD 信号线,DIN 和 DCLK 信号线可以与其它接口电路共用。
单片机向 CH451 输出串行数据的过程是(不是唯一的过程,可以有很多变化)
:
① 输出一位数据,即向 DIN 输出最低位数据 B0,并向 DCLK 输出低电平脉冲(从高电平变为低
电平再恢复为高电平)
,其中包括一个上升沿使 CH451 输入位数据;
② 以同样的方式,输出位数据 B1~B11;
③ 向 LOAD 输出低电平脉冲,其中包括一个上升沿使 CH451 加载串行数据。
在本说明书中,将以 B0^B1^B2^B3^B4^B5^B6^B7^B8^B9^B10^B11^↑作为上述过程的简化描述,
其中,^代表 DCLK 的上升沿,↑代表 LOAD 的上升沿,B0~B11 分别代表 1 位数据,如果是字符 0 或 1
则对应 DIN 输入的位数据,如果是字符 L 或 H 则对应 DOUT 输出的位数据 0 或 1。例如,
1^0^0^0^0^0^0^0^0^1^0^0^↑表示向 CH451 发送了一组 12 位的串行数据 001000000001B;1^1^1^0^
↑H^H^L^L^L^H^H^表示先向 CH451 发送了一组 4 位的串行数据 0111B,然后接收了一组 7 位的串行数
据 1100011B。
在未启用键盘扫描功能时,DOUT 用于输出串行数据,移位寄存器中的最低位数据总是在 DCLK 的
下降沿出现在 DOUT 引脚。CH451 支持无限制的级联,只要 3 根信号线就可以连接多个 CH451 芯片。
其中,所有 CH451 的 DCLK 并联后连接单片机的 DCLK 输出,所有 CH451 的 LOAD 并联后连接单片机的
LOAD 输出,后级 CH451 的 DIN 连接前级 CH451 的 DOUT 输出,最前级 CH451 的 DIN 连接单片机的 DIN
输出。级联电路中,单片机每次输出的串行数据必须是单个 CH451 的串行数据的位数乘以级联的级数。
例如,CH451 的串行数据是 12 位,如果 3 个 CH451 进行级联,则单片机每次输出的数据位数必须是
36 位,依次是后级 CH451 的命令数据、中级 CH451 的命令数据、前级 CH451 的命令数据。
上图是在未启用键盘扫描功能时,单片机通过串行接口向 CH451 发送 12 位数据的波形示意图,
数据是 001000000001B,LOAD 的低电平脉冲可以更宽,图中以虚线表示。
当启用键盘扫描功能后,DOUT 用于键盘中断和数据输出,默认是高电平。当 CH451 检测到有效
按键时,DOUT 输出低电平有效的键盘中断;单片机被中断后,发出读取按键代码命令,CH451 在 LOAD
的上升沿后从 DOUT 输出 7 位按键代码的最高位;单片机继续输出串行时钟,在 DCLK 的每个下降沿,
CH451 依次从 DOUT 输出 7 位按键代码的剩余 6 位,顺序是高位在前,低位在后;7 位按键代码输出完
毕后,无论 DCLK 如何变化,CH451 都将 DOUT 恢复为默认的高电平。参考下图,单片机从 CH451 获得
按键代码的过程是:
CH451 手册
8
① 输出一位数据,即向 DIN 输出读取按键代码命令的最低位数据 B0,并向 DCLK 输出低电平脉
冲;
② 以同样的方式,输出读取按键代码命令的位数据 B1~B11;
③ 向 LOAD 输出低电平脉冲,其中包括一个上升沿使 CH451 加载串行数据,CH451 分析出是读
取按键代码命令,立即在 DOUT 输出按键代码的最高位数据 K6;
④ 读取一位数据,即从 DOUT 输入按键代码的最高位数据 K6,并向 DCLK 输出低电平脉冲;
⑤ 以同样的方式,输入按键代码的位数据 K5~K0。
实际上,CH451 的读取按键代码命令只有位数据 B8~B11 是有效的,所以单片机不必发出读取按
键代码命令的 B0~B7。例如,按键代码是 63H,则上述过程的简化描述是 1^1^1^0^↑H^H^L^L^L^H^H^,
即先向 CH451 发出读取按键代码命令 0111xxxxxxxxB,然后从 DOUT 接收按键代码 1100011B。上图是
单片机向 CH451 发送命令并接收按键代码的波形示意图,MCU 是指单片机的工作状态。
6、操作命令
CH451 的操作命令均为 12 位,下表列出了 CH451 的各个操作命令所对应的 12 位串行数据。其中,
标注为 x 的位表示该位可以是任意值;标有名称的位表示该位在 CH451 芯片内部具有相应的寄存器,
其数据根据操作命令的不同而变化。
操作命令
空操作
段位寻址清 0
段位寻址置 1
芯片内部复位
进入睡眠状态
设定辅助参数
字数据左移
字数据右移
字数据左循环
字数据右循环
设定系统参数
设定显示参数
设定闪烁控制
加载字数据 0
加载字数据 1
加载字数据 2
加载字数据 3
加载字数据 4
加载字数据 5
加载字数据 6
加载字数据 7
读取按键代码
位 11 位 10 位 9 位 8 位 7 位 6 位 5 位 4 位 3 位 2 位 1 位 0
0
0
0
0
x
x
x
x
x
x
x
x
0
0
0
1
1
0
BIT_ADDR
0
0
0
1
1
1
BIT_ADDR
0
0
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
0
1
0
1
0
0
0
0
LMTC
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
1
1
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
CKHF DPLR WDOG KEYB DISP
0
1
0
1 MODE
LIMIT
INTENSITY
0
1
1
0
D7S D6S D5S D4S D3S D2S D1S D0S
1
0
0
0
DIG_DATA, DIG0 对应的字数据
1
0
0
1
DIG_DATA, DIG1 对应的字数据
1
0
1
0
DIG_DATA, DIG2 对应的字数据
1
0
1
1
DIG_DATA, DIG3 对应的字数据
1
1
0
0
DIG_DATA, DIG4 对应的字数据
1
1
0
1
DIG_DATA, DIG5 对应的字数据
1
1
1
0
DIG_DATA, DIG6 对应的字数据
1
1
1
1
DIG_DATA, DIG7 对应的字数据
0
1
1
1
x
x
x
x
x
x
x
x
6.1. 空操作:0000xxxxxxxxB
空操作命令不对 CH451 产生任何影响。该命令可以在多个 CH451 级联的应用中,透过前级 CH451
向后级 CH451 发送操作命令而不影响前级的状态。例如,要将操作命令 001000000001B 发送给两级级
联电路中的后级 CH451(后级 CH451 的 DIN 连接前级 CH451 的 DOUT)
,只要在该命令后添加空操作命
令 000000000000B 再发送,简化描述是 1^0^0^0^0^0^0^0^0^1^0^0^0^0^0^0^0^0^0^0^0^0^0^0^↑,
那么,该操作命令将经过前级 CH451 到达后级 CH451,而空操作命令留给了前级 CH451。另外,为了
在不影响 CH451 的前提下变化 DCLK 以清除看门狗计时,也可以发送空操作命令,在非级联的应用中,
空操作命令可以只发送有效数据 B8~B11,简化描述是 0^0^0^0^↑。
9
CH451 手册
6.2. 段位寻址清 0:000110[BIT_ADDR]B
段位寻址清 0 命令用于将指定地址的发光管(或者数码管的指定段或者小数点)熄灭,该命令
一次只能熄灭指定地址的一个发光管,并且完全不影响其它发光管的状态。段位寻址的编址顺序请参
考下面的矩阵编址表。例如,命令数据 000110111010B 表示将编址为 3AH 的发光管熄灭。
矩阵编址
SEG0
SEG1
SEG2
SEG3
SEG4
SEG5
SEG6
SEG7
DIG7
38H
39H
3AH
3BH
3CH
3DH
3EH
3FH
DIG6
30H
31H
32H
33H
34H
35H
36H
37H
DIG5
28H
29H
2AH
2BH
2CH
2DH
2EH
2FH
DIG4
20H
21H
22H
23H
24H
25H
26H
27H
DIG3
18H
19H
1AH
1BH
1CH
1DH
1EH
1FH
DIG2
10H
11H
12H
13H
14H
15H
16H
17H
DIG1
08H
09H
0AH
0BH
0CH
0DH
0EH
0FH
DIG0
00H
01H
02H
03H
04H
05H
06H
07H
6.3. 段位寻址置 1:000111[BIT_ADDR]B
段位寻址置 1 命令用于将指定地址的发光管(或者数码管的指定段或者小数点)点亮,该命令
一次只能点亮指定地址的一个发光管,并且完全不影响其它发光管的状态。段位寻址的编址顺序请参
考矩阵编址表。例如,命令数据 000111000110B 表示将编址为 06H 的发光管点亮。
6.4. 芯片内部复位:001000000001B
内部复位命令将 CH451 的各个寄存器和各种参数复位到默认的状态。芯片上电时,CH451 总是被
复位,此时各个寄存器均复位为 0,各种参数均恢复为默认值。
6.5. 进入睡眠状态:001000000010B
进入睡眠状态命令使 CH451 暂停显示驱动和键盘扫描,并进入低功耗睡眠状态,从而可以节约
电能。执行该命令之前,应该先用设定系统参数命令关闭 CH451 的显示驱动使能和按键扫描使能,并
且执行该命令本身必须在 20uS 之内完成,发出命令后 DCLK 引脚必须保持不变。
处于低功耗睡眠状态中的 CH451 可以被下述两种事件中的任何一种唤醒,第一种事件是检测到
SEG3~SEG0 上的按键,有效按键代码是 40H 到 5FH;第二种事件是接收到单片机发出的操作命令(通
常是空操作命令)
,或者检测到 DCLK 引脚的状态变化。睡眠和唤醒操作本身不会影响 CH451 的工作状
态。
6.6. 设定辅助参数:00101010000[LMTC]B
设定辅助参数命令用于设定 CH451 的辅助参数:段电流限制 LMTC。默认情况下,段输出电流没
有上限,实际短路电流可达 80mA 以上,当设定 LMTC 段电流限制为 1 后,CH451 内部会将 SEG 段输出
电流限制在 30mA 之内,从而可以去掉段驱动引脚与数码管之间的 8 只串接限流电阻。
6.7. 字数据左移:001100000000B
字数据左移命令将 CH451 的字数据左移一次,即从 DIG0 向 DIG7 移动一位,然后最右边的 DIG0
补进数据 00H。例如,在数码管 DIG7~DIG0 显示“87654321”时,执行字数据左移命令,显示变为
“7654321 ”(不译码方式)或者“76543210”
(BCD 译码方式)
。
6.8. 字数据右移:001100000010B
字数据右移命令将 CH451 的字数据右移一次,即从 DIG7 向 DIG0 移动一位,然后最左边的 DIG7
补进数据 00H。例如,在数码管 DIG7~DIG0 显示“87654321”时,执行字数据右移命令,显示变为
“ 8765432”(不译码方式)或者“08765432”
(BCD 译码方式)
。
6.9. 字数据左循环:001100000001B
CH451 手册
10
字数据左循环命令将 CH451 的字数据左循环一次,即从 DIG0 向 DIG7 移动一位,然后最右边的
DIG0 补进原 DIG7 的数据。例如,在数码管 DIG7~DIG0 显示“87654321”时,执行字数据左循环命
令,显示变为“76543218”
。
6.10. 字数据右循环:001100000011B
字数据右循环命令将 CH451 的字数据右循环一次,即从 DIG7 向 DIG0 移动一位,然后最左边的
DIG7 补进原 DIG0 的数据。例如,在数码管 DIG7~DIG0 显示“87654321”时,执行字数据右循环命
令,显示变为“18765432”
。
6.11. 设定系统参数:0100000[CKHF][DPLR][WDOG][KEYB][DISP]B
设定系统参数命令用于设定 CH451 的系统级参数:输出高频时钟 CKHF(选择快速闪烁)
,字驱动
输出极性 DPLR(选择 DIG 字驱动输出极性:0=低电平有效;1=高电平有效)
,看门狗使能 WDOG,键盘
扫描使能 KEYB,显示驱动使能 DISP。各个参数均通过 1 位数据控制,将相应的数据位置为 1 则启用
该功能,否则关闭该功能(默认值)
。例如,命令数据 010000000011B 表示选择低频时钟、关闭看门
狗的功能、启用键盘扫描的功能、启用显示扫描驱动的功能、字驱动为低电平有效。
6.12. 设定显示参数:0101[MODE][LIMIT][INTENSITY]B
设定显示参数命令用于设定 CH451 的显示参数:译码方式 MODE,扫描极限 LIMIT,显示亮度
INTENSITY。译码方式 MODE 通过 1 位数据控制,置 1 时选择 BCD 译码方式,置 0 时选择不译码方式(默
认值)
。扫描极限 LIMIT 通过 3 位数据控制,数据 001B~111B 和 000B 分别设定扫描极限为 1~7 和 8
(默认值)
。显示亮度 INTENSITY 通过 4 位数据控制,数据 0001B~1111B 和 0000B 分别设定显示驱动
占空比为 1/16~15/16 和 16/16(默认值)
。例如,命令数据 010101110000B 表示选择不译码方式、
扫描极限为 7、显示驱动占空比为 16/16;命令数据 010110001010B 表示选择 BCD 译码方式、扫描极
限为 8、显示驱动占空比为 10/16。
6.13. 设定闪烁控制:0110[D7S][D6S][D5S][D4S][D3S][D2S][D1S][D0S]B
设定闪烁控制命令用于设定 CH451 的闪烁显示属性:D7S~D0S 分别对应于 8 个字驱动 DIG7~
DIG0。闪烁属性 D7S~D0S 分别通过 1 位数据控制,将相应的数据位置为 1 则使能闪烁显示,否则为
正常显示,不闪烁(默认值)
。例如,命令数据 011000100001B 表示设定数码管 DIG5 和 DIG0 闪烁显
示,其余数码管正常显示,不闪烁。
6.14. 加载字数据:1[DIG_ADDR][DIG_DATA]B
加载字数据命令用于将字数据 DIG_DATA 写入 DIG_ADDR 指定地址的数据寄存器中。DIG_ADDR 通
过 3 位数据指定数据寄存器的地址,数据 000B~111B 分别指定地址 0~7,对应于 DIG0~DIG7 引脚
驱动的 8 个数码管。DIG_DATA 是 8 位的字数据。例如,命令数据 100001111001B 表示将字数据 79H
写入第 1 个数据寄存器,如果是不译码方式,则 DIG0 引脚驱动的数码管将显示 E;命令数据
110010001000B 表示将字数据 88H 写入第 5 个数据寄存器,如果是 BCD 译码方式,则 DIG4 引脚驱动
的数码管将显示 8.。
6.15. 读取按键代码:0111xxxxxxxxB
读取按键代码命令用于获得 CH451 最近检测到的有效按键的按键代码。该命令是唯一的具有数
据返回的命令,CH451 从 DOUT 引脚输出按键代码,按键代码总是 7 位数据,最高位是状态码,位 5~
位 0 是扫描码。读取按键代码命令的位数据 B0~B7 可以是任意值,所以单片机可以将该操作命令缩
短为 4 位数据 B8~B11。例如,CH451 检测到有效按键并中断,按键代码是 5EH,简化描述 1^1^1^0^
↑H^L^H^H^H^H^L^表示先向 CH451 发出读取按键代码命令 0111xxxxxxxxB,然后从 DOUT 获得按键代
码 5EH。
7、参数
11
CH451 手册
7.1. 绝对最大值(临界或者超过绝对最大值将可能导致芯片工作不正常甚至损坏)
名称
参数说明
最小值
最大值
单位
TA
TS
VCC
VIO
IMdig
IMseg
IMall
工作时的环境温度
储存时的环境温度
电源电压(VCC 接电源,GND 接地)
输入或者输出引脚上的电压
单个 DIG 引脚的连续驱动电流
单个 SEG 引脚的连续驱动电流
所有 SEG 引脚的连续驱动电流的总和
-40
-55
-0.5
-0.5
0
0
0
85
125
6.0
VCC+0.5
180
30
200
℃
℃
V
V
mA
mA
mA
典型值
5
80
最大值
5.3
150
0.5
VCC+0.5
0.8
VCC+0.5
0.8
单位
V
mA
V
V
V
V
V
V
V
V
V
V
V
uA
uA
uA
uA
KΩ
V
7.2. 电气参数(测试条件:TA=25℃,VCC=5V)
名称
VCC
ICC
VILseg
VIHseg
VIL
VIH
VOLdig
VOHdig
VOLseg
VOHseg
VOL
VOH
VOHdo
IDN1
IDN0
IUP1
IUP2
RDN
VR
参数说明
电源电压
电源电流
SEG 引脚低电平输入电压
SEG 引脚高电平输入电压
其余引脚低电平输入电压
其余引脚高电平输入电压
DIG 引脚低电平输出电压(-150mA)
DIG 引脚高电平输出电压(4mA)
SEG 引脚低电平输出电压(-10mA)
SEG 引脚高电平输出电压(25mA)
其余引脚低电平输出电压(-4mA)
其余引脚高电平输出电压(4mA)
DOUT 引脚高电平输出电压(1mA)
SEG 引脚的下拉输入电流
RSTI 引脚的下拉输入电流
带上拉的输入端的输入电流
DIN 引脚的上拉输入电流
下拉电阻的阻值(非线性等同值)
上电复位的默认电压门限
最小值
2.8
0.5
-0.5
1.8
-0.5
2.0
4.2
0.8
4.2
0.5
4.5
4.2
-25
-60
15
50
2.0
7.3. 内部时序参数(测试条件:TA=25℃,VCC=5V,参考附图)
-80
-120
50
100
10
2.3
-400
-200
300
200
2.7
12
CH451 手册
名称
FCLKO
TPR
TWR
TWP
TDP
FSP
TKS
参数说明
CKHF=0
CKHF=1
上电检测产生的复位脉冲宽度
看门狗溢出产生的复位脉冲宽度
看门狗溢出的周期
显示扫描周期(TWD*扫描极限)
闪烁显示的频率
键盘扫描间隔,按键响应时间
CLKO 引脚输出的时钟频率
最小值
150
5
70
35
220
2.5
0.6
17
典型值
250
8
140
55
350
4
2.2
28
最大值
400
12
350
120
800
6.5
3
60
单位
KHz
MHz
mS
mS
mS
mS
Hz
mS
7.4. 接口时序参数(测试条件:TA=25℃,VCC=5V,参考附图)
-9
(注:本表计量单位都是纳秒即 10 秒,未注明最大值则理论值可以无穷大)
名称
TIS
TIH
TCL
TCH
TCF
TCB
TLL
TLH
TOL
TOC
TE
参数说明
DIN 数据输入的建立时间
DIN 数据输入的保持时间
DCLK 时钟信号的低电平宽度
DCLK 时钟信号的高电平宽度
LOAD 上升沿之前 DCLK 稳定时间
LOAD 上升沿之后 DCLK 稳定时间
LOAD 加载信号的低电平宽度
LOAD 加载信号的高电平宽度
LOAD 上升沿后 DOUT 输出延时
DCLK 下降沿后 DOUT 输出延时
DCLK、LOAD 上升或者下降时间
8、应用
8.1. 连接单片机(下图)
最小值
25
10
50
50
25
25
100
100
2
2
0
典型值
最大值
25
25
15
单位
nS
nS
nS
nS
nS
nS
nS
nS
nS
nS
nS
CH451 手册
13
CH451 通过串行接口与单片机相连接。U2(CH451S)向单片机 U1(51 系列 89C2051)提供复位
信号 RESET 和系统时钟信号 SCLK,如果要求定时精确,单片机也可以用晶振获得系统时钟信号。电
容 C2 和 C3 布置于 U2 的电源引脚附近,用于电源退耦,减少驱动大电流产生的干扰。当不需要键盘
功能时,还可以省去 KEY 信号线,只使用 DCLK、DIN、LOAD 三个信号线;当使用键盘功能时,CH451
的 DOUT 引脚的 KEY 信号线可以连接到单片机的中断输入引脚,如果连接到普通 I/O 引脚,那么应该
使用查询方式确定 CH451 是否检测到有效按键。
由于标准 MCS51 单片机的部分 I/O 引脚是弱上拉的准双向口,所以在与 CH451 进行远距离连接
的电路中,建议对 DIN、DCLK、LOAD 加上拉电阻以减少干扰,上拉电阻的阻值可以是 1KΩ到 10KΩ,
近距离无需上拉电阻,距离越远则阻值应该越小。
8.2. 驱动数码管(上图)
CH451 可以动态驱动 8 个共阴数码管,所有数码管的相同段引脚(段 A~段 G 以及小数点)并联
后通过串接的限流电阻 R1 连接 CH451 的段驱动引脚 SEG0~SEG7,各数码管的阴极分别由 CH451 的
DIG0~DIG7 引脚进行驱动。
如果启用了 CH451 的段电流限制 LMTC 功能,那么段限流电阻 R1 可以省掉;否则,需要为段驱
动引脚串接电阻 R1,用以限制和均衡各个段的驱动电流。串接限流电阻 R1 的阻值越大则段驱动电流
CH451 手册
14
越小,数码管的显示亮度越低,R1 的阻值一般在 60Ω至 1KΩ之间,在其它条件相同的情况下,应该
优先选择较大的阻值。在 5V 电源电压下,串接 200Ω电阻通常对应段电流 13mA。
在数码管的面板布局上,建议数码管从左到右的顺序是 N1 靠左边,N8 靠右边,以便匹配字左右
移动命令和字左右循环移动命令。
有关驱动大尺寸数码管以及驱动共阳数码管的电路请参考 CH452 芯片的数据手册。
8.3. 8×8 键盘扫描(下图)
CH451 具有 64 键的键盘扫描功能,如果应用中只需要很少的按键,则可以在 8×8 矩阵中任意去
掉不用的按键。为了防止键被按下后在 SEG 信号线与 DIG 信号线之间形成短路,影响显示,一般应该
在 CH451 的 DIG0~DIG7 引脚与键盘矩阵之间串接限流电阻 R2,其阻值可以从 2KΩ至 15KΩ。
8.4. 完整的应用例子(下图)
图中,单片机 U2 通过 CH451 驱动 8 个共阴数码管显示,并同时扫描 64 个按键。由于某些数码管
在较高工作电压时存在反向漏电现象,容易被 CH451 误认为是某个按键一直按下,所以建议使用二级
CH451 手册
15
管 D1-D8 防止数码管反向漏电,并提高键盘扫描时 SEG0~SEG7 输入信号的电平,确保键盘扫描更可
靠。当电源电压较低时(例如 VCC=3.3V)
,这些二级管应该去掉以避免影响显示亮度。
8.5. 多片级联应用
当数码管多于 8 个时,可以采用多个 CH451 进行驱动。多个 CH451 与单片机的连接方式有两种方
案:一是并联,单片机为每个 CH451 提供一根独立的 LOAD 信号线,但 DIN 和 DCLK 信号线同时提供给
所有的 CH451,也就是说,各个 LOAD 信号线相当于各个 CH451 的片选线;二是串联,单片机将 DCLK
和 LOAD 信号线同时提供给所有的 CH451,单片机只提供 DIN 给最前级的 CH451,而后级 CH451 的 DIN
连接到前级 CH451 的 DOUT 引脚。
对于远距离传输或单片机驱动多个 CH451 引脚的实际应用,需要确保公共地线的低阻可靠连接,
并且可能需要考虑单片机 I/O 引脚的驱动能力,必要时可以增加信号缓冲驱动电路。
8.5.1. 并联应用(下图)
CH451 手册
16
图中以并行级联方式驱动 24 只数码管,U8(51 系列单片机)向所有的 CH451 提供一组共用的
DIN 和 DCLK 信号,并且向各个 CH451 分别提供一根 LOAD 信号线。需要对 U9 进行操作时,单片机可
以通过 DIN 和 DCLK 输出串行数据,然后通过 LD1 向 U9 输出加载信号使其执行操作,而 U10 和 U11 没
有收到 LOAD 信号,所以不操作。并联方式下,每一个 CH451 都可以启用键盘功能,并且操作过程比
串联方式简单。
8.5.2. 串联应用(下图)
图中以串行级联方式驱动发光二极管 LED 点阵,U3(PIC 系列单片机)通过 DIN1、DCLK 和 LOAD
三根信号线控制所有的 CH451。参考 16×16 布局图,4 个 8×8 发光管阵列 L1~L4 组成 16×16 的点
阵模块,
如果要显示一个汉字,
只要将 32 字节的点阵数据通过 8 次 48 位的加载字数据命令送给 CH451
就可以了。因为是 4 个 CH451 级联,所以每个操作命令都必须是 48 位数据,依次是 U7、U6、U5 和
U4 的命令数据,最后由 LOAD 信号线输出上升沿通知所有的 CH451 加载各自的命令数据。串联方式下,
CH451 的级联数量没有限制,并且只占用 3 个 I/O 引脚,其中 DIN 和 DCLK 还可以与其它接口电路共
用,缺点是只有最后一级的 CH451 可以启用键盘功能,操作过程比并联方式复杂。
CH451 手册
17
8.6. 设定段电流大小
除了通过设定辅助参数命令启用段电流限制 LMTC 功能,CH451 还支持外部的段电流上限调整。
段电流上限调整的引脚 ADJ 在芯片内部接有强下拉电阻,如果芯片外部悬空 ADJ 引脚,则默认的段电
18
CH451 手册
流上限可达 80mA,
所以应用电路中需要在段驱动引脚 SEG7~SEG0 与数码管之间串接一组限流电阻 R1。
在某些 PCB 面积和元器件体积受到限制的特定应用中,CH451 也可以不用串接限流电阻 R1,而是通过
一个电阻 Rseg 设定段电流的上限,然后由 CH451 的段驱动引脚直接连接数码管或者其它负载。
电阻 Rseg 应该跨接在 CH451 的 ADJ 引脚与正电源 VCC 之间,该电阻与 CH451 内部的下拉电阻对
VCC 进行分压,在 ADJ 引脚产生段电流上限的控制电压。控制电压的有效范围是 0V 至 VCC 减去 1V 即
4V,当控制电压从 0V 逐步调整到 4V 时,段电流上限将从默认的 80mA 逐步调整到 0mA,并且基本上
是呈线性减小。在 5V 电源电压下通过 CH451 直接驱动数码管,段电流上限与电阻 Rseg 之间的对应关
系可以参考下表。
Rseg 的阻值
段电流上限
1KΩ
1mA
1.5KΩ
4mA
2KΩ
15mA
2.5KΩ
25mA
3KΩ
35mA
5KΩ
50mA
不连接
80mA
需要特别注意的是,启用段电流限制 LMTC 功能,或者去掉串接的限流电流 R1,电源电压减去发
光管压降后的剩余电压将全部落在 CH451 芯片上,这样就使得 CH451 的功耗大幅度增加,甚至导致
CH451 过热而损坏。所以,一般情况下,应该尽量使用串接限流电阻的方法限制段驱动电流。如果某
些应用有必要通过段电流限制 LMTC 或者电阻 Rseg 限制段驱动电流,那么从降低 CH451 功耗的角度考
虑,应该尽可能降低 CH451 的电源电压。
8.7. 手工复位
CH451 内置了上电复位功能,可以通过 RST 和 RST#引脚向单片机提供上电复位信号。在 CH451
正常工作期间,RSTI 引脚可以用于手工复位输入,当 RSTI 输入高电平时,CH451 芯片被复位,同时
RST 和 RST#也向外部电路输出复位信号。
RSTI 引脚对噪声特别敏感,为了减少外界干扰,建议在 RSTI 引脚与地 GND 之间跨接一个电容,
容量在 100pF 至 5000pF 之间,尤其是将 RSTI 连接到仪器面板作为手工复位输入时,必须跨接该电容。
如果不需要手工复位,那么可以将 RSTI 引脚直接短接到 GND。
8.8. 抗干扰(重要)
由于 CH451 驱动数码管或者 LED 的电流较大,会在电源上产生较大的毛刺电压,所以如果电源线
或者地线的 PCB 布线不合理,将有可能影响单片机或者 CH451 的稳定性。尤其在使用 CH451 的上电复
位和看门狗等监控功能时,特别要考虑大电流对 CH451 或者相关模拟电路的干扰。有关电源干扰的解
决措施:
①、建议使用较短的和较粗的电源线和地线,尤其当 CH451 和单片机分属两块 PCB 时;
②、靠近 CH451 在正负电源之间并联电源退耦电容,至少一只 0.1uF 的独石或者瓷片电容和一只
容量不小于 100uF 的电解电容。
对于信号线较长时的外来干扰,参考下图解决:
CH451 手册
19
①、 在信号线的靠近 CH451 引脚端,增加电容 C15、C16 和 C17,电容值可以是 47pF 到 470pF,
电容越大,与单片机通讯接口的传输速度越慢;
②、 可选地增加电阻 R12、R13 和 R14,电阻值可以是 100Ω到 470Ω;
③、 降低单片机与 CH451 之间的传输速度(因为增加了电阻电容)
;
④、 如果是由准双向 I/O 引脚驱动(例如标准 MCS51 单片机)
,建议增加电阻 R15、R16 和 R17,
电阻值可以是 500Ω到 10KΩ,以加强 MCS-51 单片机的准双向 I/O 引脚的上拉能力,以便在
远距离传输时保持较好的数字信号波形;信号线较短时无需上拉电阻 R15、R16 和 R17,对于
图腾柱驱动方式的双向 I/O 引脚,无需上拉电阻 R15、R16 和 R17。
另外,对于强干扰应用环境,建议定期对 CH451 进行刷新:①、重新设定系统参数;②、重新设
定显示参数;③、重新设定闪烁控制;④、重新加载各个显示数据。该方法没有任何副作用。
8.9. 单片机接口程序
网站上提供了常用单片机的接口程序。
很抱歉,暂时无法提供与“CH451S”相匹配的价格&库存,您可以联系我们找货
免费人工找货