Tutorials - PIC 

 

PIC12F510 & 16F506


Nella famiglia Baseline è comune che un componente sia realizzato in due versioni, attorno alla stessa struttura di base. E' il caso di 12F510, a 8 pin, e del suo analogo a 14 pin, 16F506
Le caratteristiche sono queste:

PIC Packages Memoria Timer
8 bit
I/O ADC Comp. Osc.
Interno
Osc.
Esterno
Stack
level
Set
istruzioni
Progam RAM
12F510 8 pin 1k 38 1 6 1 1 4 /8 MHz 4/8 MHz 2 33
16F506 14 pin 67 12 2 20 MHz

Rispetto ai 12F508/509, qui troviamo presenti due ulteriori moduli funzione: un convertitore AD a tre canali, 8 bit di risoluzione, e uno (o 2) comparatori analogici. La versione a 14 pin, come solito, ha la stessa struttura di quella a 8 pin, ma con un maggiore numero di I/O e periferiche un poco più complesse. Quindi, sempre restando nei limiti delle disponibilità, ne risulta che un programma scritto per uno di essi sarà immediatamente utilizzabile per l' altro.
16F506 ha anche una maggiore disponibilità di RAM e può operare fino a 20MHz, con clock esterno.

Tutti, comunque, hanno la possibilità di utilizzare un oscillatore interno, che evita la necessità di aggiungere componenti esterni. Oltre a questo, la mancanza di complicazioni dovuta al limitato numero di funzioni integrate e il costo molto basso ne fanno gli elementi ideali per chi vuole iniziare ad esercitarsi con i PIC. La presenza di una certa quantità di memoria fa si che si possano applicare anche compilatori C.

Non si tratta di componenti dell' ultima generazione, ma possono essere un buon inizio per entrare nello spirito dei PIC ed afferrare i concetti fondamentali che poi potranno essere facilmente riportati nell' approccio ai modelli maggiori.

Qui consideriamo essenzialmente il PIC12F510, componente a 8 pin, ma quanto detto vale anche, con poche modifiche, anche per 16F506.
 


Le caratteristiche principali

Si tratta di chip abbastanza semplici; le particolarità significative dal punto di vista hardware sono:

  • oscillatore interno a 4/8 MHz, programmabile, con possibilità di aggiustamento. Non sono richiesti componenti esterni per generare il clock.
  • possibilità di implementare un oscillatore esterno a quarzo o RC fino a 8MHz (20MHz per 16F506).
  • MCLR disabilitabile e configurabile come ingresso digitale (scelta da effettuare nel CONFIG): dove non necessario, il pin di reset diventa un ingresso digitale in più.
  • il classico timer/counter a 8 bit, TIMER0, con ingresso interno o esterno
  • un modulo ADC a 8 bit e 3 canali
  • un modulo di comparazione analogica
  • rilevamento cambio di stato sui pin, per generare avvisi alla pressione di pulsanti e simili
  • WDT: il watchdog timer presente in tutti i PIC e utile per implementare sistemi di sicurezza
  • tensione di funzionamento tra 2 e 5.5V

Dal punto di vista del software:

  • memoria programma da 1k su due pagine
  • memoria RAM su due (4) banchi
  • 10 (12) SFR rilocati su ogni banco: non si deve ricorrere a switches di banco per accedere ai registri speciali
  • stack a due livelli: occorre prestare attenzione all' annidamento delle chiamate a subroutine per non superare le possibilità dello stack
  • 33 opcodes: questo ne consente una rapida assimilazione, anche se ci si potrà trovare limitati dalla mancanza di altre istruzioni presenti in PIC maggiori

La memoria programma è di tipo Flash e quindi scrivibile e cancellabile molte centinaia di volte. Questo consente di utilizzare lo stesso chip per un gran numero di esperienze.
Non è integrata memoria di tipo EEPROM.


 

 

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