hi,
all my variables are word variables: here is the full program, except for the overhead:
'///////////////////////////////////////////////
'// Variable Declaration and initialization //
'///////////////////////////////////////////////
oldcounter var word
counter var word
gauss var word
gauss1 var word
dummy var word
test11 var word
test22 var word
test3 var word
difference var word
counter = 0
oldcounter =0
gauss1 =0
'//////////////////////////
'// Program starts here //
'//////////////////////////
loop:
ADCON0.2 = 1 'Start A/D Conversion
oldcounter = counter
ADCIN 0, counter 'Read channel PORTA.0
pause 30
'Reducing the varying output (average)
counter = (counter + oldcounter) / 2
'************** Condition 1 ***********************
if counter == 126 then
lcdout $FE,1, " Neutral ",dec counter
lcdout $FE,$C0, "Gauss: ", dec gauss1
endif
'************** Condition 2 ***********************
if counter > 126 then 'GOOD CALCULATION
dummy=(counter *10000)
test11= div32 506
dummy =0
dummy=(126 * 10000)
test22=div32 506
test3=test11-test22
gauss= test3 / 25
gauss1= test3 // 25
lcdout $FE,1, "1:",dec test11," 2:", dec test22," 3:", dec test3
lcdout $FE,$C0, "C:", dec counter, "G:", dec dummy
'lcdout $FE,1, " Negative S: ",dec counter
'lcdout $FE,$C0, "Gauss: -", dec gauss,".", dec gauss1
endif
Bookmarks