8/4/2019 17048589 Comunicacion Usb
http://slidepdf.com/reader/full/17048589-comunicacion-usb 1/6
UNIVERSIDAD POLITÉCNICA SALESIANA
FACULTAD DE INGENIERIAS
ESCUELA ELECTRÓNICA
Integrantes:
Lisbeth Mena
Gina Ojeda
Johanna Salvador
COMUNICACIÓN USB CON EL PIC 18F2550
USB (Universal Serial Bus) provee un estándar de bus serie para conectar una amplia
variedad de dispositivos, incluyendo computadoras, teléfonos celulares, consolas de
juegos, PDA's, etc .
MikroBasic incluye una biblioteca para trabajar con los humanos a través de
dispositivos de interfaz de bus serie universal. Un dispositivo de interfaz humana o HID
es un tipo de dispositivo que interactúa directamente con la entrada y toma de los seres
humanos, como el teclado, el ratón, tableta gráfica, 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 identificación de proveedores y el
nombre, ID de producto y el nombre, informe de duración, y otra información
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 código en la sección "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 comunicación USB
con la PC utilizando el pic 18f2550, identificando nuestro dispositivo
con los parámetros especificados:
Diagrama
8/4/2019 17048589 Comunicacion Usb
http://slidepdf.com/reader/full/17048589-comunicacion-usb 2/6
Protoboard
Código
8/4/2019 17048589 Comunicacion Usb
http://slidepdf.com/reader/full/17048589-comunicacion-usb 3/6
program usb
dim k as byte
dim userRD_buffer as byte[64]dim userWR_buffer as byte[64]
sub procedure interrupt asm
CALL _Hid_InterruptProcnop
end asm
end sub
sub procedure Init_Main ' Disable all interrupts
' Disable GIE, PEIE, TMR0IE, INT0IE,RBIE
INTCON = 0INTCON2 = $F5INTCON3 = $C0
' Disable Priority Levels on interrupts
RCON.IPEN = 0PIE1 = 0PIE2 = 0PIR1 = 0PIR2 = 0
' Configure all ports with analog function as digital
ADCON1 = ADCON1 or $0F
' Ports Configuration
TRISA = 0TRISB = 0TRISC = $FFTRISD = $FFTRISE = $07
LATA = 0LATB = 0LATC = 0LATD = 0LATE = 0
' Clear user RAM
' Banks [00 .. 07] ( 8 x 256 = 2048 Bytes )
asm
LFSR FSR0, $000MOVLW $08CLRF POSTINC0, 0CPFSEQ FSR0H, 0BRA $ - 2
end asm
' Timer 0
T0CON = $07;TMR0H = (65536 - 156) >> 8TMR0L = (65536 - 156) and $FFINTCON.T0IE =1 ' Enable T0IE
T0CON.TMR0ON = 1end sub
8/4/2019 17048589 Comunicacion Usb
http://slidepdf.com/reader/full/17048589-comunicacion-usb 4/6
'** 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_Disableend .
Imágenes
8/4/2019 17048589 Comunicacion Usb
http://slidepdf.com/reader/full/17048589-comunicacion-usb 5/6
8/4/2019 17048589 Comunicacion Usb
http://slidepdf.com/reader/full/17048589-comunicacion-usb 6/6