View
25
Download
1
Category
Preview:
Citation preview
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:
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.
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
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
;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
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
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.
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
Programa grafico
Más información acerca del programa Facebook: Electrom@r’kc.
Email: nandosextrem@gmail.com
Autor: Marco Fernando Bravo Guamán
Cuenca – Ecuador
Recommended