Академический Документы
Профессиональный Документы
Культура Документы
Puerto Paralelo
Puerto Serial
Puerto USB
1
4/15/2015
Puerto Serial
El puerto serie RS-232, es la forma mas común usada para realizar
transmisiones de datos entre:
• Ordenadores.
• PLC’s
• Celulares
• Calculadoras
• GPS
• Dispositivos de Radio Frecuencia
• Datalogers, etc.
Utiliza el Circuito integrado UART (Transmisor-Receptor-Asíncrono
Universal).
Los siguientes modelos de este chip:
• 8250 (bastante antiguo, solo llega a 9600 baudios),
• 16450 (versión corregida del 8250, llega hasta 115.200 baudios)
• 16550A (con buffers de E/S) a partir de la gama Pentium.
• Los portátiles suelen llevar otros chips:
– 82510 (con buffer especial, emula al 16450) o el 825
2
4/15/2015
Conexión
Entre
Computadores
Modem Nulo
Modem Completo
Realimentación
3
4/15/2015
4
4/15/2015
Conexión PC – MAX232
5
4/15/2015
Conexión PC – MAX232
Usart (funciones)
UARTx_Init
UARTx_Data_Ready
UARTx_Tx_Idle
UARTx_Read
UARTx_Read_Text
UARTx_Write
UARTx_Write_Text
UART_Set_Active
6
4/15/2015
Uart_Init
Descripción: Initializa el modulo hardware USART con un
determinado Baud rate. Referirse al data sheet de cada
dispositivo para un especifico Fosc. Si se reporta un baud
rate no soportado el compilador da un error.
Ejemplo:
Usart_Init(9600);
Usart_Data_Ready
Descripción: Use la funcion para testear si un dato ha
sido recivido en el buffer y esta listo para la lectura.
Ejemplo:
Si el dato esta listo:
int receive;
...
if (Usart_Data_Ready()) receive = Usart_Read;
7
4/15/2015
Usart_Read
Descripción: La funcion recive un byte via USART. Use la
funcion Usart_Data_Ready para verificar si un dato esta
listo en el buffer, antes de usar la funcion Usart_Read.
Ejemplo:
Si el dato esta listo:
int receive;
...
if (Usart_Data_Ready())
{ receive = Usart_Read(); }
Usart_Write
Descripción: Funcion transmite un byte (data) via USART.
Ejemplo:
int chunk = 0x1E;
….
Usart_Write(chunk); /* envia chunk via USART */
8
4/15/2015
27n
27n
9
4/15/2015
Usart (programa I)
10
4/15/2015
Ejercicio propuesto 1
• Repetir el ejercicio anterior, pero utilizando el
virtualizador del puerto serial y el componente
COMPIM del Proteus, y el Hyperterminal del PC
U4
RA0 2 15 RC0 P1
RA0/AN0 RC0/T1OSO/T1CKI
RA1 3 16 RC1
RA1/AN1 RC1/T1OSI/CCP2/UOE
RA2 4 17 RC2
RA2/AN2/VREF-/CVREF RC2/CCP1/P1A 1
RA3 5 23 RC4 DCD
RA3/AN3/VREF+ RC4/D-/VM 6
RA4 6 24 RC5 DSR
RA4/T0CKI/C1OUT/RCV RC5/D+/VP RC6 2
RA5 7 25 RC6 RXD
RA5/AN4/SS/LVDIN/C2OUT RC6/TX/CK 7
RA6 14 26 RC7 RTS
RA6/OSC2/CLKO RC7/RX/DT/SDO RC7 3
OSC1 13 TXD
OSC1/CLKI 8
CTS
4
RB0 33 19 RD0 DTR
RB0/AN12/INT0/FLT0/SDI/SDA RD0/SPP0 9
RB1 34 20 RD1 RI
RB1/AN10/INT1/SCK/SCL RD1/SPP1
RB2 35 21 RD2
RB2/AN8/INT2/VMO RD2/SPP2
RB3 36 22 RD3
RB3/AN9/CCP2/VPO RD3/SPP3
RB4 37 27 RD4 ERROR
RB4/AN11/KBI0/CSSPP RD4/SPP4
RB5 38 28 RD5
RB5/KBI1/PGM RD5/SPP5/P1B COMPIM
RB6 39 29 RD6
RB6/KBI2/PGC RD6/SPP6/P1C
RB7 40 30 RD7
RB7/KBI3/PGD RD7/SPP7/P1D
8 RE0
RE0/AN5/CK1SPP
9 RE1
RE1/AN6/CK2SPP RB0 1 20
10 RE2
RE2/AN7/OESPP RB1 2 19
18 1 RE3
VUSB RE3/MCLR/VPP RB2 3 18
RB3 4 17
PIC18F4550 C1 RB4 5 16
OSC1 RB5 6 15
RE3
RB6 7 14
R1 27n RB7 8 13
9 12
10k 10 11
C2
RA6
27n
15/04/2015 Ing. Germán Jesús Pereira Muñoz 21
Ejercicio propuesto 2
• Realizar un programa controlar con el teclado del
computador dos motores DC
a) a) Utilizando el Virtual Terminal del Proteus
b) b) Utilizando el Virtualizador del puerto serial
y el COMPIM del Proteus
11
4/15/2015
Ejercicio propuesto 3
• Realizar un programa que en el computador se
desliegue la informacion de 4 ADC del
microcontrolador.
a) a) Utilizando el Virtual Terminal del Proteus
b) b) Utilizando el Virtualizador del puerto serial
y el COMPIM del Proteus
Ejercicio propuesto 4
• Realizar un programa para que mediante el
computador se mande un mensaje al microcontrolador
y est emensaje ser muestre en un LCD de texto.
a) a) Utilizando el Virtual Terminal del Proteus
b) b) Utilizando el Virtualizador del puerto serial y el
COMPIM del Proteus
12
4/15/2015
Ejercicio propuesto 5
• Realizar un programa para realizar la conversión
ADC del canal 0 y enviarla por el puerto serial
20/08/0
20/08/10
20/08/10 Ing. Germán Jesús Pereira Muñoz 25
Modo: Hex
13