Tutorials - PIC

 

PIC12F508/509 e 16F505


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:

Il pin 5 è utilizzato sia come GPIO che come ingresso del Timer0
La scelta viene effettuata programmando il bit  del registro OPTION:
  • Se il bit è a livello 1, che è il default, il pin 5 agisce come ingresso del timer. 
  • Solo portando questo bit a livello 0 sarà possibile utilizzare il pin 5 come GP2 

Questa è una "trappola" in cui cade il principiante o chi si accinge ad usare per la prima volta questo chip. Se la funzione di ingresso al timer, che è prioritaria per i default, non viene disattivata, non è possibile accedere a quelle digitali e il LED collegato al pin resterà ostinatamente spento !

Per quanto riguarda gli altri pin, la selezione della funzione applicata avviene con la configurazione (che sarà descritta più avanti) ed è al di fuori della gestione attraverso il programma vero e proprio.

  • sul pin 4 l' alternativa a GP3 è la funzione di reset MCLR, che viene selezionata nella configurazione
  • sul pin 3 l' alternativa a GP4 è la funzione dell' oscillatore esterno, che viene selezionata nella configurazione
  • sul pin 2 l' alternativa a GP5 è la funzione dell' oscillatore esterno, che viene selezionata nella configurazione

Quindi:

  In sintesi, per usare i pin come semplici GPIO occorre:
 
Pin Azione Dove SFR Bit
GP0 disponibile - - -
GP1 disponibile
GP2  disabilitare T0CKI da programma OPTION T0CS = 0
GP3 disabilitare MCLR da CONFIG config_word _MCLRE_OFF
GP4 impostare l' oscillatore interno _OSC_IntRC
GP5 impostare l' oscillatore interno

 


Abbiamo scelto come chip iniziale proprio questo in quanto la doppia funzione su  è praticamente l' unica "trappola" sul percorso del programmatore e quindi si presta bene per iniziare ad apprendere l' esistenza di questi meccanismi tipici dei PIC, che in altri modelli saranno più complessi con l' aumentare delle periferiche integrate.

Vediamo come controllare le altre funzioni disponibili.


 

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