marco feranando bravo g. usb+labview+microcode

15
Saludos mi nombre es: Marco Fernando Bravo Guamán. Este es un ejemplo para crear la interfaz USB de 2.0, para una aplicación con labview en adaptación a una maquina de sublimación de jarros. Los pasos a seguir son los siguientes abrir MicroCodeEstudio. Y seguir los siguientes pasos:

Upload: marco-bravo

Post on 27-Oct-2014

440 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Marco Feranando Bravo G. USB+LABVIEW+MICROCODE

Saludos mi nombre es: Marco Fernando Bravo Guamán.

Este es un ejemplo para crear la interfaz USB de 2.0, para una aplicación con

labview en adaptación a una maquina de sublimación de jarros.

Los pasos a seguir son los siguientes abrir MicroCodeEstudio.

Y seguir los siguientes pasos:

Page 2: Marco Feranando Bravo G. USB+LABVIEW+MICROCODE
Page 3: Marco Feranando Bravo G. USB+LABVIEW+MICROCODE
Page 4: Marco Feranando Bravo G. USB+LABVIEW+MICROCODE
Page 5: Marco Feranando Bravo G. USB+LABVIEW+MICROCODE
Page 6: Marco Feranando Bravo G. USB+LABVIEW+MICROCODE

En el disco C: guardamos la ruta del programa USB para que después lo lea el pic 18F4550, aquí modificamos según nuestras necesidades en compiler le

dejamos como esta por que usaremos un programa mucho mejor como labview.

Page 7: Marco Feranando Bravo G. USB+LABVIEW+MICROCODE
Page 8: Marco Feranando Bravo G. USB+LABVIEW+MICROCODE

Y listo esto es todo

Aquí les ponre el programa ya modificado solo copiar y pegar.

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

' * Auto generated EasyHID file. PBP 2.60 and above *

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

' include the HID descriptor

include "DESCMARKO.bas"

DEFINE OSC 20

DEFINE LOADER_USED 1

;CONFIGURO ENTRADAS Y SALIDAS

TRISB=0

PORTB=0

TRISC = $00000100

Page 9: Marco Feranando Bravo G. USB+LABVIEW+MICROCODE

USBBufferSizeMax con 8 ' maximum buffer size

USBBufferSizeTX con 8 ' input

USBBufferSizeRX con 8 ' output

' the USB buffer...

USBBuffer Var Byte[USBBufferSizeMax]

USBBufferCount Var Byte

' CREACION DE VARIABLES

TEMP1 var byte 'POTENCIOMETRO 1'

TEMP2 var byte 'POTENCIOMETRO 2'

SLIDER1 VAR BYTE 'PARA EL FOCO PWM'

'&&&&&&&&&&&&&& PARAMETROS PARA EL PWM &&&&&&&&&&&&&&&&&&&&'

;HABILITO INTERRUPCIONES CON TIMER

INTCON=%10100000 'HABILITO INTERRUPCION TMR0

T0CON=%11000101 'CONFIGURO EL TMR0 A 8 BITS Y PRESCALER DE 1:64

;AHORA ME IMPONGO VALOR DE PR2 PARA PWM EN ESTE CASO VOY HA HACERLO 160

PR2=160

;AHORA HAGO TODO 0 EL VALOR DE REGISTRO CCPR1LPARA QUE EMPIECE DESDE 0

;EL VALOR DE PWM

CCPR1L = 0

;ASEGURO QUE RC2 SEA SALIDA

LOW TRISC.2

;AHORA PARA GENERAR PWM ACTIVO TIMER 2 Y CONIFUGRO UN PRESCALER DE 16

T2CON =%00001111

Page 10: Marco Feranando Bravo G. USB+LABVIEW+MICROCODE

;AHORA CONFIGURO REGISTRO PARA QUE SE COMPORTE EN MODO PWM UNICAMENTE

CCP1CON =%00001111

'CONFIGURO TRES CANALES PARA LECTURA DE ENTRADAS ANALOGICAS'

ADCON1 = %00000010

pause 100

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

' * 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

;CARGO VALOR DEL SLIDER A PWM

CCPR1L = slider1

PAUSE 40

;LEO DATOS DE POTENCIOMETROS DE CANALES ANALOGICOS

adcin 0,TEMP1

PAUSE 40

adcin 1,TEMP2

PAUSE 40

;AHORA VAN LOS BUFFERS QUE VOY HA UTILIZAR, DONDE POR CADA BUFFFER IRA UN POTENCIOMETRO

;CON ESTO LO QUE HAGO ES ENVIAR DATOS DESDE EL PIC AL USB

Usbbuffer[2] = TEMP1

Usbbuffer[3] = TEMP2

Page 11: Marco Feranando Bravo G. USB+LABVIEW+MICROCODE

gosub DoUSBOut

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

SLIDER1=Usbbuffer[1]

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

return

///////////////////////////////////////////////////////////////////////////////////////

Y listo copilamos

Page 12: Marco Feranando Bravo G. USB+LABVIEW+MICROCODE

La opilación es para un pic 18F2550 No confundirse ya que al que lo hicimos

fue para un pic 18f4550. No olvidarse los detalles.

Genial aquí les pongo un diseño en ISIS de un pequeño entrenador de pic

18F4550.

Page 13: Marco Feranando Bravo G. USB+LABVIEW+MICROCODE

Y el diseño de un pic 18F2550 en Ares

Listo ahora les mostrare la comunicación usb con labview muy experto a la simplificación en esta ocasión realice una maquina para sublimación de jarros

Page 14: Marco Feranando Bravo G. USB+LABVIEW+MICROCODE

Programa grafico

Más información acerca del programa Facebook: Electrom@r’kc.

Email: [email protected]

Autor: Marco Fernando Bravo Guamán

Page 15: Marco Feranando Bravo G. USB+LABVIEW+MICROCODE

Cuenca – Ecuador