Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Visualizzare numero con la virgola su display 7 segmenti PIC

Raccolta di codici sorgenti

Moderatore: Foto UtentePaolino

0
voti

[11] Re: Visualizzare numero con la virgola su display 7 segmenti

Messaggioda Foto Utentenicolas97 » 2 lug 2014, 15:16

Ho usato un float perché il char è a 8 bit e siccome il dato in uscita al adc è a 10 bit non posso usare un char e ho usato un float
Sto usando un pic16f88
Avatar utente
Foto Utentenicolas97
5 2
 
Messaggi: 26
Iscritto il: 3 nov 2013, 10:38

0
voti

[12] Re: Visualizzare numero con la virgola su display 7 segmenti

Messaggioda Foto UtenteRussell » 2 lug 2014, 15:42

sicuro che non avevi proprio alternative al float per lavorare a piu' di 8 bit ?
Avatar utente
Foto UtenteRussell
3.373 3 5 9
Master
Master
 
Messaggi: 2193
Iscritto il: 4 ott 2009, 10:25

0
voti

[13] Re: Visualizzare numero con la virgola su display 7 segmenti

Messaggioda Foto Utenteyustel » 2 lug 2014, 15:46

Domanda: ti servono proprio tutti e 10 i bit? Non puoi prendere gli 8 più significativi o hai proprio bisogno di una certa precisione?

Io avevo fatto così tempo fa per evitare di lavorare con più di 8 bit.
Erwin Schrödinger forse è stato qui.
Avatar utente
Foto Utenteyustel
173 4
New entry
New entry
 
Messaggi: 92
Iscritto il: 22 feb 2010, 18:30

0
voti

[14] Re: Visualizzare numero con la virgola su display 7 segmenti

Messaggioda Foto Utentenicolas97 » 2 lug 2014, 16:41

Il mio progetto è un voltmetro digitale e i 10 bit dell adc non erano male per una lettura di una certa precisione eliminando i due bit meno significativi non so quanto possa influenzare sulla lettura comunque non è un problema lavorare con un float visto che alcuni messaggi prima mi è stata data la soluzione alla "scomposizione" del numero quindi credo di aver risolto!! Ora provo quella soluzione e vi faccio sapere!!
Avatar utente
Foto Utentenicolas97
5 2
 
Messaggi: 26
Iscritto il: 3 nov 2013, 10:38

0
voti

[15] Re: Visualizzare numero con la virgola su display 7 segmenti

Messaggioda Foto Utenteyustel » 2 lug 2014, 17:06

Tieni conto del fatto che vuoi visualizzare un numero con massimo 2 cifre dopo la virgola. Quindi fornisci una misura con un incertezza assoluta di almeno 10mV.
Acquisire valori più precisi, con incertezze dell'ordine di 1mV sarebbe solamente più complicato da gestire dal punto di vista computazionale ma di fatto non introduce nessun vantaggio in termini di precisione a meno che tu non voglia aggiungere un quinto display.
È ovvio che questo potrebbe non essere il tuo caso... ma può essere che tra l'usare 10 bit o usarne solo 8 bit non ti cambi assolutamente nulla in termini di precisione, dipende anche da che tensioni intendi misurare. Valuta tu ;)
Erwin Schrödinger forse è stato qui.
Avatar utente
Foto Utenteyustel
173 4
New entry
New entry
 
Messaggi: 92
Iscritto il: 22 feb 2010, 18:30

0
voti

[16] Re: Visualizzare numero con la virgola su display 7 segmenti

Messaggioda Foto Utentenicolas97 » 2 lug 2014, 17:11

Ma una domanda se utilizzassi solo 8 bit come faccio ad ottenere i decimali?
Avatar utente
Foto Utentenicolas97
5 2
 
Messaggi: 26
Iscritto il: 3 nov 2013, 10:38

1
voti

[17] Re: Visualizzare numero con la virgola su display 7 segmenti

Messaggioda Foto UtentePaolino » 2 lug 2014, 17:17

Allora, se vuoi rappresentare un dato a 10 bit che indichi la tensione 0-5V misurata dall'ingresso ADC, ti basta un long.

Infatti, se ADC è il valore acquisito, allora:
dato = ADC\frac{625}{64}
e dato al più assume valore 3200000 (0x30D400).

Così, se ADC = 1, il valore di dato è 48, se ADC = 1024 dato = 50000

Il valore dato è espresso in mV.

È questo quello che volevi ottenere?

Paolo
"Houston, Tranquillity Base here. The Eagle has landed." - Neil A.Armstrong

-------------------------------------------------------------

PIC Experience - http://www.picexperience.it
Avatar utente
Foto UtentePaolino
32,6k 8 12 13
G.Master EY
G.Master EY
 
Messaggi: 4226
Iscritto il: 20 gen 2006, 11:42
Località: Vigevano (PV)

0
voti

[18] Re: Visualizzare numero con la virgola su display 7 segmenti

Messaggioda Foto Utentenicolas97 » 2 lug 2014, 17:29

Allora devo misurare una tensione da 0-50V allora ho fatto un partitore di tensione che riduce la tensione di 10 volte, quindi leggo in valore restituito dall adc lo moltiplico per 5 e divido per 1024 ottenendo così i millivolt poi moltiplico il risultato per 10 poiché ho applicato il partitore che divide la tensione di 10 volte il risultato ottenuto è con la virgola e fin qui non c'è problema il problema era come scomporre il risultato finale per esempio 12.34 nelle cifre 1 2 3 4 in modo da visualizzarli su display ma penso di aver risolto applicando i calcoli che mi ha dato un utente in precedenza
Avatar utente
Foto Utentenicolas97
5 2
 
Messaggi: 26
Iscritto il: 3 nov 2013, 10:38

1
voti

[19] Re: Visualizzare numero con la virgola su display 7 segmenti

Messaggioda Foto UtentePaolino » 3 lug 2014, 6:52

Ve bene, ma non ti serve un float per fare quello che vuoi tu. Ti è sufficiente un long, che è un tipo di dato di più facile gestione da parte del microcontrollore.

Ciao.

Paolo.
"Houston, Tranquillity Base here. The Eagle has landed." - Neil A.Armstrong

-------------------------------------------------------------

PIC Experience - http://www.picexperience.it
Avatar utente
Foto UtentePaolino
32,6k 8 12 13
G.Master EY
G.Master EY
 
Messaggi: 4226
Iscritto il: 20 gen 2006, 11:42
Località: Vigevano (PV)

Precedente

Torna a Firmware e programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 16 ospiti