- Tema Autor
- #1
Bakunos, necesito su ayuda. Tengo que hacer un semáforo con el pic16f877a y ya tengo mi código que simulado en Proteus si funciona... Pero al escribirlo en el PIC no hace nada de lo que debería...
Quisiera saber si me falta algo en mi código para lograr que funcionne, aqui les dejo mi codigo
#include <16f877a.h>
#fuses XT,NOWDT,NOPROTECT,NOLVP //tipo de cristal externo high speed, perro guardian off, sin proteccion etc..
#use delay(clock=4000000)
int c=0;
void main()
{
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_psp(PSP_DISABLED);
setup_spi(FALSE);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
do{
//Ciclo 1 Led verde 1 y Led rojo 2 encendidos
for(c=0;c<3;c++){
output_high(pin_c0);
output_high(pin_c5);
output_b(c);
delay_ms(500);
}
//Ciclo 2 parpadeo del Led verde 1, led rojo 2 encendido
for(c=0;c<3;c++){
output_low(pin_c0);
delay_ms(200);
output_high(pin_c0);
delay_ms(200);
output_b(c);
delay_ms(500);
}
output_low(pin_c0);
for(c=0;c<3;c++){
output_high(pin_c1);
output_b(c);
delay_ms(500);
}
output_low(pin_c1);
output_low(pin_c5);
for(c=0;c<3;c++){
output_high(pin_c3);
output_high(pin_c2);
output_b(c);
delay_ms(500);
}
for(c=0;c<3;c++){
output_low(pin_c3);
delay_ms(200);
output_high(pin_c3);
delay_ms(200);
output_b(c);
delay_ms(500);
}
output_low(pin_c3);
for(c=0;c<3;c++){
output_high(pin_c4);
output_b(c);
delay_ms(500);
}
output_low(pin_c4);
output_low(pin_c2);
}while(true);
}
Si alguien me puede ayudar se lo agradeceria mucho!
Quisiera saber si me falta algo en mi código para lograr que funcionne, aqui les dejo mi codigo
#include <16f877a.h>
#fuses XT,NOWDT,NOPROTECT,NOLVP //tipo de cristal externo high speed, perro guardian off, sin proteccion etc..
#use delay(clock=4000000)
int c=0;
void main()
{
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_psp(PSP_DISABLED);
setup_spi(FALSE);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
do{
//Ciclo 1 Led verde 1 y Led rojo 2 encendidos
for(c=0;c<3;c++){
output_high(pin_c0);
output_high(pin_c5);
output_b(c);
delay_ms(500);
}
//Ciclo 2 parpadeo del Led verde 1, led rojo 2 encendido
for(c=0;c<3;c++){
output_low(pin_c0);
delay_ms(200);
output_high(pin_c0);
delay_ms(200);
output_b(c);
delay_ms(500);
}
output_low(pin_c0);
for(c=0;c<3;c++){
output_high(pin_c1);
output_b(c);
delay_ms(500);
}
output_low(pin_c1);
output_low(pin_c5);
for(c=0;c<3;c++){
output_high(pin_c3);
output_high(pin_c2);
output_b(c);
delay_ms(500);
}
for(c=0;c<3;c++){
output_low(pin_c3);
delay_ms(200);
output_high(pin_c3);
delay_ms(200);
output_b(c);
delay_ms(500);
}
output_low(pin_c3);
for(c=0;c<3;c++){
output_high(pin_c4);
output_b(c);
delay_ms(500);
}
output_low(pin_c4);
output_low(pin_c2);
}while(true);
}
Si alguien me puede ayudar se lo agradeceria mucho!