Hi Steve,
Sure. Here's the complete file. Just be sure you've used EasyHID to generate the required USB support files.
Code:
DEFINE LOADER_USED 1
DEFINE OSC 48
DEFINE ADC_BITS 10 ' Set number of bits in result
DEFINE ADC_CLOCK 3 ' Set clock source /32
DEFINE ADC_SAMPLEUS 50 ' Set sampling time in uS
DEFINE RESET_ORG 800h ' For Microchip USB loader
BufferSize con 8
DataBuffer Var Byte(BufferSize) ' data buffer
DataBufferCount Var Byte ' buffer size
Quanta con 1251
TRISD = 0
PORTD = 0
' Variables
X VAR byte
Adval VAR WORD
TRISA.0 = 1 ' RA0 input
ADCON1 = %00001110 ' A/D channel 0
ADCON2 = %10000011 ' Right justify for 10-bit
USBInit
Main:
GOSUB DoUSBIn
PORTD = DataBuffer[7]
ADCIN 0,Adval ' Read A/D channel 0 into ADval variable
ADval = ADval */ Quanta ' Quanta result
' Load data buffer
DataBuffer(0) = Adval dig 3
DataBuffer(1) = "."
DataBuffer(2) = Adval DIG 2
DataBuffer(3) = Adval DIG 1
DataBuffer(4) = Adval DIG 0
GOSUB DoUSBOut
FOR X = 0 to 99 ' Short delay between updates
PAUSEUS 1000
USBSERVICE ' Maintain HID connection during delay period
NEXT X
GOTO Main
' USB in...
DoUSBIn:
DataBufferCount = BufferSize
USBService
USBIn 1, DataBuffer, DataBufferCount, DoUSBIn
RETURN
' USB out...
DoUSBOut:
DataBufferCount = BufferSize
USBService
USBOut 1, DataBuffer, DataBufferCount, DoUSBOut
RETURN
END
Here's the PIC & VB source for a USB A/D datalogger http://www.rentron.com/mcstudio/USB_AD.zip
Bookmarks