Pagina 1 di 1

Variabile tipo int conversione in BCD

MessaggioInviato: 29 mar 2014, 18:47
da JAndrea
Ciao a tutti
In un progetto che sto realizzando utilizzando un PIC18f24J10 vorrei visualizzare su tre display a 7 segmenti il valore di una variabile di tipo Int, che, per come è costituito il programma sta sempre nel range di valori 1-512.
Proprio per visualizzare tale dato ho la necessita di dividerlo in 3 variabili BCD (unità decine centinaia), ma nonostante le ricerche non ho trovato un metodo per fare quel che chiedo.
Il programma è stato scritto utilizzando MPLAB e C18.
Grazie a tutti.

Re: Variabile tipo int conversione in BCD

MessaggioInviato: 29 mar 2014, 19:37
da g.schgor
Guarfa se ti può essere utile questo

Re: Variabile tipo int conversione in BCD

MessaggioInviato: 2 apr 2014, 17:13
da Riddik89
Il metodo che ti hanno appena proposto è molto più efficente di quello che ti sto per proporre....
tuttavia questo è più immediato da capire


int x; // numero che andiamo a scomporre
int centinaia,decine,unità;

centinaia= x/100;
decine=(x-centinaia*100)/10;
unità=(x-centinaia*100-decine*10);

certo se invece hai problemi di tempistiche questo non fa al caso tuo...

Re: Variabile tipo int conversione in BCD

MessaggioInviato: 2 apr 2014, 19:06
da JAndrea
Innanzi tutto grazie a tutti.
Ho risolto da poco il problema utilizzando la funzione itoa presente nelle librerie di c18.
In ogni caso le vostre risposte, specie il link di Foto Utenteg.schgor, sono state particolarmente interessanti per capire il funzionamento di tale procedura.