Hola ha todos si alguien me puede ayudar , estoy haciendo un secuenciador utilizando distintas salidas del pic por un tema de hardaware , y el problema es que de todas las salidas que utilizo hay dos que no me las activa , las salidas son la b3 y la a4, sin embargo lo pruebo en el simulador de virtualbread borad y me da que la secuencia que tengo programada funciona lo cargo en el pic y hace cualquier cosa, ya he cambiado de todo en el programa y nada
le paso el programa que tengo a ver si me pueden ayudar
#include <16F877.h>
//#device adc=10
#use delay(clock=4000000)
#fuses XT,PUT,BROWNOUT
#byte puerto_a = 5 /* dirección del puerto B */
#byte puerto_b = 6 /* dirección del puerto B */
#byte puerto_c = 7 /* dirección del puerto B */
#byte puerto_d = 8 /* dirección del puerto B */
#byte puerto_e = 9 /* dirección del puerto B */
void main(int) {
int a,b,c,e;
//setup_psp(PSP_DISABLED);
//setup_spi(FALSE);
//setup_counters(RTCC_INTERNAL,WDT_18MS);
// setup_timer_1(T1_DISABLED);
// setup_timer_2(T2_DISABLED,0,1);
set_tris_a( 0xC0 ); /* puerto a como salida */
set_tris_b( 0x00 ); /* puerto B como salida */
set_tris_c( 0x00 ); /* puerto c como salida */
set_tris_d( 0x00 ); /* puerto d como salida */
set_tris_e( 0x00 ); /* puerto e como salida */
a=0;
b=0;
c=0;
e=0;
puerto_a = 0;
puerto_b = 0; /* apaga todos los led */
puerto_c = 0; /* apaga todos los led */
puerto_d = 0; /* apaga todos los led */
puerto_e = 0; /* apaga todos los led */
do{
for(a=0;a!=8;++a){
b=a+2;
c=a-7;
e=a-4;
delay_ms(10000); /* espera para Bajar ( Tiempo de espera entre ciclos) */
bit_set( puerto_b, a );
delay_ms( 2000); /* espera para soplar*/
bit_set( puerto_e, e );
bit_set( puerto_c, c );
delay_ms(1000); /*tiempo de soplado*/
bit_clear( puerto_a, b );
bit_clear( puerto_e, e );
bit_clear( puerto_c, c );
delay_ms(2000); /* espera para subir*/
bit_clear( puerto_b, a );
}
} while( TRUE ); /* Repetir siempre */
}
espero que alguien me pueda ayudar, gracias a todos