Diseño con microcontroladores micr ocontroladores AVR en lenguajes MikroBasic y MikroC
PRACTICA 02: Puerto Puerto Seria Seriall RS-232 RS-232
Docente: Ing. Roger Guachalla Narváez
[email protected]
Entender Entender el mecanismo de comunicación comunicación serial asíncrona por protocolo protocolo RS-232 a través del UART integra integrado do en los microcon microcontrol trolado adores res AVR Comprob Comprobar ar el funcion funcionamie amiento nto de la comunica comunicació ción n serial serial entre el microco microcontro ntrolado ladorr ATMEGA16 ATMEGA16 /32 /32 y el puerto puerto seria seriall de un un computa computador dor PC
Comunicaciones serie asíncronas Una manera de conectar dos dispositivos dispositivos es mediante comunicaciones comunicaciones serie asíncronas. asíncronas. En ellas los los bits de datos se transmiten "en "en serie" (uno (uno de tras de otro) y cada cada dispositivo dispositivo realiza debe sincr sincron oniza izarr su propi propio o reloj reloj (No exis existe te una una línea línea Cloc Clock). k). Previamente Previamente se debe acordar que ambos ambos dispositivos dispositivos transmitirán transmitirán datos a la misma velocidad velocidad (Baudios=b (Baudios=bit/seg). it/seg). La velocidad velocidad es inversamente proporcional proporcional a la distancia de comunicación comunicación entre dispositivos. Un valor típico de velocidad es el de 9600 Baud que permite distancias de hasta 15 metros. Los datos serie se encuentran encapsulados en tramas de la forma:
Primero se envía un bit de start, a continuación los bits de datos (primero el bit de mayor peso) y finalmente los bits de STOP. El número número de de bits bits de datos datos (5,6,7, (5,6,7,8,9 8,9)) y de bits de Stop (1,2,1½ (1,2,1½)) son parámetr parámetros os confi configura gurable bles, s, así así como como el criterio de de paridad (Even, Odd, Space, Space, Mark, Mark, None) para la detección detección de errores. errores. Normalmente, Normalmente, las comunicaciones comunicaciones serie con microcontroladores microcontroladores tienen los siguientes siguientes parámetros: parámetros: 1 bit de Start, 8 bits de Datos, 1 bit de Stop y sin paridad. En esta figura se puede puede ver un ejemplo de la transmisión del dato binario binario 10011010. 10011010. La línea en reposo está a nivel alto:
Norma RS232 La Norma RS-232 fue definida para conectar conectar un ordenador a un modem. Además de transmitirse transmitirse los datos de una forma forma serie asíncrona asíncrona son necesarias necesarias una serie de señales adicionales adicionales (Handshake) (Handshake) , que se definen en la la norma. Estas líneas líneas no se utilizan al conectar conectar un microcontrol microcontrolador ador con el computador computador PC. Las tensiones empleadas empleadas están comprendidas comprendidas entre: 0 lógico = +3 … +15volt +15voltios ios (+12v (+12v para el PC) 1 lógi lógico co = -3 … -15vo -15volti ltios os (-12v (-12v para para el PC) Para conectar el PC a un microcontrolador por el puerto serie se utilizan las señales Tx, Rx y GND. El PC utiliza la norma norma RS232, por por lo que los niveles niveles de tensión del PC y el microcontrola microcontrolador dor (TTL) son distinto distintos. s. Es necesa necesario, rio, por tanto, tanto, adiciona adicionarr un circuito circuito que que adapte adapte los niveles: niveles: MAX232 MAX232.. Este chip permite permite adaptar los niveles RS232 RS232 y TTL, permitiendo conectar conectar un PC con un microcontrolador. microcontrolador. Sólo Sólo es necesario este chip y 4 condensadores condensadores electrolíticos de valor idéntico (entre 10 a 47 micro Faradios).
Pines de conexión en puerto serial COM1 (DB9) del computador PC: 2: Rx (Recepción) 3: Tx (Transmisión) 5: Gnd (Tierra)
El programa principal espera un dato del computador PC, al recibir el dato lo despliega en forma binaria en los leds conectados al puerto C. Posteriormente el dato recibido es incrementado en 1 (uno) y es enviado nuevamente al PC. El dato incrementado y recibido por el PC se visualiza en el Terminal USART incorporado en MikroBasic y MikroC
Componentes Proteus: