Sari la conținut
ELFORUM - Forumul electronistilor

Va rog , dati-mi un sfat !


Bird

Postări Recomandate

Va salut !

 

Am un program simplu , facut in BASIC , de citire a unei tensiuni ( nu-i facut de mine ) si afisarea datelor pe un display . Va rog daca se poate sa-mi explicati un pic mai detaliat liniile ingrosate :

 

' Read channel 2 of on-board ADC and display the results

 

DEVICE 16F871

 

ADIN_RES 1000

ADIN_TAD FRC

ADIN_STIME 100 '

 

Dim RATA as Word

Dim Valuare as Word

Dim Volti as Word

Dim Millivolti as Word

 

Delayms 600

Cls

TRISA.2 = 1

ADCON1 = %10000010

Iar: RATA = ADIN 2

Print at 2,1,"Esantion= ",@RATA," "

Valuare = 500 *(RATA / 10)

Volti = Valuare / 10000

Millivolti = (Valuare //10000) / 100

Print at 1,1,"Tensiunea=",Dec1 Volti,".",Dec2 Millivolti,"V" '

Goto Iar

 

in special linia a treia . Se pot afisa trei zecimale ? Cum ?

 

Va multumesc mult !

Link spre comentariu
  • Răspunsuri 6
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

Top autori în acest subiect

PIC16F871 are AD de 10 biti.Din informatiile date putem doar presupune ca PIC-ul este alimentat la 5V. Asadar 5V/1024 = 0.0048 sau cu aproximatie 0.005Asta inseamna ca ultima cifra la o afisare a capului de scala de 5V cu trei zecimale poate fi 0 sau 5. Ajuta la ceva daca ai 3 zecimale si a treia indica doar doua stari logice?

Link spre comentariu

PIC16F871 are AD de 10 biti.

................................

Asta inseamna ca ultima cifra la o afisare a capului de scala de 5V cu trei zecimale poate fi 0 sau 5.

 

Ajuta la ceva daca ai 3 zecimale si a treia indica doar doua stari logice?

Eu ma folosesc de acest exemplu pentru a intelege de fapt mai bine ceea ce nu am prea priceput citind diverse materiale . In acest context informatia pe care mi-ai dat-o am priceput-o , dar totusi cum se face , in cazul in care controlerul este pe 12 biti .
Link spre comentariu

ai incercat sa citesti intai help-ul? In general sunt explicate sintaxele acolo.

Am inteles mai mult " jucandu-ma " cu datele din exemplu : ca -rata - are valoarea de 1024 , care este de fapt rata de chopare a intrarii A/D ; de ce la calculul afisarii VOLTILOR se imparte la 10000 .... Dar nu am inteles , de ce daca din calcule rezulta un numar peste 100 , nu este afisat chiar daca numarul de cifre care sa fie afisate este declarat ca fiind 3 , spre exemplu................
Link spre comentariu

incerc si eu un raspuns, desi am vazut ca oamenii sunt foarte nervosi pe aici in ultima vreme... :axe: pai -desi nu ma pricep strict la BASIC- cred ca e o eroare acolo cu "//". in liniile respective trebuie sa fie niste constante, legate de modul in care se face citirea, calcularea si afisarea tensiunii.nu sunt sigur ca am inteles ce vrei tu cu 12 biti, dar: daca ai 12 biti ai 4096 trepte de cuantizare. valoarea cea mai mare posibila e 5V. 5/4096 da 0.0012.aproximam la 0.001. In acest caz s-ar putea modifica ultima cifra din 1 in 1.Bine, grosier, pentru ca am aproximat la .001.

Link spre comentariu
incerc si eu un raspuns, desi am vazut ca oamenii sunt foarte nervosi pe aici in ultima vreme... :axe:

 

pai -desi nu ma pricep strict la BASIC- cred ca e o eroare acolo cu "//".

 

in liniile respective trebuie sa fie niste constante, legate de modul in care se face citirea, calcularea si afisarea tensiunii.

..............................

 

iesti pe aproape , tot din incercari am constatat ca doua bare definesc , ca citirea "milivoltilor" sa se faca numai la dreapta virgulei . Cu una singura , afiseaza numai unitatile , iar la zecimale apar numarul de digiti declarati , dar pe " 0 "

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări