Tutorials - PIC 

 

PIC 10F22x


PIC10F220-222

Il secondo sotto gruppo della famiglia 10F comprende 2 modelli, che si differenziano solamente per la diversa quantità di memoria:

PIC Memoria
Progam RAM
10F220 256 16
10F222 512 23

Vediamo come una differenza tra 10F220 e 10F222 è costituita dalla diversa quantità di memoria integrata. Ne risulta che un programma scritto per uno di essi sarà immediatamente utilizzabile per l' altro, sempre restando nei limiti delle disponibilità di memoria. Rispetto a PIC10F200/6 hanno in più un convertitore AD e l' oscillatore interno a due frequenze. Per quanto riguarda la compatibilità del software:

  • Un sorgente scritto per 10F220 non avrà problemi a funzionare su 10F222, semplicemente cambiando il riferimento del processore; un sorgente scritto per 10F222 funzionerà su 10F220 se le sue richieste di memoria non superano quelle disponibili.
  • Un sorgente scritto per 10F200/202 non avrà problemi a girare su 10F220/222. Il contrario è possibile solo se non vengono usati il modulo ADC o il clock a 8MHz.
  • Un sorgente scritto per 10F204/206 non avrà problemi a girare su 10F220/222 se non viene usato il comparatore. Il contrario è possibile solo se non vengono usati il modulo ADC o il clock a 8MHz.


Le caratteristiche principali

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

  • oscillatore interno a 4/8 MHz, con possibilità di aggiustamento da programma. Non è previsto alcun componente esterno per l' oscillatore
  • pin di uscita dell' oscillatore interno FOSC/4 (definibile dal programma) 
  • MCLR disabilitabile e configurabile come ingresso digitale (scelta da effettuare nel CONFIG)
  • il classico TIMER0 a 8 bit con ingresso interno o esterno
  • modulo ADC
  • rilevamento cambio di stato sui pin
  • WDT

Non c'è modulo BOR, nè PWRT (ma hanno un DRT).

Dal punto di vista del software:

  • memoria programma in una sola pagina
  • solo 10 SFR
  • SFR in un solo banco assieme alla RAM
  • stack a due livelli
  • 33 opcodes

Sono caratteristiche di questa famiglia alcune particolarità non presenti altrove nei PIC.

  1. i pin di I/O sono definiti GPIO (General Purpose I/O pin): occorre abituarsi all' assenza dei comuni PORTA, PORTB, RA, RD, ecc. degli altri PIC. Qui ci sono solo 3+1 I/O e quindi non si può parlare di vero proprio port.
    Oltre tutto, come solito, i pin sono multiplexati su diverse funzioni ed occorre valutarne bene, dato il numero ridottissimo, le assegnazioni.
     
  2. non esiste una gestione interrupt: data la bassissima quantità di periferiche integrate e la spartanità del tutto, i progettisti di Microchip hanno deciso che non era il caso di inseriere una gestione di interrupt: le periferiche che generano l' interrupt, qui generano un reset ed è discriminandone la causa che è possibili gestire i diversi eventi.
     
  3. il set di istruzioni a 33 opcodes non ne comprende alcuni di uso comune
    Ad esempio, manca un return; al suo posto va utilizzato un retlw 0. Fortunatamente in questo caso ci pensa un automatismo di MPASM ad operare la sostituzione, fornendo nel contempo un avviso e senza bloccare la compilazione.
    Per altri codici che venissero erroneamente usati, MPASM fornirà un errore con l' indicazione generica di label non definita.

 

 

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