Guia Lab - 09

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 5

Laboratorio 09

El Puerto Serie

Introducción
Una rasgo de gran importancia que poseen los microcontroladores PIC es la capacidad de
comunicarse con el computador a través de un módulo incorporado que tiene las características
apropiadas para el intercambio de información. Este módulo se llama USART (Universal
Synchronous Asynchronous Receiver Transmitter) y opera de acuerdo al estándar RS232 que
también es muy utilizado en las computadoras personales u ordenadores, así como en otros
dispositivos. Como interfaz entre los niveles TTL del PIC y RS232 del computador se suele utilizar el
circuito integrado MAX232.

Características
Este módulo puede configurarse para operación asincrónica (full -dúplex) y para su empleo en este
modo se puede utilizar la librería UART del compilador mikroC PRO. Este es uno de los dos módulos
serie E/S, también llamado Interfaz de Comunicación Serie SCI. El módulo USART de los
microcontroladores PIC puede configurarse como un sistema asincrónico full-dúplex que puede
comunicarse con dispositivos periféricos, tales como terminales CRT y computadoras personales, o
puede configurarse como un sistema sincrónico half-dúplex que puede comunicarse con otros
dispositivos tales como conversores A/D y D/A, EEPROMs serie, etc. Los modos de operación
disponibles son los siguientes:

● Asincrónico (full-dúplex)
● Sincrónico-Maestro (half-dúplex)
● Sincrónico-Esclavo (half-dúplex)

Protocolo RS232
Este es un protocolo de comunicación serie ampliamente difundido en las computadoras personales y
empleado por los puertos COM del computador. El acceso físico a estos puertos es a través de un
conector DB-25 o DB9, machos y hembras. La norma RS232 se estableció para comunicar un
computador con un modem, por lo que en los conectores DB-25 aparecen muchos pines que en otras
aplicaciones no se utilizan, y en las que es más común emplear el conector DB9. Cada uno de los
terminales del conector RS232 tiene una función especificada por la norma. Unos pines transmiten y
reciben datos, mientras que otros permiten el control de la comunicación. En la tabla se observan
estos detalles.
Un dato a tener muy en cuenta es la velocidad de transmisión, que es la cantidad de información
enviada por la línea de transmisión en la unidad de tiempo. Se mide en Baudios y es proporcional a
los Bits/segundo (bps). Las velocidades de transmisión normalizadas para los puertos COM son: 75,
150, 300, 600, 1200, 2400, 4800, 9600, etc. Baudios. Otra cuestión fundamental se refiere a los
niveles de voltaje de la norma:

● Los datos se transmiten con lógica negativa, es decir, un voltaje positivo representa 0,
mientras que un voltaje negativo representa 1.
● El 0L se encuentra entre +3 y +15V.
● El 1L se encuentra entre -3 y -15V.
● Los voltajes más usados son +12V para el 0L y -12V para el 1L.
● Cuando un puerto no está transmitiendo mantiene el terminal de transmisión en 1L (-12V).

Circuito ​Integrado MAX232


El MAX232 es un estándar en la industria y se emplea como interfaz entre los niveles TTL y RS232 y
requiere únicamente una fuente de +5V para su operación. Para generar los niveles de +12V y -12V
necesita 4 capacitores de 1,0 uF. Dispone de dos entradas TTL con salida RS232, así como dos
entradas RS232 con salida TTL. El MAX232 puede realizar la transferencia de datos a una velocidad
máxima de 120 kbps.
Librería UART de mikroC PRO para el módulo USART
El módulo USART se incluye en los microcontroladores PIC16F88, 16F628A y 16F877A (algunos
microcontroladores PIC, como el 16F84A, no tienen este módulo). La biblioteca UART de mikroC
PRO proporciona las herramientas para hacer que el empleo de este módulo en modo asincrónico
(full-dúplex) sea tan sencillo como nunca lo había sido hasta ahora. Esto permite la comunicación con
otros dispositivos a través del protocolo RS232. En la tabla se pueden ver las funciones incorporadas
con sus características más sobresalientes.
Ejemplo en mikroC PRO con el PIC18F4550

char i, error, byte_read; // VARIABLES


void main(){
ANSEL = 0; // Configuración del ADC como digital I/O
ANSELH = 0;
TRISB = 0x00; // Set PORTB as salida (error - señalización)
PORTB = 0; // No error
error = Soft_UART_Init ( &PORTC, 7, 6, 14400, 0); // Inicializa UART a 14400 bps
if (error > 0) {
PORTB = error; // si hay un error
while(1) ; // para el programa
}
Delay_ms(100);
for (i = 'z'; i >= 'A'; i--) { // envia la z hasta A'
Soft_UART_Write(i);
Delay_ms(100);
}
while(1) {
byte_read = Soft_UART_Read(&error); // Lee el byte
if (error) // verifica si existió un error
PORTB = error; // envía el error a PORTB
else
Soft_UART_Write(byte_read); // si no hay error se retorna el byte leido
}
}

Procedimiento
1. Desarrollar el experimento de los código 1 copiando los códigos y simulando en Proteus
como muestran los videos.
2. Desarrollar un programa que crea una comunicación entre dos microcontroladores
3. Desarrollar un Programa que permita enviar un dato de un microcontrolador a otro y este
lo despliegue en un LCD

Investigar
1. Que es RTU
2. Que es el MODBUS
3. Ques es el RS 485

También podría gustarte