MAX7219原理及其应用1

更新时间:2023-06-08 08:41:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

器件应用 《电子技术》2003年第12期

MAX7219原理及其应用

西安通信学院(710106) 王建华 逄玉台

摘 要 在单片机应用系统中,单片机与LED的连接有并行和串行方式。由于串行方式占用单片机口线少,因而得到广泛应用。MAX7219芯片是一个专用的八位LED显示驱动串行接口,文章介绍了其组成原理、应用电路、程序设计及应用中应注意的问题。 关键词 寄存器 液晶显示器 单片机

MAX7219是微处理器和共阴极七段——八位LED显示、图条/柱图显示或64点阵显示接口的小型串行输入/输出芯片。片内包括BCD译码器、多路扫描控制器、字和位驱动器和8×8静态RAM。外部只需要一个电阻设置所有LED显示器字段电流。MAX7219和微处理器只需三根导线连接,每位显示数字有一个地址由微处理器写入。允许使用者选择每位是BCD译码或不译码。使用者还可选择停机模式、数字亮度控制、从1~8选择扫描位数和对所有LED显示器的测试模式。

DINDIG0DIG4GNDDIG6DIG2DIG3DIG7GNDDIG5DIG1LOADDOUTSEGD

SEGDp

SEGESEGCV+ISET

SEGGSEGBSEGFSEGACLK

1 MAX7219工作原理

1.1 MAX7219简介

MAX7219和单片计算机连接有三条引线(DIN、CLK、LOAD),采用16位数据串行移位接收方式。即单片机将16位二进制数逐位发送到DIN端,在CLK上升沿到来前准备就绪,CLK的每个上升沿将一位数据移入MAX7219内移位寄存器,当16位数据移入完,在LOAD引脚信号上升沿将16位数据装入MAX7219内的相应位置,在MAX7219内部硬件动态扫描显示控制电路作用下实现动态显示。 1.2 MAX7219引脚说明

MAX7219为24引脚芯片,引脚排列如图1所示,各引脚功能如下:

DIN:串行数据输入端; DIG0~DIG7:LED位线; LOAD:数据装载信号输入端; SEGA~SEGG,SEGDp:段码输出端; ISET:硬件亮度调节端; DOUT:串行数据输出端; CLK:移位脉冲输入端; V+:正电源; GND:地。 36

图1 MAX7219引脚图

1.3 MAX7219内部组成结构

MAX7219组成如图2所示。

图2 MAX7219组成框图 

各部分作用是:16位地址/数据移位寄存器接收串行数据,实现串/并变换。16位数据含义如下:

D7~D0:写入内部RAM和功能寄存器的数据; D8~D11:内部RAM和功能寄存器地址; D12~D15:无定义。

地址译码器是一个4~16线译码器,用于选择数据存放单元,在LOAD信号作用下将接收数据送入指定单元;八字节双端口静态存储器存放接收数据和提供动态显示数据;B译码和不译码电路对

中国传感器 http://www.

《电子技术》2003年第12期

RAM数据进行BCD译码或直接送显示;段码电流参考电路、亮度脉冲产生调制器实现对显示器的亮度控制,段码电流参考电路由硬件调节显示器亮度;动态扫描控制器实现由硬件控制动态扫描显示。LED段/位驱动器提供显示器的一段和一位点亮时的电流。

各内部功能寄存器含义如下:

(1)停机寄存器(地址0CH):当D0=0时,MAX721处于停机状态;当D0=1时,处于正常工作状态。

(2)显示测试寄存器(地址0FH):当D0=0时,MAX7219按设定模式正常工作;当D0=1时,处于测试状态。在该状态下,不管MAX7219处于什么模式,全部LED将按最大亮度显示。

(3)亮度寄存器(地址0AH):亮度可以用硬件和软件两种方法调节。亮度寄存器中的D0~D3位可以控制LED显示器的亮度。

(4)扫描界限寄存器(地址0BH):该寄存器中D0~D3位数据设定值为0~7H,设定值表示显示器动态扫描个数位1~8。

