Tutorials - PIC

 

PIC10F220/222


Order of precedence for pin function 

Abbiamo visto che ogni pin ha disponibili tre diverse funzioni. Se abbiamo qualche idea di come utilizzare quella di I/O digitale, resta da chiarire come utilizzare le altre.

E in questo si celano alcune delle difficoltà di base per l' utente che affronta per la prima volta questi processori.
E queste difficoltà, delle piccole trappole poste sul percorso del principiante, derivano tutte dalla linea guida citata prima, ovvero dalla volontà del costruttore di assegnare ai default le condizioni di minimo consumo energetico.

Il foglio dati da una indicazione essenziale nella tabella 5-1

Come abbiamo visto, nonostante la semplicità dei moduli integrati, tutti i pin possono assumere differenti funzioni, di cui quella di GPIO si trova al livello di precedenza più basso.
Che cosa si intende con questo? Semplicemente che una determinata configurazione dei registri sovra scrive un' altra a precedenza inferiore. Questo può mettere in difficoltà chi voglia utilizzare un pin come semplice I/O digitale. Vediamo in dettaglio.

Pin Possibilità
GP0 La funzione di ingresso analogico, se abilitata, sovrascrive una eventuale assegnazione come uscita effettuata con il bit TRISGPIO,0.
Per disporre del pin come GPIO occorre disabilitare l' ingresso analogico.
GP1 Situazione analoga a GP0.
GP2 E' il pin più "complicato". Innanzitutto va detto che:

qualsiasi scelta tra le possibili è annullata dall' aver abilitato l' uscita FOSC/4 in OSCCAL.
  • Solo se il bit 0 di OSCCAL è a 0, sono possibili le altre opzioni:
  • Se T0CS = 1  il pin agisce come ingresso T0CKI
  • Per avere il pin sotto controllo di TRISGPIO,2 occorre che le condizioni precedenti siano disabilitate
GP3 Diventa automaticamente ingresso digitale se è stato impostato _MCLRE_OFF nel CONFIG

IL foglio dati fornisce anche la tabella 5-2, relativa alle azioni da compiere per avere disponibili gli I/O digitali:

In altre parole

  per usare i pin come semplici GPIO occorre:
 
Pin Azione Dove SFR Bit
GP0 disabilitare l' ingresso analogico da programma ADCON0 ANS0 = 0
GP1 ANS1 = 1
GP2  disabilitare FOSC4
disabilitare T0CS
OSCCAL
OPTION
FOSC4 = 0
T0CS = 0
GP3 disabilitare MCLR da CONFIG config_word _MCLRE_OFF

 

 

Osserviamo che sono stati citati altri registri di controllo, oltre ai già considerati TRIS e GPIO: vediamo a cosa servono.


 

Copyright © afg. Tutti i diritti riservati.
Aggiornato il 30/04/13.