pues hombre,... la unica forma en la que yo he realizado una tabla en C es mediante un arreglo, por ejemplo para manejar display de 7segmentos, cada digito es llamado mediante un indice i, por ejemplo si i=7, el arreglo mostrara en el puerto d (en este caso el valor correspondiente en 7segmentos):
Codigo:
//****************************************************************
// array para formar los digitos de 0 a 15 EN FORMATO DE 7SEMENTOS
// PARA SER MOSTRADOS EN DOS DYSPLAY DE ANODO COMUN
//****************************************************************
byte const DISPLAY[16] = {0b1000000, //contiene los digitos
0b1111001, //0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
0b0100100, // en formato para ser mostradosendisplay
0b0110000, // de 7segmentos
0b0011001,
0b0010010,
0b0000010,
0b1111000,
0b0000000,
0b0010000,
0b0001000,
0b0000011,
0b1000110,
0b0100001,
0b0000110,
0b0001110,};
//****************************************************************
// MUESTRA EN DISPLAY DE 7 SEGMENTOS
//****************************************************************
for(i=0;i<15;i++)
{
portd=display[ i ]; // muestro digito del 0-15 en 7seg en display en portd
}
no se si alguien sepa otra manera, mas eficiente o mas refinada de hacerlo, no he mirado aun el codigo asm generado...