Salve, sto facendo un circuito con pic16f876, tastiera a matrice e display lcd 20x4. Ho una variabile tipo char usata come contatore, e mi serve visualizzare sull'lcd il valore di questo contatore. Come si fa a convertire un valore numerico in una stringa ascii da usare con il comando Lcd_out(...); ? Uso MikroC
Ok, grazie. comunque sicuro che non sia il contrario, ovvero unità in cifra1 e via di seguito? però a me serve il codice ascii corrispondente ad ogni cifra del valore da visualizzare.
Si, unita' in cifra1, tra l'altro questo sistema secondo me usa molte meno risorse di funzioni generali di conversione (stiamo parlando di un PIC di fascia media/bassa, quindi userei il C il piu' possibile in "modo assembly")
E' un metodo semplice, siccome sono microprocessori poco potenti preferisco evitare routine complesse. In genere evito anche di lavorare in virgola mobile per poi formattare il risultato, se ad esempio mi è necesasrio un decimale preferisco fare le operazioni con numeri interi moltiplicando per
10 e poi inserire il punto decimale quando è ora di visualizzare su display:
decbcd(2349); //visualizzo 234.9
if(cifra4){lcd_putch(cifra4+48);}else{lcd_putch(' ' );} //soppressione zero non significativo
if(cifra4==0 && cifra3==0){lcd_putch(' ');}else{lcd_putch(cifra3+48);} //soppressione zero non siginficativo
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.