Vamos haber no e hagas un lio!!!!jeje para declarar los puertos como entrada o salida esta la directiva:
Codigo:
set_tris_b(0x00); //portb como salida
set_tris_b(0xFF); //portb como entrada
Ahora bien, para manejar los puertos, es decir para mantener los pines de un puerto concreto en alto o en bajo hay varias instrucciones una de ellas es esta:
output_a(0b1110); Esta instruccion quiere decir que la salida por el puerto a sera RA0 en alto(1), RA1 en alto(1), RA2 en alto(1), RA3 en bajo(0), se puede escribir tanto en binario como en hexadecimal incluso en decimal o en octal, segun prefieras, esta vez de sa escrito en binario para especificar que pin estara en bajo y que pin estara en alto ya que ese fragmento de codigo que has extraido del programa BETIS, es para encender y apagar los display"s de 7seg de catodo comun, dichos display"s(de catodo comun) se encienden si el catodo esta conectado a masa(GND), por lo tanto en nuestro programa para encender un display"s concreto debemos enviar por el puerto a un "0"logico(es decir una salida en bajo) asi iluminaremos un 7seg determinado mientras que si enviamos un "1"logico(salida en alto) los display"s permaneceran apagados.
De todas formas esa sentencia es para no escribir mucho codigo en otros ejemplos esta escrito los pin"s a encender y apagar equivalente a esa:
Codigo:
output_high(PIN_A0);
output_high(PIN_A1);
output_high(PIN_A2);
output_low(PIN_A3); //activado...
output_b(tab7seg[ i ]); //...1º 7seg B
delay_ms(10);
output_high(PIN_A0);
output_high(PIN_A1);
output_low(PIN_A2); //activado...
output_high(PIN_A3);
output_b(tab7seg[ j ]); //...2º 7seg E
delay_ms(10);
output_high(PIN_A0);
output_low(PIN_A1); //activado...
output_high(PIN_A2);
output_high(PIN_A3);
output_b(tab7seg[ w ]); //...3º 7seg T
delay_ms(10);
output_low(PIN_A0); //activado...
output_high(PIN_A1);
output_high(PIN_A2);
output_high(PIN_A3);
output_b(tab7seg[ z ]); //...4º 7seg I
delay_ms(10);
Si me he explicado mal dimelo!!!!jeje