Tutorials - PIC - Corso A&C

 

PIC12F508/509 e 16F505


Le funzioni disponibili

In relazione alla piedinatura DIP appena vista, per il contenitore a 8 pin possiamo dire che:

  • due pin sono dedicati all' alimentazione
     
    pin funzione
    1 Vdd - tensione di alimentazione positiva
    Vss - tensione di alimentazione negativa

La tensione di alimentazione può variare tra 2 e 5V, in corrente continua. Quindi sono adatte batterie, accumulatori, alimentatori stabilizzati e anche il 5V prelevabile da una presa USB.

Come precedentemente fatto osservare, NON si deve invertire, neppure per breve tempo, la polarità dell' alimentazione, pena la distruzione del componente.
  • i rimanenti 6 pin sono utilizzabili per diverse funzioni:
    pin nome funzione note
    7 GP0 I/O digitale programmabile come ingresso o uscita
    ICSPDAT linea dati per la programmazione utilizzato nella programmazione ICSP
    6 GP1 I/O digitale programmabile come ingresso o uscita
    ICSPCLK linea clock per la programmazione utilizzato nella programmazione ICSP
    5 GP2 I/O digitale programmabile come ingresso o uscita
    T0CKI Ingresso di conteggio del timer Segnale esterno per il TIMER0
    4 GP3 I/O digitale utilizzabile solo come ingresso digitale
    MCLR Master Clear  utilizzabile come ingresso per il reset esterno
    Vpp Tensione di programmazione utilizzato nella programmazione ICSP
    3 GP4 I/O digitale programmabile come ingresso o uscita
    OSC2 oscillatore esterno uscita
    2 GP5 I/O digitale programmabile come ingresso o uscita
    OSC1 oscillatore esterno ingresso
    CLKIN ingresso clock esterno ingresso 

Ogni pin ha la possibilità di servire diverse funzioni. 
Anche se alcune possono essere modificate durante l' esecuzione del programma,

queste funzioni NON possono essere svolte contemporaneamente.
Quindi occorre che l' utilizzatore decida quale vuole impiegare per la sua applicazione ed agisca di conseguenza sui registri di programmazione.

Fa eccezione la funzione di ICSP (In Circuit Serial Programming), ovvero la modalità di programmazione in-circuit con cui si scrive nella memoria programma. Questa funzione non richiede alcuna azione da parte dell' utilizzatore, ma viene attivata automaticamente all' applicazione della tensione Vpp. Essa ha lo scopo di programmare il chip, anche se questo si trova sullo stampato di impiego. Questo è possibile con una connessione ICSP che troveremo aggiunta in ogni circuito sulle demo board o andremo ad aggiungere sulla bredboard.
Maggiori informazioni su ICSP le trovate qui.

Una nota ulteriore: i nomi dei pin sono acronimi delle loro funzioni e sono anche le label con cui è possibile indicarli in un programma. I compilatori provvederanno a linkare le label con i valori assoluti e creare l' oggetto eseguibile.

Nel PIC12F508/509 i pin di I/O sono definiti GPIO (General Purpose I/O pin), diversamente dagli altri PIC, che definiscono "port" (PORTA, PORTB, RA, RD, ecc.) gli I/O, raccolti tipicamente in gruppi da 8. Qui ci sono solo 6 pin disponibili e si può parlare solo di un port parziale, per cui il costruttore ha preferito denominarli GP0, GP1, GP2, GP3, GP4, GP5, come d'altra parte avviene in tutti piccoli PIC Baseline.
Ad esempio, nel sorgente, per indicare il pin 2 si utilizzerà la label GP5.

PIC16F505, avendo un numero maggiore di pin, dispone di più I/O, che sono raccolti in due "port" da 5 bit ciascuno, PORTB e PORTC. In questo caso, i singoli bit assumono le classiche label RB0, RB1, ecc per PORTB e RC0, RC1, ecc. per PORTC.

Vediamo nel dettaglio le varie funzioni.


 

 

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