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.
- 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.
- 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.
- 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.
|