Ala otra dudilla tonta pa vosotros... un mundo pa mi

tengo hecha esta asignacion:
Codigo:
#byte pb =0xF81
#bit extractor =pb.3 // RB3, pin24
#bit intractor =pb.4 // RB4, pin25
#bit resistencia =pb.5 // RB5, pin26
#bit nebulizador =pb.6 // RB6, pin27
Bien, ahora intento activar esas salidas despues de unas comprobaciones de un if, os pongo esta a modo de ejemplo:
Codigo:
else if (temp_actual >= tmin && temp_actual <= tmax && humedad_actual < hmin) {lcd_gotoxy(1,4),printf(lcd_putc,"Caso 4"
;resistencia=0;intractor=0;extractor=0;nebulizador=1;}
Bien he comprobado que el if lo hace bien, ahora bien, no me activa la salida, o la desactiva, según sea un 0 o un 1, he declarado el puerto b como fast_io ..... #use fast_io(B)
, no se que falla...

He intentado hacerlo de otra forma...
output_bit(resistencia,0);
esto me da fallo en la compilación, por lo que mirando algun ejemplo lo he escrito "bien":
output_bit(PIN_B5,0);
de esta forma no lo he simulado ya que no me interesa llenar el codigo entero de PIN_B5 y demas, por lo que "y creía que esto funcionaria", he declarado un #define
#define resistencia = PIN_B5
bien esto tb da fallo de compilacion y por supuesto no funciona

De estas dos formas cual esa la correcta?? en que fallo??
Graciassss!!
