HD44780 - Programmazione |
Descrizione Istruzioni [12 di 65] |
HD44780 - Descrizione delle Istruzioni |
|
Il componente HD44780 è nato per costituire l'interfaccia con qualunque microprocessore o controllore di processo in grado di fornire i 2 segnali R/W e RS che regolano il traffico d'informazioni del suo bus dati a 8bit. | |
Anche una porta parallela può simulare con estrema facilità questa gestione, e sarà utilizzata per l'interfacciamento dei Moduli LCD in tutti i miei progetti. | |
Naturalmente diventa importante imparare le istruzioni che consentono il controllo alla CPU esterna; alcune sono dedicate al controllo del visualizzatore, altre alla gestione dei dati sulle 2 RAM | |
Riprendiamo un concetto importante: se il controller è occupato a gestire i trasferimenti interni e non è in grado di accettare l'istruzione successiva, per cui è necessario leggere in polling la flag di Busy (bit7 del dato letto sul bus con R/W=1 e RS=0) prima di fornire il comando successivo; questo bit è forzato internamente a 1 se il controller è occupato ad eseguire una precedente istruzione, per cui è necessario aspettare che torni a 0. | |
Le istruzioni (bytes di comando) necessarie per controllare il Modulo controllato dal HD44780 sono raccolte nella tabella seguente: |
|
Istruzione | Input | Data Bus | Descrizione |
Tempo max |
||||||||
RS | R/W | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | |||
Nop |
0 |
0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Nessuna operazione | 0 |
Cancella Display | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
Cancella il visualizzatore e fissa Address DDRam Counter a 0 |
1,52 ms | ||
Cursore a Capo | 0 | 0 | 0 | 0 | 0 | 0 | 1 | x |
fissa Address DDRam Counter a 0 senza modificare la DDRAM display spostato alla posizione iniziale |
1,52 ms | ||
Modo d'accesso dei caratteri |
0 | 0 | 0 | 0 | 0 | 1 | I | S |
Address >> I=0 Decremen I=1 Incremen display >> S=0 è bloccato S=1 scorre |
37 us | ||
Controllo Display | 0 | 0 | 0 | 0 | 1 | D | C | B |
display >> D=0 spento D=1
acceso cursore >> C=0 invisibile C=1 visibile carattere>>B=0 fisso B=1 lampeggiante |
37 us | ||
Scorrimento cursore e display | 0 | 0 | 0 | 1 | S/C | R/L | x | x |
S/C=0 il cursore si muove S/C=1 il display scorre R/L=0 verso sinistra R/L=1 verso destra (non modifica la DDRAM) |
37 us | ||
Impostazioni Parametri | 0 | 0 | 1 | DL | N | F | x | x |
interfaccia >> DL=0 a 4 bit DL=1 a 8 bit Display >> N=0 a 1 linea N=1 a 2 linee Matrice carattere >> F=0 5x7 F=1 5x10 |
37 us | ||
Indirizzo CGram | 0 | 1 | Character Generator RAM | Imposta indirizzo CGRAM per R/W dati | 37 us | |||||||
Indirizzo DDram | 1 | Display Data RAM Address | Imposta l’indirizzo DDRAM per R/W dati | 37 us | ||||||||
Lettura Bit di Stato Lettura Indirizzo |
1 | BF | Address Counter |
Legge Flag di Busy e’Address Counter BF=0 comando eseguito BF=1 comando in esecuzione |
1 us | |||||||
|
||||||||||||
Scrittura Dato | 1 | 0 | Dato da Scrivere | Scrive dati dalla CGRAM o DDRAM | 37 us | |||||||
Lettura Dato | 1 | Dato da Leggere | Legge dati nella CGRAM o DDRAM | 37 us |
|
I tempi di esecuzione (valore massimo) sono indicativi e si riferiscono ad una frequenza di oscillatore di 270 kHz; se essa cambia nel valore f# i nuovi valori si calcolano moltiplicando quelli della tabella per il fattore 270/f# (per esempio, con f#=250kHz >> 37us diventa 37*270/250= 40us). | |
Sebbene la tabella sia sinteticamente molto precisa, vediamo di proporre in dettaglio tutti i possibili codici operativi: |
|
OpCode 04H : si scrive in locazioni con indirizzo decrescente (cioè AC viene decrementato); il cursore si muove verso sinistra, cioè il testo creato rimane fisso: l'effetto è quello di una frase che si sviluppa alla rovescia all'indietro, estratta dal cursore, a partire dalla sua posizione iniziale. | ||
OpCode 05H : si scrive in locazioni con indirizzo decrescente (cioè AC viene decrementato); il cursore è mantenuto fisso, cioè il testo creato si muove verso destra: l'effetto è quello di una frase che si sviluppa alla rovescia in avanti, estratta dalla posizione iniziale del cursore. | ||
OpCode 06H : si scrive in locazioni con indirizzo crescente (cioè AC viene incrementato); il cursore si muove verso destra (cioè il display è fisso): l'effetto è quello di una frase che si sviluppa diritta in avanti, estratta dal cursore, a partire dalla sua posizione iniziale. | ||
OpCode 07H: si scrive in locazioni con indirizzo crescente (cioè AC viene incrementato); il cursore è mantenuto fisso, cioè il testo creato si muove verso sinistra: l'effetto è quello di una frase che si sviluppa diritta indietro, estratta dalla posizione iniziale del cursore.. |
|
Display LCD | Descrizione Istruzioni | |||||||
12 di 65 |
|
|
Home |
|
|||||||
|
Motore Ricerca |
|