Upload
henrysuntaxi538
View
764
Download
3
Embed Size (px)
Citation preview
UNIVERSIDAD POLITÉCNICA
SALESIANA
SISTEMAS MICROPROCESADOS 1
INFORME FINAL
TEMA: Comunicación JAVA USB PIC.
DAVID ESPIN
ANDRÉS MOGRO
CHRISTIAN MORALES
HENRY SUNTAXI
MARZO – JULIO 2010
QUITO -
INFORME PROYECTO FINAL
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.