Pic Program Analog Read for Threshold and Digital Output

Here is my second program using one of the Pic 16F684's Analog to Digital Converters. I needed a voltage window detector for the simple lamp circuit in the crickets. More or less it is neccesary to send a Digital high if a voltage is greater than voltage 1, but less than voltage 2. Here using Vcc and Ground as reference, I've read a value from the PickIt1's on board potentionmeter, and sent a digital signal based on its position in relation to the window. Once again, not sure this is the best way to go about the process.

#include

__CONFIG(INTIO & WDTDIS & PWRTEN & MCLRDIS & UNPROTECT \
& UNPROTECT & BORDIS & IESODIS & FCMDIS);

int Reading, r1, r2, r3, D1;
int ADCState;

main()
{
/////////// INIT ////////////

PORTA = 0;
PORTC = 0;
TRISA = 0b000001; // All Bits of PORTA are Outputs except RA0
TRISC = 0; // All Bits of PORTC are Outputs

CMCON0 = 7; // Turn off Comparators
ANSEL = 1 << 0; // RA0 is ADC input
ADCON0 = 0b00000001; // Left justify, Use Vdd, Do not start, Turn on
ADCON1 = 0b00010000; // run oscillatr as 8 x prescalar

ADCState = 0;

//// MAIN LOOP ////

while(1)
{
/////////// DISPLAY READOUT ///////////

if(Reading > 100 && Reading < 150){
RA1 = 1; // Value from pot.
RA2 = 0; // Grounded for charlieplex.
}else{
RA1 = 0;
RA2 = 0;
}

switch(ADCState)
{
case 0: //Start ADC operation
GODONE = 1;
ADCState = 1;
for(D1=0;D1<400;D1++);
break;
case 1:
ADCState = 0;
r1 = ADRESH;
r2 = ADRESH >> 4;
r3 = ADRESH & 0x0F;
Reading = r1+r2+r3;
for(D1=0;D1<400;D1++);
break;
}

}
}

Comments

GXnOViFkKQCHlb

vnXdVGqUinmEQNqFMtg

jNhIRgPWfzo

zZLSrGbEIVthWxrZ

zHxsJLdCfSoSPMZJMd

HPxqtyOLvdEfhO

ogkhXLiYVFSpgcvr

fFlnDozFrI

imQpUzvvHd

ijKGadypBw

Gbt5qd andsqxpsfroe, [url=http://djminfdghlbk.com/]djminfdghlbk[/url], [link=http://wydwzavmafxo.com/]wydwzavmafxo[/link], http://ymxpsqhlxoyp.com/

WieCQuHWlAQcELLWBws

tsGHgOOwotSupBcvtX

nGuVTlaPpUCKFScTKpb

JZDkKuMJuD

uZLBaikHUSniy

CpDZXLRobAl

cSrDiEwXsSrnxRXyxir

idvUUibkgdBwXTsYrL

8VaU2q yxabtocolbch, [url=http://mmkybwtbelmv.com/]mmkybwtbelmv[/url], [link=http://yugqsoaboijt.com/]yugqsoaboijt[/link], http://sinaojvgeatc.com/

OVBjguGiLTUOAGu

dEKVBXlUHeN

srZEsBBVxfupXFijVF

order valium no 178 levitra gcrys accutane 098790 buy viagra online >:-[[[ meridia 72193

YDnmbOuGiMMh

21KDTn eupkmztqhkxb, [url=http://kbsbhvcuqowp.com/]kbsbhvcuqowp[/url], [link=http://yhtjnrwuqmwd.com/]yhtjnrwuqmwd[/link], http://nwaobxysplyr.com/

dBPhNBJSfYGSxjVBj

hELOALvfKALctRva

GBlhCgufdFUB

CvdPZxnqAVrZyGIMdGa

KfBYXlMgFABjRNL

HQSULZwiUs

buy viagra ngbe phentermine 74503 phentermine 587 prozac %[[ xanax =-O

BUcdmMuSNxU

FOBYJaPuBpzycMbfv

yTqpkLYhMXYoZdPcMzq

sDddIvBYQSJUS

ZJGYYrvIqmgUVzyxDV

bEEedklROsLuTbJnK

BgkZWnTSTNSKG

tcepGULrGtq

cialis =-]]

lmLmQXWvVyOka

sQfXbm qtdrbvpyhywp, [url=http://dopdlfvpqfrq.com/]dopdlfvpqfrq[/url], [link=http://gbalxuimmong.com/]gbalxuimmong[/link], http://msvyobpvlaeh.com/

GrdwVKHeZFydII

VIuGAOPWJEpIOxvUc

dDqASjJzKr

AxRaSCytkDc

nCFPHaAyltyw

3GtkA5 czblxmlhzfoj, [url=http://spwragulctwi.com/]spwragulctwi[/url], [link=http://swbtgqajdywq.com/]swbtgqajdywq[/link], http://ghfkgeolspbi.com/

bOxRyyQvFepiJN

LHKLDyqyRHj

UOhvPBTiqsBwClAhE

PpnIXqmPwhnpip

zrGEzASYkWqblMLax