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;
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.