- Messaggi: 5
- Ringraziamenti ricevuti 0
Libreria LCD C18 e pic18F14K50
12 Anni 5 Mesi fa #1
da nlubello
Libreria LCD C18 e pic18F14K50 è stato creato da nlubello
Ciao a tutti sono uno studente di ingegneria elettronica alle prime armi ma molto appassionato!!
Sto diventando pazzo per far funzionare un display lcd con controller HD44780 con il micro in oggetto!
In pratica imposto tutti i pin e registri, disabilito periferiche e ADC ma l'unica cosa che si nota sul display è un misero lampeggio della prima riga con i caratteri scuri.
La cosa migliora se nella routine di OpenLCD commento l'ultima riga ClearLCD ();
al che la riga che mi indica che il dispay è da inizializzare sparisce ma non scrive nessun carattere!
Premetto che i pin di uscita del micro sono tutti funzionanti e il display funziona regolarmente con pic 16F e Arduino!!
In allegato il mio povero tentativo
Sto diventando pazzo per far funzionare un display lcd con controller HD44780 con il micro in oggetto!
In pratica imposto tutti i pin e registri, disabilito periferiche e ADC ma l'unica cosa che si nota sul display è un misero lampeggio della prima riga con i caratteri scuri.
La cosa migliora se nella routine di OpenLCD commento l'ultima riga ClearLCD ();
al che la riga che mi indica che il dispay è da inizializzare sparisce ma non scrive nessun carattere!
Premetto che i pin di uscita del micro sono tutti funzionanti e il display funziona regolarmente con pic 16F e Arduino!!
In allegato il mio povero tentativo
Si prega Accedi o Crea un account a partecipare alla conversazione.
- nlubello
- Autore della discussione
- New Member
Riduci
Di più
12 Anni 5 Mesi fa #2
da Mauro Laurenti
Risposta da Mauro Laurenti al topic Re: Libreria LCD C18 e pic18F14K50
Ciao,
da una prima lettura del codice non vedo problemi.
Considero che il trimmer per il contrasto sia regolarmente presente e propriamente impostato.
Normalmente una riga nera, se non legata ad un contrasto eccessivo, deriva dal fatto che il controller non e' inizializzato.
Il controller potrebbe non inizializzarsi a causa di tempi errati.
Quale' la frequenza del quarzo esterno che usi?
Penserei 12MHz?
Saluti,
Mauro
da una prima lettura del codice non vedo problemi.
Considero che il trimmer per il contrasto sia regolarmente presente e propriamente impostato.
Normalmente una riga nera, se non legata ad un contrasto eccessivo, deriva dal fatto che il controller non e' inizializzato.
Il controller potrebbe non inizializzarsi a causa di tempi errati.
Quale' la frequenza del quarzo esterno che usi?
Penserei 12MHz?
Saluti,
Mauro
Si prega Accedi o Crea un account a partecipare alla conversazione.
12 Anni 5 Mesi fa #3
da nlubello
Risposta da nlubello al topic Re: Libreria LCD C18 e pic18F14K50
Il contrasto è regolato bene ed ho anche aggiunto un condensatore sia in prossimita dell'alimentazione del micro che vicino al display.
il clock del micro proviene da un quarzo 12Mhz, ho provato sia con PLL (cioè a 48Mhz) che senza
Ho notato che il ritardo si dovrebbe calibrare in base al numero che viene passato durante l'inizializzazione nella relativa funzione.
Come potrei controllare se il ritardo è giusto??
Purtroppo ho un vecchio oscilloscopio analogico che con segnali aventi fronti ripidi sballa completamente il trim perciò non riesco a "fermare" il segnale
il clock del micro proviene da un quarzo 12Mhz, ho provato sia con PLL (cioè a 48Mhz) che senza
Ho notato che il ritardo si dovrebbe calibrare in base al numero che viene passato durante l'inizializzazione nella relativa funzione.
Come potrei controllare se il ritardo è giusto??
Purtroppo ho un vecchio oscilloscopio analogico che con segnali aventi fronti ripidi sballa completamente il trim perciò non riesco a "fermare" il segnale
Si prega Accedi o Crea un account a partecipare alla conversazione.
- nlubello
- Autore della discussione
- New Member
Riduci
Di più
- Messaggi: 5
- Ringraziamenti ricevuti 0
12 Anni 5 Mesi fa #4
da Mauro Laurenti
Risposta da Mauro Laurenti al topic Re: Libreria LCD C18 e pic18F14K50
Ciao,
1) Controlla l'assemblaggio e accertati che i 4 bit usati sull'LCD siano D4-D7 e non D0-D3. Controlla anche le altre linee specialmente se hai montato tutto manualmente e con fili volanti.
2) Se fai uso del PLL devi considerare la frequenza finale come parametro da passare alla funzione di inizializzazione.
3) Prova ad usare il quarzo a 12MHz e passare alla funzione il valore 40 MHz. In questo modo rallenti l'inizializzazione ingannando la funzione di inizializzazione (Il clock e' di 12MHz invece di 40MHz).
Saluti,
Mauro
1) Controlla l'assemblaggio e accertati che i 4 bit usati sull'LCD siano D4-D7 e non D0-D3. Controlla anche le altre linee specialmente se hai montato tutto manualmente e con fili volanti.
2) Se fai uso del PLL devi considerare la frequenza finale come parametro da passare alla funzione di inizializzazione.
3) Prova ad usare il quarzo a 12MHz e passare alla funzione il valore 40 MHz. In questo modo rallenti l'inizializzazione ingannando la funzione di inizializzazione (Il clock e' di 12MHz invece di 40MHz).
Saluti,
Mauro
Si prega Accedi o Crea un account a partecipare alla conversazione.
12 Anni 5 Mesi fa #5
da nlubello
Risposta da nlubello al topic Re: Libreria LCD C18 e pic18F14K50
Ho controllato tutto altre mille volte ma non c'è verso di risolvere.
Allora i collegamenti tra micro e lcd sono tutti ben fatti, cavetti corti e con contatti sicuri,
RW e i pin da D0 a D3 dell'LCD sono al riferimento GND.
L'lcd funziona perchè semplicemente spostando i cavetti su arduino funziona tutto a meraviglia.
Se aumento il parametro della funzione di inizializzazione il "lampeggio" della riga nera è più visibile ma continua a non funzionare!
Ho controllato da Datasheet HD44780 e ho avvicinato i tempi di delay dell'inizializzazione con quelli riportati ma continua a non funzionare.
Dalla disperazione ho provato la libreria xlcd.h adattando i collegamenti senza riportare ancora alcun successo!
Allora i collegamenti tra micro e lcd sono tutti ben fatti, cavetti corti e con contatti sicuri,
RW e i pin da D0 a D3 dell'LCD sono al riferimento GND.
L'lcd funziona perchè semplicemente spostando i cavetti su arduino funziona tutto a meraviglia.
Se aumento il parametro della funzione di inizializzazione il "lampeggio" della riga nera è più visibile ma continua a non funzionare!
Ho controllato da Datasheet HD44780 e ho avvicinato i tempi di delay dell'inizializzazione con quelli riportati ma continua a non funzionare.
Dalla disperazione ho provato la libreria xlcd.h adattando i collegamenti senza riportare ancora alcun successo!
Si prega Accedi o Crea un account a partecipare alla conversazione.
- nlubello
- Autore della discussione
- New Member
Riduci
Di più
- Messaggi: 5
- Ringraziamenti ricevuti 0
Moderatori: Mauro Laurenti, StefA, Matteo Garia
Registrati al sito
Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.