aqui hice otro ejemplo, copiandome del ejemplo que da ccs, pero aun asi, no doy con el proteus en la simulacion
#include <18f13k50.h>
#fuses HS,ECHIGH,NOBROWNOUT,PLLEN, USBDIV1,NOWDT,NOMCLR,NOLVP
#use delay(clock=48000000)
//#use rs232(UART1, baud=9600, errors)
#use rs232(baud=9600, xmit=PIN_B7,rcv=PIN_B5,PARITY=N)
#include <usb_cdc.h>
#define LED1 PIN_C2
#define LED2 PIN_C0
#define LED3 PIN_C1
#define LED_ON(x) output_low(x)
#define LED_OFF(x) output_high(x)
char c;
void usb_debug_task(void)
{
static int8 last_connected;
static int8 last_enumerated;
int8 new_connected;
int8 new_enumerated;
static int8 last_cdc;
int8 new_cdc;
new_connected=usb_attached();
new_enumerated=usb_enumerated();
new_cdc=usb_cdc_connected();
if (new_enumerated)
LED_ON(LED1);
else
LED_OFF(LED1);
if (new_cdc)
LED_ON(LED2);
else
LED_OFF(LED2);
if (usb_cdc_carrier.dte_present)
LED_ON(LED3);
else
LED_OFF(LED3);
if (new_connected && !last_connected)
printf("USB connected, waiting for enumaration...\r\n\n");
if (!new_connected && last_connected)
printf("USB disconnected, waiting for connection...\r\n\n");
if (new_enumerated && !last_enumerated)
printf("USB enumerated by PC/HOST\r\n\n");
if (!new_enumerated && last_enumerated)
printf("USB unenumerated by PC/HOST, waiting for enumeration...\r\n\n");
if (new_cdc && !last_cdc)
printf("Serial program initiated on USB<->UART COM Port\r\n\n");
last_connected=new_connected;
last_enumerated=new_enumerated;
last_cdc=new_cdc;
}
void main (void){
LED_OFF(LED1);
LED_OFF(LED2);
LED_OFF(LED3);
printf("\r\n\nCCS CDC (Virtual RS232) Example\r\n");
usb_init_cs();
for(;;){
usb_task();
usb_debug_task();
if (kbhit())
{
c=getc();
if (c=='\n') {usb_cdc_putc('\r'); usb_cdc_putc('\n');}
else if (c=='\r') {usb_cdc_putc('\r'); usb_cdc_putc('\n');}
else if (c=='!') {printf(usb_cdc_putc,"HELLO-WORLD-HELLO-WORLD-HELLO-WORLD-HELLO-WORLD-HELLO-WORLD-HELLO-WORLD-HELLO-WORLD-HELLO-WORLD-DONE");}
else {usb_cdc_putc(c);}
}
if (usb_cdc_kbhit())
{
c=usb_cdc_getc();
if (c=='\n') {putc('\r'); putc('\n');}
else if (c=='\r') {putc('\r'); putc('\n');}
else {putc(c);}
}
}
}