2.1 引脚功能
图2示出采用QSOP型封装的MAX6950/MAX6951的引脚排列,其引脚功能如下所述:
2.2 工作原理
微控制器将16位串行数据发送到移位寄存器(时序如图3所示),CS信号跳变为高电平时,数据加载到16位锁存器,接着,对锁存器中的16位数据进行解码并执行相应的命令。16位数据的高8位是地址,低8位是寄存器的值。有关寄存器的具体设置和控制功能,请参阅文献[1]。
3 应用举例
下面以MAX6951驱动数码管显示为例说明此电路的应用。某工业控制器用MAX695l驱动8个数码管,微处理器是以ARM7TDMI为核的PHILIPS公司的LPC2214,软件开发平台为ADS1.2,通过编程实现对MAX6951的控制。在此设计中,并没有使用SPI口,而是使用LPC2214的3个通用I/O口(P1.15、P1.16、P1.17)。模拟图3的时序给MAX6951传输数据,以完成各种控制和显示功能。
3.1 硬件电路
硬件电路如图4所示,其中DIN、CS、CLK分别与LPC2214的P1.15、P1.16、P1.17相连。由于采用独特的引脚复用方式,要求8个显示位(数码管)中每个段码的连线都不相同,而且每个显示位的共阴极连线也不相同,如表1所示。
3.2 软件设计
软件主要包括初始化3个I/0口、模拟输入时序和初始化寄存器的状态使之符合需求。控制亮度、闪烁和刷新数字或字符显示等功能都可以通过调用数据输入函数来完成,也可以将这些功能封装为子函数以简化应用。
3.2.1 初始化I/O口
初始化I/0口的宏定义和程序代码如下:
3.2.2 输入时序的模拟
依照图3所示的时序写出输入函数,代码如下:
3.2.3 电路的初始化
MAX6951上电时,电路处于关断模式,寄存器各有初始值,为此,需要进行初始化以符合系统的要求。例如,初始化为正常模式,8个数码管均显示“0”,亮度为最大且不闪烁,程序代码如下(命令字含义参阅文献[1]):
4 同类电路比较
串行输入的LED显示驱动器还有很多种,如ALLEGRO公司的A6275/A6276/A6277,意法半导体公司(ST)的M5450/M5451系列,美国国家半导体公司(NS)的LP3943/LP3944,德州仪器(TI)的TLC59xx系列等。这些驱动器要么驱动LED数目较少,如A6275(8个)和LP3943(16个),要么引脚数量较大,如M5451(PDIP40或PLCC44)、TLC5920(SSOl48)。而且,带有内置译码器和亮度调节等功能的很少。MAX6950/MAX6951的不足之处是价格较高,因此,这种驱动器适合对体积、功耗等要求较高,同时对成本不很敏感的小型或手持式设备。
5 结束语
MAX6950/MAX6951型LED显示驱动器使用方便,能完成较为复杂的显示功能,节省电路板空间,在机顶盒、白色家电、工业控制器和仪表、医疗设备、点阵显示器和条形图等领域应用广泛。
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』