Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
PRÁCTICA N° 7
COMUNICACIÓN SERIAL UNIVERSAL (USB)
MODO INTERFAZ HUMANA (HID)
I. Objetivo:
Realizar el envío de datos desde el computador PC (usando HID Terminal) hacia el
microcontrolador PIC18F4550 usando (MIKROC) a través del puerto USB
Implementar la comunicación serial universal USB.
Describir los principios básicos del bus USB y demostrar aplicaciones basadas en
USB con el microcontrolador PIC18F4550.
vcc
C4 C5
VDD
VSS
VEE
RW
RS
D0
D1
D2
D3
D4
D5
D6
D7
200nF 1uF
E
J1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
4
GND
2
D-
RV1 3
D+
1
10k VCC
USBCONN
U1
2 15
vcc C2 RA0/AN0 RC0/T1OSO/T1CKI
3 16
RA1/AN1 RC1/T1OSI/CCP2/UOE
4 17
RA2/AN2/VREF-/CVREF RC2/CCP1/P1A
5 23
RA3/AN3/VREF+ RC4/D-/VM
22pF 6 24
RA4/T0CKI/C1OUT/RCV RC5/D+/VP
X1 7
RA5/AN4/SS/LVDIN/C2OUT RC6/TX/CK
25
CRYSTAL 14 26
C3 RA6/OSC2/CLKO RC7/RX/DT/SDO
13
OSC1/CLKI
vcc
33 19
RB0/AN12/INT0/FLT0/SDI/SDA RD0/SPP0
22pF 34 20
RB1/AN10/INT1/SCK/SCL RD1/SPP1
35 21
RB2/AN8/INT2/VMO RD2/SPP2
36 22
RB3/AN9/CCP2/VPO RD3/SPP3
37 27
RB4/AN11/KBI0/CSSPP RD4/SPP4
38 28
RB5/KBI1/PGM RD5/SPP5/P1B
39 29
RB6/KBI2/PGC RD6/SPP6/P1C
40 30
RB7/KBI3/PGD RD7/SPP7/P1D
R1
8 10k
RE0/AN5/CK1SPP
9
RE1/AN6/CK2SPP
10
RE2/AN7/OESPP
18 1
VUSB RE3/MCLR/VPP
C1 PIC18F4550
470nF
Configuración del oscilador para generar una frecuencia requerida para la comunicación.
El módulo USB del PIC18F4550 requiere un reloj de 48 MHz Adicionalmente, el
microcontrolador requiere un reloj que puede variar entre 0 a 48MHz. En esta práctica el reloj
del CPU también se configura a 48 MHz.
La figura muestra parte del circuito de reloj del PIC18F4550. El circuito consiste de un pre-
escalador y multiplexor PLL 1:1 – 1:12, un PLL de 4:96MHz, un post-escalador PLL de 1:2 –
1:6 y un post-escalador de oscilador de 1:1 – 1:4.
Firma 1:
1. Codificar el programa de ejemplo N° 1, en mikroC pro for PIC.
2. Implementar el esquemático de ejemplo N° 1, en protoboard.
3. Comprobar su funcionamiento. .
Firma 2:
4. Incorporar una función para devolver los datos que se envían por la terminal a la
misma terminal.
5. Incorporar una función para controlar los bits de un puerto (se sugiere puerto D)
6. Añadir una función para controlar el PWM (para ver el funcionamiento traer un
motor DC, también se sugiere que los incrementos o decrementos sean de 15)