Lettura LCD

S

saeed_pk

Guest
Ciao a tutti,
Sto lavorando su 20x4 LCD con PIC18F452 e Hi-Tech PICC-18 Compilatore
Sto usando il modulo LCD in campioni directory.

Il mio progetto continua aggiornamenti un contatore sul display LCD e ogni volta che va RCIF alta (Serial ricezione di interrupt) devo mostrare una pausa Registrati su in alto a destra.

Ogni volta che un interrupt verificarsi essa visualizzazione PVR, ma dopo il mio contatore dati che deve essere visualizzata al centro iniziare a visualizzare in terza linea i figurato il problema è la posizione del cursore quando sono tornata dal PVR LCD cursore non ha restituito alla precedente posizione in cui è stato.

Ho bisogno di una routine / come metodo per leggere la posizione corrente

del cursore e in modo che io possa liberarsi di questo problema si prega di consulenza.
 
È possibile liberarsi di questo problema utilizzando i metodi seguenti

1.Donot accesso LCD da interrompere, anziché fissare una bandiera interrompere l'aggiornamento e il display LCD a ciclo principale.

2.Prima di inviare i dati al display LCD, impostare la posizione del cursore.Assicurarsi che l'interrupt non si verifica fino alla completa dati vengono inviati al display LCD.

3.Controllare la posizione corrente del cursore, e impostare se si trova sbagliato.(Anche se la codifica è quasi uguale, sarà più veloce di 2.) È possibile ottenere la posizione del cursore con la lettura del registro se si utilizza il comando Hitachi 44780 controllore.Altri controller anche fornire funzionalità simili.

Preferisco l'opzione 1 discussi sopra.

 
Ho fatto secondo il metodo,
ciò che accade a ricevere i seriale interrompere individuare un carattere 'A' ciò che accade quando i disabilitare interrompere tale carattere viene
all'interno di questo e mi manca.

la tua prima opzione sembra essere utile, ma mi permetta di ridisegnare sorta di cosa.

nel terzo modo in cui si racconta di letturase si seleziona il controllo Registrati (RS) e Selezionare Leggi (R / W) e ho letto un byte si mi danno la posizione del cursore o cosa mi consigli per favore
 
Il Testo LCD che sono costruiti su 44780 controllore darvi l'attuale posizione di RAM Display (cursore) se hai letto il comando registro.(MSB è occupato di bandiera e il cursore si trova in posizione 7 LSBs, quindi è necessario e il risultato con 0x7F)

Se il tuo Testo LCD non è costruito su 44780, quindi hai bisogno di leggere la documentazione per vedere come si può leggere la posizione del cursore.

 
Sono anche di fronte al problema analogo 16x2 LCD
Così ho cambiato il mio codice di utilizzare 2 registri per ogni linea

Sono aggiornamento nella seconda linea UART PVR e la prima riga da tastiera
così quando sono tornato dal PVR ero perdere la posizione del cursore
ho usato i registri per memorizzare la posizione del cursore
In PVR

Carica per la prima volta la seconda fila registro valore e spostare il cursore in quel luogo increament il registro
quindi visualizzare i dati
quindi caricare la prima fila registro valore e spostare il cursore a tale valore

quindi io non perdere la mia posizione del cursore e del mantenimento della stessa per ogni tipo di visualizzazione

puoi anche provare questo metodo e di sbarazzarsi di qualsiasi problema di visualizzazione

 
utilizzare diverse variabili per la localizzazione del cursore in diverse rotte.

non utilizzare inbuilt rotte per localizzare il cursore per il 16 * 4 modulo LCD.

 
Io uso il seguente metodo.

Ho un buffer1 a buffer20.Disattivare il cursore.Che cosa ho mai voglia di scrivere, scrivere per il buffer e poi trasferire il tutto in una partita vai al modulo LCD.

Se voglio scrivere per il 12 ° posizione, ho buffer12 a scrivere e aggiornare il display LCD.

Utilizzare lo stesso buffer per tutte le linee.

I inizializzare il cursore alla posizione di origine, selezionare la linea
all'inizio della riga e poi scrivere 20 byte per il display LCD.

Hope this helps

Salute

Ravi

 
I tamponi utilizzati troppo e mi sono sentito più sicuro di seguire questa strada.
______________________________________________________
a basso costo 1/4W resistenza kit:
http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=300320789926

 

Welcome to EDABoard.com

Sponsor

Back
Top