1、MAX7219介绍
MAX7219是一种高集成化的串行输入/输出共阴极显示驱动器,可实现微处理器与7段码的接口,可以显示8位或64位单一LED。芯片上包括BCD码译码器、多位扫描电路、段驱动器、位驱动器、内含8×8位静态RAM,用于存放显示数据。只需外接一个电阻就可为所有的LED提供段电流。
MAX7219的三线串行接口适用于所有微处理器,单一位数据可被寻址和修正,无需重写整个显示器。MAX7219具有软件译码和硬件译码两种功能,软件译码是根据各段笔划与数据位的对应关系进行编码,硬件译码采用BCD码(简称B码)译码。MAX7219工作模式包括150μA低压电源关闭模式、模拟数字亮度控制、限扫寄存器(允许用户从第1位数字显示到第8位)及测试模式(点亮所有LED)。
2、MAX7219引脚功能
MAX1279引脚排列如图1所示,
图1 MAX1279引脚排列图
引脚功能:
DIN:串行数据输入端。当CLK为上升沿时,数据存入内部的16位寄存器
DOUT:串行数据输出端,用于级连扩展
LOAD:装载数据输入,在装载的上升沿,串行输入的最后一个16位数据被锁存。
CLK:串行时钟输入,其最大工作频率可达10MHz。时钟上升沿是数据输入,时钟下降时数据从串行数据输出口输出
DIG0~DIG7:8位LED位选线,从共阴极LED中吸入电流
SEGA~SEGGDP7段驱动和小数点驱动
ISET:通过一个10k电阻和Vcc相连,设置段电流
GND:地线
V+:电源
3、MAX7219的功能框图
图2 MAX7219的功能框图
串行输入数据在时钟上升沿时移入内部的16位移位寄存器,在装载的上升沿时数据被锁存在每一位或寄存器中。装载信号必须在第16个时钟上升沿发生时或之后达到高电平,但要在下一个时钟的上升沿和数据丢失之前到达。串行输入数据通过移位寄存器传输,在以后数据输出的16.5个时钟循环出现,数据在时钟的下降沿记录下来。数据各位记录为D0~D15(如表2所列),D8~D11为移位寄存器地址,D0~D7为数据,D12~D15是无关位。第一位接收到的位是最高位D15。D7为数据最高有效位,D0为数据最低有效位。
4、MAX7219控制字
MAX7219有14个可寻址的控制字寄存器(如表3),控制字寄存器由芯片的8×8双端口SRAM识别,SRAM直接寻址,这样单一的位能被更改或保留,条件是电源电压明显大于2V。控制字寄存器包括译码模式、显示强度、扫描限制(被扫描位的个数)、关闭模式、显示测试(点亮所有的LED)。另外还有一个空操作寄存器,该寄存器允许数据从DIN直送DOUT,在设备串接情况下,不会改变显示或影响任何控制寄存器。
图3 MAX7219内部的相关寄存器