Вы находитесь на странице: 1из 9

MARZO – JULIO 2010

UNIVERSIDAD
POLITÉCNICA
SALESIANA
SISTEMAS MICROPROCESADOS
1

INFORME FINAL
TEMA: Comunicación JAVA USB PIC.

DAVID ESPIN
ANDRÉS MOGRO
CHRISTIAN MORALES
HENRY SUNTAXI

INFORME PROYECTO FINAL QUITO -


OBJETIVO: Transmisión de datos desde una interfaz java
hacia el pic mediante el puerto USB.

ALGORITMO

Entradas:

• Datos ingresados por el usuario en la interfaz java (Net


Beans) que son enviados al pic mediante el puerto
USB.

Procesos:

• Definir puerto B Salida y puerto C entrada.

• Llamada a los procedimientos USB.

• Configurar los puertos como análogos.

• Leer y guardar los datos mediante un lazo.

• Enviar los datos hacia el puerto de salida.

Salidas:

La salida del puerto B hacia los leds.

CÓDIGO
DEFINE OSC 48

DEFINE LOADER_USED 1

TRISB=0

TRISD=%01111111

S1 VAR PORTD.0

L1 VAR PORTD.7

USBBufferSizeMax con 8 ' maximum buffer size


USBBufferSizeTX con 8 ' input

USBBufferSizeRX con 8 ' output

LOW L1

' the USB buffer...

USBBuffer Var Byte[USBBufferSizeMax]

USBBufferCount Var Byte

' ************************************************************

' * main program loop - remember, you must keep the USB *

' * connection alive with a call to USBService every couple *

' * of milliseconds or so... *

' ************************************************************

usbinit ' initialise USB...

ProgramStart:

;gosub DoUSBIn

;PORTB=USBBuffer[0]

;IF S1=1 THEN USBBuffer[0]=55:HIGH L1

;IF S1=0 THEN USBBuffer[0]=99:LOW L1

USBBuffer[0]=99

USBBuffer[1]=99

USBBuffer[2]=99

USBBuffer[3]=99

USBBuffer[4]=99

USBBuffer[5]=99

USBBuffer[6]=99

USBBuffer[7]=99
gosub DoUSBOut

PAUSE 500

LOW L1

goto ProgramStart

' ************************************************************

' * receive data from the USB bus *

' ************************************************************

DoUSBIn:

USBBufferCount = USBBufferSizeRX ' RX buffer size

USBService ' keep connection alive

USBIn 1, USBBuffer, USBBufferCount, DoUSBIn ' read data, if available

return

' ************************************************************

' * wait for USB interface to attach *

' ************************************************************

DoUSBOut:

USBBufferCount = USBBufferSizeTX ' TX buffer size

USBService ' keep connection alive

USBOut 1, USBBuffer, USBBufferCount, DoUSBOut ' if bus available,


transmit data

HIGH L1

Return
DIAGRAMA DE FLUJO

INICIO

Definir variables,
configurar puerto USB,
puerto B salida, C
entrada.

Definir 1L=55
(HIGH)

Definir 0L=99 (LOW


L1)

Inicializo puerto
USB.

Si RX esta
activado, leer
dato

Retraso 500 ms

Si el dato está
disponible,
transmitir dato

Muestro en los leds del


puerto B los datos
recibidos
ESQUEMÁTICO PIC18F4550

FOTOS

Comunicación USB Hardware


Comunicación USB software

CONCLUCIONES
La comunicación USB en si es muy complicada realizarla se no se
obtiene las herramientas necesarias no se logro totalmente el
objetivo planteado pero la comunicación PC y PIC funciono
favorablemente con java es muy complicado la realización ya que se
necesita mas herramientas así como drivers y librerías seguimos paso
a paso el link que se muestra en la bibliografía pero no se logro una
buen desarrollo.

BIBLIOGRAFÍA
1. MICROCONTROLADORES PIC. Diseño práctico de aplicaciones
SEGUNDA PARTE: PIC 16F87X PIC 18FXXXX. Segunda edición.
Segundo Angulo, Susana Romero, Mc Graw Hill. España.

2. http://www.ucontrol.com.ar/forosmf/programacion-en-
java/tutorial-java-pic-usb-(primeros-pasos)/

3. Librerías del software MIkroCode.