Halo Programmers! Here i wanna how can i set the resolution in ADC,, Actually i'm using 16 bit ADC of 24 bit.. so i'm damn sure it has 65535 states.. This counts are given to the 8 bit of MCU.. Here i want to increase from present.. I mean 24 bit.. so in which register how can i achieve this..?? As per the Datasheet states that ADC0H.. How can i use the ADC0H,ADC0M, ADC0F ?? Is there any other calculation to achieve this?? SINC3 filter or Fastfilter ?? which one is suits for me?? when?? The ADC im talking about is C8051F350.. Pls support !!
SAMPLES1[SAMPLENO1] = (ADC0H * 65536) + (ADC0M * 256) + ADC0L; if ((++ SAMPLENO1) >= NOOFSAMPLES1) SAMPLENO1 = 0; TMPCOUNTS = 0; for (TMPNO=0; TMPNO<NOOFSAMPLES1; TMPCOUNTS += SAMPLES1[TMPNO++]); ADCCOUNTS1 = TMPCOUNTS / NOOFSAMPLES1;
sure, but, evidently, nobody that has done this before.
If you want someone to figure it out for you contact a consultabt
Don't know much about the types here, but might guess you might need to use some casting so the registers and constants are treated as 32-bit across the computation?
Just by reducing the samples may i get quick output instead of increasing the resolution?? because if have increased but the output counts is oscillating.. Nw my present of 50 samples..
Can you configure the precision, what does the documentation suggest? If this were my problem I might start there, and look for worked examples.
The documentation suggested that the MCU is 16 or 32 bit.. So im working in a weighing scale.. If i want to weigh 50 kg means the conversion takes 4 seconds to reach.. i want to reduce it.. so i planned to increase the resolution.. but when i tried th e counts are oscillating.. so my idea is to reduce the samples.. is it good or bad idea??
U can Use Decimation process take sample in multiple of 8 and using decimation the resolution also improves with low sample count.