Esercitazioni ASM - PIC18

 


ESERCITAZIONE # 12b


Esecuzione

Per verificare se il display è ok, una volta applicata tensione, senza ancora attivare il programma, il display stesso dovrà aver effettuato il reset hardware. Ruotando il contrasto verso 0 volt si visualizzerà la prima riga con tutti i caratteri riempiti di un rettangolo scuro (o chiaro, a seconda della presenza o meno della retro illuminazione); questo indica che il display, almeno in via di massima, è funzionante. Qui maggiori informazioni.

Altre informazioni su possibili problematiche nell' uso dei moduli LCD a caratteri, le trovate qui.

Nel nostro caso è stato usato un display NHD0216KHZ-NBW-BBW-L di Newhaven, reperibile ad esempio da DigiKey.
Si tratta di un 2 righe da 16 caratteri, fondo blu con scritte in bianco, retro illuminato.
Non corre la Rs perchè il costruttore l' ha già montata a bordo del circuito stampato. La retro illuminazione richiede meno di 80 mA.
Ovviamente si potrà utilizzare qualsiasi altro display che sia 2x16  e HD44780 compatibile. Se si utilizza un display diverso occorrerà modificare il modello locale del modulo.

Una volta assemblato il sorgente e caricata la memoria del PIC, basta lanciare il programma con  Run  e, se tutto è a posto, il display visualizzerà il test.
Se questo non succede, dopo aver verificato con cura i collegamenti, provate a regolare il contrasto: i caratteri dovranno apparire chiaramente.

Leggendo il sorgente, si troverà una notevole quantità di nop prima delle varie funzioni; essi non sono funzionali al programma, ma sono stati inseriti solamente per poter introdurre con facilità breakpoints di arresto dell' esecuzione per un analisi passo-passo del programma.


Il programma di test effettua le seguenti operazioni:

  1. inizializza I/O per il display
  2. esegue controlli sulle linee, sul cursore e su varie funzioni del package
  3. scrive messaggi utilizzando le funzioni temporizzate del package
  4. visualizza il set di caratteri del modulo con il relativo valore esadecimale
  5. carica un set di caratteri in CGRAM e li visualizza

Qui un filmato dell' esecuzione del test.

Il package consente di richiamare gli entry point resi disponibili dalle librerie di subroutine e di macro ed utilizzarli in qualsiasi punto del programma.
L' uso della libreria ci permette di impiegare le sue macro-funzioni senza interessarci di come esse operino; ci interessano solo come blocchi logici che, a fronte di un ingresso, generano una ben determinata uscita.

Sempre riguardo alle librerie, il programma di test utilizza anche la già vista libreria per commutare le frequenze disponibili nel sistema di clock interno dei PIC18F, viste nell' Esercitazione 5.


Il package del driver, il progetto di MPLAB e le librerie accessorie sono scaricabili qui per la versione con RW e senza RW.


Espansioni possibili dell' esercitazione possono essere:

  • usare moduli LCD differenti e scrivere il file di LocalModel necessario
  • variare i parametri nel LocalModel allo scopo di verificare le possibilità di riduzione dei tempi
  • verificare il funzionamento con diverse lunghezze dei cavi di collegamento tra microcontroller display
  • ideare test aggiuntivi, ad esempio di lettura della RAM
  • implementare altri simboli per la CGRAM

 

 

Copyright © afg. Tutti i diritti riservati.
Aggiornato il 14/01/13.