Tutorials - PIC 

 

PIC 12F5xx


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.



 

 

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