Hetpro USBasp V3.0 Guía De Usuario página 53

Tabla de contenido

Publicidad

Guía de Usuario USBasp V3.0| HeTPro
Se inicia con las librerías a utilizar y después creamos una variable de tipo entero,
ahora vamos a crear una variable de tipo entero pero en este caso será una matriz de
12 x 18, para crear matrices se escribe el nombre de la misma y se escribe dentro de
los corchetes la dimensión, para ingresar valores se abren las llaves principales que
indican toda la matriz y las llaves que contienen los vectores la cerrar y poner coma
indica que se termino la fila.
La razón de manejar los vectores de esa manera es porque la matriz de LED's se tiene
que multiplexar (se puede trabajar de diferentes formas), de la parte inferior se hará
un barrido activando columna por columna desplazando el bit, mandando desde el
puerto la secuencia: 1000000 01000000 00100000 00010000 00001000 00000100
00000010 00000001 y repetidamente, mientras que en la parte superior se manda el
código para generar lo que nosotros queramos, por ejemplo para visualizar el numero
3 (como en la imagen) en la matriz, se activa la primera columna en la parte inferior
de la matriz con 10000000 y en la parte superior se manda un 153 que en binario es
10011001 (que para este caso prende cuando hay 0 por la diferencia de voltaje con el
bit que activa esa columna), por lo tanto se prende de la primera columna los LED's
de la segunda, tercera, sexta y séptima fila, después se activa la segunda columna con
01000000 y en la parte superior se envía un 60 o 00111100 en el que se activan de la
segunda columna los LED's las filas primera, segunda, séptima y octava. Esta
secuencia continua para toda la matriz, repitiéndose de una manera para que en la
que el ojo humano perciba como si todos los LED's estuviesen prendidos.
void num_matriz(int num){
PORTB=0b10000000;
PORTD=numero[num][0];
_delay_ms(2);
PORTB=0b01000000;
PORTD=numero[num][1];
_delay_ms(2);
PORTB=0b00100000;
PORTD=numero[num][2];
_delay_ms(2);
PORTB=0b00010000;
PORTD=numero[num][3];
_delay_ms(2);
PORTB=0b00001000;
PORTD=numero[num][4];
_delay_ms(2);
{102,165,195,0,0,195,165,102},
{219,219,0,219,219,0,219,219}};
//*
//#
52

Publicidad

Tabla de contenido
loading

Tabla de contenido