Paso 2: Codificación de patrones de columna
El microcontrolador se conectará el módulo de matriz de LED con dos puertos de 8 bits. Las 5 columnas están conectadas a 5 líneas del puerto A del microcontrolador. Las 7 filas se conectarán a 7 líneas del puerto C.
Las líneas de la 5 columna corresponden al puerto A bits b0 a b4. Bit b0 es la columna 1, columna 5 b4. El firmware del microcontrolador se convierte en una columna a la vez, pedaleando por este patrón hexagonal una y otra vez:
0 x 01
0 x 02
0 x 04
0x08
0 x 10
Las líneas de 7 fila corresponden a Puerto C bits b0 a b6. Puerto C bit b0 es fila 1, mientras que b6 es fila 7. El firmware del microcontrolador envía un patrón a la fila única para cada columna.
Para codificar el patrón para una columna, el patrón de caracteres - fuente si quiere llamar así - fue dibujada hacia fuera para cada carácter ASCII. Entonces cada columna se convierte en un byte hexadecimal.
Filas 1-4 son b0-b3. Este es el nibble inferior del columna patrón. Filas 5-7 son b6-b4 - el nibble superior. Si quieres LED C1 R1 a, entonces el valor codificado para el primer byte del carácter se convierte en 0 x 01.
Podría notar que enviando un 0 x 01 a puerto que c se convertiría en todos los LEDs de la fila excepto C1 R1. Esto es porque una de led es codificado como un bit 1, mientras que los de LEDs se codifican como 0 bits. El firmware simplemente invierte los patrones codificados antes de enviarlos a Puerto C.
Es más sencillo comprender los patrones cuando 1 = on.