'rob@faludi.com define OSC 4 ' define ADCIN parameters for analog sensors (not used in the current version) DEFINE ADC_BITS 10 ' Set number of bits in result DEFINE ADC_CLOCK 3 ' Set clock source (3=rc) DEFINE ADC_SAMPLEUS 50 ' Set sampling time in uS 'set a constant with the baudmode 9600-8-n-1: inv9600 con 16468 'inverted for sending to a computer's serial port non9600 con 84 'non-inverted, for sending to the XPort TRISA = %11111111 ' Set PORTA to all input ADCON1 = %10000010 ' Set PORTA analog and right justify result sensor0 var porta.0 sensor1 var porta.1 sensor2 var porta.2 blinky var portb.0 txPort var portc.6 rxPort var portc.7 txPort2 var portc.4 rxPort2 var portc.5 i var byte inputData var word inputdata = 0 outputData var word outputData = 0 pauseValue var byte sensorVar var word[3] startChar var byte for i = 0 to 3 pausevalue = 2000 gosub blink next main: 'serin2 rxport, non9600, [startChar] gosub readsensors serout2 txport, non9600, [255,1,128,sensorVar[0],sensorvar[1],sensorvar[2]] serout2 txport2, inv9600, [dec sensorVar[0],32,dec sensorvar[1],32,dec sensorvar[2],10,13] 'serin2 rxPort, non9600, [inputData] 'pausevalue = 100 'gosub blink 'sleep 2 goto main blink: high blinky pause pauseValue low blinky pause pauseValue return readSensors: for i = 0 to 2 adcin i, sensorVar[i] sensorvar[i] = sensorVar[i]/4 next return