Hi Dave,
Code is attached. Thanks for looking
Code:
Define LOADER_USED 1
INCLUDE "MODEDEFS.BAS"
DEFINE OSC 12
DEFINE SHIFT_PAUSEUS 10
TRISB.4 =1 ' set PortB 4 as an input
TRISB.6 =0 ' set PortB 6 as an output
ANSELH.2 =0
DEFINE ADC_BITS 8
DEFINE ADC_CLOCK 3
DEFINE ADC_SAMPLEUS 50
ANSEL =%10000000 ' Enable ADC channel-AN2
ANSELH =%0000
OSCCON=%01100000
TRISA =%00001111 ' Set ports A3-A2-A1-A0 as inputs
TRISC =%01001000
knots var long
knotsRem var long
zero var word
zeroSw var portc.6
i var byte
avg var word
HIGH CS
START:
for i = 1 to 10
LOW CS
PAUSEUS 150 'delay after CS goes low for conversion to start. Probably not needed
SHIFTIN SDI,SCK,2,[counts\14] ' using mode 2 for SPI
high cs
avg = counts + avg
next
counts = avg/10
avg=0
if zeroSw then zero = counts 'Get value at zero pressure
if zeroSw then high portc.2
counts = counts -zero 'set zero point
if counts >65000 then counts= 0 'in case of underflow
knots = (((SQR(counts*10000))*65500)/301)/10000
knotsRem = ((SQR(counts*10000)*65500)/301)//10000
serout2 portb.7,396,[ #Knots,".",Dec1 knotsRem," Knots ",#counts," ",#zero,10,13]
GOTO START:
END
Thanks
aajgss
Bookmarks