Tesina
Di maturità
Progetto_Elettronica: il PicMicro
5AI
Anno scolastico 2012-2013 1
Indice
- Cenni storici...................................................pagina 3
- Il programmatore e i linguaggi...................................pagina 4
- Timer0 e Prescaler...............................................pagina 5
- Interfaccia LCD..................................................pagina 5
- Schemi di montaggio..............................................pagina 9
- Elenco componenti................................................pagina 10
- Come si presentano................................................pagina 11
- 12
- PIC-ENGLISH.......................................................pagina
- C.................................................................pagina 13
- Il linguaggio
- Firmware...........................................................pagina 15
2
Cenni storici
Il primo computer on-chip ottimizzato per applicazioni di controllo è stato il modello 8048 di Intel, rilasciato nel 1975, con RAM e ROM sullo stesso chip.
Questo componente è stato utilizzato in più di un miliardo di tastiere per PC e numerose altre applicazioni.
Nei primi anni di sviluppo del microcontrollore, la maggior parte dei modelli era commercializzata in due varianti.
La più economica era dotata di memoria di programma programmata in fabbrica (ROM) su specifiche del cliente oppure programmabile dall'utente una sola volta (OTP, One Time Programming).
La seconda, più costosa, aveva la memoria di programma cancellabile EPROM mediante esposizione a luce ultravioletta del chip tramite la finestrella trasparente che lo sovrastava.
Nel 1993, Microchip ha introdotto il modello di MCU PIC16C84, caratterizzato da memoria programma in EEPROM, ovvero cancellabile elettricamente, che permetteva sia lo sviluppo veloce del prototipo del prodotto finito, sia la modifica del Firmware a circuito montato (In-System Programming).
La semplificazione del contenitore (package), senza finestrella in quarzo, ha contribuito a ridurre il costo finale del componente.
Nello stesso anno, Atmel ha rilasciato il primo MCU che utilizzava una memoria di tipo flash, ancora più semplice e veloce da programmare/modificare, più compatta e con un ciclo di vita (cancellazioni) molto più elevato.
Questo ha segnato l'inizio del massiccio utilizzo del microcontrollore nelle più disparate applicazioni.
Il microcontrollore o microcontroller o MCU (MicroController Unit) è un dispositivo elettronico integrato su singolo chip, nato come evoluzione alternativa al Microprocessore ed utilizzato generalmente in sistemi embedded ovvero per applicazioni specifiche (special purpose) di controllo digitale. 3
Il programmatore e i linguaggi
Quali sono i linguaggi di programmazione che si possono utilizzare nei PICMicro?
Il linguaggio di programmazione predefinito dei PICMicro è l'assembler.
L'assembler è sicuramente un modo molto potente di gestire il nostro microcontrollore ma non è certo il più semplice da apprendere.
Per programmare in assembler bisogna avere prima di tutto una profonda conoscenza dell'architettura interna del PICMicro che stiamo utilizzando e una mente davvero molto elastica: realizzare le cose in assembler richiede spesso davvero molte righe di codice, che magari in C vengono scritte in maniera molto più semplice e/o intuitiva.
Ma l'assembler in alcuni rari casi è davvero necessario.
Le istruzioni assembler disponibili per ogni PICMicro sono contenute nel suo Datasheet, così come la descrizione della segmentazione della memoria e di tutte le funzioni.
Il linguaggio, però, più semplice per la programmazione dei PicMicro è il C.
I linguaggi C che seguono gli standard vengono chiamati ANSI-C.
Oltre all'assembler e al C, esistono anche il Basic e di recente anche il Pascal.
Quale programmatore utilizzare?
Personalmente mi sono servito di uno strumento ideato dalla Microchip: il PICKIT2 (oggi giunto alla versione 3):
Tale programmatore oltre a presentare il netto vantaggio di essere davvero piccolo e funzionante su USB senza alimentazioni aggiuntive, ha anche altri lati positivi: costa poco, il firmware è aggiornabile, lo si può utilizzare anche come tester per segnali digitali e ha un suo software di programmazione realizzato dalla stessa Microchip.
Molti altri PicMicro hanno anche disponibile la funzione LVP (Low Voltage Programming) che permette la programmazione a basso voltaggio (ovvero non dovremo più fornire i 13.5 V sul pin MCLR ma soltanto 5V) ma richiede per la programmazione l'utilizzo di un pin aggiuntivo
(contrassegnato come PGM, normalmente non utilizzato per la programmazione standard).
Altra buona modalità di programmazione di alcuni PIC è quella tramite BootLoader: si programma per la prima volta il PIC in maniera normale, inserendo al suo interno un programma particolare che prende il nome di Bootloader, che occupa poco spazio.