Vuelvo a recurrir a ustedes amigos espero me ayuden estube revisando los
programas del foro hay uno que hace la combinacion de
el coche fantastico y el juego de luces, yo queria hacer una variacion
que seria lo siguiente tener dos pulsadores para uno y otro subprograma,
de inicio que este todo apagado
primero si presiono el pulsador "PA0" que funcione el subprograma coche fantastico
continuadamente, ahora si presiono el otro pulsador "PA1" que funcione el
juego de luces, yole coloque una sentencia if pero no me funciona simulando en proteus
de inicio el programa corre, primero uno luego el otro intercalando cosa que no
queria asi donde esta mi problema????
luego este otro que representa el signo de admiracion "!" en la parte de if ???
porque lo borre y el programa corre pero no simula bien si no te da otra cosa
#include <16f84a.h> //pic a utilizar
#fuses XT,NOWDT,NOPROTECT,PUT //ordenes para el programador
#use delay (clock=4000000) //Fosc=4Mhz,define funcion delay
#use standard_io(B)
#use standard_io(A) ///FUNCION COCHE FANTASTICO
void kit()
{
int i,cont; //variables definidas
cont=1; //inicializar...
for(i=1;i<8;i++){ //led's on derecha
output_b(cont); //ilumino led correspondiente
delay_ms(100);
cont=cont*2;
}
for(i=1;i<8;i++){
output_b(cont); //ilumino led correspondiente
delay_ms(100);
cont=cont/2;
}
}
///FUNCION JUEGO_LUCES
void juego_luces()
{
signed char i; //variable indice
int leds[4]={0b10000001,0b01000010,0b00100100,0b00011000}; //led's
for(i=0;i<4;i++){ //led's on fuera-dentro
output_b(leds[ i ]); //ilumino led's correspondientes
delay_ms(100);
}
for(i=3;i>-1;i--){ //led's on dentro-fuera
output_b(leds[ i ]); //ilumino led's correspondientes
delay_ms(100);
}
}
void main(void)
{
set_tris_a(0xFF); //porta como entrada
set_tris_b(0x00); //portb como salida
while(1){ //bucle...
if(!input(PIN_A0)) //¿switch cerrado?
kit(); // ->ejecuta coche fantastico(kit)
if(!input(PIN_A1))
juego_luces(); //->ejecuta juego luces
}
}