miércoles, 2 de enero de 2019

Comunicación SPI-MAX 7219-7221- BCD a 7 segmentos.

SPI-MAX7221-DISPLAY

                                                          Aplicación SPI-MAX 7221-Displays BCD 7Segmentos.
Aplicación SPI-MAX 7221-matriz de leds.

¿Qué es el MAX7221?
  • El Max7221 es un driver de displays de 7 segmentos de cátodo común. 
  • Se comunica con microcontroladores mediante SPI. 
  • Puede controlar hasta 64 leds. 
  • Tiene un chip decoder BCD(CODE B). 
Caracteristicas 
  • Salida y entrada serial hasta 10 Mhz. 
  • Control de leds individual. 
  • Selección de decode/no decode. 
  • Apagado programable almacenando el valor previo en memoria. 
  • Control de iluminación. 
  • Display en blanco al encender. 
  • Driver de displays de led (cátodo común). 
  • 24 pines.
Diagrama Funcional MAX7221.
Se puede ver en el diagrama funcional del MAX 7221 las siguientes caracteristicas:
  • Los bits que llegan son 16, los bits mas significativos ingresan primero al MAX7221 y los primero en salir por DOUT.
  • D15 al D12 no se usan.
  • D11-D8 son bits de configuración(comandos).
  • D7-D0 son los bits de datos.
  • Tiene un bloque "CODE B" que si se desea se puede usar o no. Si se desea usar el Code B se debe de tener la "Tabla 5 .Code B Font".
  • El MAX 7221 tiene 5 registros de configuración:  Shutdown register(0xXC), Mode Register(0xX9),Intensity Register(0xXA), Scan-Limite Register(0xXB),Display-test Register(0xXF).
Registros de direcciones.
Mapa de registros de direcciones(comandos).
Se va a detallar la funcionalidad de cada comando(registros de direcciones ó registro de configuraciones).
Intensity Register(0xXA)

                                                      Registro de intensidad de luz de los leds.

El Code Hex=0xXF configura al registro "Intensity Register" como máxima intensidad.(X quiere decir que puede ser 0 ó 1).

Scan-Limit Register Format(0xXB)
Scan-Limit Register Format
Este registro se puede elegir la cantidad de display que puedes controlar. Por ejemplo si escribo en el registro de dirección (0xXB) el dato de dato 0x05 podre configurar 6 displays.
  • Code Hex=0x00--> Controlo sólo 1 display.
  • Code Hex=0x01--> Controlo 2 displays(digists 0 y digits 1).
  • Code Hex=0x02--> Controlo 3 displays(digists 0, digits 1,digits 2).
  • Code Hex=0x03--> Controlo 4 displays(digists 0, digits 1,digits 2,digits 3).
  • Code Hex=0x04--> Controlo 5 displays(digists 0, digits 1,digits 2,digits 3,digits4).
  • Code Hex=0x05--> Controlo 6 displays(digists 0, digits 1,digits 2,digits 3,digits4,digits5).
  • Code Hex=0x06--> Controlo 7 display(digists 0, digits 1,digits 2,digits 3,digits4,digits5,digits6).
  • Code Hex=0x07--> Controlo 8 display(digists 0, digits 1,digits 2,digits 3,digits4,digits5,digits6,digits 7).
si en vez de usar displays se usa una matriz de leds, este registro permitirá elegir la cantidad de columnas que se quiere controlar en la matriz.

Shutdown Register(0xXC)
                                                               Shutdown(apagado) Register

Cuando el MAX7221 está en modo de apagado, el oscilador de exploración se detiene, todas las fuentes de corriente del segmento se ponen a tierra, y todos los controladores de dígitos se colocan en V +, lo que deja la pantalla en blanco. Los datos en el dígito y en los registros de control permanecen inalterados. El apagado se puede usar para ahorrar energía o como una alarma para encender la pantalla ingresando y saliendo sucesivamente del modo de apagado. Por La corriente de suministro mínima en el modo de apagado, las entradas lógicas deben estar a tierra o V + (niveles de lógica CMOS).
Por lo general, se necesitan menos de 250 μs para que el MAX7219 / MAX7221 deje el modo de apagado.

Display-Test Register Format(0xXF)
Display-Test Register Format
Este registro de dirección permitirá realizar un test de los leds de los displays. En modo test todos los leds debería prender.
Decode Mode(0xX9)
Mode Decode
En este registro se configura el MODO DECODE ó NO DECODE.
  • Si el dato de este registro(0xX9) es 0x00 se configura el modo NO DECODE(En este modo se usa la tabla 6).

    (Modo no decode)
  • Si el dato de este registro (0xX9) es 0x01 se HABILITA el MODO DECODE-Code B decode for digits 0.
  • Si el dato de este registro (0xX9) es 0x02(0b00000010) se HABILITA el MODO DECODE-Code B decode for digits 1.
  • Si el dato de este registro (0xX9) es 0x03(0b00000011) se HABILITA el MODO DECODE-Code B decode for digits 0 y digits 1.
  • Si el dato de este registro (0xX9) es 0x04(0b00000100) se HABILITA el MODO DECODE-Code B decode for digits 2.
  • Si el dato de este registro (0xX9) es 0xA(0b00001010) se HABILITA el MODO DECODE-Code B decode for digits 1 y digit 3.
  • Si el dato de este registro (0xX9) es 0xFF(0b11111111) se HABILITA el MODO DECODE-Code B decode for digit0,digit1,digit2,digit 3,digit4,digit5,digit6,digit7.
CODE B Font
Code B Font
Como se puede ver tiene un reducido número de caracteres que se pueden plasmar en el display, por ejemplo no puedo visualizar la letra "r".

No op(0xX0)
Registro que configura si se habilita el modo cascada(para conectar a otro MAX7221 por  Dout.
Digit0(0xX1)
Este registro de dirección se usa para  elegir el display 1(Digit0) la cual se va ha configurar.
Digit1(0xX2)
Este registro de dirección se usa para  elegir el display 2(Digit1) la cual se va ha configurar.
Digit2(0xX3)
Este registro de dirección se usa para  elegir el display 3(Digit2) la cual se va ha configurar.
Digit3(0xX4)
Este registro de dirección se usa para  elegir el display 4(Digit3) la cual se va ha configurar.
Digit4(0xX5)
Este registro de dirección se usa para  elegir el display 5(Digit4) la cual se va ha configurar.
Digit5(0xX6)
Este registro de dirección se usa para  elegir el display 6(Digit5) la cual se va ha configurar.
Digit6(0xX7)
Este registro de dirección se usa para  elegir el display 7(Digit6) la cual se va ha configurar.
Digit7(0xX8)
Este registro de dirección se usa para  elegir el display 8(Digit7) la cual se va ha configurar.

SI fueran matrices de leds en vez de elegir el display se eleigen las columnas de las matrices.

Proceso de envio de datos del micro al max7221 por SPI:
Otra manera de envio[MULTIBYTE]: 

No hay comentarios:

Publicar un comentario

Uso del firmware original de la grabadora USBasp AVR en MX-USBASP (clon chino)

Te vendieron un USBisp pensado que es un USBasp?? Hace 2 meses compré un "USBasp" fui a probarlo y no funcionó....pensé me estafar...