You are on page 1of 11

Programacin estructurada

Maestra: Ing. Sandra Miriam Hernndez Cuazitl


Trabajo: Puertos de comunicacin
Integrantes:
Jos Ramn Bonet Lezama
Luis Sergio Acevedo Castro
Diego Lpez Lpez
Introduccin:
Hoy en da la tecnologa ha avanzado exponencialmente que actualmente son
pocos los lugares donde no se hay medios de comunicacin, esto es un claro
ejemplo de la globalizacin hoy en da ya que casi cualquier persona puede tener
acceso a la informacin y la comunicacin mediante algn dispositivo electrnico y
las computadoras es uno de los ejemplos ms claros que se puede notar en este
aspecto.

Las computadoras han avanzado bastante desde que se invent la primera, y con
ellas han avanzado los dispositivos de almacenamiento. Debido al avance
tecnolgico se crearon puertos que sirven para recibir y enviar datos de la
computadora a perifricos que estn conectados a ella, estos se llaman puertos de
comunicacin y actualmente se conoce una gran gama de ellos.

Desarrollo:

Existen dos mtodos bsicos para transmisin de datos en las computadoras


modernas. En un formato de transmisin de datos en serie un dispositivo enva
datos a otro a razn de un bit a la vez a travs de un medio. Por otro lado, en un
formato de transmisin de datos en paralelo un dispositivo enva datos a otro a
una tasa de n nmero de bits a travs de n nmero de medios a un tiempo.

Los puertos de comunicacin son herramientas que permiten manejar e


intercambiar datos entre un computador (generalmente estn integrados en las
tarjetas madres) y sus diferentes perifricos, o entre dos computadores. Entre los
diferentes puertos de comunicacin tenemos:
Puertos seriales (COM):

Un PC posee normalmente entre uno y cuatro puertos seriales.

Son adaptadores que se utilizan para enviar y recibir informacin de BIT en BIT
fuera del computador a travs de un nico cable y de un determinado software de
comunicacin. Un ordenador o computadora en serie es la que posee una unidad
aritmtica sencilla en la cual la suma en serie es un clculo digito a digito

Los puertos seriales se identifican tpicamente dentro del ambiente de


funcionamiento como puertos del COM (comunicaciones). Por ejemplo, un ratn
pudo ser conectado con COM1 y un mdem a COM2.
Los voltajes enviados por los pines pueden ser en 2 estados, encendido o
apagado.
Encendido (valor binario de 1) significa que el pin est transmitiendo una seal
entre -3 y -25 voltios, mientras que apagado (valor binario de 0) quiere decir que
esta transmitiendo una seal entre +3 y +25 voltios.
Estos conectores son de tipo macho y los hay de 2 tamaos, uno estrecho, de 9
pines agrupados en dos hileras con una longitud aproximada de 17mm y otro
ancho de 25 pines, con una longitud de unos 38mm, internamente son iguales (9
pines) y realizan las mismas funciones.
Estos puertos se utilizan para conectar el Mouse y el MODEM. Normalmente el
Mouse se conecta a un puerto COM de 9 pines (comnmente COM1) y el MODEM
se conecta a un puerto de 25 pines (comnmente COM2).
Conector macho Mini DIN -8 que se usa para conectar por el
puerto serie a las computadoras Macintosh.

Puerto paralelo:

El puerto paralelo de una tpica PC utiliza un conector hembra de tipo D de 25


pines (DB-25). El orden de los pines del conector es ste:

Si bien un sistema de comunicacin en paralelo puede utilizar cualquier nmero de


cables para transmitir datos, la mayora de los sistemas paralelos utilizan ocho
lneas de datos para transmitir un byte a la vez.
La siguiente tabla describe la funcin de cada patita del conector 1284 tipo A:
Hay tres direcciones de E/S asociadas con un puerto paralelo de la PC, estas
direcciones pertenecen al registro de datos, el registro de estado y el registro de
control.
El registro de datos es un puerto de lectura-escritura de ocho bits. Leer el registro
de datos (en la modalidad unidireccional) retorna el ltimo valor escrito en el
registro de datos.
Los registros de control y estado proveen la interface a las otras lneas de E/S. La
distribucin de las diferentes seales para cada uno de los tres registros de un
puerto paralelo est dada en las siguientes tablas:
Tabla 2: Registro de estado:

Una PC soporta hasta tres puertos paralelo separados, por tanto puede haber
hasta tres juegos de registros en un sistema en un momento dado. Existen tres
direcciones base para el puerto paralelo asociadas con tres posibles puertos
paralelo: 0x3BCh, 0x378h y 0x278h, nos referimos a stas como las direcciones
base para el puerto LPT1, LPT2 y LPT3, respectivamente.

Cuando la PC se enciende el BIOS ejecuta una rutina para determinar el nmero


de puertos presentes en el sistema asignando la etiqueta LPT1 al primer puerto
localizado, si existen ms puertos entonces se asignarn consecutivamente las
etiquetas LPT2 y LPT3.
Programacin del puerto paralelo.

Primeramente, se dir que para poder visualizar el valor de los datos del puerto de
datos, utilizaremos algunos dispositivos electrnicos, llamados LED (diodo emisor
de luz) apoyados por unos resistores que limitan la corriente y ayudan a que los
LED no se quemen.

MUESTRA DE INFORMACION EN EL PUERTO


La lnea principal que permite mostrar datos en el puerto, es la lnea que ms ser
utilizada y vara segn el tipo de compilador que se est utilizando.

Si se trata de un compilador C/C++ 4.0 o superior de


Borland o Microsoft:

Librera requerida: conio.h


Lnea a utilizar: outp(dir_puerto, valor);

Dnde: dir_puerto es la direccin de memoria base que ocupa el puerto por lo


general es 0x378.

Y valor es el valor en nmero decimal que se mostrara en el puerto en su


equivalente visto en binario.
Conclusin.
Programar requiere de tener conocimientos en programacin en
lenguaje C/C++ y algunos aspectos bsicos de electrnica para comprender sobre
todo los circuitos expuestos, el resto depender del interesado, pues como bien se
sabe para programar solo bastan tres requisitos, conocer la estructura de un
lenguaje de programacin, ser buen investigador y buscar alternativas para la
solucin de problemas.

Ejemplo de programa:
#include <windows.h>
#include <iostream>

#define STRING_SIZE 100

using std::cout;
using std::cin;
int main()
{
HANDLE hComPort;
DWORD dwBytesWritten;
DWORD dwBytesRead;
DWORD dwBufferSize;
TCHAR szBuffer[STRING_SIZE];
dwBufferSize = sizeof(TCHAR) * STRING_SIZE;
hComPort = CreateFile(_T("COM1:"),
GENERIC_READ | GENERIC_WRITE, // solo pueden ser estos valores
0,
0,
OPEN_EXISTING, // solo puede ser OPEN_EXISTING
FILE_FLAG_OVERLAPPED,
0);
if (hComPort == INVALID_HANDLE_VALUE)
{ // No se pudo abrir el puerto COM1:
cout << "No se pudo abrir el puerto COM1." << endl;
}
else
{
// Leer datos desde el puerto serial
ReadFile(hComPort, szBuffer, dwBufferSize, &dwBufferRead, NULL);
cout << "Se leyeron " << dwBufferRead << " bytes. " <<
"Buffer: " << szBuffer << endl;
// Etctera: podemos emplear WriteFile para escribir bytes.
}
// Finalmente, cerramos el manejador
CloseHandle(hComPort);
return EXIT_SUCCESS;
}

You might also like