Bueno pude solucionar el problema usando un codigo del libro de microcontroladores que tiene un ejemplo para muestrear una onda senoidal y mostrarlo en un lcd grafico y lo adapte a lo que yo necesitaba y poder mandarlo por usb. Dejo el codigo por si alguno le interesa.
Saludos..
#include <18f4553.h>
#device adc=12
//#fuses XTPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,PLL1,CPUDIV1,VREGEN,USBDIV,PUT
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN,PUT
#use delay(clock=48M)
#DEFINE USB_HID_DEVICE FALSE
#define USB_EP1_TX_ENABLE USB_ENABLE_BULK //turn on EP1 for IN bulk/interrupt transfers USB_ENABLE_INTERRUPT
#define USB_EP1_TX_SIZE 2
#define USB_EP1_RX_ENABLE USB_ENABLE_BULK //turn on EP1 for OUT bulk/interrupt transfers
#define USB_EP1_RX_SIZE 2
#include <pic18_usb.h>//Funciones de bajo nivel(hardware) para la serie PIC 18Fxx5x que serviran en usb.c
#include "usb_desc_scope.h"
#include <usb.c> //libreria para el manejo del usb
int16 valor;
int16 dato[1];
int16 dato1;
int8 muestras[1];
#int_ad
void ad_int(){ //Función interrupción AD
valor=read_adc(ADC_READ_ONLY); //Valor de fuente analógica...
ccp_2=251; //reinicia cuenta
}
void main() {
disable_interrupts(global);
setup_adc_ports(AN0_TO_AN3); //Habilitación RA0 analógico
setup_adc(ADC_CLOCK_INTERNAL); //Reloj interno RC
set_adc_channel(1); //Canal 0
setup_ccp2(CCP_COMPARE_RESET_TIMER); //CCP2 modo COMPARACION…
// y disparo especial
setup_timer_1(T1_INTERNAL | T1_DIV_BY_4); //Configuración TMR1
set_timer1(0); //Puesta a 0
ccp_2=251; //Muestreo 12khz a 20MHz
usb_init(); //Inicialización del control del USB
usb_task(); //Monitorea el estado de la coneccion conectandose y desconectandose automaticamente
usb_wait_for_enumeration(); //espera infinitamente hasta que el dispositivo fue enumerado
enable_interrupts(INT_AD); //Habilitación Interrupción AD
enable_interrupts(global); //Habilitación Interrupción global
do {
muestras[0]=make8(valor,1);
muestras[1]=make8(valor,0);
usb_task(); //Detección de la conexión de dispositivo USB
if(usb_enumerated())
usb_put_packet(1, muestras,2, USB_DTS_TOGGLE);
}
while (TRUE);
}