JUEGO DE LUCES (COCHE FANTÁSTICO)
En esta oportunidad estaremos presentando un llamativo juego de luces que oscilaran de manera diferente, este juego de luces se realizara con la ayuda de sentencias como If o for.
Entonces para mejor comprensión tenemos el esquema en Isis Proteus, vamos a utilizar los pines del puerto B, para conectar como salidas a nuestros LEDs.
Bueno en este ejemplo no hay mucho que explicar, pero si hay que recordar como se usa el ciclo for.
for (inicializacion; condición de termino; incremento)
{
sentencias();
}
// Juego de Luces - PIC en C
#include <16f877a.h> // incluimos el archivo PIC a utilizar
#use delay(clock = 4000000) // Reloj de 4 Mhz
#fuses XT, NOWDT,NOLVP // fusibles XT(XTal) = 4 Mhz
#use fast_IO(B) // permite utilizar las funciones output_x() , etc.
// funcion principal
void main()
{
signed int i; // Declaramos a la variable entera i con signo
int LEDs1[4] = {0b10000001,0b01000010,0b00100100,0b00011000} // Primer arreglo declarado
int LEDs2[10]={0b01111111,0b10111111,0b11011111,0b11101111,0b11110111,0b11111011,0b11111101,0b11111110} // Segundo arreglo
set_tris_B(0x00) ; // Declaramos a los pines del puerto B como salidas
while(true) // Bucle infinito
{
for(i=0;i<4;i++)
{
output_B(LEDs1[i]); // por el puerto B se saca lo que hay en el primer arreglo del incio al final
delay_ms(300); // 300 milisegundos es conveniente
}
output_B(0xFF); // después que salga del bucle ponemos todos los pines a 1 durante 300 ms.
delay_ms(300);
for(i=0; i<9; i++)
{
output_b(LEDS2[i]); // recorremos el 2 arreglo del inicio al final
delay_ms(300);
}
output_B(0xFF); // ponemos otra vez a 5v todos los pines
delay_ms(300);
for(i=9; i>=0; i--)
{
output_b(LEDS2[i]); // recorremos el segundo arreglo de final al inicio
delay_ms(300);
}
output_B(0xFF); // ponemos a 5v
delay_ms(300);
for(i=4; i>=0; i--)
{
output_b(LEDS1[i]); // vamos del final al inicio
delay_ms(300);
}
}//Fin del while
} // Fin del programa
Como se habrán dado cuenta, el programa es bastante sencillo y se puede hacer muchas variantes; ya queda a la imaginación de cada uno como es que lo quiere hacer funcionar, puede aumentarle arreglos y poner mas ciclos for o poner a 5V los pines, etc.
No hay comentarios:
Publicar un comentario