Amigo DarkVect:
Lo único que he hecho es aplicarme lo que le recomiendo a todo el mundo .... y algo más.
Paso a describirte mi línea de pensamiento y acción (por si a algún amigo le sirve):
Primero me he descargado y me he leído el Datasheet (No completo, solo la sección dedicada al PORTA).
Nunca he trabajado con los 676 y es importante no suponer nada por similitud con los que si conozco, me he llevado grandes sorpresas con algún que otro modelo en los que al reset se activaban no se qué opciones y otras que normalmente estaban activas al reset se desactivaban, o que este o aquel pin solo era de entrada o salida o ninguna de las dos, o sea que no estaba implementada.
He visto que el PORTA del 676, los pines A0 y A1, podian funcionar en tres modos distintos, como puerto digital, como entradas analógicas o como comparadores analógicos, además vi que tenían la opcion de las pull-ups (y las interrupción por cambio de estado).
Asi que si en tu programa los estabas utilizando como salidas análogicas todo lo demás debía estar deshabilitado.
Me he ido al directorio devices del PICC y he abierto con el notepad el fichero 16F676.h que es donde puedo ver lo que el CCS C puede hacer con estos pic's.
Y de cada una de las secciones que hay en ese fichero he tomado la función que deshabilita lo que tuviese que ver con las posibilidades de los pines A0 y A1:
Así:
1.- si puede tener interrupciones por cambio de estado disable_interrupts(global); las deshabilita.
2.- si puede funcionar como puerto analógico SETUP_ADC_PORTS(NO_ANALOGS); lo deshabilita y ademas SETUP_ADC(ADC_OFF); apaga el conversor analógico.
3.- si puede funcionar como comparador setup_comparator(NC_NC_NC_NC); lo deshabilita, y si te fijas también era viable escribir setup_comparator(NC_NC); pero el anterior es mas completo así que me decidí por él.
4.- si puede tener pull-ups port_a_pullups(FALSE); las desconecta.
Si con esto no funcionaba tu programa tendría que decidirme entre no contestar ningún post tuyo o cortarme las venas ... ja ja ja ja
P.D. Para activar o desactivar una a una las pull-up habrá que ver si el datasheet muestra algún registro donde esto sea programable y/o programarlo adecuadamente.
P.D.II En tu programa hay un pequeño punto en que todos hemos caído, la mayoria de las veces inadvertidamente. Entre el do{ y el }while(true) pones todo lo que quieres que hagan los led's ... pero como ya sabes es un bucle infinito ... así que tras el último output_low(PIN_A1); y el primer output_high(PIN_A0); de nuevo no hay rutina de delay alguna por lo que inmediatamente que se pone en bajo A1 se pone en alto A0. ¿Es eso lo que quieres? o ¿deseas que también discurra un segundo entre los dos apagar un led y encender el otro?
Pos eso.