Max7219 driver para display 7 segmentos

publicado en: Tutorial Pic | 0

max7219-driver-display-7-segmentos-2El MAX7219 (datasheet), en nuestros proyectos de electrónica es muy común utilizar display de 7 segmentos de 2, 4 y hasta 8 dígitos, estos nos ayudan a visualizar variables internas y externas para poder, así, mejorar el control de nuestros circuitos. Todos aquellos que se hayan encaminado a controlar estos display de 7 segmentos, sin ayuda de ningún driver externo y, utilizando solo un microcontrolador saben que consume varios recursos del mismo, tales como; temporizadores, memoria RAM para los dígitos, etc.

Hoy en día existe el chip MAX7219 (datasheet), este driver nos ahorra pines y tiempo de procesamiento en nuestros microcontroladores, ademas, este circuito integrado de tan solo 24 pines puede controlar hasta 8 display de 7 segmentos o una matriz de leds 8×8, este último lo veremos más adelante ya que merece su propia sección. Todo el control se realiza a través de 3 pines y utiliza del protocolo SPI.

CARACTERISTÍCAS DRIVER MAX7219

  • Interfaz SPI hasta 10Mhz
  • Control individual de hasta 64 led o segmentos
  • Decodificador BCD integrado
  • Control de brillo de 15 niveles
  • Memoria RAM de 8×8
  • Modo de bajo consumo 150µA
  • Multiplexación a 800hz de 1 hasta 8 dígitos programable

DESCRIPCIÓN MAPA DE REGISTROS DRIVER MAX7219

max7219-driver-display-7-segmentos-3

REGISTRO DECODE-MODE (ADDRESS = 0x09)

Este registro configura el decodificador BCD, (0, 1, 2…9, E, H, L, P y —), en modo display 7 segmentos. Existen 4 modos correspondientes al orden de la tabla que se muestra abajo. El primero, sin codificación para ningún dígito. El siguiente, solo se codifica el dígito 0, mientras, que los dígitos [1-7] no presentan codificación. A continuación, se codifica los dígitos del [0-3] y los demás sin codificación. Por ultimo, todos los dígitos si presentan codificación BCD.

max7219-driver-display-7-segmentos-4

REGISTRO INTENSITY (ADDRESS = 0x0A)

El registro intensity modula de forma digital el brillo de los leds a través de un modular de ancho de pulso, PWM, interno que el MAX7219 posee. Este modulador tiene una escala de corriente de 16 pasos que va desde 1/32 hasta 31/32 de cliclo de trabajo para el brillo. A continuación se muestra una tabla donde se aprecia mejor este registro.

max7219-driver-display-7-segmentos-5

REGISTRO SCAN-LIMT (ADDRESS = 0x0B)

A través del registro SCAN-LIMIT se puede configurar la cantidad de dígitos a mostrar, ya que la multiplexación interna que realiza el driver MAX7219 es de 800hz. Esto quiere decir que cuando se muestren menos dígitos, el tiempo de visualización para cada dígito aumentara y por ende le dará relativamente más brillo a cada dígito. A continuación se muestra una tabla explicando el registro en detalle.

max7219-driver-display-7-segmentos-6

REGISTRO SHUTDOWN (ADDRES = 0x0C)

Cuando el registro SHUTDOWN esta activado el oscilador se interrumpe, la fuente de corriente se anula y todos sus registros se escriben a +5Vdc, apagando todos los leds y poder asi ahorrar energía. Todo ello no afecta los resgistro y permanecen inalterados ya que se guardan en la memoria RAM. En la siguiente tabla se aprecia el registro SHUTDOWN.

max7219-driver-display-7-segmentos-7

REGISTRO TEST-DISPLAY (ADDRESS = 0x0F)

El registro TEST-DISPLAY opera de 2 modos: normal y test. En el modos normal todos los leds se encienden a sus máxima intensidad sin alterar los registros. A continuación se muestra una tabla que describe el registro.

max7219-driver-display-7-segmentos-8

CIRCUITO DE CONEXIÓN DE PIC16F1829 Y DRIVER MAX7219

max7219-driver-display-7-segmentos-9

EJEMPLO DIVER MAX7219 CON PIC16F1829

El siguiente ejemplo muestra como usar un display 7 segmentos de 8 dígitos utilizando el driver MAX7219 y controlado desde un PIC16F1829. Es sencillo, escribiremos en los 8 dígitos el mismo valor que subirá o bajará dependiendo del los 2 botones conectados en los pines RC0 y RC1 repectivamente.

Código Principal

Librería Fuses

Librería MAX7219

Deja un comentario