Hola que tal amigos !!! queria compartir este programa con ustedes a ver si me pueden ayudar el tema es el siguiente el programa es una alarma de sueño tan basica como el que la diseño (yo) ja ja !!! consiste en un retardo de 6 minutos aprox y luego comienza a parpadear un led el cual se va acelerando cada vez mas hasta que finalmente cae en un while donde parpadea el led y suena un buzzer el punto esta en que tengo que colocar un pulsador que en cualquier punto del programa me lo vuelva al comienzo , como si reseteara el pic . sera tan sencillo que no lo veo ?? o esta mal diseñado el programa y de esta manera no se puede hacer. Desde ya les agradezco su colaboracion Saludos !!!
Código:
#include <16f84a.h>
#use delay (clock=4000000)
#fuses xt,nowdt
#use standard_io(b)
#use fast_io(a)
int b=0;
void main()
{
set_tris_a(0b11111111);/*todo el puerto A como entrada*/
output_b(0b00000000);/*puerto B en estado bajo*/
for( b=0;b<=7 ;b++) // cuando pulse el boton tengo que saltar hasta aca
{
output_b(0b00000000);/*tiempo de 7 min aca no hace nada solo espera */
delay_ms(60000);
}
for( b=0;b<=10 ;b++) //parpadea la luz diez veces cada 500ms
{
output_b(0b00000000);
delay_ms(500);
output_b(0b00000010);
delay_ms(500);
}
for( b=0;b<=10 ;b++) //parpadea la luz diez veces cada 300ms
{
output_b(0b00000000);
delay_ms(300);
output_b(0b00000010);
delay_ms(300);
}
for( b=0;b<=10 ;b++) //parpadea la luz diez veces cada 200ms
{
output_b(0b00000000);
delay_ms(200);
output_b(0b00000010);
delay_ms(200);
}
for( b=0;b<=10 ;b++) //parpadea la luz diez veces cada 100ms
{
output_b(0b00000000);
delay_ms(100);
output_b(0b00000010);
delay_ms(100);
}
while(1)
{
output_b(0b00000110);/*suena la alarma y parpadea la luz*/
delay_ms(200);
output_b(0b00000000);
delay_ms(200);
output_b(0b00000110);
}
} ...
Última edición por un moderador: