La direzione della porta è impostata assegnando un valore a TRIS*, dove * è la lettera della porta. Per esempio:
Questo imposta i piedini RB1, RB2 e RB7 nella PORTB come uscite, e gli altri come ingressi. In questo esempio, b'01111001' è una rappresentazione binaria del tipo di uscita: l'1 alla destra rappresenta un'uscita su RB0, mentre quello alla sinistra un ingresso in RB7.
La porta può essere trattata come una variabile. Per esempio:
Qui sopra viene assegnato il valore di PORTA alla variabile x.
Ciascun piedino su una porta è ottenuto anteponendo il numero del piedino al nome della porta; ad esempio il Pin 2 (iniziando dal Pin 0) su PORTA è conosciuto come PORTA.0. La sintassi per impostare uno stato di un piedino è:
PORTX.N = STATE
dove STATE può essere alto o basso, mentre la sintassi per testare lo stato di un piedino è:
if
PORTX.N is STATEthen
. Combinando questi esempi abbiamo:
Esempio 5.9. Impostare e testare lo stato del piedino
TRISA = 0 TRISB = 255if
PORTA.3 ishigh
then
{ PORTB.5 =low
}else
{ PORTB = PORTA + 15 }