|
|
Esperienze
con i Pic |
|
Il PIC 16F84 e un microcontrollore molto
versatile, ha una piedinatura di 9+9 pin e questi 18 piedini
si dividono nel seguente modo:
13 piedini si dividono nelle due porte
bi-direzionabili ( possono essere settate a scelta in input
o output )
5 Pin compongono la Port-A ( RA )
8 Pin compongono la Port-B ( RB )
inoltre :
Pin 5 alimentazione (2V < Vcc < 6V)
Pin 14 massa
Pin 15 e 16 i clock-Out e clock-In.
Pin 4 reset ( va collegato a Vss con una resistenza da 1Kohm
- Alto Run - Basso Stop (Attivo Basso))
Comunicazione interna su bus a 8 bit ( lavora quindi con
un byte alla volta)
Ram di 68 byte
Eeprom interna di 64 byte
Freq. Clock max 10 MHz
Output 20ma a livello alto e 25ma a livello basso (ottimo
per pilotare direttamente LED) |
|
|
|
|
I tipi di clock adattabili sono RC, LP, HS, XT.
|
|
RC:
Il clock RC si ottiene ponendo una rete
resistenza - condensatore tra i pin 16 (Clock-In) e 14 (VDD).
Questa è la soluzione più economica. Il clock-Out (Pin15)
genera una frequenza pari a quella del clock-In, questo
segnale può essere usato come sincronismo (con R=4.7K e
C=20pF si ottiene circa 1 MHz), il circuito è
rappresentato in Figura. |
|
|
|
LP:
Questa opzione definisce l’uso di un
cristallo con basso assorbimento di corrente ( Low power
crystal ). |
HS:
Questa opzione definisce l’uso di un
cristallo ad alta frequenza ( High speed crystal ). |
XT:
Questo tipo di clock si ottiene con un
quarzo e due condensatori di sfasamento. Questo
è il tipo di clock più usato poiché ha dei parametri
standard. |
|
|
|
Questi in tabella i Valori di defaults |
|
|
Per programmare un microcontrollore, bisogna conoscere il
suo set di istruzioni. Nel nostro caso, il pic 16f84 ha un
set di istruzioni composto da 35 istruzioni divisibili in 3
gruppi.
· Byte-oriented
questo gruppo d’istruzioni opera su un
registro di 8 bit, quindi tutte le operazioni fatte vanno a
modificare il contenuto di un registro.
· Bit-oriented
questo gruppo comprende 4 istruzioni che
operano su un singolo bit di un registro.
· Literal and control
questo gruppo d’istruzioni opera su una
costante di 8 bit, questa costante ( literal ) va a
modificare un registro in base all’operazione che si deve
eseguire. |
|
Queste istruzioni vanno lanciate con i parametri elencati di
seguito |
|
|
f : Questo parametro rappresenta il
registro. Il nome del registro può essere personalizzato in
modo da facilitare le operazioni all’utente, penserà poi il
compilatore a dare un vero indirizzo al registro.
w : è un accumulatore, un registro
utilizzato dal PIC per memorizzare un dato
temporaneamente.
d : Questo parametro può assumere solo i
valori 0 o 1, e indica dove il dato verrà salvato. Se
d = 1 allora il dato verrà salvato nel registro f, se d = 0
il dato verrà salvato nel registro w.
b : Questo parametro definisce il bit su
cui deve essere portata a termine l’operazione, poiché i bit
di un registro sono 8, il valore che può assumere varia tra
0 e 7.
k : Questo dato è una costante di 8 bit
e lavora solo con le istruzioni del terzo gruppo.
Per il set d’istruzioni completo riferirsi
al datasheet. |
|
|
|
Scrivere un programma per Pic |
|
|
|
|