Está en la página 1de 1

# include <16F877A.

h>
# use delay(clock=4000000)
# fuses XT,NOWDT
# define LARGO 23
# byte puerto_c=0x07
# byte puerto_b=0x06 //Longitud de la tabla
int const tabla[LARGO+8]={

0b00000000, //Espacio
0b00000000, //Espacio
0b00000000, //Espacio
0b00000000, //Espacio
0b00000000, //Espacio
0b00000000, //Espacio
0b00000000, //Espacio
0b11111111, //Dato de tabla L
0b00000001,
0b00000001,
0b00000000, //Espacio
0b11111111, //Dato de tabla E
0b10001001,
0b10001001,
0b10000001,
0b00000000, //Espacio
0b01111110, //Dato de tabla O
0b10000001,
0b10000001,
0b01111110,
0b00000000, //Espacio

};
void main()
{

byte const bitMask[8]={1,2,4,8,16,32,64,128}; //Mascara


int i,j,k; //Variables contadores
while(TRUE){ //Ciclo infinito
for(i=0;i<LARGO+8;i++){ //Recorrido de tabla
for(k=0;k<20;k++){ //Refresco de matriz
for(j=0;j<8;j++){ //Barrido de columnas
output_c(~bitMask[j]); //Columnas ponderadas
output_b(tabla[j+i]); //Desplazamiento de tabla
delay_us(750); //Demora de multiplexado

}
}
}
}

También podría gustarte