You are on page 1of 6

UNIVERSIDAD POLITCNICA SALESIANA FACULTAD DE INGENIERIAS ESCUELA ELECTRNICA

Integrantes: Lisbeth Mena Gina Ojeda Johanna Salvador

COMUNICACIN USB CON EL PIC 18F2550 USB (Universal Serial Bus) provee un estndar de bus serie para conectar una amplia variedad de dispositivos, incluyendo computadoras, telfonos celulares, consolas de juegos, PDA's, etc . MikroBasic incluye una biblioteca para trabajar con los humanos a travs de dispositivos de interfaz de bus serie universal. Un dispositivo de interfaz humana o HID es un tipo de dispositivo que interacta directamente con la entrada y toma de los seres humanos, como el teclado, el ratn, tableta grfica, etc. Descriptor de archivo Cada uno de los proyectos sobre la base de la USB HID biblioteca debe incluir un descriptor de archivo que contiene la fuente de identificacin de proveedores y el nombre, ID de producto y el nombre, informe de duracin, y otra informacin pertinente. Para crear un descriptor de archivo, utiliza el terminal de USB HID de mikroBasic (Herramientas> Terminal USB HID). El nombre predeterminado para el archivo es Descriptor USBdsc.pbas, pero puede cambiarle el nombre. El cdigo en la seccin "Ejemplos" en la carpeta de obras 48MHz, y las banderas no deben ser modificados sin consulta a la hoja de datos en primer lugar. En el siguiente ejemplo veremos como se realiza la comunicacin USB con la PC utilizando el pic 18f2550, identificando nuestro dispositivo con los parmetros especificados:

Diagrama

Protoboard

Cdigo

program usb dim k as byte dim userRD_buffer as byte[64] dim userWR_buffer as byte[64] sub procedure interrupt asm CALL _Hid_InterruptProc nop end asm end sub sub procedure Init_Main ' Disable all interrupts ' Disable GIE, PEIE, TMR0IE, INT0IE,RBIE INTCON = 0 INTCON2 = $F5 INTCON3 = $C0 ' Disable Priority Levels on interrupts RCON.IPEN = 0 PIE1 = 0 PIE2 = 0 PIR1 = 0 PIR2 = 0 ' Configure all ports with analog function as digital ADCON1 = ADCON1 or $0F ' Ports TRISA = TRISB = TRISC = TRISD = TRISE = LATA LATB LATC LATD LATE = = = = = 0 0 0 0 0 Configuration 0 0 $FF $FF $07

' Clear user RAM ' Banks [00 .. 07] ( 8 x 256 = 2048 Bytes ) asm LFSR FSR0, $000 MOVLW $08 CLRF POSTINC0, 0 CPFSEQ FSR0H, 0 BRA $ - 2 end asm ' Timer 0 T0CON = $07; TMR0H = (65536 - 156) >> 8 TMR0L = (65536 - 156) and $FF INTCON.T0IE =1 ' Enable T0IE T0CON.TMR0ON = 1 end sub

'** Main Program ** main: Init_Main() Hid_Enable(@userRD_buffer, @userWR_buffer) do for k = 0 to 255 ' Prepare send buffer userWR_buffer[0] = k ' Send the number via USB Hid_Write(@userWR_buffer, 1) next k loop until FALSE Hid_Disable end.

Imgenes

You might also like