Guida alla Programmazione in C del PIC, 1° Parte

NE555 Programmazione PIC16f84A Guida   Nella Prima Parte viene Esaminata la Struttura Interna del PIC16F84A, soffermandosi sulla Piedinatura, Caratteristiche Elettriche e sul Clock…


 
 
 
 




 

INTRO
I pic sono dei circuiti integrati prodotti dalla MICROCHIP e appartengono alla categoria dei microcontrollori, componenti che integrano al loro interno i circuiti necessari a realizzare un sistema digitale programmabile. Sono in grado di generare funzioni automaticamente o in base a degli eventi o in base al tempo.

 




 

STRUTTURA INTERNA PIC, SCHEMA A BLOCCHI

NE555 Programmazione PIC16f84A Guida

Le componenti essenziali di cui dispone il pic al suo interno sono:
CPU: Interpreta le istruzioni del programma e le esegue;
MEMORIA EEPROM: Memorizza in maniera permanente il programma;
MEMORIA RAM:Memorizza le variabili utilizzate dal programma.
LINEE DI I/O: Pilotano dispositivi o ricevano e inviano segnali digitali;
In questo esempio abbiamo preso in esame il diagramma a blocchi del PIC16F84A.

 

LA PIEDINATURA DEL PIC

NE555 Programmazione PIC16f84A Guida
VDD, piedino 14, è il terminale positivo di alimentazione del PIC,la tensione può assumere un valore che va da un minimo di 2.5V ad un massimo di 5.5V.

VSS, piedino 5, va connesso il negativo della tensione di alimentazione.

MCLR, piedino 4, é il piedino di reset del PIC. Se è posto a potenziale alto è disabilitato, se è a livello logico basso è attivo. Il PIC dispone di un reset interno, quindi questo piedino è posto a livello alto tramite una resistenza da 4,7k a 10k.

OSC1/CLKIN – OSC2/CLKOUT, piedini 15 e 16, sono i piedini che servono a generare o ricevere il clock. Il clock è necessario al pic per eseguire le istruzioni. L’oscillatore per il pic può essere vari tipi, ad esempio:

LP: Quarzo a bassa frequenza;
XT: Quarzo o risuonatore;
HS: Quarzo o risuonatore ad alta frequenza;
RC: Oscillatore resistenza-condensatore;

Nei primi 3 casi si effettua il seguente collegamento:

NE555 Programmazione PIC16f84A Guida   Alte capacità di C1 e C2 incrementano la stabilità del clock ma aumentano anche il tempo di avvio di quast’ultimo.

Nel caso di un oscillatore RC avremo:

NE555 Programmazione PIC16f84A Guida   L’oscillatore RC è influenzato dalla tensione di alimentazione e dalla temperatura, quindi è meno preciso rispetto a quello con quarzo o risuonatore. Il valore di C non deve superare 220pF La frequenza con oscillatore RC è:
NE555 Programmazione PIC16f84A Guida   Un’altra soluzione è quella di inviare al piedino 16 del PIC un segnale di clock generato da un circuito esterno. Questa situazione serve a sincronizzare 2 o più PIC.

Il pic esegue le istruzioni ogni 4 cicli di clock, quindi con un cristallo da 4MHZ avremo che le istruzioni vengono eseguite ogni:
NE555 Programmazione PIC16f84A Guida   Passiamo ora ad analizzare le linee di input/output:

RA0-RA4 E RB0-RB7 Sono le 13 linee di ingresso/uscita programmabili all’interno del codice in modo individuale come linee di ingresso o uscita. La configurazione di questi pin è mappata all’interno di 2 registri: PORTA e PORTB.

La struttura a blocchi delle uscite del registro PORTA è così fatta:

NE555 Programmazione PIC16f84A Guida   Notiamo che le uscite da RA0 ad RA3 presentano un ingresso di tipo TTL, mentre l’uscita è di tipo CMOS ovvero è formata da un P-MOS per portare a livello logico alto il segnale e un N-MOS per forzare a livello logico basso l’uscita.

Per quanto riguarda il pin RA4 possiamo notare che non presenta il P-Mos in uscita, quindi l’uscita può essere portata solo a livello logico basso, mentre l’ingresso ha una tecnologia a trigger di Schmitt. RA4 è particolare, condivide in pin con l’ingresso del pic T0CKI ovvero l’ingresso del contatore TMR0 che può essere incrementato con un clock esterno.

Analiziamo ora lo schema a blocchi delle uscite del registro PORTB:

NE555 Programmazione PIC16f84A Guida   Il primo pin, RB0 può essere usato come ingresso e uscita e inoltre come ingresso di un segnale di INTERRUPT esterno. Presentano tutti un ingresso di tipo TTL tranne RB0 che presenta un ingresso con tecnologia a trigger di Schmitt. Per quanto riguarda l’uscita questi pin presentano un weak P-MOS di pull-up e un buffer per l’uscita.

 




 

CARATTERISTICHE FISICHE DEL PIC16F84A
CARATTERISTICHE CPU E MEMORIA:
*Clock massimo 20MHz
*200ns per eseguire una istruzione
*Memoria di programma da 1024Words
*68bytes memoria RAM e 64bites memoria EEPROM

CARATTERISTICHE DELLE PERIFERICHE:
*13 linee di ingresso/uscita
*25mA di corrente assorbita ed erogata dalle uscite
*TMR0 timer ad 8 bit
*Minimo livello di tensione
riconosciuto alto con ingresso TTL = 0.25*VDD+0.8
*Minimo livello di tensione
riconosciuto alto con ingresso Schmitt Trigger buffer = 0.8*VDD
*Massimo livello di tensione
riconosciuto basso con ingresso TTL = 0.16*VDD
*Massimo livello di tensione
riconosciuto basso con ingresso Schmitt Trigger buffer = 0.2*VDD

CARATTERISTICHE SPECIALI DEL PIC:
*10,000 cicli di scrittura/cancellatura della memoria FLASH
*10,000,000 cicli di scrittura/cancellatura della memoria EEPROM
*Protezione del codice
*Sleep mode
*Range di alimentazione da 4.5V a 5.5V
*Basso consumo, 2mA a 5V e 4MHz

 




 

1043 Visite totali 1 Visite di oggi
Guida alla Programmazione in C del PIC, 1° Parte ultima modifica: 2013-11-06T12:07:18+00:00 da ne555

2 pensieri su “Guida alla Programmazione in C del PIC, 1° Parte

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *