Tutorials - PIC18 by Data Sheet

 

Pagina 22-25

 


 
I registri associati a PORTE

I registri associati all' uso di PORTE sono i seguenti :
Nome bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
PORTE         RE3 RE2 RE1 RE0
LATE           Data latch
TRISE IBF OBF IBOV PSPMODE   TRISE2 TRISE1 TRISE0
ADCON1         PCFG3 PCFG2 PCFG1 PCFG0
CONFIG3H MCLRE       FOSC3 FOSC2 FOSC1 FOSC0


Si nota immediatamente che Il registro PORTE ha solamente 3 bit attivi, essendo PORTE composta da soli 3 bit. 
Il bit relativo a RE3 è funzionante solamente se il pin MCLR è stato configurato come ingresso digitale con il bit MCLRE (CONFIG3H<7>) .

Così pure LATE ha solo 3 bit attivi. Il bit corrispondente a RE3 non ha funzione in  quanto RE3, se utilizzato, può essere solo un ingresso e non una uscita

Il registro TRISE è registro di direzione un poco particolare : solamente i primi 3 bit regolano la direzione degli I/O, mentre i 4 bit più alti hanno funzione di abilitazione e controllo sul PSP.

TRISE bit IBF OBF IBOV PSPMODE   -   TRISE2 TRISE1 TRISE0
funzione R R R/W R/W R R/W R/W R/W
default 0 0 0 0 0 0 0 0
  • bit 7     IBF : Input Buffer Full status bit
                 1 = è stata ricevuta una parola che è in attesa di lettura
                 0 = nessuna parola ricevuta

  • bit 6    OBF : Output Buffer Full status bit
                 1 = il buffer in uscita è in attesa di lettura
                 0 = il buffer in uscita è stato letto

  • bit 5    IBOV : Input Buffer OVerflow
                 1 =  non è stato letto un dato che è stato sovrascritto da un nuovo dato
                 0 =  nessun overflow

  • bit 4     PSPMODE : controllo della porta PSP
                 1 =  PSP abilitato - PORTD dedicato
                 0 =  PSP disabilitato - PORTD disponibile come GPIO

  • bit 3      -  :  non utilizzato
                 letto come 0

  • bit 2:0  TRISE2:1 : direzione I/O digitale
                 1 =
    input
                 0 =
    output
      

I valori di default al POR sono indicati nella tabella.

In particolare.IBF e OBFF sono dei flag di status a sola lettura per monitorare le condizioni della PSP; anche IBOV è un flag, ma va azzerato da programma. 
  

Situazione al POR

Al POR  :
TRISE = 0000x111, ovvero la direzione generale dei pin è come ingresso. e i flag sono azzerati
PORTE e LATE hanno contenuto indeterminato.
In ADCON1 il valore dei bit PCFG<2:0> è 1, quindi AN7:5 sono programmati come input analogici

Per quanto riguarda i registri di controllo dell' interrupt, al POR  tutti gli Interrupt sono disabilitati

Nei registri di configurazione, per default MCLRE = 1 , ovvero viene configurato il pin come ingresso per il reset esterno. Se usato con ICSP è l' ingresso di Vpp.

Per quanto riguarda le funzioni speciali (PSP, AD, ICSP , ICD e LVP) consultare i capitoli relativi.

Si può riassumere la situazione del POR in questo modo :

  • I pin RA2:0  sono configurati come ingressi analogici.  La funzione può essere modificata con ADCON1
     

  • La funzione PSP è disabilitata 
     

  • La funzione RE3 è disabilitata
      

  • Nessun interrupt dipende direttamente da PORTA

Inizializzazione di PORTE

Una sequenza di inizializzazione come GPIO digitale può essere questa

; Initialize PORTE 
       clrf    PORTE               ; clear PORTE latch
      
movlw   b'10100000'       
      
movwf   ADCON1              ; set RE as digital   
       movlw   b'0000011'          ; set RE1:0 as input
       movwf   TRISE               ; and RE2 as out

Come solito, i pin dedicati ad una funzione non possono essere impiegati per altre.

NOTE :

  1. Al POR il default configura i pin del PORTE come ingressi e in particolare come analogici relativi al modulo AD. Quindi, volendoli usare come digitali, occorre agire su ADCON1
     

  2. Il TRISE contiene non solo i bit di direzione del PORTE, ma anche i segnali di gestione della porta PSP
     

  3. Le  alternative sul pin !MCLR sono impostabili solo attraverso i registri di configurazione, dove bit MCLRE permette la scelta tra funzione di reset o ingresso RE3
     

  4. La funzione relativa a ICSP non dipende dal TRISE
     

  5. RE3 come GPIO può assolvere solo la funzione di ingresso e non quella di uscita.

Per quanto riguarda  PSP e ICSP consultare i capitoli relativi.

 


 

 

 

Copyright © afg. Tutti i diritti riservati.
Aggiornato il 21/10/10.