Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Usb Pic18f2550 PDF
Usb Pic18f2550 PDF
24/05/2011
Sistemas Integrales en Electrnica y Software.
Vctor David
SIES
Rev. 1.0.0.0
Pgina 1
USB
Universal Serial Bus es un bus estndar para la comunicacin
serie. Originalmente concebido como un reemplazo para las conexiones serie y
paralelo de una PC para conectar ratones, teclados e impresoras, que se ha
convertido en la interfaz estndar entre un PC y sus perifricos tan variados como
se ha podido hacer.
Pgina 2
SIES
Rev. 1.0.0.0
Pgina 3
SIES
Rev. 1.0.0.0
Pgina 4
Descripcin de conexiones:
El microcontrolador requiere de:
Cristal oscilador de 20MHz.
Capacitor 470nF.
Conector USB (D+, D-, GND, VDD).
Boton reset.
Circuito requiere:
3 LEDs representando las salidas digitales.
2 Botones representando las entradas digitales.
1 Potencimetro representando entrada analgica.
Conector ICSP
Para la programacin del microcontrolador se utiliza la programacin serial
en circuito (ICSP), con lo que se programa con solo 5 cables necesarios, y
directamente sobre el protoboard o circuito impreso. El
conector
proporciona
5volts respecto a GND, voltaje de programacin, reloj de programacin y datos;
con lo que la programacin es rpida y sencilla, incluso directamente desde
MPLAB, mediante un circuito programador, por lo que se eligi una versin
modificada del circuito programador PicKit 2 lo que facilita tiempo, debbuger en
tiempo real, entre otros.
SIES
Rev. 1.0.0.0
Pgina 5
Firmware
De las libreras proporcionas por Microchip, solo 2 son necesarias de
comprender y modificar; el archivo Main.c, archivo HardwareProfile - PICDEM
FSUSB.h.
Archivo HardwareProfile - PICDEM FSUSB.h: Contiene la definicin del
hardware a utilizar, donde se definen los botones, leds y potencimetro
conectados.
Definicin de LEDs (Cdigo)
/** LED ************************************************************/
#define mInitAllLEDs()
LATCbits.LATC0 = 0; TRISCbits.TRISC0=0;
LATCbits.LATC1
= 0; TRISCbits.TRISC1=0; LATCbits.LATC7
= 0;
TRISCbits.TRISC7=0;
#define mLED_1
#define mLED_2
#define mLED_3
LATCbits.LATC0
LATCbits.LATC1
LATCbits.LATC7
Definicin de botones
/** SWITCH *********************************************************/
#define mInitAllSwitches() TRISCbits.TRISC2=1;TRISCbits.TRISC6=1;
#define mInitSwitch2()
TRISCbits.TRISC2=1;
#define mInitSwitch3()
TRISCbits.TRISC6=1;
#define sw2
PORTCbits.RC2
#define sw3
PORTCbits.RC6
Definicin de potencimetro
/** POT ************************************************************/
#define
mInitPOT()
{TRISAbits.TRISA0=1;ADCON0=0x01;ADCON2=0x3C;ADCON2bits.ADFM = 1;}
Archivo Main.c: Contiene los mtodos donde se activa el puerto USB, se
detectan las entradas y salidas.
De los mtodos a modificar son: main y ProcessIO; donde el mtodo
main es el encargado de activar todas las salidas, limpiar variables; y el mtodo
ProcessIO encargado de decidir las posibles entradas y salidas, de acuerdo a los
datos recibidos va USB.
Los mtodos y libreras restantes son muy tiles y necesarios para el
correcto funcionamiento del mdulo USB, por lo que no deben modificarse.
SIES
Rev. 1.0.0.0
Pgina 6
SIES
Rev. 1.0.0.0
Pgina 7
Definicin de Software
Al utilizar las libreras de microchip para el modulo USB, se requiere un
software compatible con esto, por lo cual se utiliza el software compatible con las
libreras, proporcionado por Microchip llamado HID Pnp Demo, modificando la
versin disponible para visual c++, al cual se le agrego botones y cuadros de texto
para nuestro fin.
Cuando el dispositivo esta desconectado, el software tiene la siguiente
apariencia:
Donde
muestra
que
el
dispositivo
esta
desconectado,
desactivando todas las funciones.
Pgina 8
SIES
Rev. 1.0.0.0
Pgina 9
Bibliografa
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=265
1¶m=en534497
SIES
Rev. 1.0.0.0
Pgina 10