(5)译码方式寄存器(地址09H):该寄存器的8位二进制数的各位分别控制8个LED显示器的译码方式。当高电平时,选择BCD-B译码模式,当低电平时选择不译码模式(即送来数据为字型码)。

(6)内部RAM地址01~08H分别对应于DIG0~DIG7。

LCALL YW

器件应用

图3 8位LED显示驱动电路

LOOP: LCALL DISP ;显示程序

SJMP LOOP ;重复

MAX7219初始化程序

MAX0: MOV A,#0BH ;选择显示位数

MOV

R2,#07H;LED为8位(可根据显

示位数确定)

MOV A,#0AH ;选择显示亮度 MOV R2,#0FH;根据亮度选择数据大小 LCALL YW

MOV A,#09H ;选择模式 MOV R2,#0FFH ;BCD译码方式 LCALL YW MOV A,#0CH ;

MOV R2,#01H ;选择正常工作 LCALL YW RET

显示程序

DISP: MOV R0,#40H;显示缓冲区首地址

MOV R1,#01H;MAX7219内RAM0地址 MOV R3,#08H

LOOP1: MOV A,@R0

MOV R2, A MOV A, R1 LCALL YW

INC R0 ;修改缓冲区地址

INC R1 ;修改MAX7219内RAM地址 DJNZ R3,LOOP1 RET

YW: LCALL SEND;移入MAX7219 16位数据

MOV A, R2 LCALL SEND CLR P1.1 NOP NOP

SETB P1.1 ;装载数据 RET

2 MAX7219应用电路和软件设计

从原理介绍知道MAX7219是一个串行接收数据的动态扫描显示驱动器。下面通过几个应用电路说明其使用方法。

2.1 MAX7219驱动8位以下LED显示器

MAX7219在驱动8位以下LED显示器时,它的DIN、CLK、LOAD端分别接单片机P0~P3口中的任意三条口线,注意在三条线上对地应接几十至几百pF电容。在P0口作为DIN、CLK、LOAD信号线时还应接10kÙ左右的上拉电阻。在显示器与微处理器连接线较长时还应考虑干扰的影响。MAX7219和单片机的连接如图3所示。

相应的程序设计如下: 主程序

ORG 0000H

MOV SP, #50H

LCALL MAX0 ;MAX7219初始化程序

中国传感器 http://www. 37

器件应用

SEND: MOV R4,#08H ;移入8位数据 LOOP2: CLR P1.2

RLC A MOV P1.0,C NOP NOP NOP SETB P1.2 DJNZ R4,LOOP2 RET

《电子技术》2003年第12期

LCALL YW MOV R2,#0CH MOV R3,#01H MOV R5,#01H LCALL YW RET

显示程序

DISP: MOV R0,#40H ;MAX7219(1)显示缓冲区

首地址

MOV R1,#48H ;MAX7219(2)

显示缓冲区首地址

MOV R2,#01H ;MAX7219内RAM0地址 MOV R6,#08H

LOOP1: MOV A,@R0

MOV R3,A

2.2 MAX7219驱动8位以上LED显示器

一片MAX7219最多能驱动8位LED显示器,若驱动LED显示器数目大于8个以后,就需要两片或两片以上MAX7219级连来实现,图4为16位LED显示驱动器电路。

MOV A,@R1 MOV R5,A LCALL YW

INC R0 INC R1 INC R2

DJNZ R6,LOOP1 RET

YW: MOV A,R2

LCALL SEND ;移入MAX7219 16位数据 MOV A,R5 LCALL SEND MOV A,R2 LCALL SEND MOV A,R3 LCALL SEND CLR P1.1 NOP NOP

SETB P1.1 ;装载数据 RET

SEND: MOV R4,#08H ;移入8位数据 LOOP2: CLR P1.2

RLC A MOV P1.0,C NOP NOP NOP

SETB P1.2 DJNZ R4,LOOP2

图4 16位LED显示驱动电路 

相应的程序设计如下: 主程序

ORG 0000H MOV SP,#50H

LCALL MAX0 ;MAX7219初始化程序 LOOP: LCALL DISP ;显示程序

SJMP LOOP ;重复

