I PIC a 8 pin - 12F5xx
I PIC12F508/509/510/519 appartengono alla famiglia Baseline
e sono caratterizzati dal piccolo package
a 8 pin, con le seguenti caratteristiche:
PIC |
Memoria |
Stack
level
|
Timer
8 bit |
Comp. |
ADC
8 bit |
OSCint
MHz |
Set
istruzioni
|
Packages
|
Progam
|
RAM |
12F508 |
750 |
25 |
2
|
1 |
- |
- |
4 |
33
|
8pin
DFN
MSOP
PDIP
SOIC 150mil
|
12F509 |
1.5k |
41 |
2 |
1 |
- |
- |
4 |
12F510 |
1.5k |
38 |
2 |
1 |
1 |
1 |
4/8 |
12F519 |
1.5k |
41 |
2 |
1 |
- |
- |
4/8 |
Caratteristiche comuni sono quelle di tutti i Baseline :
- sono tutti operativi nel range 2.2-5.V (escluso 16F707 che può
scendere fino a 1.8)
- hanno un limitato numero di timer e altre periferiche speciali
- sono disponibili in package
piccoli, con un basso numero di pin
- hanno oscillatore interno, per ridurre il numero di componenti esterni
- hanno costi molto contenuti
- non dispongono di EEPROM
- non dispongono di moduli di comunicazione
- non hanno integrato il motore di debug
Si possono raccogliere in alcuni sottogruppi, analoghi per
caratteristiche:
- 12F508/509
che hanno come analogo il 16F505,
in package a 14 pin
- 12F510
che ha come analogo il
16F506,
in package a 14 pin
12F519
Per quanto ci interessa, ovvero anche per una applicazione didattica o
hobbistica, questi piccoli PIC sono oggetti molto interessanti:
- sono essenziali, semplici da utilizzare
- hanno un set di istruzioni ridotto
- hanno le periferiche base, I/O e timer, e quindi si possono fare
parecchie cose
- hanno oscillatore interno e non richiedono alcun componente esterno
(cristallo, condensatori, resistenze).
- hanno consumo molto basso e funzionano in una ampia gamma di tensioni,
adatti quindi per una alimentazione a batteria
- costano pochissimo, il che non guasta
Inoltre:
- hanno lo stesso pin out e quindi sono compatibili a livello hardware per
quello che riguarda le risorse comuni
- hanno la stessa struttura interna per cui sono compatibili anche come
software per quello che riguarda le risorse comuni. Un passaggio da un
componente ad un' altro può limitarsi a pochissime modifiche del
sorgente.
Sono quindi molto adatti per iniziare a fare i primi passi nel mondo dei
PIC.
Queste pagine
Certamente la limitata quantità delle risorse di memoria, stack e istruzioni
dei Baseline fa si che
siano oggetti in cui è più indicato un approccio in Assembly che non in un
linguaggio superiore, anche se è comunque possibile implementare programmi in
C.
Comunque, hanno un set di istruzioni molto ridotto, che è facile da apprendere
anche per chi non conosce l' Assembly.
Li utilizzeremo in vari esempi applicativi proprio perchè riteniamo sia
fondamentale che un
programmatore di microcontroller abbia una ragionevole conoscenza dell'
Assembly e delle risorse hardware del componente che sta usando, altrimenti
non avrà alcuna possibilità di maneggiarlo decentemente. E i PIC12F5xx sono
ideali per questo.
Non vuol dire, però, che il programmatore in C debba rinunciare o diventare un
guru dell' Assembly: rispetto ai Baseline minori (10F2xx)
questi PIC a 8 pin hanno una discreta quantità di memoria programma, che è
adeguata anche per applicazioni C (pur permanendo il limite di uno stack con
solo due livelli).
Per contro, la memoria programma e la RAM possono essere a pagine e banchi, difficoltà che,
però, riguarda principalmente l' Assembly.
Così, con questi componenti
"essenziali", vediamo la possibilità di un primo approccio al mondo
dei PIC, in grado di dare una idea di base della filosofia di Microchip e
dell' uso dei suoi tools di sviluppo, sia con Assembly che con C.
In ogni caso, è interessante considerare che, data l'
uniformità della filosofia alla base dei PIC e della struttura analoga di questi
processori in particolare, è possibile vedere bene come un sorgente scritto
per un tipo potrà essere portato su un' altro senza problemi.
Gli
unici obblighi sono quelli dell' assegnazione del giusto header di definizione
del processore e l' impiego delle medesime risorse.Molto spesso i dispositivi di una certa famiglia, pur essendo ampiamente
compatibili a livello di codice con altri sviluppati nella stessa filosofia
progettuale, per quanto possano essere semplici, nascondono qualche piccola insidia nella corretta
configurazione, insidie che, ad una analisi troppo
superficiale, sfuggono all' utilizzatore e creano seri problemi
nell' uso del componente.
Ecco allora una rapida panoramica e alcune indicazioni per chi li vuole
sperimentare.
Avvertenza :
Le pagine seguenti sono offerte come riassunto di facile
consultazione del
foglio dati (Data Sheet) del componente che si sta usando, ma non
sono un completo sostitutivo.
Non sono un corso su un determinato componente, ma riassunto degli elementi essenziali, allo scopo di dare una panoramica delle sue
caratteristiche e possibilità e, principalmente, indicare
rapidamente come utilizzare le varie risorse e come superare le "trappole"
che sfuggono ad una analisi troppo superficiale e creano seri problemi
nell' uso del componente.
Le informazioni non si susseguono nell' ordine fornito dal
foglio dati, ma in un ordine derivato dalle necessità di impiego
del componente e non comprendono tutti i particolari che la
documentazione originale tratta.
La consultazione del foglio dati e della documentazione messa
a disposizione dal costruttore sarà indispensabile
per approfondire i singoli argomenti. |
Le "trappole" saranno evidenziate con il simbolo ,
che indica la necessità di fermarsi e comprendere quale è l'azione
necessaria per ottenere un determinato risultato.
|