ADC 16f88 nejasan rezultat merenja

Rasprava o PIC mikrokontrolerima, PIC projekti i drugo vezano za PIC-eve...

Moderators: stojke369, pedja089, [eDo], trax

Post Reply
MIKI73
Napredujem
Napredujem
Posts: 107
Joined: 01-11-2014, 16:57

ADC 16f88 nejasan rezultat merenja

Post by MIKI73 »

Pozdrav svima.Pravio sam nesto sa 16f88 i postavio sam da bude 10 bitni ADC pa mislim da bi pri merenju napona od 5V trebalo da pokaze rezultat 1024 a meni pokazuje 256
Evo dva primera ADC gde je u oba slucajeva postavljen da bude 10 bitni a rezultet je 256
Da li ja gresim ili treba tako?

Prvi primer:

Define ADC_BITS 10 ' Set number of bits in result
Define ADC_CLOCK 3 ' Set clock source (3=rc)
Define ADC_SAMPLEUS 50 ' Set sampling time in uS

ANSEL=%11111111
ADCON1=%10000000
ADCON0=%11000101
TRISA = %11111111
adval Var WORD ' Create adval to store result

mainloop:
ADCON0.2 = 1 ' Start Conversion

notdone :
Pause 5
If ADCON0.2 = 1 Then notdone :

adval.highbyte = ADRESH ' Move HIGH byte of result to adval
adval.lowbyte = ADRESL ' Move LOW byte of result to adval

lcdout $FE, $80, "DC Volts=",#adval ' 256


Drugi primer:



Define ADC_BITS 10 ' Set number of bits in result
Define ADC_CLOCK 3 ' Set clock source (3=rc)
Define ADC_SAMPLEUS 50 ' Set sampling time in uS
ANSEL=%11111111
ADCON1=%10000000
ADCON0=%11000101
TRISA = %11111111
BROJ Var WORD


POCETAK:
ADCIN 0 , BROJ

lcdout $FE, $80, "DC Volts=",#broj '256
pause 10
GOTO POCETAK:
END
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7871
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: ADC 16f88 nejasan rezultat merenja

Post by pedja089 »

Cudno mi je da pokazuje 256.
U prvom primeru gde ne koristis ADCIN, one define na pocetku su ne bitni. I gledajuci registre sve deluje ok.
Da nisi mozda omasio pin na koji dovodis napon ili slicno?

Probaj ovo promeniti
lcdout $FE, $80, "DC Volts=",dec4 adval ' 256
MIKI73
Napredujem
Napredujem
Posts: 107
Joined: 01-11-2014, 16:57

Re: ADC 16f88 nejasan rezultat merenja

Post by MIKI73 »

I meni je cudno,probao sam to valjda ali nisam siguran,sutra cu ponovo.Jedino da to proteus nepravi problem.
A kad se ovako nalise onda je rezultat 1024
Nisam ja da znam nesto mnogo ali vidim da nije uredu pa sam se zato javio jer nema logike da bude 256

Define ADC_BITS 10 ' Set number of bits in result
Define ADC_CLOCK 3 ' Set clock source (3=rc)
Define ADC_SAMPLEUS 50 ' Set sampling time in uS

ANSEL=%00001111
ADCON1=%10000000
TRISA = %11111111
ADCON0 = %11000101
adrez Var word ' Create adval to store result
napon var word
dumu var word
mainloop:
ADCIN 0,adrez ' Start Conversion


dumu=adrez*5*100
napon=Div32 1024

Lcdout $fe, 2 ' Clear screen

Lcdout "Value: ", ovde je uredu 1024
Pause 100 ' Wait .1 second

Goto mainloop ' Do it forever

End
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7871
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: ADC 16f88 nejasan rezultat merenja

Post by pedja089 »

Obrisao si LCDOUT pa ne znam sta je u redu.
Ali ako imas ono mnozenje i deljenje, onda ne treba da pise 1024...
MIKI73
Napredujem
Napredujem
Posts: 107
Joined: 01-11-2014, 16:57

Re: ADC 16f88 nejasan rezultat merenja

Post by MIKI73 »

Obrisao sam ovde da bih napisao 1024 da se vidi rezultat,u programu je sve normalno napisano. Ovde jeste 1024 a zasto u ona dva primera nije neznam. Kad stignem probacu uzivo, ovo je sad sve u proteus.
MIKI73
Napredujem
Napredujem
Posts: 107
Joined: 01-11-2014, 16:57

Re: ADC 16f88 nejasan rezultat merenja

Post by MIKI73 »

Evo sta je bio problem,da nepoverujes.U proteusu sam nacrtao semu ADC ali celu,sa kristalom,kondenzatorima ka kristalu,baterja pa 7805... i zeza.Kad sve to pobrisem,ostavim samo 16f88,displej i dovedem 5V (ona strelica u proteusu) onda je sve uredu.
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7871
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: ADC 16f88 nejasan rezultat merenja

Post by pedja089 »

Genijalno :ohno:
MIKI73
Napredujem
Napredujem
Posts: 107
Joined: 01-11-2014, 16:57

Re: ADC 16f88 nejasan rezultat merenja

Post by MIKI73 »

eto,ispade da jeste.Ja vrlo malo znam o programiranju i ovo je bilo kao nabrzinu,da iscrtam samo ono sto mora pa da probam i tad kad je proradio kako treba video sam o cemu se radi,kad sam ubacio i ostale komponente opet nije htelo.Vise puta me je proteus zeznuo ali sobzirom da nepoznajem dovoljno programiranje samim tim sam uvek sumnjao u sebe da sam nesto lose uradio.
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7871
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: ADC 16f88 nejasan rezultat merenja

Post by pedja089 »

Ako te ne mrzi, probaj sa i bez kristala. Dal samo on cini razliku.
Ja generalno izbegavam simulatore uopste.
MIKI73
Napredujem
Napredujem
Posts: 107
Joined: 01-11-2014, 16:57

Re: ADC 16f88 nejasan rezultat merenja

Post by MIKI73 »

Probam veceras i javljam kako je sa i bez kristala.
MIKI73
Napredujem
Napredujem
Posts: 107
Joined: 01-11-2014, 16:57

Re: ADC 16f88 nejasan rezultat merenja

Post by MIKI73 »

Probao sam.Svejedno je da li ima kristal ili ne u priteusu,problem je pravilo kako postavis napajanje.Kad je baterja meni je tad bio problem a kad je strelica sa 5V tad je ok.Kristal koliki upises tamo u pdesavanju tako radi,nema potrebe da se stavlja na semi tj veze na pic.
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7871
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: ADC 16f88 nejasan rezultat merenja

Post by pedja089 »

OK. Mislim da ni napajanje ne moras stavljati...
Post Reply