Buenas gente.. estoy probando un pic16f877 y no entiendo en realidad porque en proteus puedo simularlo como siempre hice con todos los pics,
mientras que con este al pasarlo a lo fisico no funciona...
lo raro es que no corre el codigo al parecer..
lo que quiero hacer ahora es parpadear un led en el puerto a, creo que el tema puede estar en que el puerto a es analogico..
en fin pongo el codigo... y la simulacion para que me puedan dar una mano...
y aclaro que esta puesta el MCLR a vdd con una resistencia de 10k
#include <16F877.h>
#device adc=10 //para que es esto??????????????????????????????????????????????????????????
#FUSES NOWDT //No Watch Dog Timer
#FUSES XT //Crystal osc <= 4mhz for PCM/PCH , 3mhz to 10 mhz for PCD
#FUSES PUT //Power Up Timer
#FUSES NOPROTECT //Code not protected from reading
#FUSES BROWNOUT //Reset when brownout detected
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD //No EE protection
#FUSES NOWRT //Program memory not write protected
#FUSES NODEBUG //No Debug mode for ICD
#FUSES RESERVED //Used to set the reserved FUSE bits
#use delay(clock=4000000)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8,stream=GSM)
#int_RDA
void RDA_isr(void)
{
}
#int_TIMER0
void TIMER0_isr(void)
{
}
void main()
{
port_b_pullups(TRUE);
setup_adc_ports(AN0);
setup_adc(ADC_CLOCK_DIV_2);
setup_psp(PSP_DISABLED);
setup_spi(SPI_SS_DISABLED);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_ccp1(CCP_OFF);
setup_ccp2(CCP_OFF);
enable_interrupts(INT_RDA);
enable_interrupts(INT_TIMER0);
enable_interrupts(GLOBAL);
// TODO: USER CODE!!
do
{
output_low(pin_a1);
output_low(pin_a5);
delay_ms(1000);
output_high(pin_a1);
output_high(pin_a5);
delay_ms(1000);
}while(1);
}