Proyecto programación
Equipo: Beibes
Tema: Control de puertos de una pc
Puertos paralelos
Definición
Un puerto paralelo es una interfaz entre un ordenador y un periférico. El puerto paralelo
transmite la información byte por byte, es decir que los 8 bits de datos que forman un byte
viajan juntos. Un ejemplo de puerto paralelo es el puerto de la impresora,
El puerto paralelo puede utilizar uno de los tres tipos de conectores definidos por el
estándar IEEE 1284:
1. 1284 tipo A es un conector hembra de 25 patitas de tipo D. Es el utilizado en las
impresoras.
2. 1284 tipo B que es un conector de 36 patitas de tipo centronics y lo encontramos en la
mayoría de las impresoras.
3. 1284 tipo C es un conector similar al 1284 tipo B pero más pequeño, con mejores
propiedades eléctricas y mecánicas.
Tipos de puertos
Puertos SPP
Existen algunas versiones mejoradas de los puertos paralelos. Las especificaciones
originales eran unidireccionales, lo cual significa que los datos sólo podían ir en una
dirección para cada pin. En 1987, IBM ofrece un diseño nuevo de puerto paralelo
bidireccional, conocido como SPP (Standard Parallel Port), reemplazando por completo el
diseño original.Las comunicaciones bidireccionales permiten a cada dispositivo recibir y
transmitir datos por igual. Muchos dispositivos usan los pines del 2 al 9, originalmente
diseñados para el envío de datos. Pero los pines del 18 al 25, utilizados para tierra, pueden
ser usados también para datos. Esto permite una comunicación full-duplex (ambas
direcciones a la vez).
Puertos EPP
Los puertos paralelos mejorados EPP (Enhanced Parallel Port), fueron creados en 1991 por
Intel, Xircom y Zenith, y permiten la transferencia de muchos más datos por segundo.
Fueron diseñados específicamente para dispositivos que no fueran impresoras que querían
ser conectados al puerto paralelo, usualmente equipos de almacenamiento que necesitaban
una mayor tasa de transferencia de datos.
Puertos ECP
Casi al mismo tiempo de la introducción de los puertos EPP, Microsoft y Hewlett Packard
anuncian en conjunto una nueva especificación en 1992, llamada ECP(Extended Capabilities
Port). Mientras que EPP estaba orientado a otros dispositivos, ECP fue diseñado para
proveer una mejor funcionalidad y velocidad impresoras.En 1994, el estándar IEEE 1284 es
sacado a la luz. Incluye las especificaciones EEP y ECP. Para que ambos funcionaran
correctamente, tanto el sistema operativo como el dispositivo, deben soportar estos
requerimientos, Hoy en día esto no suele ser un problema ya que casi todos los ordenadores
soportan todos los tipos de puertos paralelos, y detectará el modo a ser usado,
dependiendo el dispositivo que este conectado. Si quieres elegir un modo de forma manual,
lo puedes hacer por medio de la BIOS.
Resumen de equipo (Desarrollo del proyecto)
PLANEACION
El proyecto, fue creado con la finalidad de que los alumnos entiendan de una forma mas
sensilla sobre la elaboracion de control de puertos de una PC.
se podra obcervar que dicho programa requiere de conocimineots basicos de lenguaje C/C++ y
algunos conociemientos basicos de la electronica
A pesar de las complejidades, el equipo “Beibes”, luego de buscar los accesorios a utilizar en el
proyecto llamado “CONTROL DE PUERTOS DE UNA PC” nos hizo llegar como equipo, a un
punto en donde se realizo lo siguiente:
La búsqueda de los accesorios.
se realizó una búsqueda de los materiales que serían utilizados, tales como un puerto
paralelo: es una interfaz entre una computadora y un periférico,cuya principal características
que los bits de datos viajan juntos, enviando un paquete de byte a la vez; Conector Físico: La
conexión del puerto paralelo al mundo exterior se realiza mediante un conector hembra DB25.
Observando el conector de frente y con la parte que tiene mayor número de pines hacia arriba,
se numeran de derecha a izquierda y de arriba a abajo, del 1 al 13 (arriba) y del 14 al 25
(abajo);
Protoboard: Es un tablero con orificios conectados eléctricamente entre sí, habitualmente
siguiendo patrones de líneas, en el cual se pueden insertar componentes electrónicos 9 y
cables para el armado y prototipado de circuitos electrónicos y sistemas similares; cables utp,
adaptador USB a puerto BGA, luces led, resistencias, monitor de pc, y alumnos con
energías de querer aprender.
Ya recopilado el material, comenzamos a trabajar en la realización de un código programado en
Dev c con la version 4.9.1, que es capaz de mandar ordenes de encendido, encender-apagar
(parpadeante), y apagado, con 8 luces led color.
Y para el armado de circuito fueron utilizadas artículos sugeridos acerca sobre cómo controlar
un puerto en la PC, ya que se desconoce esta información. El equipo, reunio la informacion
suficiente para poder hacer una breve, pero completa recopilación de datos acerca sobre el
cual como poder hacer posible el control de dicho puerto.
Buscamos información relacionada de acuerdo con el tema a seguir, ya que se trataba de un
tema que el equipo desconocía por completo.
Se realizo mucha investigación de acuerdo a lo que se necesitaba lograr hacer, ya que el
controlar un puerto paralelo para que mande y reciba señales, es un poco sencillo, pero igual
con un tal nivel de dificultad.
El equipo, comenzó a tener muchas dudas, muchas cosas que no comprendiamos, y dado
esto, tuvimos que recurrir ya no solo a investigar y a recolectar información de distintas fuentes,
tales que nos ayudaron a realizar el cableado y el armado de piezas con la protoboard, los
transistores y las luces leds, ya que desconocemos sobre el cómo poder conectarlos a la proto
y hacer que el programa continuará corriendo.
introducción
INTRODUCCION
La siguiente investigación se basa en el proyecto “Control de entrada y salida de puertos”, es
importante tomar en cuenta la interfaz que se va a manejar para el proyecto, lo que queremos
es que un sistema envíe y reciba señales a otros, nos pareció conveniente usar el puerto
paralelo. Cabe mencionar que la información en paralelo se ejecuta mediante la
transferencia simultánea de los bits que componen el dato (byte o palabra).
una de las ventajas de los puertos es que es más rápida la transferencia, aunque las
comunicaciones en paralelo no son convenientes a grandes distancias ya que no es
viable la conexión física de todas las líneas necesarias.
Comenzamos a poner en práctica toda nuestra teoría adquirida en una ardua?
investigación,Para esto necesitamos de una pc y un programa en el cual pudiéramos
diseñar un código para manipular el puerto paralelo y de esta manera poder controlar
los leds.
Objetivos
● Utilizar el puerto paralelo para manipular los LED’s de un circuito externo. Para ello hay
que controlar el puerto paralelo bajo el Sistema Operativo Windows.
● Desarrollar una aplicación capaz de manipular el envío y recepción de datos a través del
puerto paralelo.
● Realizar un circuito en un protoboard que permita la recepción de datos de un puerto
paralelo.
● Comprender el funcionamiento del puerto paralelo.
MARCO TEÓRICO
Unidireccional - puerto estándar 4-BIT que por defecto de la fábrica no tenía la capacidad de
transferir datos ambas direcciones.
Bidireccional - puerto estándar 8-BIT que fue lanzado con la introducción del puerto PS/2 en
1987 por IBM y todavía se encuentra en computadoras hoy. El puerto bidireccional es capaz de
enviar la entrada 8-bits y la salida. Hoy en las impresoras de múltiples funciones este puerto se
puede referir como uno bidireccional EPP - el puerto paralelo realzado (EPP) fue desarrollado en
1991 por Intel, Xircom y funciona cerca de velocidad de una tarjeta ISA y puede alcanzar
transferencias hasta 1 a 2MB / por segundo de datos.
Forma:
Estos puertos son del tipo hembra, de unos 38mm de longitud con 25 pines agrupados en dos
hileras.
El puerto paralelo está formado por 17 líneas de señales y 8 líneas de tierra (Anexo E.1). Las
líneas de señales están formadas por tres grupos:
● 4 Líneas de control
● 5 Líneas de estado
● 8 Líneas de datos
Ubicación en el sistema informático:
Normalmente se utiliza para conectar impresoras, scanners y en algunos casos hasta dos PCs.
Los puertos de comunicación mayormente utilizados en el ambiente de las redes son el RJ-45 y
el RJ-11.
El Puerto Paralelo hace posible el flujo de datos a través de varias líneas. Un caso típico es la
comunicación entre un ordenador y varias impresoras.
El ordenador, une por medio de conexiones de puertos, los periféricos que pese. Los datos no se
vuelcan uno detrás del otro, sino que en grupos de hasta 8 a la vez, es decir en modo paralelo.
Relacionado con Puerto Paralelo
1. Proceso Paralelo: Proceso Paralelo Es un tipo de proceso asimilable a los grandes
sistemas. Consiste básicamente en procesar varias operaciones de modo simultáneo por
distintas unidades centrales. En realidad, estamos en un...
2. Puerto: Puerto Es un elemento hardware, una especie de enchufe que permite la salida y
entrada del ordenador mediante la conexión a distintos tipos de periféricos....
3. LPT1: LPT1 Nombre lógico asignado al puerto paralelo #1 en DOS y OS/2
(generalmente conectado a una impresora). A un segundo dispositivo paralelo se le
asigna LPT2....
4. Puerto Serie: Puerto Serie Elemento hardware que permite el flujo de información en una
sola línea de comunicación. El puerto serie es un medio sencillo de conectar entre sí dos
aparatos electrónicos...
5. Número de Puerto de Protocolo: Número de Puerto de Protocolo Número entero pequeño
usado para identificar un programa de aplicación en una computadora remota.
El hardware del puerto paralelo
El puerto paralelo de una típica PC utiliza un conector hembra de tipo D de 25 patitas (DB-25 S),
éste es el caso más común, sin embargo es conveniente mencionar los tres tipos de conectores
definidos por el estándar IEEE 1284, el primero, llamado 1284 tipo A es un conector hembra de
25 patitas de tipo D, es decir, el que mencionamos al principio. El orden de las patitas del
conector es éste:
El segundo conector se llama 1284 tipo B que es un conector de 36 patitas de tipo centronics y lo
encontramos en la mayoría de las impresoras; el tercero se denomina 1284 tipo C, se trata de un
conector similar al 1284 tipo B pero más pequeño, además se dice que tiene mejores propiedades
eléctricas y mecánicas, éste conector es el recomendado para nuevos diseños. La siguiente tabla
describe la función de cada patita del conector 1284 tipo A:
Patita E/S Polaridad activa Descripción
1 Salida 0 Strobe
Líneas de datos
2~9 Salida -
(bit 0/patita 2, bit 7/patita 9)
Línea acknowledge
10 Entrada 0
(activa cuando el sistema remoto toma datos)
Línea busy
11 Entrada 0
(si está activa, el sistema remoto no acepta datos)
Línea Falta de papel
12 Entrada 1
(si está activa, falta papel en la impresora)
Línea Select
13 Entrada 1
(si está activa, la impresora se ha seleccionado)
Línea Autofeed
14 Salida 0 (si está activa, la impresora inserta una nueva
línea por cada retorno de carro)
Línea Error
15 Entrada 0
(si está activa, hay un error en la impresora)
Línea Init
(Si se mantiene activa por al menos 50
16 Salida 0
micro-segundos, ésta señal
autoinicializa la impresora)
Línea Select input
17 Salida 0 (Cuando está inactiva, obliga a la
impresora a salir de línea)
18 ~ 25 - - Tierra eléctrica
Configuración del puerto paralelo estándar
El puerto paralelo tiene 12 líneas de salida (8 líneas de datos, strobe, autofeed, init, y select
input) y 5 de entrada (acknowledge, busy, falta de papel, select y error). El estándar IEEE 1284
define cinco modos de operación:
1. Modo compatible
2. Modo nibble
3. Modo byte
4. Modo EPP, puerto paralelo ampliado
5. Modo ECP, puerto de capacidad extendida
El objetivo del estándar es diseñar nuevos dispositivos que sean totalmente compatibles con el
puerto paralelo estándar (SPP) definido originalmente por la IBM (en éste artículo trataré
solamente el modo compatible). 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 líneas de E/S. La distribución de las
diferentes señales para cada uno de los tres registros de un puerto paralelo esta dada en las
siguientes tablas:
Dirección Nombre Lectura/Escritura Bit # Propiedades
Base + 0 Puerto de datos Escritura Bit 7 Dato 7
Bit 6 Dato 6
Bit 5 Dato 5
Bit 4 Dato 4
Bit 3 Dato 3
Bit 2 Dato 2
Bit 1 Dato 1
Bit 0 Dato 0
Registro de datos
Dirección Nombre Lectura/Escritura Bit # Propiedades
Base + 1 Puerto de estado Sólo Lectura Bit 7 Busy
Bit 6 Acknowledge
Bit 5 Falta de papel
Bit 4 Select In
Bit 3 Error
Bit 2 IRQ (Not)
Bit 1 Reservado
Bit 0 Reservado
Registro de estado
Dirección Nombre Lectura/Escritura Bit # Propiedades
Base + 2 Puerto de control Lectura/Escritura Bit 7 No usado
Bit 6 No usado
Permite puerto
Bit 5
bidireccional
Permite IRQ a
través de la
Bit 4
línea
acknowledge
Selecciona
Bit 3
impresora
Inicializa
Bit 2
impresora
Nueva línea
Bit 1
automática
Bit 0 Strobe
Registro de control
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. El
registro de datos se localiza siempre en la dirección base de un puerto paralelo, el registro de
estado aparece en la dirección base + 1, y el registro de control aparece en la dirección base + 2.
Por ejemplo, para un puerto LPT2 localizado en 0x378h, ésta es la dirección del registro de
datos, al registro de estado le corresponde la dirección 0x379h y su respectivo registro de control
está en la dirección 0x37Ah. Cuando la PC se enciende el BIOS ejecuta una rutina para
determinar el número de puertos presentes en el sistema asignando la etiqueta LPT1 al primer
puerto localizado, si existen más puertos entonces se asignarán consecutivamente las etiquetas
LPT2 y LPT3 de acuerdo a la siguiente tabla:
Dirección inicial Función
0000:0408 Dirección base para LPT1
0000:040A Dirección base para LPT2
0000:040C Dirección base para LPT3
0000:040E Dirección base para LPT4
Con esos antecedentes ahora vamos a explicar los detalles del circuito:
circuito
Para lo cual vamos a necesitar las siguientes herramientas:
3 leds de diferentes colores
1 Protoboard
Cable UTP (1 metro o metro y medio)
3 resistencias de 1 kilo ohmio
DevC 4.1.9
Unos cuantos pedazos de alambre (puede ser del mismo UTP)
Es recomendable tener unos cuantos leds más y unas cuantas resistencias más, por si acaso.
Antes de ver el desarrollo del programa vamos a ver cómo armar el circuito. De hecho es muy
sencillo, y se basa en el siguiente diagrama:
Donde dice "Pin puerto paralelo"
puede ser cualquier Pin del 2 al 9. No
olvidar hacer una conexión al pin 25
que es tierra
El circuito consiste en un led con una resistencia, la resistencia se usa para limitar la intensidad y
no pedir más de la que el puerto paralelo es capaz de dar (5 mA). Cuando se active el pin el led
se encenderá.
En este proyecto lo que se quiere mostrar es como, con un simple circuito, se puede controlar
mediante la computadora una fila de LEDs los que se van a encender en una secuencia que
nosotros vamos a controlar con un pequeño programa escrito en el lenguaje de programación
DevC 4.9.1
El circuito que se va armar será montado sobre una plaqueta, la cual conduce la corriente
eléctrica, llamada “protoboard”.
Nuestro objetivo es controlar los diodos LEDs con la computadora, esto es encenderlos y
apagarlos según como queramos. Los LEDs son diodos que tienen la capacidad de emitir luz
cuando circula una corriente por ellos. Esta corriente debe ser del orden de los 10 mA
(miliampers). Para limitar la corriente que pasa por los LEDs se usan las resistencias que se
oponen al paso de ella.
Para controlar un circuito externo con la computadora se usará el puerto paralelo de ella, para
conectar el puerto con el circuito se necesitará el cable paralelo o conector DB-25. El paso
siguiente es soldar cable fino UTP a los pines internos del conector. Como los pines están
numerados del número 1 al 25, solo usaremos los pines numerados del 2 al 9, también se tiene
que soldar un cable al pin 25 (que es el pin de masa o tierra eléctrica) para tener una descarga a
tierra común, para nuestro circuito y la computadora. Una vez construido el cable se lo puede
conectar al protoboard.
Solo se deben usar tres entradas y tres salidas, ya que son solo tres LEDs los que controlamos.
Las tres salidas están conectadas por medio de una resistencia limitadora de corriente a una LED
cada una. Estas resistencias son de un valor de 330 ohm y permite que circule una corriente de
10 mA (miliampere) por cada diodo.
Conclusión
El proyecto resulto exitoso en todos los sentidos ya que pudimos aplicar un poco de nuestros
conocimientos; hubo algunas dificultades en el proceso pero fueron superadas.
● Los puertos son conexiones entre los diferente periféricos como lo son: El mouse, teclado,
impresora, MODEM externo, scanner, entre otros… Y el computador como tal.
● Los puertos paralelos permiten la transmisión de datos valga la redundancia, en paralelo
(varios bits a la vez). Estos puertos permiten una interfaz con impresoras y módems de baja
velocidad.
● El uso de una aplicación desarrollada para un propósito en específico que emplee puerto
paralelo incrementa el alcance de tecnologías y soluciones para los programadores, estamos
hablando de interactuar con dispositivos externos.
● Es importante configurar una interfaz entre el dispositivo externo a la computadora y el
software (como las .dll), ya que dependerá de ambos lados.
https://mundobyte.wordpress.com/2007/12/22/puerto-paralelo-parte-i/
http://www.cyberexplorador.com/2009/01/27/encendido-y-apagado-de-leds-mediante-el-puerto-p
aralelo/
http://www.globu.net/pp/
Instituto Tecnologico Superior de
Irapuato
ITESI
Programacion Basica
Ing. Mecatronica
PROYECTO
"Controlar dispositivos por medio de los
puertos de salida de una PC."
Equipo
Beibes
Profra. Miroslava Cano Lara
INTRODUCCIÓN
La siguiente investigación se basa en el proyecto “Control de puertos de una
computadora”, es importante tomar en cuenta la interfaz que se va a manejar para
el proyecto, dependiendo de lo que se quiera lograr con este, lo que queremos es
que un sistema envíe y reciba señales, y pueda manipularse a base de un programa
en C. Para este caso y basándonos en una investigación previa convenimos a que es
más práctico utilizar el puerto paralelo ya que en este la información se ejecuta en
paralelo, es decir es de entrada/salida y la información se transfiere de manera
simultánea.
puerto paralelo: es una interfaz entre una computadora y un periférico,cuya principal
características que los bits de datos viajan juntos, enviando un paquete de byte a la
vez;
Resumen
La siguiente investigación se basa en el proyecto “Control de puertos de una
computadora”, es importante tomar en cuenta la interfaz que se va a manejar para el
proyecto, dependiendo de lo que se quiera lograr con este, lo que queremos es que un
sistema envíe y reciba señales, y pueda manipularse a base de un programa en C.
Para este caso y basándonos en una investigación previa convenimos a que es más
práctico utilizar el puerto paralelo ya que en este la información se ejecuta en paralelo,
es decir es de entrada/salida y la información se transfiere de manera simultánea.
Se realizó una búsqueda de los materiales que serían utilizados para exponer mejor el
proyecto, tales como un Conector Físico, Protoboard, cable utp, leds, resistencias de
220 kilo-ohms, monitor de pc, y alumnos con energías de querer aprender.
Ya recopilado el material, comenzamos a trabajar en la realización de un código
programado en Dev c con la versión 4.9.1, que es capaz de mandar ordenes de
encendido, encender-apagar (parpadeante), y apagado, con 8 luces led color.
Y para el armado de circuito fueron utilizadas artículos sugeridos acerca sobre cómo
controlar un puerto en la PC, ya que se desconoce esta información. El equipo,reunió la
información suficiente para poder hacer una breve, pero completa recopilación de datos
acerca sobre el cual como poder hacer posible el control de dicho puerto.
Marco teórico o Preámbulo
El proyecto, fue creado con la finalidad de que los alumnos entiendan de una forma más
sencilla sobre la elaboración de control de puertos de una PC.
Para poder entender algunos aspectos de la programación, se recomienda tener algunos
conocimientos básicos en el lenguaje de programación C++ y de la electrónica de control, más
que nada en lo que respecta a la comprensión de conceptos como lo son librerías de
instrucciones, instrucciones básicas, el concepto de palabra reservada y programa principal.
No solo es funcional para puertas de una pc, en el punto de vista industrial, sirve también para
maquinaria industria, tales como brazos robóticos, donde el programa envía y recibe órdenes al
mismo tiempo, en sentido paralelo.