- Messaggi: 353
- Ringraziamenti ricevuti 8
Lcd 4x40 e PCF8574A - HELP
11 Anni 4 giorni fa #1
da elpablito
Lcd 4x40 e PCF8574A - HELP è stato creato da elpablito
buon giorno
Stavo riordinando un po' di idee visto che ho del tempo a disposizione e ho deciso di risistemare una libreria che avevo usato per pilotare degli LCD a 4 righe e 40 caratteri. Questi LCD hanno bisogno di 8 + 4 PINS I/O per funzionare. In precedenza usavo una CPU con 64 pins quindi nessun problema, ma ora vorrei fare una libreria per poterli utilizzare con processori a 16 o 20 pins. Ne viene di conseguenza l'uso di un PCF8574 per liberare un po' di pins per altri usi. Tutto bene fino a quando mi sono posto il problema di come leggere il fine operazione dell'LCD. IL 'coso' infatti quando ha finito di eseguire l'istruzione in corso manda alto il bit 7 sul bus dati. Nessun problema se la connessione è diretta a un pin della CPU, ma con il PCF la cosa è diversa.
L'idea era quella di continuare a leggere la porta del PCF fino a quando non viene individuato il pin 7 del bus dati alto. Il PDF dello stesso va affermando però che affinché la lettura della porta sia reale il PCF necessita di un reset o di portare tutti a uno i bit della sua porta con un istruzione di scrittura. OK e io come faccio a leggere che il bit 7 è andato a 1 ?
Chiaramente si può risolvere il problema con un ritardo fisso, ma sarebbe interessante sapere se il problema è risolvibile con il PCF.
Il solito saluto generalizzato
Paolo
Stavo riordinando un po' di idee visto che ho del tempo a disposizione e ho deciso di risistemare una libreria che avevo usato per pilotare degli LCD a 4 righe e 40 caratteri. Questi LCD hanno bisogno di 8 + 4 PINS I/O per funzionare. In precedenza usavo una CPU con 64 pins quindi nessun problema, ma ora vorrei fare una libreria per poterli utilizzare con processori a 16 o 20 pins. Ne viene di conseguenza l'uso di un PCF8574 per liberare un po' di pins per altri usi. Tutto bene fino a quando mi sono posto il problema di come leggere il fine operazione dell'LCD. IL 'coso' infatti quando ha finito di eseguire l'istruzione in corso manda alto il bit 7 sul bus dati. Nessun problema se la connessione è diretta a un pin della CPU, ma con il PCF la cosa è diversa.
L'idea era quella di continuare a leggere la porta del PCF fino a quando non viene individuato il pin 7 del bus dati alto. Il PDF dello stesso va affermando però che affinché la lettura della porta sia reale il PCF necessita di un reset o di portare tutti a uno i bit della sua porta con un istruzione di scrittura. OK e io come faccio a leggere che il bit 7 è andato a 1 ?
Chiaramente si può risolvere il problema con un ritardo fisso, ma sarebbe interessante sapere se il problema è risolvibile con il PCF.
Il solito saluto generalizzato
Paolo
Si prega Accedi o Crea un account a partecipare alla conversazione.
- elpablito
- Autore della discussione
- Platinum Member
Riduci
Di più
11 Anni 3 giorni fa #2
da elpablito
Risposta da elpablito al topic Lcd 4x40 e PCF8574A - HELP
Sono io di ritorno essendomi accorto di aver detto la solita porcheria.
Quando il display è pronto ad accettare la nuova istruzione il busy flag, bit 7 del bus dati va basso non alto come detto in precedenza. Quindi,se ho capito bisognerebbe scrivere uno 0xff sul PCF poi leggere in continuazione lo stesso fino a leggere il bit7 andato a 0. E vero?
Saluti Paolo
Quando il display è pronto ad accettare la nuova istruzione il busy flag, bit 7 del bus dati va basso non alto come detto in precedenza. Quindi,se ho capito bisognerebbe scrivere uno 0xff sul PCF poi leggere in continuazione lo stesso fino a leggere il bit7 andato a 0. E vero?
Saluti Paolo
Si prega Accedi o Crea un account a partecipare alla conversazione.
- elpablito
- Autore della discussione
- Platinum Member
Riduci
Di più
- Messaggi: 353
- Ringraziamenti ricevuti 8
11 Anni 3 giorni fa #3
da Mauro Laurenti
Risposta da Mauro Laurenti al topic Lcd 4x40 e PCF8574A - HELP
Ciao Paolo,
al situazione e' quindi meglio.
Hai letto questo articolo sul PCF8574 ?
In particolare puoi utilizzare anche la linea INT ed evitare di dover monitorare in polling il tutto.
Saluti,
Mauro
al situazione e' quindi meglio.
Hai letto questo articolo sul PCF8574 ?
In particolare puoi utilizzare anche la linea INT ed evitare di dover monitorare in polling il tutto.
Saluti,
Mauro
Si prega Accedi o Crea un account a partecipare alla conversazione.
11 Anni 3 giorni fa #4
da elpablito
Risposta da elpablito al topic Lcd 4x40 e PCF8574A - HELP
Ciao al Mauro
Mi pareva di aver letto qualche cosa da qualche parte ma non ricordavo. Però non mi è tutto chiarissimo
confermami questa logica che poi provo a scrivere.
1) Scrivo FF sul PCF è come lo resettassi; le sue uscite vanno tutte a 1. Il PCF si memorizza questo stato.
La porta del PCF rimane a FF fin quando o non cambio il suo ingresso o non lo faccio cambiare via IIC.
2) Sfruguglio LCD con RS e R/W fin quando, finite le cose sue, commuta la porta dati in uscita e presenta
sulla stessa l'indirizzo corrente e il busy flag. Spererei che le due cose avvengano in contemporanea.
3) Il PCF confronta i dati ora presenti sulla porta che differiscono dai precedenti FF e attiva l'interrupt
4) Mi leggo con un I/O della CPU l'interrupt poi con IIC vado a leggere la porta dell'LCD via PCF
Si ringrazia
Paolo
Mi pareva di aver letto qualche cosa da qualche parte ma non ricordavo. Però non mi è tutto chiarissimo
confermami questa logica che poi provo a scrivere.
1) Scrivo FF sul PCF è come lo resettassi; le sue uscite vanno tutte a 1. Il PCF si memorizza questo stato.
La porta del PCF rimane a FF fin quando o non cambio il suo ingresso o non lo faccio cambiare via IIC.
2) Sfruguglio LCD con RS e R/W fin quando, finite le cose sue, commuta la porta dati in uscita e presenta
sulla stessa l'indirizzo corrente e il busy flag. Spererei che le due cose avvengano in contemporanea.
3) Il PCF confronta i dati ora presenti sulla porta che differiscono dai precedenti FF e attiva l'interrupt
4) Mi leggo con un I/O della CPU l'interrupt poi con IIC vado a leggere la porta dell'LCD via PCF
Si ringrazia
Paolo
Si prega Accedi o Crea un account a partecipare alla conversazione.
- elpablito
- Autore della discussione
- Platinum Member
Riduci
Di più
- Messaggi: 353
- Ringraziamenti ricevuti 8
11 Anni 3 giorni fa #5
da Mauro Laurenti
Risposta da Mauro Laurenti al topic Lcd 4x40 e PCF8574A - HELP
Il punto 3 non e' coretto al 100%. Non necessariamente hai FF se tra il punto 1 e il 3 scrivi vari dati.
Altrimenti il resto mi sembra ok.
Saluti,
Mauro
Altrimenti il resto mi sembra ok.
Saluti,
Mauro
Si prega Accedi o Crea un account a partecipare alla conversazione.
Moderatori: Mauro Laurenti, StefA, Matteo Garia
Registrati al sito
Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.