Display LCD PIC
Il progetto qui presentato permette di gestire un display LCD tipo (DG201203-1 ) tramite un PIC16F876. Il microcontrollore si interfaccia con un integrato Intersil ICM7211AMIPL per gestire le 4 cifre decimali presenti sul display, mentre i simboli extra vengono gestiti sempre tramite il PIC e 8 latch (integrato 4099).
PCB
Di seguito è riportato lo schema elettrico del progetto (cliccare sull'immagine per ingrandire):
Viene usato il PORTB del PIC per comandare sia IC1 che IC2, ma questa scelta non è vincolante, a patto di modificare il programma software. Tutti e 8 i bit del PORTB vengono usati e sono condivisi tra i due integrati. Nella tabella seguente viene riportato il dettaglio:
| Bit PORTB | ICM7211AM (IC1) | 4099 (IC2) |
| Bit 0 | Dato1 | Address0 |
| Bit 1 | Dato2 | Address1 |
| Bit 2 | Dato3 | Address2 |
| Bit 3 | Dato4 | Dato |
| Bit 4 | Digital Address1 | |
| Bit 5 | Digital Address2 | -- |
| Bit 6 | Chip Select1! | -- |
| Bit 7 | -- | Write Disable |
L'ordine con cui sono assegnati i simboli extra è casuale e può essere modificato a piacimento.
Per quanto riguarda i collegamenti del display LCD bisogna sottolineare che è necessario collegare TUTTI i pin del visore per evitare fastidiosi accoppiamenti capacitivi tra i segmenti. Quei segmenti che non vengono utilizzati devono essere collegati al comune (COM). Questo ultimo pin va collegato al pin BP di IC1, la cui uscita è un'onda quadra alla frequenza di 150Hz. Per accendere un segmento infatti è sufficiente negare questo segnale e inviarlo al pin del display, mentre per spegnerlo basta inviare BP diretto. Per maggiori dettagli è possibile consultare il datasheet del ICM7211 .
Gli 8 latch devono memorizzare lo stato del simbolo extra (on, off). Nel primo caso l'uscita del latch sarà alta quindi lo XOR avrà in ingresso un 1 fisso e BP (segnale periodico ad onda quadra): l'uscita dello XOR sarà quindi il negato BP. Nel caso si voglia spegnere il segmento extra, basta memorizzare 0 nel latch e l'uscita dello XOR sarà BP.
Al bit 0 del PORTC è collegato un led che si accende o si spegne per un secondo alternando i due stati.
Avendo messo GND sul pin OSC di IC1 ho abilitato l'oscillatore interno dell'integrato
Software
Il programma scritto per il PIC16F876 può essere usato come test per le 4 cifre e per i simboli extra del display. La cifra LSB conta da 0 a 7 e per ogni numero viene acceso il simbolo extra corrispondente. Le altre 3 cifre visualizzano in scorrimento i numeri precedenti. La tabella seguente riporta un esempio di visualizzazione:
| Simbolo extra acceso | Cifra 3 | Cifra 2 | Cifra 1 | Cifra 0 |
| Simbolo extra 0 | 0 | 0 | 0 | 0 |
| Simbolo extra 1 | 0 | 0 | 0 | 1 |
| Simbolo extra 2 | 0 | 0 | 1 | 2 |
| Simbolo extra 3 | 0 | 1 | 2 | 3 |
| Simbolo extra 4 | 1 | 2 | 3 | 4 |
| ... | . | . | . | . |
| Simbolo extra 7 | 4 | 5 | 6 | 7 |
Da questi link è possibile scaricare il programma in formato Assembler o direttamente eseguibile:
Per rendere più versatile il progetto realizzato ho pensato di collegare gli 8 pin di ingresso ad un connettore 15 poli tipo porta seriale e di seguito è riportata la piedinatura.
| Connettore 15 poli femmina | ||
| Connessione con ICM7211AM | Connessione con 4099 | |
| Pin 1 | Dato 0 | Indirizzo 0 |
| Pin 2 | Dato 1 | Indirizzo 1 |
| Pin 3 | Dato 2 | Indirizzo 2 |
| Pin 4 | Dato 3 | Dato |
| Pin 5 | Digital Address 1 | |
| Pin 6 | Digital Address 2 | -- |
| Pin 7 | Chip Select 1 | -- |
| Pin 8 | -- | Write Disable |
| Pin 9 | GND | |
| Pin 10 | Vdd 5V | |
| Pin 11 | NC | |
| Pin 12 | NC | |
| Pin 13 | NC | |
| Pin 14 | NC | |
| Pin 15 | NC | |
| < Prec. |
|---|