两片MAX7219初始化程序:

MAX0: MOV R2,#0BH

MOV R3,#07H MOV R5,#07H LCALL YW MOV R2,#0AH MOV R3,#0FH MOV R5,#0FH LCALL YW MOV R2,#09H MOV R3,#0FFH MOV R5, #0FFH

38中国传感器 http://www.

《电子技术》2003年第12期 器件应用

一种微处理器和液晶显示驱动器 之间串行接口实现的新方案

西安电子科技大学 (471009) 宋奇兵 洛阳光电技术发展中心 (471009) 李 毅

摘 要 文章针对利用微处理器(MCU)控制液晶显示驱动器(LCD)的应用开发实例,提出了一种采用串行方式来设计微处理器和液晶显示驱动器之间接口的方案。该方案是在现有点阵式液晶显示屏上附加一个MCU,通过程序设计利用MCU的I/O端口去模拟串行总线,从而实现了利用MCU去控制LCD的目的。

关键词 液晶显示驱动器 串行总线 微处理器

点阵式液晶与外部的硬件接口简单,能够以点阵或图形方式显示出各种信息,因此广泛应用在电子设计中。但是,对它的接口设计必须遵循一定的硬件和时序规范,不同的液晶显示驱动器可能需要采用不同的接口方式和控制指令才能够实现所需信息的显示。某些液晶显示驱动器与外部的接口必须采用串行方式,而其串行接口往往不是标准的串行接口,这就为这类液晶显示驱动器的设计带来了困难。

针对上述问题,本文提出了一种利用MCU(微处理器)的I/O端口,通过软件设计模拟与所使用的液晶显示驱动器规范相符的串行总线的设计思想,实现了MCU对液晶显示驱动器的控制,从而建立起了一套不但可以显示各种字符,而且可以动态显示曲线的液晶显示系统。

1.1 MSP430F14x微处理器简介

TI公司的MSP430F14x微处理器与其他MSP430系列微处理器相同,均基于一个真正的正交16位RISC CPU内核,具有16个可单周期全寻址的16位寄存器,仅27条的精简指令集以及7种均采用DDFT技术(双重取数据)的一致性寻址方式。DDFT技术利用每个时钟脉冲对存储器进行两次数据存取操作,从而不再需要复杂的时钟乘法和指令流水线方案。

MSP430F14x系列MCU片内不但包括60多kB的Flash存储器、2kB的RAM、一个看门狗时钟、12位16通道的A/D转换器、定时器、高精度比较器、PWM以及高速的USART控制器等常用资源,还在某些型号中集成了LCD控制器,其I/O资源丰富,并且每个I/O引脚上都提供了矢量中断功能,每个外围器件都支持复杂的事件驱动型操作。同其他微处理器相比,带片内Flash存储器的微处理器可以将系统功耗降低5倍,并且减小了硬件线路板

1 系统设计

本文所建立的液晶显示系统选用了TI公司的MSP430F149微处理器来控制液晶显示驱动器ìPD16682A,从而实现了各种信息的显示。

±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±

RET 的仪器仪表中。 在多片MAX7219级联应用中,并非每个芯片

参 考 文 献 都需要装载,不需要装载的MAX7219为非工作寄

存器,在LOAD由低变高时,相当于将数据装载到

1 公茂法,马宝甫,孙晨.单片机人机接口实例集.北一个空寄存器中,而不影响该芯片的正常工作。由

京:北京航空航天出版社,1997.6 此可见,在级联时,非工作寄存器的存在将使数据

传送更加方便。 2 何立民.单片机应用技术选编.北京:北京航空航天

MAX7219由于硬件特点,在使用中占用单片出版社,1998.8 机CPU设计少和口线少,且编程简单,是一个极有

3 杨振江,杜铁军.流行单片机实用子程序及应用实

应用价值的芯片。目前不仅应用于数码显示驱动接

例.西安:西安电子科技大学出版社,2002.7 口设备中,还广泛应用于LED条图、点阵字符显示中国传感器 http://www.

39

本文来源:https://www.bwwdw.com/article/hod1.html

Top