Bird Postat Octombrie 19, 2006 Partajează Postat Octombrie 19, 2006 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
aghora17 Postat Octombrie 20, 2006 Partajează Postat Octombrie 20, 2006 ai incercat sa citesti intai help-ul? In general sunt explicate sintaxele acolo. Link spre comentariu
vsurducan Postat Octombrie 20, 2006 Partajează Postat Octombrie 20, 2006 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
Bird Postat Octombrie 20, 2006 Autor Partajează Postat Octombrie 20, 2006 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
Bird Postat Octombrie 20, 2006 Autor Partajează Postat Octombrie 20, 2006 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
pegas Postat Octombrie 20, 2006 Partajează Postat Octombrie 20, 2006 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
Bird Postat Octombrie 20, 2006 Autor Partajează Postat Octombrie 20, 2006 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
Postări Recomandate
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 contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum