分别介绍如下:
(1)译码控制寄存器(X9H)
如图4所示,MAX7219有两种译码方式:B译码方式和不译码方式。当选择不译码时,8个数据为分别一一对应7个段和小数点位;B译码方式是BCD译码,直接送数据就可以显示。实际应用中可以按位设置选择B译码或是不译码方式。
图4 MAX7219的译码控制寄存器
当选择软件译码方式时,数据D7~D0对应的MAX7219码的各段笔划如表5所列。当工作于硬件(B码)译码模式时,译码器只选择数据寄存器中较低的几位(D3~D0),不考虑D4~D6位。D7位显示十进制小数点,独立于译码器,当D7=1时,十进制小数DP点亮。字符0~9对应的16进制码为×0~×9,字符-、E、H、L、P和消隐分别对应的16进制码为×A~×F。
(2)扫描界限寄存器(XBH)
如图5所示,此寄存器用于设置显示的LED的个数(1~8),比如当设置为0xX4时,LED0~5显示。
图5 MAX7219的扫描界限控制寄存器
(3)亮度控制寄存器(XAH)
共有16级可选择,用于设置LED的显示亮度,从0xX0~0xXF
(4)关断模式寄存器(XCH)
共有两种模式选择,一是关断状态,(最低位D0=0)一是正常工作状态(D0=1)。
(5)显示测试寄存器(XFH)
显示检测寄存器有两种操作模式:一般测试和显示测试。显示测试模式时所有的LED点亮,方法是将所有控制字寄存器(包括关闭寄存器)置成无效。在显示测试模式下扫描8位的串行接口8位LED显示驱动器MAX7219工作周期是31/32。正常测试的16进制码为×0,显示测试的16进制码为×1。
(6)空操作寄存器
空操作寄存器在MAX7219串接时使用,把所有芯片的LOAD端连在一起,并将DOUT连接到下一个MAX7219的DIN上。DOUT是CMOS输出,可以驱动后边的串接MAX7219。例如,4个MAX7219串联,然后写第4个片子,再送入设想的16位字,紧跟3个空操作码(×0××),当LOAD升高时,所有装置的数据被锁存,前3个芯片接到空操作命令,第4个芯片接到设想的数据。
5、 应用实例
图3 为8051 与MAX7219 接口组成的8位L ED 硬件扫描动态显示器。假如使显示器显示出“HEL P7219”, 软件译码和硬件译码的具体实现方法如下。