Le funzioni disponibili
In relazione alla piedinatura 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 |
8 |
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 |
AN0 |
Ingresso analogico ADC |
canale 0 |
C1IN+ |
Ingresso analogico comparatore |
ingresso positivo |
ICSPDAT |
linea dati per la programmazione |
utilizzato nella programmazione ICSP |
6 |
GP1 |
I/O digitale |
programmabile come ingresso o uscita |
AN1 |
Ingresso analogico ADC |
Canale 1 |
C1IN- |
Ingresso analogico comparatore |
ingresso negativo |
ICSPCLK |
linea clock per la programmazione |
utilizzato nella programmazione ICSP |
5 |
GP2 |
I/O digitale |
programmabile come ingresso o uscita |
AN2 |
Ingresso analogico ADC |
Canale 2 |
C1OUT |
Uscita comparatore |
uscita digitale |
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 |
segnale a livello logico |
Ogni pin ha la possibilità di servire fino a quattro 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 PIC12F510
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 e si può parlare 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.
PIC16F506, 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.
Per 16F506, PORTB è analogo a GPIO, a cui si aggiunge PORTC
a cui fanno capo le funzioni del secondo comparatore e della Vref.
La sola differenza significativa riguarda l' ingresso di conteggio del Timer0
che passa da GP2 a RC5.
La tabella 3-3 (foglio dati DS41268B-pag. 13) riporta la descrizione delle
possibili assegnazioni dei pin.
Vediamo nel dettaglio le varie funzioni.
|