http://www.elecfans.com 电子发烧友
串行接口 8 位 LED 显示驱动器
一、概述
MAX7219/MAX7221是一种集成化的串行输入/输出共阴极显示驱动器,它连接微处理器
与8位数字的7段数字LED显示,也可以连接条线图显示器或者64个独立的LED。其上包括一
个片上的B型BCD编码器、多路扫描回路,段字驱动器,而且还有一个8*8的静态RAM用来存
储每一个数据。只有一个外部寄存器用来设置各个LED的段电流。MAX7221与SPI™、QSPI™
以及 MICROWIRE™相兼容,同时它有限制回转电流的段驱动来减少EMI(电磁干扰)。
一个方便的四线串行接口可以联接所有通用的微处理器。每个数据可以寻址在更新时不需
要改写所有的显示。MAX7219/MAX7221同样允许用户对每一个数据选择编码或者不编码。
整个设备包含一个150μA的低功耗关闭模式,模拟和数字亮度控制,一个扫描限制寄存
器允许用户显示1-8位数据,还有一个让所有LED发光的检测模式。
在应用时要求3V的操作电压或segment blinking,可以查阅MAX6951数据资料。
二、应用
条线图显示 仪表面板 工业控制 LED矩阵显示
三、管脚配置
四、功能特点
10MHz 连续串行口
独立的 LED 段控制
数字的译码与非译码选择
150μA 的低功耗关闭模式
亮度的数字和模拟控制
高电压中断显示
共阴极 LED 显示驱动
限制回转电流的段驱动来减少 EMI(MAX7221)
SPI, QSPI, MICROWIRE串行接口(MAX7221)
24 脚的 DIP 和 SO 封装
五、分类信息
芯片
MAX7219CNG
MAX7219CWG
MAX7219C/D
工作温度范围
0°C to +70°C
0°C to +70°C
0°C to +70°C
管脚封装
24 Narrow Plastic DIP
24 Wide SO
Dice*
http://www.elecfans.com 电子发烧友
MAX7219ENG
MAX7219EWG
MAX7219ERG
-40°C to +85°C
-40°C to +85°C
-40°C to +85°C
24 Narrow Plastic DIP
24 Wide SO
24 Narrow CERDIP
六、典型应用电路
七、管脚描述
管脚
1
2,3,5-8,10,11
4,9
12
名称
DIN
DIG 0–DIG
7
GND
LOAD
(MAX7219)
CS
(MAX7221)
13
CLK
SEG
A–SEG G,
DP
SET
V+
DOUT
14-17,20-23
18
19
24
八、功能图表
功能
串行数据输入端口。在时钟上升沿时数据被载入内部
的 16 位寄存器。
八个数据驱动线路置显示器共阴极为低电平。关闭时
7219 此管脚输出高电平,7221 呈现高阻抗。
地线(4 脚和 9 脚必须同时接地)
载入数据。连续数据的后 16 位在 LOAD 端的上升沿时
被锁定。
片选端。该端为低电平时串行数据被载入移位寄存
器。连续数据的后 16 位在 cs 端的上升沿时被锁定。
时钟序列输入端。最大速率为 10MHz.在时钟的上升
沿,数据移入内部移位寄存器。下降沿时,数据从 DOUT
端输出。对 MAX7221 来说,只有当 cs 端为低电平时时
钟输入才有效。
7 段和小数点驱动,为显示器提供电流。当一个段驱
动关闭时,7219 的此端呈低电平,7221 呈现高阻抗。
通过一个电阻连接到 VDD 来提高段电流。
正极电压输入,+5V
串行数据输出端口,从 DIN 输入的数据在 16.5 个时
钟周期后在此端有效。当使用多个 MAX7219/MAX7221
时用此端方便扩展。
http://www.elecfans.com 电子发烧友
九、时序图
十、详细描述
(一)MAX7219 和 MAX7221 的不同之处
MAX7219 和 MAX7221 是相同的除了以下两点:
(1):MAX7219 的段驱动有回流限制可以减少 EMI;
(2):MAX7219 的串行口和 SPI 完全兼容。
(二)串行地址格式
对 MAX7219 来说,串行数据在 DIN 输入 16 位数据包,无论 LOAD 端处于何种状
态,在时钟的上升沿数据均移入到内部 16 位移位寄存器。对 MAX7221 来说,无论数
据输入或输出 cs 必须为低电平。然后数据在 LOAD/ cs 的上升沿被载入数据寄存器或
控制寄存器。LOAD/ cs 端在第 16 个时钟的上升沿同时或之后,下个时钟上升沿之前
变为高电平,否则数据将会丢失。在 DIN 端的数据传输到移位寄存器在 16.5 个时钟
周期之后出现在 DOUT 端。在时钟的下降沿数据将被输出。数据位标记为 D0-D15(如
http://www.elecfans.com 电子发烧友
表 1 表示)。D8-D11 为寄存器地址位。D0-D7 为数据位。D12-D15 为无效位。在传输
过程中,首先接收到的是 D15 位,是非常重要的一位(MSB)。
表 1:串行数据格式
D15 D14 D13 D12 D11 D10 D9
× × × ×
地址
D8
D6
D0
D7
MSB 数据 LSB
D3
D5
D4
D2
D1
(三)数据寄存器和控制寄存器
表 2 列出了 14 个可寻址的数据寄存器和控制寄存器。数据寄存器由一个在片上的
8×8 的双向 SRAM 来实现。它们可以直接寻址所以只要在 V+大于 2V 的情况下每个数
据都可以独立的修改或保存。控制寄存器包括编码模式、显示亮度、扫描限制、关
闭模式以及显示检测五个寄存器。
表 2:数据寄存器和控制寄存器
(四)掉电模式
MAX7219 掉电后,扫描震荡器关闭,所有段电流源和地连接,所要数字驱动与 V+相
连,所以显示熄灭。MAX 7221 除了数字驱动呈现高阻抗以外其他都与 MAX7219 一样。
在数据和控制寄存器里的数据是不变的。停机模式可以节省电源,当有一个连续的
警报使显示器发光时,便能离开掉电模式。为了满足掉电模式最低的工作电流,逻
辑输入应该在 GND 或 V+(CMOS 的逻辑电位)。
MAX7219 和 MAX7221 可以在小于 250μs 的时间内离开掉电模式。在掉电模式下,显示
驱动是可以编程的,而且在显示检测的时候不用考虑他是否在掉电模式工作。
http://www.elecfans.com 电子发烧友
(五)初始状态
在初始状态下,所有的控制寄存器将被重置,显示器熄灭,MAX7219/MAX7221 进入掉
电模式。对显示驱动预先编程为以后显示而用。否则它将以最初的设置来扫描每一
位数据,不对数据寄存器里的数据进行扫描,显示亮度寄存器设置为最小值。
(六)译码模式寄存器
用来设置对每个数据进行 B 型 BCD 译码或者不译码。寄存器中的每一位对应一个数
据。逻辑高电平用来选择译码低电平取消译码。表 4 举例说明了译码控制寄存器的
格式。
当选择译码模式时,译码器只对数据的低四位进行译码(D3-D0),D4-D6 为无效位。
D7 位用来设置小数点,不受译码器的控制且为高电平。表五为 B 型译码的格式。
当 选 择 不 译 码 时 , 数 据 的 八 位 与
MAX7219/MAX7221 的各段线上的信号
一致。表六列出了每个数字对应的段
位码。
http://www.elecfans.com 电子发烧友
(七)亮度控制
MAX7219/MAX7221通过加在V+和ISET之间的一个外部电阻来控制显示亮度。段驱动电流一般
是流入ISET端电流的100倍。这个电阻可以是固定的,也可以是可变电阻,通过前面板来控制以
选择合适的亮度。其最小值为9.53K Ω ,它设定段电流为40mA。显示亮度也可以通过亮度寄存器
来控制。
数字控制显示亮度是通过亮度寄存器的低四位来控制的脉宽调制器来控制。调制器将段电流
平均分为16个阶次,最大值为由RSET设置的最大电流的31/32,最小值为电流峰值的1/32
(MAX7221为15/16到1/16)。表7列出了亮度寄存器的格式。最小数据熄灭时间设置为时钟周
期的1/32.
(八) 扫描控制寄存器
扫描控制寄存器用来设定扫描显示器的个数,从 1 个到 8 个.它们将以 800Hz 的扫描
速率进行多路扫描显示。如果数据少的话,扫描速率为 8*fosc/N,N 是指需要扫描数字的个
数。扫描数据的个数影响显示亮度,所以不能将扫描寄存器设置为空扫描。表 8 列出了扫描
寄存器的格式。
http://www.elecfans.com 电子发烧友
如果扫描寄存器被设置扫描 3 个数据或者更
少,个别的数据驱动将损耗过多的能量。所
以,RSET 的值必须根据显示数据的个数来确
定,从而限制个别数据驱动对能里的浪费。
表 9 列出了不同个数字被扫描时所对应的最
大需求段电流。
(九)显示检测寄存器
显示检测寄存器有正常和显示检测两种工作状态。显示检测状态在不改变所有其他控
制和数据寄存器(包括关闭寄存器)的情况下将所有 LED 都点亮。在此状态下,8 个数据都会
被扫描,工作周期为 31/32.表 10 列出了显示检测寄存器的格式。
(十)不工作寄存器
当有多个MAX7219或MAX7221被串接使用时要用到不工作寄存器。把所有的芯片的LOAD/CS
端联接在一起,把相邻的芯片的DOUT和DIN连接在一起。DOUT是一个CMOS逻辑电平的输出口,他
可以很容易的驱动下一级的DIN口。例如,如果四个MAX7219被连接起来使用,然后向第四个芯片
发送必要的16位数据,后面跟三组NO-OP代码(如表2所示,十六进制的0xXX0X)。然后使LOAD/CS
端变为高电平,数据则被载入所有芯片。前三个芯片接收到 NO-OP 代码,第四个接收到有效数
据。