Hola gente soy nuevo en el foro y también en este tema de los PIC'S. Y para iniciarme en el asunto empece a usar MikroC porque estudio electronica y me es muy comodo empezar con un lenguaje que ya me es muy familiar.
La cuestión es que como recien estoy empezando en el asunto quería pedirle ayuda porque tengo muchos problemas para optimizar los algoritmos.
Ahora mismo para hacer un helloworld un poco mas interesante estoy haciendo una matriz que hace un grupo de movimientos ordenados.
En fin este es el código:
Como veran lo que ocurre es que la luz del led va recorriendo la matriz de 4X2 en movimiento zigzag.
Si bien el programa funciona, ya me comio un 15% de la ROM del micro (estoy usando el PIC 16F84A, debido a que me es el mas facil y barato conseguir en estos momentos).
Quería saber si alguien podría brindarme alguna idea o herramienta para poder optimizar el código.
Probe asignarles una variable al puerto (PORTB.F), pero evidentemente no funciono.
Espero su pronta respuesta.
Desde ya gracias.
Saludos
La cuestión es que como recien estoy empezando en el asunto quería pedirle ayuda porque tengo muchos problemas para optimizar los algoritmos.
Ahora mismo para hacer un helloworld un poco mas interesante estoy haciendo una matriz que hace un grupo de movimientos ordenados.
En fin este es el código:
PHP:
void main() {
int i=0, u=0;
TRISA=0;
TRISB=0;
while (1)
{
PORTA.F1=1;
PORTA.F1=1;
PORTA.F2=1;
PORTA.F3=1;
PORTB.F0=1;
PORTB.F1=0;
PORTB.F2=0;
PORTB.F3=0;
PORTB.F4=0;
PORTB.F5=0;
PORTB.F6=0;
PORTB.F7=0;
Delay_ms (200);
PORTB.F0=0;
PORTB.F1=1;
PORTB.F2=0;
PORTB.F3=0;
PORTB.F4=0;
PORTB.F5=0;
PORTB.F6=0;
PORTB.F7=0;
Delay_ms (200);
PORTB.F0=0;
PORTB.F1=0;
PORTB.F2=0;
PORTB.F3=1;
PORTB.F4=0;
PORTB.F5=0;
PORTB.F6=0;
PORTB.F7=0;
Delay_ms (200);
PORTB.F0=0;
PORTB.F1=0;
PORTB.F2=1;
PORTB.F3=0;
PORTB.F4=0;
PORTB.F5=0;
PORTB.F6=0;
PORTB.F7=0;
Delay_ms (200);
PORTB.F0=0;
PORTB.F1=0;
PORTB.F2=0;
PORTB.F3=0;
PORTB.F4=1;
PORTB.F5=0;
PORTB.F6=0;
PORTB.F7=0;
Delay_ms (200);
PORTB.F0=0;
PORTB.F1=0;
PORTB.F2=0;
PORTB.F3=0;
PORTB.F4=0;
PORTB.F5=1;
PORTB.F6=0;
PORTB.F7=0;
Delay_ms (200);
PORTB.F0=0;
PORTB.F1=0;
PORTB.F2=0;
PORTB.F3=0;
PORTB.F4=0;
PORTB.F5=0;
PORTB.F6=0;
PORTB.F7=1;
Delay_ms (200);
PORTB.F0=0;
PORTB.F1=0;
PORTB.F2=0;
PORTB.F3=0;
PORTB.F4=0;
PORTB.F5=0;
PORTB.F6=1;
PORTB.F7=0;
Delay_ms (200);
}
}
Como veran lo que ocurre es que la luz del led va recorriendo la matriz de 4X2 en movimiento zigzag.
Si bien el programa funciona, ya me comio un 15% de la ROM del micro (estoy usando el PIC 16F84A, debido a que me es el mas facil y barato conseguir en estos momentos).
Quería saber si alguien podría brindarme alguna idea o herramienta para poder optimizar el código.
Probe asignarles una variable al puerto (PORTB.F), pero evidentemente no funciono.
Espero su pronta respuesta.
Desde ya gracias.
Saludos
Última edición por un moderador: