Visualizzazione in esadecimale su LCD

  • Lello Guidi
  • Autore della discussione
  • Platino Utente
  • Platino Utente
Di più
10 Anni 5 Mesi fa #1 da Lello Guidi
Visualizzazione in esadecimale su LCD è stato creato da Lello Guidi
Ho fatto un programma con il pic 16F877A su FreedomII che mi visualizza il numero della cella in decimale.
Mi piacerebbe visualizzarlo anche in esadecimale ma non ho idea come fare a trasformalo.
l'istruzione in decimale e' la seguente:
LCD_GOTO(1,12);
LCD_PUTUN(deviceAdr);
Saluti

Lello

Si prega Accesso o Crea un account a partecipare alla conversazione.

  • firstcolle
  • Platino Utente
  • Platino Utente
Di più
10 Anni 5 Mesi fa - 10 Anni 5 Mesi fa #2 da firstcolle
Risposta da firstcolle al topic Visualizzazione in esadecimale su LCD
Questa è la soluzione che avevo trovato io... ma ci saranno soluzioni migliori... mi serviva solo come debug giusto per verificare che le variabili venissero gestite correttamente, quindi non ci ho perso molto tempo..

leggo il byte, analizzo i 4 bit alti, se sono da 0 a 9 stampo il numero a display se sono da 10 a 15 (A-F) converto in carattere e stampo il char. Stessa cosa con i 4 bit bassi.
Code:
void LCD_send_HEX(char _pbcd) { char _H = 0; // decine char _L = 0; // unità _L = _pbcd & 0b00001111; // unità = 4 bit bassi del byte in ingresso _H = (_pbcd & 0b11110000) >> 4; // decine = 4 bit alti del dato in ingresso if (_H < 10) LCD_send_data(_H + 0b00110000); // scrivo cifra piu significativa da 0 a 9 else LCD_send_data(_H + 0b00110111); // scrivo cifra piu significativa da A a F if (_L < 10) LCD_send_data(_L + 0b00110000); // scrivo cifra meno significativa da 0 a 9 else LCD_send_data(_L + 0b00110111); // scrivo cifra meno significativa da A a F }

LCD_send_data è una funzione della mia libreria.. dovresti vedere nella libreria che usi tu a cosa corrisponde...
Ultima Modifica 10 Anni 5 Mesi fa da firstcolle.
I seguenti utenti hanno detto grazie : Lello Guidi

Si prega Accesso o Crea un account a partecipare alla conversazione.

  • Lello Guidi
  • Autore della discussione
  • Platino Utente
  • Platino Utente
Di più
10 Anni 5 Mesi fa #3 da Lello Guidi
Risposta da Lello Guidi al topic Visualizzazione in esadecimale su LCD
Penso di aver capito come funziona il tuo listato.
Io uso il C della Microcip che ha una sintassi differente e inoltre devo adattarlo a un dato di 16bit, ma devo solo fare un ciclo ripetitivo.
Lo scoglio maggiore sara' adattarlo alla libreria che uso per visualizzarlo su LCD, che utilizza altri parametri.
Saluti

Lello

Si prega Accesso o Crea un account a partecipare alla conversazione.

  • Lello Guidi
  • Autore della discussione
  • Platino Utente
  • Platino Utente
Di più
10 Anni 5 Mesi fa #4 da Lello Guidi
Risposta da Lello Guidi al topic Visualizzazione in esadecimale su LCD
Adattato con le dovute modifiche funziona.
Un grazie a Firstcolle per lo spunto.
Saluti

Lello

Si prega Accesso o Crea un account a partecipare alla conversazione.

  • firstcolle
  • Platino Utente
  • Platino Utente
Di più
10 Anni 5 Mesi fa #5 da firstcolle
Risposta da firstcolle al topic Visualizzazione in esadecimale su LCD
Perfetto!!! se condividi anche il tuo codice potrebbe tornare utile anche ad altri!

Si prega Accesso o Crea un account a partecipare alla conversazione.

Moderatori: Mauro LaurentiStefA

Registrati al sito

Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.

Registrati al sito LaurTec.

Forum - Ultimi messaggi