Laboratorio de Microcontroladores I
1
Practica 7 – Comunicación Serial con Pic 16F877A y MikroBasic 1. Teoría Introductoria. 1.1.
Comunicación Serial RS232
El microcontrolador PIC 16F877A dispone de varios módulos de comunicación serie independientes, además cada uno se puede configurar a funcionar en modos diferentes. El USART es uno de los primeros sistemas de comunicación serie. Las versiones nuevas de este sistema están actualizadas y se les denomina un poco diferente - EUSART. El módulo Transmisor/Receptor Universal Síncrono/Asíncrono USART es un periférico de comunicación serie de entrada/salida. Contiene todos los generadores de señales de reloj, registros de desplazamiento y búfers de datos necesarios para realizar transmisión de datos serie de entrada/salida. El USART integrado en el PIC16F877A posee las siguientes características:
Transmisión y recepción asíncrona en modo Full-duplex; Caracteres de anchura de 8 – 9 bits programables; Detección de dirección en modo de 9 bits; Detección de errores por saturación del búfer de entrada; y Comunicación Half Duplex en modo síncrono.
EUSART EN MODO ASÍNCRONO El USART transmite y recibe los datos datos utilizando la codificación de no retorno a cero - NRZ (non-returnto-zero). Como se muestra en la siguiente figura, no se utiliza una señal de reloj y los datos se transmiten de forma muy simple:
Cada dato se transmite de la siguiente forma: • • • •
En estado inactivo la línea de datos datos permanece en estado alto (1); Cada transmisión transmisión de datos comienza con un bit de arranque (START), el cual, siempre es cero (0); (0); Cada dato tiene un ancho de 8 o 9 bits (primero se transmite el bit menos significativo- LSB); y Cada transmisión transmisión de datos termina con un bit de parada (STOP), el cual, siempre siempre es uno (1).
La siguiente figura muestra un ejemplo de cómo se conecta de manera habitual un microcontrolador PIC que utiliza el módulo USART. El circuito RS-232 se utiliza como un convertidor de nivel de voltaje, para adaptar los niveles de voltaje de la PC y el microcontrolador al protocolo RS232.
c i s a B o r k i M y A 7 7 8 F 6 1 c i P n o c l a i r e S n ó i c a c i n u m o C : 7 a c i t c a r P
1
Laboratorio de Microcontroladores I
1.2.
Librería UART
MikroBasic posee la librería “UART Library” que nos permite de manera simple utilizar el USART del PIC16F877A, para utilizar esta librería lo primero que se tiene que hacer es configurar el USART de la siguiente manera: UART1_Init(baud_rate)
‘ baud rate = velocidad de transmisión Ej. 9600 bps
Esta instrucción Configura e inicializa el modulo UART de la siguiente manera: Recepción habilitada Transmisión habilitada Trama de datos de 8 bits 1 bit de parade “STOP” Paridad de datos deshabilitado Operación asíncrona.
‘ Esta instrucción testea si el dato recibido en el buffer esta listo para ser leído retorna 1 si el dato esta listo y 0 si no existe dato. UART1_Data_Ready()
Una vez que el dato este listo para ser leído se utiliza: Rx = UART1_Read() ‘ Este instrucción retorna el valor listo y almacenado en el buffer, ojo, primero debe utilizarse UART1_Data_Ready para saber si el buffer esta lleno y listo para leer.
2
c i s a B o r k i M y A 7 7 8 F 6 1 c i P n o c l a i r e S n ó i c a c i n u m o C : 7 a c i t c a r P
2
Laboratorio de Microcontroladores I
UART1_Write(dato)
3
‘ Esta función transmite un dato
2. Actividades de Laboratorio 2.1. Codificar el siguiente programa en MikroBasic, simular el circuito en Proteus, posteriormente armar el circuito en Protoboard y comprobar su funcionamiento.
El siguiente circuito muestra funcionamiento de comunicación serial entre microcontrolador y computador.
el la el el
1ro El microcontrolador envia
un saludo con el mensaje “conectado” al computador. 2do A travez del computador
se puede controlar el motor paso a paso enviando la tecla “.” inicia el movimiento o se detiene. Con la tecla “+” se incrementa la velocidad, con la tecla “-” se disminuye. 3ro
4to Con la tecla “/” y “*” se
cambia el giro de izquierda a derecha y viceversa. 5to Con la tecla “t” se lee el
valor de la temperatura del sensor LM35.
c i s a B o r k i M y A 7 7 8 F 6 1 c i P n o c l a i r e S n ó i c a c i n u m o C : 7 a c i t c a r P
3
Laboratorio de Microcontroladores I
4
c i s a B o r k i M y A 7 7 8 F 6 1 c i P n o c l a i r e S n ó i c a c i n u m o C : 7 a c i t c a r P
4
Laboratorio de Microcontroladores I
5
2.2. Modificar el circuito y programa anterior, a las siguientes características: 1ro
Con la tecla “s” inicia y detiene un corrimiento de leds de 8 bits como un juego de luces. 2do
Con la tecla “i” el corrimiento de leds se desplaza a la izquierda, con la tecla “d” el corrimiento es a la derecha. 3ro
Con la tecla “r” el corrimiento de leds es mas rápido, con la tecla “l” va más lento. 4to
La comunicación será a 9600 baudios y se utilizara el programa USART de MikroElectronica. 5to
El circuito debe ser simulado y posteriormente armado para comprobar su correcto funcionamiento.
3. Informe de laboratorio 3.1. Investigar el funcionamiento del sensor de temperatura DS1620 y sus características, rango de temperatura y forma de lectura del sensor, realice un pequeño resumen a mano de este dispositivo. 3.2. Realice un programa en Mikrobasic para controlar un solo display de 7 segmentos conectado al microcontrolador, pero controlado vía comunicación serial con el computador, dicho programa debe permitir desplegar en el display los números del 0 al 9 con sus respectivas teclas 0 al 9 a través del computador, el programa debe ser simulado en proteus. Imprima el circuito y programa mencionado. 3.3. Investigar algún remplazo del circuito MAX232, compárelo y descríbalo en sus propias palabras a mano.
Puede descargar los demás laboratorios y guías de la siguiente pagina web
c i s a B o r k i M y A 7 7 8 F 6 1 c i P n o c l a i r e S n ó i c a c i n u m o C
https://sites.google.com/site/mikrobasicparapic/
: 7
4. Conclusiones 4.1. Describa en sus propias palabras las conclusiones obtenidas en la realización de este laboratorio en un mínimo de cinco líneas a mano, y describa sus experiencias y las dificultades que tubo al realizar dicho laboratorio.
Lic. Raúl Alejandro Quispe Larico Email:
[email protected]
a c i t c a r P
5