ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019....

243
ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS PARA PC's Tesis previa la obtención del Título de Ingeniero en Electrónica y Telecomunicaciones I MANUEL RAFAEL JAYA DUCHE Quito, agosto de 1998

Transcript of ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019....

Page 1: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

ESCUELA POLITÉCNICA NACIONAL

FACULTAD DE INGENIERÍA ELÉCTRICA

ANALIZADOR DE PUERTOS PARA PC's

Tesis previa la obtención del Título de Ingeniero en

Electrónica y Telecomunicaciones

IMANUEL RAFAEL JAYA DUCHE

Quito, agosto de 1998

Page 2: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

de 'Reyeá fian. átt *K¿&&tíc&id¿a, y aw&i

¿W dc&á, de MU vida,,

fe'MC¿MQ& de

lealtad (¿tó¿cúz.

deí ^aé^tatonío- de

donde áe deá¿wiolí¿ eáte tnaí&fe, fa&i

feuttte 'J/elande *Dviecto*i de

el a&ite de

ct

Page 3: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

a-

<$ue ¿¿ci&uw, fraáiéie ta, tenMuwtuUÁtt de ta,

me <bft&tf¿ ctettáztttetíietite, ta- <%ue cuna

e&fí&io- aguada. aw¿L*tdo- cutwficte avece& na ia,

Page 4: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CERTIFICACIÓN

Certifico que el presente trabajo ha sido

realizado en su totalidad por el Señor

Manuel Rafael Jaya Duche

/

Ing. Jaime Velarde

DIRECTOR DE TESIS

Page 5: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CONTENIDO

TABLA DE CONTENIDO

CAPITULO I: EL ANALIZADOR DE PUERTOS 1

1.1 Introducción 2

.,2 Justificación del tema 3

1.3 Objetivos que se desean conseguir 5

CAPITULO II: LAS COMPUTADORAS PERSONALES (PCs) 7

2.1 EVOLUCIÓN Y ARQUITECTURA DE LAS PCs S2.1.1 Evolución de las PCs S2.1.2 El desarrollo tecnológico 92.1.3 El microprocesador 11

2.1.3.1 Desarrollo de los microproccsadores 112.1.3.2 Los microproccsadores de la INTEL 132.1.3.3 Los microproccsndores de la MOTOROLA 22

2.1.4 Arquitectura de la PC 23

2.2 LOS PUERTOS DE E/S 252.2.1 Direcciones base de los puertos de E/S 252.2.2 Direcciones de memoria 272.2.3 Nivel de petición de interrupción (IRQ) 272.2.4 El puedo paralelo. 28

2.2.4.1 Dircccionamicnlo del puerto. 302.2.4.2 Velocidad del puerto paralelo 32

2.2.5 El puerto serie 352.2.5.1 Concctorcs del puerto serie 352.2.5.2 Direcciones que utiliza el puerto serie 362.2.5.3 Transmisión de datos por el puerto serie 452.2.5.4 Tipos de puerto serie 47

2.2.6 El puerto de juegos 522.2.6.1 Dircccionamicnlo de¡ puerto, 52

2.3 LOS BUSES DE LAS PCs 532.3.1 El bus ISA 53

2.3.1.1 El bus ISA de S bits 542.3.1.2 El bus ISA de 16 bits 57

2.3.2 El bus MCA -592.3.3 El bus EISA -. 592.3.4 Los buses locales 62

2.3.4.1 El bus Loca! de Video o Video Loca! (VLJ 622.3.4.2 El bus local PCI 64

Page 6: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CONTENIDO

CAPÍTULO ni: HERRAMIENTAS DE PROGRAMACIÓN 66

3.1 ENTORNO VISUAL BASIC 673.1.1 Descripción del entorno de Visual Basic— 67

3.1.1.1 Ventana Proyecto 683.1.1.2 Módulo de formularios 683.1.1.3 Módulo de clase 683.1.1.4 Módulo estándar 68

3.1.2 Terminologías de Visual Basic 683.1.3 Fundamentos de programación 72

3.1.3.1 Funcionamiento de una aplicación controlada por eventos. 723.1.3.2 Código que se ejecuta inicial mente. 723.1.3.3 Terminación de una aplicación. 73

3.1.4 Elementos del lenguaje 733.1.4.1 Constantes 733.1.4.2 Variables 733.1.4.3 Tipos de datos. 743.1.4.4 Contexto de la variable 753.1.4.5 Operadores; 75

3.2 ENTORNO VISUAL C++ 763.2.1 Descripción del enlomo de Visual C-H- 763.2.2 Fundamentos de programación 783.2.3 Elementos del lenguaje 81

3.2.3.1 Constantes 813.2.3.2 Variables 813.2.3.3 Tipos de datos y rangos 82

3.3 DLLs (DYNAM1C LINK LIBRARY) 833.3.1 Descripción délas DLLs 833.3.2 Cargando una dll S3

3.3.2.1 Carga implícita 833.3.2.2 Carga explícita 84

3.3.3 Búsqueda de un archivo DLL 853.3.4 Construcción de una DLL 85

3.3.4.1 Construcción en MASM 853.3.4.2 Construcción en Lenguaje C/C-H- 88

CAPITULO IV: DESARROLLO DEL SOFTWARE 94

4.1 DEFINICIÓN DEL PROBLEMA 95

4.2 SELECCIÓN DE LOS LENGUAJES DE PROGRAMACIÓN 97

4.3 DESARROLLO DEL PROGRAMA "ANALIZADOR DE PUERTOS" 994.3.1 Estructura del programa — 994.3.2 Programación por Formularios 102

4.3.2.1 Formulario "LECTURA DE PUERTOS" 1024.3.2.2 Formulario "ESCRITURA EN PUERTOS" 1104.3.2.3 Formulario "LECTURA DE UN PUERTO" I 124.3.2.4 Formulario "ESCRITURA EN UN PUERTO" 1 124.3.2.5 Formulario "CONTRASEÑA" 113

Page 7: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CONTENIDO

4.3.2.6 Formulario "SISTEMA OPERATIVO" 1144.3.2.7 Formulario "ACERCA DE" 1154.3.2.8 Formulario "PADRE (MDI)" 1164.3.2.9 Formulario de "PRESENTACIÓN" 120

4.3.3 Diagrama de bloques del funcionamiento del programa 1224.3.4 Descripción del diagrama de bloques 125

4.4 APLICACIONES DEL SOFTWARE 128

CAPITULO V: PUEBAS Y RESULTADOS 129

5.1 PRUEBAS CON EL PUERTO PARALELO LPT1 130

5.2 PRUEBAS CON LOS PUERTOS SERIALES COM1/COM2 131

5.3 PRUEBAS CON UNA TARJETA PROTOTIPO DE ADQUISICIÓN DE

DATOS 132

CONCLUSIONES Y RECOMENDACIONES 135

BIBLIOGRAFÍA 139

GLOSARIO 142

APÉNDICES 149APENCICEA: MANUAL DEL USUARIO 15ÜAPENCICEB: CÓDIGO FUENTE 159

ANEXOS 227

Page 8: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO I

EL ANALIZADOR DE PUERTOS

1.1 Introducción

El Analizador de Puertos es una herramienta de software didáctica, diseñada para ser

utilizada por los estudiantes en sus respectivas prácticas referentes al tema y por personas

con conocimiento del fascinante mundo de los puertos de las PCs.

Esta herramienta fue desarrollada en Visual Basíc 4.0, por tanto, su entorno es similar al de

cualquier aplicación de Windows 95 y para una mayor rapidez en la transferencia de los

datos, este programa utiliza una DLL como una interfaz entre los puertos que están a bajo

nivel y el entorno de Visual Basíc. Además, en esta herramienta, el usuario será capaz de

analizar todo el rango de los puertos, esto es: de OOOOH hasta FFFFH, así mismo tiene la

capacidad de dar información sobre el posible controlador que se encuentra configurado al

puerto, claro está si éste existe.

Otra de las ventajas que tiene esta herramienta es ¡a de dar una actualización inmediata del

puerto que el usuario desee analizar. Así mismo, el usuario podrá elegir cualquier puerto

que sea modificable para cambiar nuevos datos y de esta forma realizar múltiples

aplicaciones desde la PC hacia el exterior y si lo prefiere también puede controlar la parte

interna de la misma PC.

Finalmente, este software puede ser instalado en cualquier PC que tenga Windows 95

siguiendo las mismas instrucciones de instalación que el resto de programas.

Page 9: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO I

1.2 Justificación del tema

En esta década y a puertas del siglo XXI, las computadoras personales han experimentado

un desarrollo impresionante en lo referente a las velocidades con que estas se desenvuelven

y a la capacidad de memoria que alcanzan. Así mismo junto con ellas, las empresas

diseñadoras de paquetes de software ponen a disposición de los usuarios variadas

herramientas computacionales, acorde con sus respectivas necesidades, y por su puesto,

porque representan un gran rédito económico para las mencionadas empresas.

No obstante se necesitan herramientas de software especificas para algún campo o área de

trabajo en particular, es decir, que sirven para ser aplicadas en áreas estratégicas de trabajo.

Este es el caso de la materia Interfaces para Microcomputadoras y otras similares que se

dicta en la facultad de Ingeniería Eléctrica, donde el tema concerniente al estudio de los

puertos de las PCs se ha venido realizando desde un punto de vista teórico y a la

imaginación de los estudiantes.

Así mismo cuando un estudiante realiza un proyecto sobre adquisición y/o envió de datos

mediante alguna tarjeta prototipo, necesariamente tiene que realizar junto con ella un

programa de software para el análisis de la transferencia de datos, dicho de otra forma, el

diseñador tiene que realizar un doble trabajo para determinar si su tarjeta prototipo funciona

o tiene algunas fallas en su diseño. Esta doble labor consistiría en realizar el diseño y

construcción, de la tarjeta prototipo y a parte de eso, también tendría que realizar el

Page 10: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO 1

programa que analice la transferencia de datos entre la tarjeta prototipo y algún puerto de la

PC.

Por otro lado existen programas que sirven para revisar la conexión de dispositivos

externos a sus respectivos puertos, pero estos o son muy generales o sirven para el análisis

de algunos puertos específicos. Algunas aplicaciones a más de dar un diagnostico breve de

los puertos también dan un reporte de los diferentes niveles de interrupción (IRQs), así se

tiene al MSD (Microsoft Diagnostic) que funciona bajo MSDOS, el mismo que realiza todo

lo escrito en las líneas anteriores.

Bajo el sistema operativo de Windows, se tiene al Administrador de Dispositivos, el

mismo que en una de las opciones Entrada/Salida brinda información sobre las

direcciones de los puertos de la PC y el nombre de los diferentes dispositivos que están

configurados a dichos puertos, pero no da información sobre que está sucediendo en alguno

de estos puertos, es decir, solo da una información muy general.

Por último, en la actualidad la mayoría de los paquetes que funcionan bajo Windows 95,

son óptimas en cualquier tipo de labor que realicen, a pesar de que Windows 95 es a veces

inestable e irregular.

En virtud de todas las necesidades planteadas, se ha visto factible y necesario realizar como

tema de tesis, un programa didáctico denominado "Analizador de Puertos pnra PCs", el

mismo que tendrá las características de las aplicaciones sobre puertos existentes y al mismo

Page 11: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO I

tiempo, tratará de cubrir los puntos fallantes por parte de otras aplicaciones, pues para ello

en la actualidad se disponen de lenguajes poderosos de programación en lo referente a

funciones e interfaces gráficas amigables al usuario.

Finalmente esta herramienta será utilizada por los estudiantes en sus respectivos

laboratorios y por personas que conocen del tema y desean profundizar e investigar más el

mundo de los Puertos.

1.3 Objetivos que se desean conseguir

Una vez mencionado los justificativos tratados en el punto anterior y tomando como base

aplicaciones existentes sobre puertos, se pretende alcanzar mejoras significativas a dichas

aplicaciones, es por ello que en este punto se mencionan los objetivos que se pretenden

alcanzar en el presente tema. Así se tiene:

> Desarrollar un software como herramienta didáctica de fácil manejo por parte del

usuario, Este programa mostrará las diferentes actividades que están realizándose

internamente en los puertos, así mismo, se podrá manipular directamente sobre ellos.

Además mostrará información de los puertos en el instante mismo que esté realizando

el análisis.

> La herramienta deberá desarrollarse para que funcione en el entorno de Windows 95 o

sistemas operativos superiores.

Page 12: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPÍTULO II

LAS COMPUTADORAS PERSONALES (PCs)

En este Capítulo se estudia a las computadoras personales también denominados como PCs,

abreviación que será utilizada en algunos de los pasajes de este capítulo. Se dará una

descripción de su evolución, arquitectura y por su puesto, el tema que tiene relación con el

presente tema de tesis, es decir, Los Puertos de E/S, es así como se mencionará a los

puertos más utilizados y por medio de que dispositivos están conectados al mundo exterior.

Este Capítulo finaliza con una descripción de Los buses de las PCs.

2.1 EVOLUCIÓN Y ARQUITECTURA DE LAS PCs

2.1.1 Evolución de las PCs

Antes de la aparición de las computadoras, la humanidad ha tenido que utilizar una serie de

inventos, los cuales progresivamente fueron evolucionando hasta que aparecieron

elementos electrónicos que dieron un enorme impulso para la evolución de las PCs. A

continuación en la Tabla 2.1, se da una breve cronología y descripción de los diferentes

inventos que han surgido al paso de la historia:

Page 13: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPÍTULO II

ANO INVENTO DESCRIPCIÓN

1000 a.C. El abacoDesarrollado por la civilización China. Calcula yalmacena números mediante piezas móviles.

Inventada por Blais Pascal, fue la primera sumadoramecánica1642 Lapascalina

167] CalculadoraConstruida por Jacob Leibnitz. Esta calculadoramecánica era capaz de multiplicar y dividir.

1822 Máquinadiferencial

Charles Babbage produjo una calculadora mecánica quepodía calcular logaritmos hasta con veinte decimales.

1834 Maquinaanalítica

También disenada por Babbage, aunque nunca fueconstruida, las ideas con ias que fue diseñada son elfundamento de las computadoras modernas.

1890 Calculadoras contarjetas

perforadas

Hermán Hollerith construyó estas máquinas parautilizarlas en los censos de los EstadosUnidos.

1944 MARX!Disenado por Howward Áiken, es considerada laprimeracomputadora, aunque fue construido con relés.

1946 EN1ACSe pone en marcha la primera computadora electrónica,construida con 18000 tubos de vacío y diseñada porEckert y Mauchly de la Universidad de Pennsylvania.

947 EDSACSe pone en marcha la primera computadora programableen la Universidad de Cambridge. Esta estaba construidabajo los conceptos de John Yon Neuman.

Tal) I a 2.1 Evolución de la PCs

2.1.2 El desarrollo tecnológico

E! desarrollo tecnológico de los dispositivos electrónicos, ha impulsado el rápido

crecimiento de las computadoras. Así mismo, estos dispositivos aparecieron y siguen

Page 14: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO TI

surgiendo según las necesidades de la época, es así como se los ha dividido por

generaciones de acuerdo al orden de aparición en el devenir de la historia.

En la Tabla 2.2, se da una breve descripción de dichas generaciones.

GENERACIÓN DESCRIPCIÓN

Primera GeneraciónEstas computadoras eran lentas y de poca memoriainterna, utilizaban la cinta magnética para elalmacenamiento en masa, eran construidas basándose entubos de vacío. Ejemplos de estos son el UNIVAC 1, deSperry Rand y las series 600 y 700 de IBM.

Segunda Generación

Estas computadoras fueron construidas gracias a lainvención de los transistores. Se usa por primera vez loscanales, la multiprogramación y el tiempo compartido.Aparecen los lenguajes de alto nivel. Ej: las series 1400 y1700 de IBM, el 1107 de Sperry Rand y el 3600 de CDC.

Tercera GeneraciónEstas computadoras fueron construidas en base acircuitos integrados LSI (de alta escala de integración)Ej: Las AppIe-I y TI, la IBM XT.

Cuarta Generación

Estas computadoras fueron construidas basándose encircuitos integrados VLSJ (de muy alta escala deintegración). Ej. Las computadoras actuales compatiblescon TBM y Macintosh.

Quinta GeneraciónEn la actualidad algunos países desarrollados, seencuentran trabajando en desarrollos tecnológicos talescomo: la inteligencia Artificial, redes neuronales, etc.

Tabla 2.2 Generaciones

10

Page 15: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO n

2.1.3 El microprocesador

Se llama a este dispositivo como el cerebro de la computadora, pues es el encargado de

administrar y ejecutar tareas complejas. Frecuentemente suele denominarse a este elemento

como la CPU, nombre que es inapropiado, porque el microprocesador es parte de la CPU.

No obstante para nuestro estudio vamos a usarlo como sinónimos. En la historia dos

empresas; INTEL y MOTOROLA han estado siempre a la cabeza en lo que se refiere al

desarrollo y construcción de los microprocesadores, es así como en las siguientes tablas se

da una breve cronología, descripción y principales características de los diferentes

microprocesadores que estas dos empresas han desarrollado o se encuentran desarrollando

en la actualidad. Esto servirá como referencia para el análisis de algunas semejanzas y

diferencias que pudieran existir.

2.1.3.1 Desarrollo de los microprocesadores

ANO1971

1971

1974

1974

1975

1975

MTCROPROC4004

8008

8080

6800

SOS5

Z80

DESCRIPCIÓNPrimer microprocesador de INTEL. Maneja datoscuatro bits.

de

Primer microprocesador de ocho bits de INTEL.

Microprocesador de ocho bits de INTEL. Es una mejoradel 8008.

Primer microprocesador de ocho bitsMOTOROLA.

de

Microprocesador de ocho bits de INTEL. Es una mejoradel SOSO.

Microprocesador de ocho bits de Zilog. Esmejora del 8080.

una

11

Page 16: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO II

ANO1975

1977

1979

1982

1984

1985

1989

J990

1993

1994

1997

MICROPROC6502

S086-80S8

68000

80286

68020

80386

80486

68040

PENTIUM

PowerPC

PENTIUMMMX

DESCRIPCIÓNMicroprocesador de ocho bits de MOS Technology. Fueutilizado en computadoras como las Apple I y II, yCommodore 16 y 64.

Primer microprocesador de 16 bits de INTEL. Fueronutilizados por la IBM en los primeros PC XT.

Primer microprocesador de 16 bits de Motorola. Fueutilizado por la Apple en los primeras Macintosh.

Microprocesador de 16 bits de INTEL. Escompatible con el 8086. Fue utilizado por la IBM en losprimeros PC AT.Primer microprocesador de 32 bits de Motorola. Escompatible con el 68000, es utilizado por la Apple en lasegunda generación de las Macintosh.

Primer microprocesador de 32 bits de INTEL Escompatible son sus antecesores. Es utilizado por la IBM ycompatibles.

Microprocesador de 32 bits de INTEL. Es compatible consus antecesores. Actualmente es utilizado por la IBM ycompatibles.

Microprocesador de 32 bits de Motorola. Internamentecontiene un 68020 y un procesador matemático.

Primer microprocesador de 64 bits de INTEL.

Primer microprocesador RISC de la alianza Motorola,Apple e IBM.

Intel lanzó las instrucciones MMX3 la primer granmejora a gran escala de] conjunto de instrucciones desdeel 386. Estas instrucciones mejoran el desempeño demultimedia.

Tabla 2.3 Evolución tic los- microprncc.SiulQrcx

12

Page 17: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPÍTULO II

En la actualidad, el futuro de estandarización se compite entre las máquinas que utilizan

microprocesadores CISC (Complete Instruction Source Code), tales como los ya

mencionados 286, 386, 486 y PENTIUM; o los que utilizan microprocesadores RISC

(Reduced Instruction Source Code), tales como los PowerPC de MOTOROLA.

Por la gran difusión que han dado al desarrollo de los microprocesadores las dos empresas

más importantes, a continuación se tiene un pequeño resumen así como sus características

más importantes de los diferentes microprocesadores tanto de INTEL como de

MOTOROLA.

2.1.3.2 Los microprocesadores de la INTEL

MODELO

80S68028680386 DX80386 SX80486 DX80486PentiumPentiumMMX

ANO DEPRESENT

19781982198519881989199119931997

CAPACIDAD DEBUS DE DATOS

16 bits16 bits32 bits16 bits

32 bits32 bits64 bits64 bits

TAMAÑO DEPALABRA

1 6 bits16 bits32 bits32 bits32 bits32 bits32 bits32 bits

MEMORIADIRECCIÓN AB LE

1 MB1 6 MB4GB4GB4GB4GB4GB4GB

Tabla 2.4 Los_m.icroprocesadores de lij íntcl

13

Page 18: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPÍTULO TI

CARACTERÍSTICAS :

El 8086

Es el primero microprocesador importante de la familia 80X86, es un procesador de 16 bits,

es decir, procesa dos bytes a ¡a vez. Otros microprocesadores creados por INTEL antes del

8086 son: 4004, SOOS, 8080, 8085

El 8088

Era casi igual al SOS6, con la excepción que tenía un bus de datos externo de 8 bits en lugar

de 16 bits.

El 80286

El 80286 conocido como 286, era igual que el 8086, en cuanto al bus de datos y tamaño de

palabra, la diferencia es que era más rápido y ofrecía nuevas e importantes opciones.

La primera opción fue el incremento de la cantidad de memoria a la que se podría accesar.

Otra nueva opción iue la memoria virtual que le permite al 286 accesar un medio de

almacenamiento como un disco duro y manejarlo con una memoria interna.

El 80386

En 1985 INTEL presentó el 80386 o 386 que es un procesador de 32 bits ya que manipula

datos internos con palabras de 32 bits y accesa aproximadamente a 4GB de memoria.

14

Page 19: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO ff

Además tiene un nuevo modo de operación llamado modo virtual 86, con el cual puede

simular hasta 17 microprocesadores 8086. Esto permite a los sistemas correr varios

programas de DOS al mismo tiempo.

En 1986 INTEL creó una versión especial de 386 llamado 386 SX, que es igual al 386

común con la excepción de que tiene un bus de datos de 16 bits en lugar de 32 bits.

El 80486

No ofrece nuevos cambios, sin embargo combina en un solo chip varias funciones que se

llevaba a cabo en múltiples chips comunicados a través del bus.

El 486 combina en un solo chip:

> Un procesador 386 DX

> Un coprocesador matemático 387

> Y un controlador de memoria caché.

Esta combinación aumenta la velocidad del procesador. Además el 486 SX es idéntico al

486 DX con la excepción de que su coprocesador está inhabilitado. Un dato poco conocido

e interesante es que un coprocesador matemático 487 SX es en realidad un 486 DX con

todas sus funciones.

Page 20: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO TJ

PENTIUM

Es miembro más poderoso de los microprocesadores de INTEL. Con el Pentium, INTEL

rompió la tradición de los nombres numéricos de sus modelos, en parte para evitar que

otros fabricantes usen dichos nombres en sus productos (chips). La velocidad y poder del

Pentium sobresale del de sus predecesores; mientras que e! 80486 tiene aproximadamente

1,2 millones de transistores el Pentium tiene más de 3 millones y puede procesar más de

100 millones de instrucciones por segundo. Además el Pentium corre programas de

aplicación aproximadamente 5 veces más rápido que un 80486 DX.

El procesador Pentium es fabricado usando una avanzada tecnología en el proceso de

fabricación de semiconductores caracterizada por tener menos de una miera (una

millonésima de metro) de tamaño. Los procesadores Pentium a 75iVlHz, 90MHz, lOOMHz,

y ]20MHz están implementados utilizando tecnología de 3.3V, 0.6 mieras, y los

procesadores Pentium a 120MHz, 133MHz, 150MHz, 166MHz, y 200MHz lo son en

tecnología de 3.3V, 0.35 mieras.

PENTIUM PRO

La familia de procesadores Pentium® Pro es la siguiente generación de Intel para equipos

de sobremesa de altas prestaciones, estaciones de trabajo y servidores. La familia consta de

procesadores a 150, 166, ISO y 200 Mhz y es fácilmente arnpliable hasta 4 procesadores en

un sistema multiprocesador. El procesador Pentium® Pro consigue un nivel de rendimiento

superior a los procesadores de la generación anterior gracias a una innovación llamada

16

Page 21: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO II

Ejecución Dinámica que constituye el paso siguiente después de la arquitectura super

escalar implementada en el procesador Pentium. Esta tecnología permite las avanzadas

funciones de visualización e interacción que se precisan tanto en las actuales aplicaciones

comerciales y técnicas de alto nivel como en las que surgirán en el futuro. El procesador

Pentium® Pro incluye también funciones avanzadas de integridad de datos, fiabilidad y

capacidad de servicio para aplicaciones criticas.

Con 5,5 millones de transistores, la familia de procesadores Pentium® Pro está basada en

procesos avanzados de Intel BiCMOS de 0.6 y 0,35 mieras. Este proceso utiliza transistores

bipolares para aumentar la velocidad y transistores CMOS para conseguir bajo consumo y

alta densidad.

> Principales características:

> Disponible en velocidades de 150MHz, l66MHz, ISOMHzy 200MH

^ Compatibilidad binaria con aplicaciones que se ejecutan en miembros anteriores de la

familia de microprocesadores Intel

> Optimizado para aplicaciones de 32-bits que se ejecutan sobre sistemas operativos

avanzados de 32-bits

> Microarquitectura de Ejecución Dinámica

> Un único encapsulado incluye la CPU del procesador Pentium® Pro, la memoria caché

y la interfaz del bus del sistema

> AmpÜable hasta 4 procesadores y 4 GB de memoria

r- Bus del sistema externo dedicado independiente, y bus de la caché interno dedicado a

alta velocidad

17

Page 22: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPÍTULO II

> Memorias caché de 8K/8K independientes para datos e instrucciones, sin bloqueo,

memoria caché de nivel-1

> Memoria caché integrada de 256 KB, 512 KB ó 1MB, incluida en el encapsulado, no

bloqueada, nivel-2

> Características de integridad y fiabilídad de datos que incluyen ECC,

análisis/recuperación de fallos y comprobación de redundancia funcional

> Actualizable a un futuro procesador OverDrive®

La mejora de rendimiento de la familia de procesadores Pentium® Pro frente a las

anteriores arquitecturas de Intel se debe principalmente a la Ejecución Dinámica que

comprende las siguientes innovaciones tecnológicas:

> Predicción de bifurcaciones múltiples: predice el flujo del programa a través de varias

bifurcaciones

> Análisis del flujo de datos: planifica las instrucciones para que se ejecuten cuando estén

listas, independientemente del orden del programa original

^- Ejecución especulativa: aumenta la velocidad de ejecución mirando más allá de lo

marcado por el contador del programa y ejecutando instrucciones que probablemente se

necesitarán

> Otras características significativas del procesador Pentium® Pro que le hacen estar por

delante de los procesadores existentes son;

V Memoria caché de 256 Kb ó 512 Kb sin bloqueo de nivel dos, lo que mejora el

rendimiento reduciendo el tiempo promedio de acceso a memoria y proporcionando un

Page 23: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO II

rápido acceso a las instrucciones y datos utilizados recientemente. La velocidad de esta

caché está mejorada mediante un bus de datos interno de 64 bits, que funciona a la

velocidad máxima del núcleo de la CPU

> Una unidad de coma flotante (FPU) con pipelíne para admitir los formatos de 32 y 64

bits especificados en la norma 754 del TEEE, así como un formato de 80 bits. Esta

unidad es capaz de ejecutar más de 200 millones de instrucciones de coma flotante por

segundo (MFLOPS) a 200 MHz. La FPU es compatible a nivel de código objeto con las

FPU.de los procesadores Pentium e InteI486.

5^ Capacidad de utilizar uno o dos pares de procesadores Pentium® Pro para la

comprobación de redundancia funcional (FRC)

5- El bus GTL+ admite de forma "inmediata" hasta 4 procesadores, lo que permite el

multiproceso simétrico de 4 vías y bajo coste, proporcionando de ese modo un aumento

de rendimiento significativo para las aplicaciones de varias líneas de ejecución

> Los cambios en el voltaje de la CPU producen un impacto mínimo en el diseño del

sistema gracias a un paradigma de tensión de alimentación mejorada.

^ La protección por pandad de las señales del bus (direcciones, petición y respuesta) con

mecanismo de reintento permite asegurar la integridad y fiabil idad de los datos del

Sistema

> ECC (Error Checking and Correction) de comprobación y corrección de errores, que

permite corregir errores de un solo bit y detectar errores de dos bits en el bus de datos

E! procesador Pentium® Pro incluye también varias funciones utilizadas para

verificaciones y supervisión del funcionamiento. Entre ellas se incluyen:

l'J

Page 24: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPÍTULO II

Comprobación automática incorporada (BLST) que proporciona cobertura simple frente

a fallos del microcódigo y PLA grandes, así como comprobación de la memoria caché

de instrucciones, la memoria caché de datos, los buffers Translation Lookaside (TBL) y

la ROM Mecanismo de arquitectura Standard Test Access Port and Boundary Sean

IEEE 1149.1, que permite la verificación del procesador Pentium® Pro mediante una

interfaz estándar.

Contadores de rendimiento internos para supervisión del funcionamiento y recuento de

sucesos

PENTIUM MMX

El procesador Pentium© con tecnología MMX1M es la más reciente incorporación a la

familia de procesadores Pentium® ,. ofrece mejoras de micro-arquítectura sobre los

miembros anteriores de esta familia. Sus principales características son;

V Soporte total de la tecnología MMX de Intel. La tecnología MMX de Intel está basada

en la técnica SIMD una única instrucción, múltiples datos que permite un incremento

de rendimiento en una amplia gama de aplicaciones multimedia y de comunicaciones.

Cincuenta y siete nuevas instrucciones, así como también nuevos tipos de

empaquetamiento de datos son soportados por el procesador Pentium con tecnología

MMX. Todos los sistemas operativos y aplicaciones software existente son totalmente

compatibles con el procesador Pentium con tecnología MMX

20

Page 25: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO II

> Doble caché para código y datos de 16K cada uno. Las memorias caches nivel-1 de

código y datos han sido duplicadas a 16 KB en el procesador Pentium© con tecnología

MMX. Las memorias Caches internas con separación más grandes, mejoran el

rendimiento al reducir el tiempo de acceso medio a memoria, y permiten un acceso

rápido a las instrucciones y datos más recientemente utilizadas. Se puede acceder a las

memorias caches de instrucciones y datos de forma simultánea mientras la caché dual

soporta dos referencias de datos simultáneamente. La caché de datos soporta una

técnica de retro-escritura (sobre una base de línea a línea) para actualizaciones de

memoria.

> Predicción de bifurcación mejorada. La predicción dinámica de bifurcación usa el

Branch Target Buffer (BTB) para aumentar el rendimiento al predecir el juego de

intrucciones a ejecutar. El BTB ha sido mejorado en el procesador Pentium® con

tecnología MMX para aumentar su exactitud.

> Pipeline mejorado. Para aumentar el rendimiento se ha añadido un adicional pipeline.

> Buffers de escritura más profundos. Un juego de cuatro buffers de escritura es ahora

compartido entre los dos pipelines para mejorar el rendimiento de escritura a memoria.

CELERON

El procesador Intel Celeron™ está diseñado para equipos de sobremesa de bajo coste, o

"PC Básico", y es compatible con los procesadores anteriores de la arquitectura Intel.

El procesador Intel Celeron™ da un buen rendimiento en aplicaciones que corren en

sistemas operativos tales como Windows * 95, Windows NT * y UNIX *. Esto se ha

Page 26: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPÍTULO II

logrado integrando los mejores atributos de los procesadores Intel - el rendimiento de la

ejecución dinámica del procesador Pentium II más las características de la tecnología

MMX™ - dando como resultado un nivel base de rendimiento para el comprador de PC

Básico.

El procesador Intel Celeron™ permite un coste eficaz para el PC Básico proporcionando un

nivel base de funcionalidad. Además, el procesador Celeron™ ofrece un rendimiento

particularmente bueno en las pruebas de coma flotante y multimedia.

2.1.3.3 Los microprocesadores de la MOTOROLA

MODELO

68000680206803068040

ANO DEPRESENT

1979198419871990

CAPACIDAD DEBUS DE DATOS

16 bits32 bits32 bits32 bits

TAMAÑO DEPALABRA

32 bits32 bits32 bits32 bits

MEMORIAD1RECC10NABLE

16MB4MB4GB4GB

Tabla 2.5 Los microprocesadores tic la Motorola

Este grupo de microprocesadores es conocido como la fami l ia 680X0.

El 68000 tenía un diseño interno que usaba palabras de 32 bits. Los procesadores de Intel

no lo hacían hasta que se introdujo el 80386.

Funcionalmente el 6SOOO y el 68010 fueron más o menos equiparables al 8086 y al 8088 de

Intel. En función de capacidad y velocidad, el 68020 es más o menos equiparable al 80286,

y el 6S030 y 68040 se puede comparar al 80386 y 80486 respectivamente.

22

Page 27: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO TI

2.1.4 Arquitectura de la PC

Cuando hablamos de arquitectura de las PCs, no debemos limitarnos a una sola

arquitectura, sino más bien debemos tener en cuenta que éstas también han ido

evolucionando con el paso de la historia. Estas arquitecturas también dependen la empresa

que los diseña, es así que tomaremos como ejemplo a las arquitecturas diseñadas por la

IBM.

Empezando desde la PC Original, éstas han ido evolucionando hasta la actualidad que se

habla de poderosas computadoras con un sin número de aplicaciones. Luego de la PC

original apareció la PC XT (Extended Technology) que era una mejora de la PC original,

posteriormente apareció la PC AT (Advanced Technology) cuya introducción, marcó el uso

de una nueva generación de procesadores de la INTEL empezando con las 802S6, a partir

de estas tres tipos de arquitecturas posteriormente aparecieron gran cantidad de

arquitecturas hasta donde conocemos en la actualidad y los que nos faltan por conocer.

A continuación en Figura 1.1, se muestra la arquitectura básica de la PC XT.

23

Page 28: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO II

Conlrul

XTAL

M.31818 MILt.

1.1 Arquitectura de la PC

24

Page 29: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPÍTULO TI

2.2LOS PUERTOS DE E/S

Un puerto es un dispositivo (denominado también registro) que conecta a un

microprocesador con el mundo exterior. El microprocesador recibe la información

contenida en el puerto de entrada a través del bus de datos interno para procesarla, así

mismo, éste deposita la información en el puerto de salida para que por medio de una

interfaz salga dicha información ai mundo exterior. Los puertos son identificados por sus

direcciones en el intervalo de OOOOH - 03FFH o 1024 puertos en total, no obstante las PCs

actuales ocupan los puertos desde la dirección 03FFH hasta FFFFH para los nuevos

dispositivos, y tanto sus direcciones como sus contenidos están generalmente en formato

hexadecimal. Se debe tomar en cuenta que las direcciones de los puertos son distintas a las

direcciones convencionales de memoria. Es así como existen direcciones base de puertos y

direcciones de memoria los mismos que serán mostrados más adelante.

2.2.1 Direcciones base de los puertos de E/S

La dirección base del puerto de E/S (Entrada/Salida) especifica un canal a través del cual se

transfiere la información entre los dispositivos externos (Ej. La impresora) y el

microprocesador. Para la CPU el puerto aparece como una dirección.

Como se observó anteriormente las direcciones de los puertos van de OOOOH - 03FFH, los

mismos que pueden ser divididos en dos bloques: un primer bloque de 512 puertos que van

de OOOOH - 01FFH, es utilizado por la tarjeta principal de la PC, el segundo bloque de 512

puertos que va de 0200H - 03FFH, es utilizado o está disponible para la conexión de

tarjetas y las ranuras de expansión. Existe también un tercer bloque con 64512 puertos que

va de 0400H - FFFFH, el mismo que en las PCs actuales es uti l izado por dispositivos

Page 30: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO II

desconocidos o propios del sistema. Todos estos bloques y direcciones se detallan en la

Tabla 2.6, donde también se muestran algunos tipos de puertos de E/S.

Dirección delpuerto0000^ 001F0020 -> 003 F0040 -^ 005F0060 -> 007F

0080 -> 009FOOAO -> OOBFOOCO -^ 01FF020002010202 -> 02770278 -> 027F

0280 -> 02F702F8 -> 02FF0300 -$ 0377

0378 -> 037F

0380 -> 03AF03BO -> 03BF

03CO -> 03CF03DO -> 03DF

03EO -> 03EF03FO -> 03F703FS -> 03FF0400 -^ FFFF

No depuertos

32323232

3232320

11

1188

120S

120

8

4816

1616

1688

64512

Direcciónutilizada0000^ 00 1F0020 -> 00210040 -^ 0043006000610080 -> 0083OOAOOOCO •> 01FF020002010230 -> 023F027S -> 027A

02ES -> 02EE02FS -> 02FE0300->031F0320 -> 032F

0330 -> 033F0378 -> 037A

03 80^ 03 AF03BC 03BE

03CO -> 03CF03DO -> 03DF

OSES -^ 03EF03FO ^> 03F703F8 -> 03FE0400 -> FFFF

Dispositivo

Controlador de DMAControlador de interrupcionesTimer/contadorTecladoBocinaRegistros de pagina DMABit mascara DMANo usadoNo usadoPuerto de juegosMouse (ratón)LPT2 (LPT3 en las computadoras deltipo MCA)COM4COM2Usado para tarjetas prototipoControladores de disco duro (sólo en elmodelo PS/2 30)Controladores SCSILPT1 (LPT2 en las computadoras deltipo MCA)No usadoLPT1 (sólo en las computadoras del tipoMCA)Controlador EGA/VGACGA (también EGA/VGA en los modosde vídeo de color)COM3Controlador de unidad de disquetes.COMÍUsado por dispositivos desconocidos

Tabla 2.6 Direcciones base de los puertos

26

Page 31: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPÍTULO TT

2.2.2 Direcciones de memoria

La dirección base de memoria se define como la dirección de memoria de la computadora

que utilizará un determinado dispositivo (tarjeta) para intercambiar información. En la

Tabla 2.7, se muestra algunas áreas de la memoria así como el segmento donde se

encuentran. Las direcciones de los segmentos están en formato Hexadecimal.

Segmento0000 -> 003F0040 -^ 004F0050 -> ...

AOOO -> AFFFBOOO -> B7FFBSOO -> BFFFCOOO -» DFFFEOOO -> FFFF

DescripciónTabla de vectores de interrupciónÁrea de datos del BIOSÁrea de datos del DOS/BIOSExtensiones del DOS ai BIOS (IO.SYS)Área del DOS KERNEL (MSDOS.SYS)Área del buffer de directoriosÁrea del buffer del discoBloque de parámetros del Drive •Área para instalación de DriversPorción residente del COMMAND.COMMemoria residente de programas (TSRs)Área de carga y ejecución de programasPorción transitoria de COMMAND.COMBufTer de Vídeo (modos gráficos: ODh - 13h)Buffer de Vídeo (monocromático: modo texto 7)Buffer de Vídeo (color: modos 0 -6 )Área de la ROM, páginas de la memoria de expandidaROM BIOS

Tabla 2.7 Direcciones de la memoria

2.2.3 Nivel de petición de interrupción (IRQ)

Cuando un dispositivo (tarjeta) envía una petición al microprocesador de la PC, ut i l iza una

señal electrónica denominada interrupción. Cada dispositivo de su sistema debe uti l izar un

27

Page 32: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO TI

nivel de petición de interrupción (IRQ) diferente, que se especifica durante la

configuración del dispositivo.

En la Tabla 2.8, se muestra los niveles de interrupción, donde si la sentencia es

"Disponible" se podría utilizar habitualmente para conectar cualquier dispositivo que el

usuario desee a menos que se diga lo contrarío (Ej. Tarjeta de Red).

ÍRQs9

3

45

6789101112131415

SentenciaNo utilizarNo utilizar

No utilizarDisponible

No utilizarNo utilizarNo utilizarNo utilizarDisponibleDisponibleDisponibleNo utilizarNo utilizarDisponible

Computadora con procesador 386SX (ó superior)Reservado para el adaptador EGA/VGAReservado para COM2 o COM4, a no ser que sólo haya unpuerto serie instalado; utilizado a veces por el Mouse.Reservado para COMÍ o COM3.Excepto si se utiliza para un segundo puerto paralelo [LPT2]o el Mouse.Reservado para controlador de unidad de disquete.Reservado para el puerto paralelo [LPT1].Reservado para el reloj en tiempo real.Reservado para el adaptador EGA/VGA

Salvo que se utilice para el controlador SCSI.Salvo que se utilice para un Mouse del tipo PS/2.Reservado para ej'toprocesador matemático.Reservado papa^el controlador de disco duro.

Niveles' de Interrupción

2.2.4 El puerto paralelo.

El puerto paralelo es un estándar diseñado para conectar una impresora al PC. Es utilizado

por la CPU para enviar datos a la impresora. Esta interfaz gobierna las señales de entrada y

salida. La uti l idad de estas señales es dejar que la computadora conozca el estado de la

Page 33: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO TT

impresora para de esta forma controlar este dispositivo. Ocho bits de datos contienen toda

la información enviada con cada flanco de reloj.

El hardware de este puerto consiste en 8 bits de salida de datos, 5 bits de entradas de

control y 5 bits de salidas de control. Las señales de control se describen a continuación:

Salidas:

STROBE: Comunica a la impresora que los ocho bits de datos están disponibles para ser

leídos. Conmuta a un nivel lógico bajo cuando los datos están preparados.

INTT: Inicializa la impresora.

SLCT IN: Selecciona la impresora cuando cambia a un nivel lógico bajo.

AUTO FD: Comunica a la impresora que imprima una línea en blanco seguida por un

retroceso del carro.

DO-D7: Bits de datos.

Entradas:

ACK: Informa a la CPU que los datos han sido recibidos correctamente.

BUSY: La impresora pone esta linea a nivel uno lógico cuando el buffer de memoria esta

lleno. La computadora dejará de enviar más datos.

SLCT: Indica a la computadora que se dispone de una impresora.

ERROR: Dice a la computadora que se ha producido un error. La CPU deja de enviar más

datos.

PE: Indica que el papel se ha terminado.

Todas estas señales están conectadas a un conector hembra de 25 pines. Y responden a

niveles lógicos TTL.

29

Page 34: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO n

2.2.4.1 Direccionamiento del puerto.

E! sistema operativo MS-DOS soporta tres puertos paralelos llamados LPT I, LPT2 y

LPT3. Por lo tanto, se encuentra tres juegos de direcciones dedicadas a estos puertos en el

mapa de entradas/salidas como se muestra en la Tabla 2.9.

Direcciones de las LPTsPUERTO

LPT1LPT2

LPT1/LPT3

DATO I ESTADO378H278H3BCH

379H279H3BDH

CONTROL37AH27AH3BEH

Tabla 2.9 Direcciones de los puertos paralelos

Como el resto de puertos paralelos son análogos, se estudiará solamente las direcciones

dedicadas a LPT1 (Line Priníer 1). Cada puerto paralelo utiliza tres direcciones del mapa de

entradas/salidas de la computadora. ParaLPTl estas direcciones son 37SH, 379H y 37AH.

Puerto 378H: En esta dirección la CPU escribe los datos que serán enviados a la

impresora. Es un puerto de salida. En la Tabla 2.10 se pueden ver que pines del conector

de salida se utilizan.

30

Page 35: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO íf

Tabla de bits de datosBIT JF UNCIÓNDODID2D3D4D5D6D7

DatoODato ]Dato 2Dato 3Dato 4Dato 5Dato 6

L Dato?

PIN23456789

Tabla 2.10 Bít.s de datos

Puerto 379H: Este es un puerto de entrada. A través de este puerto la CPU puede conocer

el estado de la impresora. La correspondencia entre pines y señales esta listada en la Tabla

2.11.

Tabla de bits de estadoBITDODID2D3D4D5D6D7

FUNCIONJI PINno conectadono conectadono conectadoERRORSLCTPEACKBUSY

1517121011

Tabla 2.11 Bits de estado

Puerto 37AH: En esta dirección la computadora escribe las señales que controlan a la

impresora. Es un puerto de salidas, Tabla 2.12.

31

Page 36: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO II

Tabla de bits de controlBITDODID2D3D4D5D6D7

FUNCIÓN 1 PINSTROBE

AUTO FDINIT

SLCTINHabilitación IRQ7

no conectadono conectadono conectado

1141617

Tabla 2.12 Bits de datos

Como se puede observar en la Tabla 2.12, el puerto paralelo es capaz de controlar el canal

de interrupción IRQ7. Esta es una capacidad muy potente del puerto paralelo.

2.2.4.2 Velocidad del puerto paralelo

La velocidad depende de la velocidad de !a computadora y del software que lo administra,

que a su vez depende del lenguaje de programación y del programa en el cual está

utilizando. Como una regla muy general, es posible lograr tasas de transferencia de 40 - 80

Kbps en computadoras rápidas y de 10 -15 Kbps en máquinas de 8 MHz. Algunos

diseñadores de puertos más recientes, incluyen el mejorado puerto paralelo en el chip set

SL de Intel, y los puertos del nuevo estándar 1284 de IEEE, puede transferir datos a 1

Mbps. A continuación se muestra la mencionada Norma.

Page 37: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPÍTULO rr

Norma IEEE 1284

La reciente norma; "IEEE Std. 1284-1994 Standard Signaling Method for a Bi-directional

Parallel Peripheral Interface for Personal Computers", supone tal avance para el puerto

paralelo como el Pentium frente 286. Esta norma provee una alta velocidad de

comunicación bi-direccional entre el ordenador y el periférico externo lo que hace la

comunicación de 50 a 100 veces más rápido que el puerto paralelo original. A parte del

incremento de velocidad la gran ventaja es que la compatibilidad con todos los periféricos

existentes que puedan usar el puerto paralelo.

La norma 1284 define 5 modos de transmisión de datos. Cada tipo provee un método de

transmisión de datos ya sea la dirección ordenador - periférico, la inversa (Periférico -

Computadora) o bi-direccional. Los modos son:

>• Computadora - Periférico: Compatibility Mode: "Centronics" en modo standard.

> Periférico - Computadora: Byte Mode: 8 bits al mismo tiempo usando líneas de datos,

algunas veces pueden funcionar como un puerto bi-direccional.

> Bi-direccional

> EPP: Puerto Paralelo Ampliado, usado principalmente por periféricos como: CD-ROM,

cintas, discos duros, adaptadores de redes, etc. excluyendo las impresoras.

> ECP: Puerto con Capacidad Extendida, usado principalmente por scanners e impresoras

de nueva generación.

33

Page 38: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO TI

Todos lo puertos paralelos pueden usarse en modo bi-direccional usando el modo

Compatibility. El modo Byte puede ser utilizado por al menos el 25% de las bases

instaladas de puertos paralelos.

Todos los modos utilizan software solo para la transmisión de datos, el driver se encarga de

escribir los datos, comprobar las líneas de unión (BUSY), hacer valer las señales de control

apropiadas (STROBE) y luego pasar al siguiente byte. Este software limita la efectiva

transmisión de datos a unos ratios de 50 a 100 Kbytes por segundo.

Además de los 2 anteriores modos, EPP y ECP están siendo implementados sobre los más

nuevos controladores de E/S por la mayoría de fabricantes. Estos modos usan hardware

para ayudar a la transmisión de datos. Por ejemplo en el modo EPP, un byte de datos puede

ser enviado al periférico por una simple instrucción de salida. El control E/S controla todo

el intercambio y transmisión de datos al periférico. En resumen, la norma 1284 nos indica

lo siguiente:

1. Cinco tipos de operaciones para transmitir datos.

2. Un método para la computadora y el periférico para determinar el modo de transmisión

mantenido y negociar el modo requerido.

3. Define la interfaz física:

y Cables.

V- Conectores.

Page 39: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO Tí

4, Defina la interfaz eléctrica.

>- Drivers.

> Terminación.

>- Impedancia.

2.2.5 El puerto serie

El puerto serie de la computadora es un adaptador asincrono utilizado para intercomunicar

varias computadoras entre sí.

Un puerto serie recibe y envía información fuera de la computadora mediante un

determinado software de comunicación o un driver del puerto serie.

El software envía la información al puerto carácter a carácter, convirtiéndolo en una señal

que puede ser enviada por un cable serie o un módem.

Cuando se ha recibido un carácter,, el puerto serie envía una señal por medio de una

interrupción indicando que el carácter está listo. Cuando la computadora ve la señal, los

servicios de! puerto serie leen el carácter:

2.2.5.1 Conectores del puerto sene

En las PC's, se emplea como conector de la interfaz serie, un termina! macho al que

corresponde el DTE (Data Terminal Equipment) que, a través de un cable conectamos a un

periférico que posee un conector hembra al que corresponde el DCE (Data

Comumunications Equipment). En la Tabla 2.13, se muestra el terminal DTE, que tiene las

siguientes conexiones (para un conector DB-25)..

35

Page 40: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO n

PTN || Nombre || Dirección de Tx12345678

2023

P. GTDRDRTSCTSDSRGNDDCDDTR

DSRD

—-> DCE-> DTE^•DCE-> DTE->DTE

—-> DTE-> DCE

<r->

FunciónTierra de seguridadSalida de datos DTEEntrada de datos DTEPetición de emisión DTEListo para transmitir DCECE listo para comunicarse con DTEMasa común del circuitoDetección de portadoraSeñal de terminal disponibleIndicador de velocidad de transmisión

Tabla 2.13 Funciones del DTE

2.2.5.2 Direcciones que utiliza el puerto serie

El puerto serie utiliza direcciones y una línea de señales, un IRQ para llamar la atención del

procesador. Además el software de control debe conocer la dirección.

La mayoría de los puertos series utilizan direcciones standard predefinidas. Éstas están

descritas normalmente en base hexadecimal. Cuando se instala un nuevo puerto,

normalmente se mueve un jumper o switch para seleccionar un puerto (COMÍ, COM2,

COM3, etc.), con lo que se asigna una dirección y una interrupción usada por la tarjeta del

puerto.

Las direcciones e IRQs usadas por los puertos serie fueron definidas al diseñar el PC

originalmente; sin embargo, las del COM3 y COM4 no se han def inido oficialmente,

aunque están aceptadas por convenios. En la Tabla 2.14, se muestran las direcciones y los

IRQs utilizados:

Page 41: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO II

Puerto || DirecciónCOMÍCOM2COM3COM4 _j

3F8H2FSH3E8H2E8H

Interrupción (tRQ)4343

Tabla 2.14 Direcciones de ..los puertos serie

Se pueden añadir gran cantidad de puertos serie a un PC, ya que existe gran flexibilidad a la

hora de definir direcciones no-standard, siempre que se encuentren entre el rango 100 y

3FF hexadecimal, y siempre que no entren en conflicto con otros dispositivos.

Las computadoras IBM PS/2 usan la Micro Channel Architecture. En la Tabla 2.15, se

define las direcciones e IRQs para los puertos desde COMÍ a COM8:

PuertoCOMÍCOM2COM3COM4COM5COM6COM7COM8

Dirección3F8H2F8H3E8H2E8H4220422852205228

Interrupción (IRQ)43433333

Tabla 2.15 Puertos de COMÍ a COM8

Los dispositivos usan las IRQs para llamar la atención del procesador enviándole una señal.

Cuando el procesador recibe la señal, interrumpe su tarea, respondiendo a dicha señal.

37

Page 42: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO II

De las IRQs que utiliza el PC, sólo dos están definidas para uso por los puertos serie: IRQ 3

es usada por COM2, e IRQ 4 es usada por COMÍ. Estos son el standard oficial.

Cuando se trata de instalar más de dos puertos series en un mismo PC, existen dos

posibilidades:

> Tratar de compartir interrupciones entre los diferentes puertos

> Usar otras interrupciones disponibles para puertos adicionales

El convenio para COM3 y COM4 era compartir las IRQs con COMÍ y COM2.

Desgraciadamente, no trabaja perfectamente en sistemas operativos multitarea usados en la

actualidad (Windows, Win95, WinNT, OS/2 y UNIX). Otro problema es que existen muy

pocas interrupciones disponibles si se posee una placa compatible con IBM PC/XT.

Así como los puertos paralelos ocupan tres registros o puertos, el puerto serie ocupa siete

registros con los cuales trabaja. A continuación en la Tabla 2.16, se listan estos registros.

COMl|COM2| COM3 | COM43FS3F83F83F93F93FA3FB3FC3FD3 FE

2F82FS2F82F92F92FA2FB2FC2FD2FE

3E83ES3ES3E93E93EA3EB3EC3ED3EE

2E82ES2E82E92E92EA2EB2EC2ED2EE

REGTxBRxBDLLDLM1ERIIRLCRMCRLSRMSR

Nombre de los registrosBuíTer de transmisiónBuffer de RecepciónLatch para divisor (LSB")Latch para divisor fMSB")Reg. habilitador de interrupciónRetí, identifícador de interrup.Ree. controlador de líneasRetí, controlador de modemRee. de estado de líneaRes. de estado de modem

DLAB0 (Write)1 Write)

11

Tabla 2.16 Registros de los puertos serie

Page 43: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPÍTULO II

TxB (Transmissíon Buffer - Buffer de transmisión)

En este registro se escribe el byte a ser transmitido. Este registro se accede cuando el bit

DLAB-0 (bit 7 del LCR).

RxB (Reception Buffer - Buffer de recepción)

En este registro se lee el byte que llega por el canal serial. Este registro se accede cuando el

bit DLAB=0 (bit 7 del LCR).

DLL (Divisor Latch LSB - Latch Divisor para LSB)

En este registro se escribe el byte menos significativo del número (16 bits), con el cual se

quiere dividir el reloj de entrada. Aquí se programa la tasa de baudios. Este registro se

accede cuando el bit DLAB=1 (bit 7 del LCR),

DLM (Divisor Latch MSB - Latch Divisor para MSB)

En este registro se escribe el byte menos significativo del número (16 bits), con el cual se

quiere dividir el reloj de entrada. Aquí se programa la tasa de baudios. Este registro se

accede cuando el bit DLAB=1 (bit 7 del LCR).

LCR (Line Control Register - Registro de control de línea)

En este registro se especifica el formato de comunicación asincrona. Este registro puede ser

leído. A continuación en la Tabla 2.17,se describe la función de cada bit.

Page 44: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO TI

Ü7DLAB

D6Set Break

D5Stick Par

D4EPS

D3PEN

D2STB

DIWLS1

DOWLSO

Tabla 2.17 Bits del LCR

WLSO y \VLSI

Especifica la cantidad de bits en cada carácter transmitido o recibido.

STB

Especifica la cantidad de bits de parada que serán transmitidos o recibidos para cada

carácter.

PEN

Este es un bit para habilitar las paridades.

EPS

Este es un bit seleccionador de pandad par.

Stick parity Bit

Especifica el nivel lógico del bit de pandad a ser transmitidos.

Set Break

Este es un bit controla la actividad del break.

DLAB

Este es un bit controla el acceso al latch divisor.

DLAB—1: permite el acceso a los latch divisores generadores de tasa de baudios

DLAB—0: permite el acceso a los buffers de transmisión y recepción.

40

Page 45: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO TI

LSR (Line Status Register - Registro de Estado de Línea)

Este es un registro de 8 bits en el que se encuentra la información correspondiente a la

transferencia de datos. Su descripción en la Tabla 2.18, se detalla a continuación.

D70

D6TSRE

D5THRE

D4BI

D3FE

D2PE

DIOR

DODR

Tabla 2.18 Bits del LSR

DR

Este bit indica que fue recibido un dato, es decir, que existe un dato listo en el buffer.

OR

Este bit indica un error de over-run. Este error indica que el dato que estaba el buffer,

todavía no había sido leído.

PE

Este bit indica un error de paridad. Indica que el carácter recibido no tiene una paridad

correcta.

FE

Este bit indica un error de "frame". Indica que el carácter recibido no tenía un bit de parada

válido.

BI

Este es un bit indicador de break.

THRE

Este es un bit indica que el registro de transmisión está vacío.

41

Page 46: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO II

TSRE

Este es un bit indica que el registro de desplazamiento está vacío.

El bit D7 siempre permanece en 0.

IIR (Interrupt Identification Register - Registro identiflcador de-TVT

Con el fin de obtener el mínimo de overhead durante la transferencia de datos, este registro

prioriza la interrupción en 4 niveles como se muestra en la Tabla 2.19:

Prioridad1234

InterrupciónEstado de línea del receptorDato recibidoRegistro de Tx vacíoEstado del módem

Tabla 2.19 Niveles de prioridad

El registro IIR cuando está direccionado, congela la interrupción pendiente de más alta

prioridad y no actúa hasta que aquella sea servida.

D70

D60

D50

D40

D30

D2-

DI-

DO-

Tabla 2.20 Bits del ITR

42

Page 47: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO U

DO

Este bit indica cuando existe una interrupción pendiente.

DlyD2

Estos bits identifican la interrupción pendiente de más alta prioridad.

IER (Interrup Enable Register - Registro híibílitador de interrupción)

Este registro permite individualmente los cuatro tipos de interrupción.

D70

D60

D50

D40

D3-

D2-

. DI-

DO-

Tabla 2.21 Bits del IER

DO

Habilita la interrupción del dato recibido.

DI

Habilita la interrupción cuando el registro de Tx está vacío.

D2

Habilita la interrupción que es provocada por el estado de línea del receptor.

D3

Habilita la interrupción que es provocada por el cambio en el estado del inódem (CTS,

DSR, RI, CD).

43

Page 48: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPÍTULO 11

MCR (Modem Control Register - Registro de Control del Módeni)

Este registro controla la interfaz con el modem. La descripción de los pines se muestra a

continuación en la Tabla 2.22.

D70

D60

D50

D4LOOP

D3OUT2

D2OUT1

DIRTS

DODTR

Tabla 2.22 Bits del MCR

DTR

Este bit controla la salida DTR.

TVTS

Este bit controla la salida RTS.

OUT1

Este bit controla la salida #OUT1. Esta es una salida auxiliar

OUT2

Este bit controla la salida #OUT2. Esta es una salida auxiliar

LOOP

Este bit controla el recurso de diagnostico llamada "Loop back"

MSR (Modem status Register - Registro de Estado del Modem)

Este registro informa el estado de línea de control del modem.

D7RLSD

D6Rl

D5DSR

D4CTS

D3DRLSD

D2TER1

DIDDSR

DODCTS

Tabla 2.23 Bits del MSR

44

Page 49: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO TI

DCTS

Cuando este bit se encuentra en uno lógico indica que la entrada CTS ha cambiado de

estado desde la última lectura.

DDSR

Funcionamiento idéntico al anterior, pero con una entrada DSR

TERI

Este bit indica el fin de señal del detector de tonos.

DRLSD o DCD

Cuando se encuentra en nivel uno lógico indica que la entrada CD (RLSD) ha cambiado de

estado desde la última lectura.

CTS

Indica el estado de entrada CTS.

DSR

Idéntico que el anterior, para una entrada DSR

Rl

Idéntico que el anterior, para una entrada RI.

RLSD o CD

Idéntico que el anterior, para una entrada CD.

2.2.5.3 Transmisión de datos por el puerto serie

Para el protocolo de transmisión de datos, sólo se tienen en cuenta dos estados de la línea, O

y 1, también llamados bajo (Low) y alto (High). Cuando no se transmite ningún carácter, la

45

Page 50: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO II

línea esta alto. Si su estado pasa a bajo, se sabe que se transmiten datos. Por convenio se

transmiten entre 5 y 8 bits, pero la BIOS sólo soporta una anchura de datos de 7 u 8 bits.

Durante la transmisión, si la línea está bajo, se envía un O y sí está alto indica un bit a uno.

Se envía primero el bit menos significativo, siendo el más significativo el último en

enviarse,

A continuación se envía un bit de paridad para detectar errores. Finalmente se mandan los

bits de parada (stop), que indican el fin de la transmisión de un carácter. El protocolo

permite utilizar 1, 1,5 y 2 bits de parada.

El número de bits que componen cada palabra depende del código a emplear, así, si se

quieren transmitir datos ASCII normales, serán de 7 bits, pero si se quiere enviar el juego

completo de caracteres, cada una debería estar formada por 8 bits.

Dependiendo de esto, si se emplea paridad y él número de bits de parada, se mandarán un

determinado número de caracteres dependiendo de la velocidad en baudios (bits por

segundo) por el puerto serie.

En la figura 2.2, se puede ver con detalle la transmisión del carácter ASCII (A), que es el

65 y su representación binaria es 0100001.

46

Page 51: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO II

Jrüíih

i i i i i i i i i i i

Tiempo

>

Bit de Inicio8 Bits de datos(01000001 para A cU Stop

Bit de Paridad

Figura 2.2 Transmisión serial de hits

2.2.5.4 Tipos de puerto serie

Hay muchos tipos de puertos serie, que están definidos normalmente por el tipo de UART

que utilicen.

El UART (Universal Asynchronous Receíver / Transmitter, Receptor/Transmisor

Asincrono Universal) es un chip del puerto serie que convierte los datos de formato

paralelo utilizados por el PC en datos de formato serie para su envío.

A continuación se enumeran los diferentes tipos de UARTs existentes:

UARTs sin buffer

Los UARTs sin buffer fueron diseñados cuando los módem más rápidos transmitían a 1200

bps. No tienen buffer de carácter extra en el UART, por lo que dependen del procesador

para borrar cada carácter enviado por el módem antes de que el siguiente carácter sea

enviado.

47

Page 52: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO II

Los UARTs sin buffer comprenden las series 8250, el 16450 y el original 16550.

El 8250 y 8250B

El 8250 fue el original UART usado en el IBM PC/XT, y el 8250B es una versión un poco

más lenta, aunque lo suficiente para un PC/XT. Este UART no debería ser usado en un

IBM AT o una máquina más rápida, ya que muchos programas de chequeo muestran un

informe erróneo, y existen riesgos ocasionales de error, e incluso pueden producirse fallos

si se utilizan en estas máquinas.

El 8250A

El 8250A UART es una versión mejorada del 8250 / 8250B UART que trabaja un poco

más rápido sobre el bus del PC, no sobre el módem, y con menos problemas. Este chip es lo

suficientemente rápido para trabajar con máquinas basadas en el procesador 8086 diseñado

entre 1.983 y 1.985, pero no es lo suficientemente rápido para ser aplicado en los tipos AT.

El 16450

El 16450 es una versión más rápida, también sobre el bus del 8250A que fue diseñado para

su uso en máquinas del tipo AT. Un 16450 es lo suficientemente rápido para soportar las

velocidades de transmisión de los ordenadores actuales.

48

Page 53: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO II

El 16550

El 16550 es un UART que fue montado durante un corto período de tiempo. Este UART

tiene un buffer interno de 16 bytes que no trabajan. Muchos de los IBM PS/2 incluyen este

chip.

TJARTs con buffer

Los UARTs con buffer han sido diseñados como apoyo a los módem rápidos de ia

actualidad. El UART original con buffer es el 16550A, que puede acumular 16 caracteres

en un buffer antes de que el procesador lea el dato. Esto hace que el software del PC tenga

una mayor facilidad para comunicarse con el módem, creándose menos errores y una mayor

velocidad de transmisión.

El 16550A

Esta es una versión mejorada del 16550, donde ei buffer trabaja, y es el standard UART de

los 90, que requieren las transmisiones rápidas con los actuales módem. El buffer colabora

en los sistemas operativos Windows y OS/2. Asimismo, evita los overrun y los errores

CRC que se puedan producir en aplicaciones DOS u ordenadores más rápidos.

Existen diferentes versiones del 16550A creadas por diferentes fabricantes. Así, hay

quienes han optado por poner dos UARTs en un mismo chip. Otros han hecho el "super-

I/O", que incluye dos puertos serie, y ¡os controles del disco duro y la disquetera. Estas

modificaciones lo han mejorado con el paso del tiempo.

Page 54: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO TI

ElStarTech 16650 UART

Este chip es una versión mejorada del 16550A UART, que posee un buffer FIFO de 32

bytes, control de flujo automático y un gran potencial en comunicaciones.

Desgraciadamente, su diseño no lo hace completamente compatible con el 16550A, lo que

supone que en algunas ocasiones puede no trabajar con algunas aplicaciones y dnvers.

Particularmente, muchas aplicaciones DOS no funcionan adecuadamente con este chip

cuando corren en una ventana DOS bajo otro sistema operativo. Además no existen drivers

para Windows 95, Windows NT u OS/2.

Texas Instruments 16750 UART

Texas Instruments hizo un UART totalmente compatible con el 16550A. El 16750 posee un

buffer de 64 bytes y capacidad de control de flujo automático.

Pequeños puertos serie

Existen algunas tarjetas diseñadas específicamente para dotar de un puerto serie de alta

velocidad para comunicaciones. Estas tarjetas tienen un mícroprocesador en su interior que

asiste al PC en las comunicaciones. Además, disponen de un modo de transferencia de

datos de alta velocidad que es mucho más eficiente que el interfaz de puerto serie normal.

Estas tarjetas necesitan unos drivers especiales para su uso, pero también disponen de un

interface standard de puerto serie por motivos de compatibilidades.

Page 55: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPÍTULO II

HayesESP-IyESP-H

Hayes ha introducido tres diferentes tipos de "Enhanced Serial Ports", o tarjeta ESP. La

original tarjeta ESP (ESP-I) es una tarjeta "full-length 8-bit" con dos 16550A puertos serie

y un procesador que tiene en cuenta las transmisiones entre el puerto original y el

procesador. Esta tarjeta no es soportada por Windows ni OS/2, por lo que se hace necesario

el uso del puerto standard.

La tarjeta ESP-II está disponible con un o dos puertos serie. Este producto reemplazó al

modelo original y dispone de drivers para diferentes entornos al mismo tiempo,, e incluso

reciente Hayes ha introducido un driver para Windows 95.

Practical Peripherals High Speed Serial Port HSSP

Un Practical Peripheral High Speed Serial Port (HSSP) es una versión mejorada de la

tarjeta Hayes ESP-II, y es idéntica en su construcción a la ESP-II. Tiene los drivers que la

ESP-II.

El T/Port

El T/Port de Telcor Systems, Inc. Es una tarjeta especial que incluye un microprocesador y

es utilizada para la comunicación con un host durante un tiempo elevado. El T/Port mejora

el funcionamiento del ordenador, especialmente cuando opera bajo Windows u OS/2.

Presenta una emulación del interfaz 16450.

Page 56: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO TI

2.2.6 El puerto de juegos

El puerto de juegos esta diseñado como una interfaz con dos joysticks analógicos. Cada

joystick dispone de dos botones.

El puerto de juegos no suele estar integrado como un componente de la placa base. Este

puerto suele estar implementado en tarjetas del tipo multi-I/0 o en tarjetas de sonido. El

conector del puerto permite la conexión de dos joystick a la vez. Es muy simple saber si el

puerto de juegos esta disponible en nuestro PC. Es el único conecíor de 15 pines que

podemos encontrar en la parte posterior de nuestra computadora.

2.2.6.1 Direccionamiento del puerto.

El puerto de Juegos esta situado en la dirección 201H del mapa de direcciones. El

significado de cada bit del puerto se muestra en ia Tabla 2.24.

Escribiendo en la dirección del puerto cualquier valor los cuatro timers comienzan a

generar pulsos. Leyendo este puerto, obtenemos un byte. El nible bajo nos da el estado de

los cuatro pulsos digitales. El estado de los botones viene dado por el nible alto.

Para leer la posición de los joystick se puede utilizar la función 84H de la interrupción 15H

de la BIOS.

JOYSTICK Bbotón 2BIT?

botón 1BIT 6

JOYSTICK ABotón 2BITS

botón ]BIT 4

JOYSTICK Bcoord yBIT 3

coord xBIT 2

JOYSTICK Acoord yBIT 1

coord xBITO

Tabla 2.24 Bits del puerto Jov.stíck

52

Page 57: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO II

2.3LOS BUSES DE LAS PCs

Los buses o ranuras de expansión sirven para conectar tarjetas de expansión a un sistema

básico de la computadora, ha través de este conector se logran llevar todas las señales

necesarias para realizar las diferentes interfaces del sistema (impresora, unidades de disco,

pantallas, modems, escaners, etc.).

El conjunto de estas señales recibe el nombre de BUS y tiene, en sus diferentes

configuraciones un determinado número de líneas con funciones especificas y una forma

física estándar con el fin de poder instalar (conectar o desconectar) en él diferentes modelos

de tarjetas o diferentes aplicaciones.

En la historia de las computadoras IBM y compatibles existen diferentes buses que han ido

evolucionando, principalmente con el desarrollo de los nuevos microprocesadores, pero

para nuestro estudio vamos a partir de aquellos que aún siguen vigentes.

El bus ISA de 8 bits, luego el bus ISA de 16 bits, después el bus MCA, el bus EISA y

ahora se habla principalmente de los buses VL y PCI.

2.3.1 El bus ISA

El bus ISA ( Industry Standard Architecture ), fue el primer bus utilizado en los equipos

PC y XT de IBM como sistema de arquitectura abierta. Esto permitió en gran parte la

proliferación de clones y la gran variedad de tarjetas de expansión e interfaz de bajo costo

que aún se encuentra en el mercado. De los buses ISA hay dos versiones: el de 8 bits y el de

16 bits.

53

Page 58: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO II

2.3.1.1 El bus ISA de 8 bits

El bus ISA de 8 bits salió al mercado en el año 1982 con el PC y luego se conservó en los

XTs. Este bus se encuentra en forma de conector en línea de doble lado y tiene 62

contactos, 31 por cada lado. Sus pines o contactos están numerados por un lado como Al

hasta A31 y por el otro lado Bl hasta B 31. En la Figura 2.3, se muestra la estructura

física, la numeración y el nombre de cada una de las señales.

Como se puede observar en la figura, en una ranura o siots se encuentran el bus de datos, el

bus de direcciones, las señales de control y de reloj y los voltajes de alimentación. Casi

todas estas señales van conectadas a microprocesador a través de circuitos acopladores

(drivers o buífers) con el fin de protegerlo de posibles cortos circuitos o conexiones

equivocadas. Como podemos ver en el bus ISA de 8 bits hay un bus de datos de 8 bits y un

bus de direcciones de 20 líneas lo que permite un direccionamiento hasta de 1 MB.

El bus contiene 6 señales de interrupción (JÜRQ2 a IRQ7), 3 canales de DMA y una señal

de reloj 4.77 MHz. Aunque cada conector en el bus se supone que trabaja de la misma

forma, los primeros PCs fabricados con 8 ranuras requerían tener por lo menos una tarjeta

conectada en la ranura 8 (el más cercano a la fuente de poder), con el fin de obtener una

señal llamada " Card selected (tarjeta seleccionada) " en el pin B8. Esta señal era una

línea diseñada para recibir un adaptador especial de IBM llamado el 3270 PC, por la

mayoría fabricantes de clones y compatibles no siguió esta configuración.

54

Page 59: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO II

El pin del Oscilador (B30), entrega una señal de 14.3 MHz. Cuando se debe hacer reset en

el PC, el pin RESET DRV (B2) reinicia todo ei sistema. Cuando se recibe una dirección

válida, el pin AEN (All), le indica al sistema que se puede decodificar esta dirección. El

pin -I/O CHCK o I/O Channel Check (Al), avisa a los circuitos de la tarjeta principal

(motherboard), que ha ocurrido un error en la tarjeta de expansión; el signo negativo

indica que la señal se activa en nivel lógico bajo. El pin -I/O CHRDY o I/O Channel

Ready (A10) se activa cuando una tarjeta de expansión está lista. Si este pin está en nivel

bajo (0), el microprocesador extiende el ciclo del bus, generando estados de espera (wait

states).

Las seis señales de interrupción por hardware (IRQ2 a FRQ7), se utilizaban por las tarjetas

de expansión para demandar atención por parte del microprocesador. Las interrupciones

IRQO e IRQ1 no-están disponibles en el bus ya que ellas tienen las prioridades más altas

del temporizador principal y el teclado. Las señales I/O Read y I/O Write indican que el

microprocesador o el controlador de DMA quieren transferir datos hacia o desde el bus de

datos. Las señales de lectura y escritura de memoria (-MEMR y -MEMW) le indican al la

tarjeta de expansión que la CPU o el DMA van a leer o escribir datos a la memoria

principal. El bus XT tiene 3 señales de requisición de DMA (DRQ1 a DRQ3), que le

permiten a la tarjeta de expansión transferir datos hacia o desde la memoria.

Page 60: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO TI

Gfound.

IHO2-5 VDC-DRQ2

-12 VDO-CtfFd sdected

*12 VDCGrmmd

-SMFMW

64-B5

BlOBU

-M)W B13i^OR BU

-CACK3 SI 5ORO 3 B16

•DAOKí 81?ORO1 B18

Qj<St(477ívfH2l BEOÍPtOf B;

TttóS 8"51HO-4- 9243RQ S B,i5

•DAOK2 B£3T;C G27

fóALH S2S+5VPC B19

B3063 í

•r»

ÍJ

*jAeA.TA8A9

DaíáBfí?'Dam Éfit €Data BU 5Deia fííí 4

Data en a'OsraBtíQ

Achires^ B¡1A14AIS

A17A*fl Addte% Si! 13A19 Addre-aeín2

O Arfdress Bit it 'ASI ArftfrawBHIÜ

A53 Acuosa Bit fi

Aetdress BÍE A27 Adróse EjN

,sB3t3

SOA31

Figura 2.3 Bus ISA de 8 bits

56

Page 61: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO TI

2.3.1.2 El bus ISA de 16 bits

Con el avance de la tecnología, las limitaciones del bus ISA de 8 bits se evidenciaron

rápidamente. Las 6 interrupciones disponibles se coparon con la unidad de disco, el disco

duro, los puertos seriales y el puerto paralelo dejando pocas posibilidades de expansión. Así

mismo, de los tres canales de DMA, la unidad de disco y el disco duro, se ocupaban dos

quedando uno solo libre.

Con la aparición del microprocesador 80286 de 16 bits y las computadoras AT en 1984, se

diseñó un nuevo bus, el ISA de 16 bits, que utilizaba en gran parte el anterior ISA de 8 bits

agregándole un segundo conector de 36 pines alineado con el primero con nuevas señales,

Figura 2.4. De esta forma se podían utilizar la gran cantidad de tarjetas periféricas y de

expansión que existían en el mercado. En esencia se agregaron otros 8 bits de datos, más

direcciones, con cinco interrupciones y cuatro canales de DMA y algunas señales de

control. Así mismo, se incrementó la velocidad a 8,33 mhz.

57

Page 62: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO II

'fr~3^5% ffí

S82

B<

aíB7

+12 VDC B9

ORO?-12 VDC

ORQ3 BIS-DACK1 g

PRCH B18

ifiQSERO 4

920B2Í

-QACK2 S[,'C S27

626BUSB30

Ground B31

-MHMCS1& Di02

10 03

3BQ1S D6ÍRO14 D7

0ACKO 06DBOO DB

ORO 6 0Í8DHCK7 Dt4DRQ7 DtS

,45 VDC D1P-MASTER 017

Di 8

•*¿y "«í

A17

OaUEítlS

A1A2 Data BIÍ 7

ASA6A?A6Afi

A52Ala>l*í

Dñía Bft 3liata Bit 2Data Bit 1t>af a Su O4'QCBROr

I/Í6

Acicf resé 6tt 1*5

*ít1T

litaAcídreas B*t 6

ASO

A22

AS4A?S

A2&'

A3a Aereas &ÍÉ íA3f Affóress Brf O

:r3

¡1 SBH£? Bit 23

Aolfíre^ Bit 20ss BÍÍ í&

Atídress BU Í7-7

38.&• 10 -MEMW¡tt Oata BilS12 Oata Del 9

! PafaSitlS-17 Date Bit 1418

Fijruní 2,4 Bus ISA de 16 bits

58

Page 63: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO II

2.3.2 El bus MCA

Con la introducción de los microprocesadores de 32 bits como el 80386 y 80486, el bus

ISA de 16 bits se quedó nuevamente atrás y creo la necesidad de un nuevo bus. En 1987,

IBM considero archivar el bus tipo ISA y diseñó el bus MCA (Micro Channel Architecture)

o micro canal en su línea de computadoras PS/2.

Su diseño buscaba, además del objetivo de mejorar el rendimiento de los equipos, frenar el

avance de la industria de los clones y los compatibles, ya que IBM no entregó sus

características tratando de fabricar sus propias tarjetas de expansión y periféricos.

La principal diferencia entre los buses ISA y MCA consiste en la configuración física, ya

que el último tiene una separación entre los pines de 0.050" con el fin de acomodar más

conexiones en el mismo espacio. Esto genera una incompatibilidad total entre los dos

sistemas lo que fue un error de IBM al no considerar las inversiones en tecnología por parte

de los usuarios.

2.3.3 El bus EISA

En 1988 y 1989 fue desarrollado el bus EISA (Extended Industry Standard Architecture) de

32 bits para satisfacer las necesidades de mayor velocidad y desempeño que

proporcionaban los microprocesadores 80386 y 80486 y para no dejar solo a IBM, y su bus

MCA, con este mercado.

59

Page 64: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO II

Este bus, cuyo éxito es la compatibilidad con los buses anteriores, el ISA de 8 y 16 bits, es

un producto de un consorcio (más conocido como la banda de los nueve), formado por

Compaq, Hewlett Packard, NEC, Zenith, AST, Epson, Wyse, Olivetti, Tandy.

Para lograr la compatibilidad entre los dos sistemas ISA y EISA, se diseño una solución

muy ingeniosa que tardo alrededor de dos años para ser perfeccionada. El conector que

recibe las tarjetas tiene dos filas de pínes, con diferente altura o nivel y la transferencia

entre los dos buses se realiza automáticamente dependiendo de la forma del conector de la

tarjeta,

Los pines superiores o las tarjetas tipo ISA y en el conector inferior hay cinco topes de

plástico que no permiten que estas hagan contacto con los pines inferiores, que

corresponden al bus EISA. Las tarjetas EISA tienen una serie de ranuras que coinciden con

los topes y éstas se pueden deslizar hasta el fondo obteniendo el contacto con sus

respectivos pines.

El bus EISA tiene 99 pines por cada lado en los cuales se ha reducido su espaciamiento de

0.100" ha 0.50". En la Figura 2.5, se tiene la distribución de las señales de este tipo de bus.

Como se puede observar en la figura, el bus EISA tiene 30 líneas de direccionamiento, 32

bits de datos, 15 niveles de interrupción y 7 canales de DMA.

Una de las características principales del bus de EISA es su capacidad de manejo autónomo

del bus (bus-mastering), que en pocas palabras podría explicarse como la capacidad para

permitir el intercambio de información entre dos periféricos sin la intervención de la CPU.

Aunque la velocidad del bus EISA se conservó en 8,33 MHz, para permitir la

60

Page 65: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO II

compatibilidad con ISA su velocidad para transferencia de los datos es mucho mayor

debido al aumento en la anchura del bus; esta llega ser de unos 33 Mbps.

-J «<

Grotincí

Ksy

4-iavoc" M-SÜ

-LOCKResarvctí

Q-roUnd

-BE3K&ysea

-&&>Ground4SVDO

-Addrass 24

tuKey

45VOCss Kayalo

Dala 1fi

Data £3Data 24

Data £7

Data 284-5 VCG

IftQ*5VDC

VDG

-6MEMWSMEMft

tíow-1/D Ft

"-OACK 3

-REFBESH

ÍRO7!RO6masÍRQ43HQ3

TYG&AÍE

4-5 VOC

é

1BQ10ÍRQltÍRO12IRQ 15IRCH4

-DACK OOñQO

-D^CK t,&KÜ5

-DACK7DRQ7

-t-'j VDC

03

asse

B-íO

en&14B15&16B17

B1982082t822823

626BS7

&2S

Koy01D2DSD4D506D7OS

otoOlíDt2

014

D1G01;ote

I*? """"ES£

R

a

a

35

Mg WPP^^ ¡R

S

A1AS

A4A&

A?AS

Aíí)Atl

Oaía?Gatas

Oataü-T/&GHRDYAEN

A1SAddtoss í?

A17A18A19

Acarees 1S14

Adtíffiss 11

AP3

AZ7

fl.30A31KeyCi

C3C4C5caC7esC9

Addf &ÍA 1AdíK-SA

1 Address 501918

Aádtess í7MEMR

CUC12cíaC14ClbCJ6C17C18Oí 9

Oaí&BData 9Dátalo

Data 12DofolSData 1-íDala 1S

-EX32

Key

-SLSUHST*E4S8URST

W n

Kay-BÉÍ

30-Addre^ 2.8

Addrass 2S

Í5Atfdrass 13

1-2

Aetáress /Oround

iíf 4

O-sw

Key

2.5 Bus EISA üe 32 bits

61

Page 66: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO II

2.3.4 Los buses locales

Los buses locales surgieron por la constante demanda de una mayor velocidad en las

operaciones que involucran gráficas, vídeo y sonido presentes en la gran cantidad de

aplicaciones con multimedia y otras similares. La baja velocidad de los buses ISA, MCA y

EISA sólo se podía superar conectándose directamente a la línea de datos y

direccionamiento del microprocesador y de la memoria. De esta forma se puede lograr

velocidades de hasta de 66MHz en comparación a los 8 O 10 MHz de los otros buses. Los

dos tipos principales de buses son el Vídeo Local y el PCI.

2.3.4.1 El bus Local de Video o Video Local (VL)

Este tipo de bus fue propuesto en 1992 por la Video Electronics Standards Association y

por ello se llama VESA Video Local Bus. Este bus utiliza el mismo conector de 62 pines

del bus MCA. Sus pines se muestra en la Figura 2.6. Las tarjetas que utilizan este bus

tienen dos conectores, uno en cada extremo y para cada bus. Los conectores o ranuras del

motherboard, se colocan alineados con los conectores o ranuras ISA. El bus VL es

expandible de 32 a 64 bits permitiendo su utilización en sistemas con el microprocesador

Pentium, por medio de otro conector MCA alineado con el primero.

62

Page 67: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO II

flrj

AGfAQ2

Giownd A06

+VCG AOOOtttscU

BatíU& Á12A13AÍ4

. A16Data 24 A16

AiT

O-sta ÉÍ3

ÍJ?ta 39•íVCG A20

Atídi 31 A¿fCrauneí AJÍ2:

Daíasr

0ata 53

Data 4SDais 43

Ke,

Dataos

5 A25Adtír ¿3 A?gAdefr ¿1 Ai,?

«í A>8

Arj ín 17Adcir }í> A31

AíííJr. rA34

= A35A36

Atídt S A^?

/V30M45A42AJ3

W

HDYRTN

A AS

A49

-ÜftDf A^1Et ST AV

IDt

A5S

LE&16

fi<f x.-'S Í.SÍ5

mi Data 01

#04Gftíüntí

ÍJOSSO?

SOSS10BU

Oaío 11Data 13Oata 15

©atan*vcc

B14B-1SB16

BIS820sal£322 Atidr 2B

V26

AtWf

B35

20Atfdr 1Add' 1«Addr Í4Atídr 12Aíídf !<JAcídt í*Crouns

Atídr 4'VVBAK

B39

^4T-ÍVGO•aciBE2

-G round

B45<oy

Wfi

IÍ5KTt-VCCÍO?ÍDóÍD4

£*

Oatí fOOata^ft

D&fa d&

O d* 42

SHB

-B£?

#*

Fiííura 2.6 Bus VESA VL

63

Page 68: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO JI

2.3.4.2 El bus local PCI

Uno de los últimos buses que ha salido al mercado es el llamado bus local PCI (Peripheral

Component Interconnect) puesto por Intel en 1992 y apoyado por la mayoría de los

fabricantes de PCs, incluyendo a Apple Computer, quien lo ha adoptado para su línea de

equipos más recientes que utilizan el ni i crop roces ador PowerPC 604.*

La tendencia actual es la utilización de! bus VESA VL para equipos de bajo perfil y del bus

PCI para equipos de alta velocidad y configuraciones de buen tamaño. Con el bus PCI se

espera mejorar considerablemente el desempeño de los equipos en operaciones de alta

intensidad en intercambio de datos como son el manejo de gráficas de alta resolución en 2 y

3 dimensiones, video con el tamaño de la pantalla y sonido con calidad de CD, así como el

manejo de redes y discos duros de alta velocidad.

El bus PCI, de 188 pines, también utilizan conectores de 62 pines tipo MCA que se instalan

algunas veces alineados con las ranuras ISA o EISA. A diferencia del bus VL, el bus PCI

utiliza una técnica de multiplexación de direcciones y datos que permiten una considerable

reducción en el número de pines. Esto crea la necesidad de circuitos de acoplamiento

(buffes) que reduce un poco la velocidad de transferencia.

El bus PCI, de 32 bits, es expandible a 64 bits y soporta la lógica de 3.3 voltios junto a la

normal de 5 voltios. De esta forma hay 4 versiones, la de 5 voltios y 32 bits, la de 3.3

voltios y 32 bits, la de 5 voltios y 64 bits y la de 3.3 voltios y 64 bits. En la Figura 2.7, se

tiene la disposición de los pines y el nombre de las diferentes señales.

64

Page 69: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPÍTULO II

F¡»ura 2.7 Bus Local PCI de 64 bits

65

Page 70: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO III

HERRAMIENTAS DE PROGRAMACIÓN

En este capítulo se da una breve descripción de los diferentes lenguajes de programación

utilizados para ei desarrollo del presente tema. También se mencionan los entornos en los

cuales fue desarrollado el programa de software "Analizador de Puertos para PCs". Este

capítulo finaliza con un breve análisis sobre las DLLs.

3.1 ENTORNO VISUAL BASIC

Por ser el entorno donde se desarrolló casi su totalidad el programa de software, a

continuación se muestra los elementos de este entorno y e! lenguaje de programación que

éste utiliza.

3.1.1 Descripción del entorno de Visual Basic

Para entender el entorno y la metodología del Visual Basic antes se analizará los siguientes

conceptos básicos:

Proyecto.- Es el conjunto de archivos relacionados (formularios, módulos, menúes) que

constituyen los elementos básicos para desarrollar un paquete de software. Los archivos se

pueden agrupar dentro de un proyecto para crear proyectos secundarios.

67

Page 71: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPÍTULO TTJ

3.1.1.1 Ventana Proyecto

La ventana Proyecto presenta una lista de todos los módulos de formulario, módulos de

clase, y módulos estándar del proyecto.

3.1.1.2 Módulo de formularios

Constituyen el o los archivos de un proyecto de Visual Basic con extensión .FRM los

mismos que contienen los controles y los valores de sus propiedades, declaraciones de

constantes, variables y procedimientos externos de nivel de formulario y generales.

3.1.1.3 Módulo de clase

Un módulo que contiene la definición de una clase (definiciones de sus propiedades y

métodos).

3.1.1.4 Módulo estándar

Un módulo que sólo contiene declaraciones y definiciones de procedimientos, tipos, y

datos. Las declaraciones de nivel de módulo y las definiciones de un módulo estándar son

públicas (Public) de manera predeterminada. Un módulo estándar se conoce como módulo

de código en versiones anteriores de Visual Basic.

3.1.2 Terminologías de Visual Basic

Control. Un control es una herramienta que puede utilizar para crear objetos dentro de un

formulario de Visual Basic. Podrá seleccionar los controles contenidos en la caja de

herramientas y utilizarlos para dibujar objetos en un formulario usando, simplemente, el

68

Page 72: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO ÍTI

ratón. Podrá emplear la mayoría de los controles para crear elementos de la interfaz del

usuario, tales como botones de órdenes, cuadros de imágenes y cuadros de listas.

Objeto. Un objeto es el nombre que reciben los elementos de la interfaz de usuario que

puede crear utilizando los controles contenidos en la caja de herramientas. Podrá mover,

modificar el tamaño y adaptar a sus gustos personales los objetos sin más que utilizar sus

propiedades asociadas. Los objetos cuentan también con una característica conocida con el

nombre funcionalidad inherente: ellos saben cómo tienen que funcionar y pueden

responder a ciertas situaciones de forma «natura!» (por ejemplo, un cuadro de lista «Sabe»

cómo tiene que desplazar los elementos contenidos en ella). Podrá programar los objetos

de un programa visual Basic utilizando procedimientos de suceso que estarán adaptados a

las diferentes situaciones a las que se puede enfrentar el programa. En Visual Basic, el

propio formulario es otro objeto,

Propiedad. Una propiedad es un valor o característica que pertenece a un objeto de Visual

Basic, tal como el rótulo asociado o el color del primer plano. Durante el proceso de

programación podrá asignar valores a estas propiedades utilizando la ventana Propiedades,

o bien, durante la ejecución del programa, utilizando las sentencias contenidas en el código

del programa. Cuando se definen desde el código, la asignación de un valor a una

propiedad tiene el siguiente formato:

Objeto. Propiedad'— Valor

69

Page 73: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO 01

Donde Objeto es el nombre del objeto que desea particularizar, Propiedad es la

característica que desea modificar y Valor es el nuevo valor asignado a la propiedad. Por

ejemplo, la sentencia

Commadl.Caption ~ "Hola"

Podrá ser utilizada en el código del programa para definir como «Hola» la propiedad

Caption del objeto Commandl.

Procedimiento de suceso. Un procedimiento de suceso es un bloque de código que se

ejecutará cuando desde el programa se haga referencia o se active un determinado objeto.

Por ejemplo, cuando el usuario pulsa con el ratón el primer botón de orden de un programa,

se pondrá en marcha el procedimiento de suceso denominado Commandl_Click, Los

procedimientos de suceso evalúan las condiciones y, según éstas, definen las propiedades y

utilizan otras sentencias del programa para llevar a cabo la tarea asignada al programa.

Sentencia de programa. Una sentencia o instrucción de un programa es una palabra clave

de código que lleva a cabo una determinada tarea. Las sentencias de Visual Basic, entre

otras importantes tareas, pueden: crear espacio de almacenamiento para los datos, abrir

archivos, realizar cálculos, etc.

Variable. Una variable es un «contenedor» utilizado para almacenar datos de forma

temporal durante la ejecución de un programa. El programador crea variables para

70

Page 74: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO III .

almacenar los resultados del cálculo, crear nombres de archivos, procesar la entrada de

datos, etc. En general, una variable puede almacenar cualquier tipo de números, nombres y

valores de propiedades.

Método. Un método es una sentencia especial que lleva a cabo una acción o un servicio

para un objeto particular dentro de un programa. La sintaxis que deberá utilizar para definir

un método dentro de un programa es la siguiente:

Objeto, método = Valor

Donde Objeto es el nombre del objeto que desea cambiar, Método es el comando que va a

utilizar para modificar el objeto y Valor es un argumento opcional que puede utilizarse para

definir el método. Por ejemplo, la sentencia:

JListl.Addltem

Utiliza el método Addltem para introducir la palabra Cheque en el cuadro de lista

denominado Listl.

71

Page 75: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO TTT

3.1.3 Fundamentos de programación

Una aplicación puede contener varios tipos diferentes de archivos:

Los módulos de formularios (.frm) que contienen los elementos visuales de un formulario,

incluyendo todos sus controles y el código basic asociados a él.

Los módulos estándar (.bas) y de clase (.cls ) que contienen código basic.

Los controles personalizados (.vbx u .ocx )incluyen controles especializados así como

versiones mejoradas de controles estándar.

3.1.3.1 Funcionamiento de una aplicación controlada por eventos.

Un evento es una acción reconocida por un formulario o control. Las aplicaciones

controladas por eventos ejecutan código Basic en respuesta a un evento. Cada formulario y

control de Visual Basic tiene un juego de eventos predefinidos, si ocurre uno de estos

eventos, Visual Basic invoca el código del procedimiento de evento asociado.

Aunque los objetos de Visual Basic reconocen automáticamente un juego predefinido de

eventos, usted determina si responden a un evento concreto y cómo. Cuando se desea que

un control responda a un evento, se escribe el código llamado procedimiento de evento

para ese evento.

3.1.3.2 Código que se ejecuta inicialmente.

El primer formulario de una aplicación se denomina formulario inicial. Cuando se inicia

una aplicación, se presenta dicho formulario, de modo que el primer código que se ejecuta

es el del evento Form initialize de ese formulario.

72

Page 76: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO III

3.1.3.3 Terminación de una aplicación.

Una aplicación controlada por eventos termina su ejecución cuando todos sus formularios

están cerrados y no se ejecuta ningún código.

3.1.4 Elementos del lenguaje

3.1.4.1 Constantes

Un elemento que retiene un valor constante a lo largo de la ejecución de un programa, al

contrario que una variable, cuyo valor puede cambiar durante la ejecución. Cada aplicación

host puede definir su propio conjunto de constantes. El usuario puede definir otras constantes

con la instrucción Const. Las constantes se pueden usar en cualquier lugar del código en vez

de valores reales. Una constante puede ser un literal de cadena o numérico, otra constante, o

cualquier combinación que incluya operadores aritméticos o lógicos excepto exponenciación.

Por ejemplo:

Const A = "MiCadena"

3.1.4.2 Variables

Una posición de almacenamiento con nombre que puede contener datos que se puedan

modificar durante la ejecución del programa. Cada variable tiene un nombre que la

identifica de manera única dentro de su nivel de alcance. Un tipo de datos puede o no ser

especificado.

73

Page 77: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPÍTULO III

Nombres de variable:

> Deben comenzar con un carácter alfabético.

> No pueden contener un tipo o un carácter de definición de tipo intercalado.

> Deben ser únicos dentro del mismo alcance.

> No deben tener más de 255 caracteres de longitud.

3.1.4.3 Tipos de datos.

Establece la clase de valores que guarda la variable.

TIPO

IntegerLong(Integer)Single(Precision)Double(Presición)CurrencyStringVariant

Tamaño enBytes

24488

1 Caract/byíe

Caracteres dedeclaración

%&|

#

®j>

Rango

-32768 a 32767-2147483648 a 2 147483647-3.37 E +38 a 3.37 E+38-1.67D+308al.67D+308-9.22E+14a9.22E4-14

Tabla 3.1 Tipos de datos en VB

Tipos definidos por el usuario: Para definir variables que deben ser agrupadas juntas. Se utiliza

la palabra clave Type....End Type

74

Page 78: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO III

3.1.4.4 Contexto de la variable

Establece en que parte de la aplicación la variable es conocida.

Variables locales: Una variable local se reconoce solamente en el procedimiento en el que

está definida. Fuera de ese procedimiento la variable no es conocida.

Variables a nivel de formulario: Puede ser compartida por todos los procedimientos de

ese formulario. Se declara en la sección declaraciones del formulario.

Variables a nivel de módulo: Una variable declarada a nivel de módulo es compartida en

todo el módulo. Para declararla se abre un nuevo módulo.

Variables globales: Pueden ser accedidas desde cualquier parte de la aplicación. Para

declararlas se usa la palabra clave global.

3.1.4.5 Operadores:

Los operadores que soporta Visual Basic se muestran en la siguiente Tabla en orden de

prioridad.

75

Page 79: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPÍTULO III

Tipo | Operación | Operador

Aritmético

Relaciona!

Lógicos

ExponenciaciónCambio de signoMultiplicación y DivisiónEnteraResto de una división enteraSuma y Resta

IgualDistintoMayor queMayor e igual queMenor queMenor e igual que

NegaciónAndOrOr exclusivoEquivalenciaImplicación

V\d

+'~

o

>=

NotAndOr

XorEqvImp

Tabla 3.2 Operadores

3.2ENTORNO VISUAL C++

Este entorno fue utilizado para desarrollar la DLL que sirvió como nexo para transferir

datos desde los puertos hasta el entorno de VB, por tanto es apropiado enunciar una breve

descripción de este entorno.

3.2.1 Descripción del entorno de Visual C++

Este entorno tiene sus bases en las Clases de la Fundación de Microsoft o MFC (Microsoft

Foundation Class), por lo tanto este ambiente genera código en C que es utilizado por el

76

Page 80: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO m

MFC para llamar a las Funciones del API (Application Programming Interface) o Interfaz

de Programación de Aplicaciones.

Las funciones API son las llamadas sin procesar proporcionadas por el sistema operativo.

Desde VC++ se puede invocar un AppWizard para seleccionar algunas de las funciones

básicas.

Un entorno VC++tiene las siguientes partes:

Proyect Workspace: Provee la descripción de un proyecto, ofrece cuatro diferentes vistas,

recursos, apoyo de información de las clases.

Posee ventanas de redacción, extiende los resultados en las diferentes ventanas cuando se

edita y se corre la aplicación. En VOH- se pueden presentar los siguientes tipos de

proyectos:

MFC AppWizard (.EXE): Una aplicación autosuficiente con su GUI propio,

desarrollado con el MFC. VC++ automáticamente crea la estructura y los archiva con las

clases apropiadas y agrega los archivos al proyecto.

MFC AppWizard (.EXE): Un enlace dinámico de librerías desarrollado con el MFC. Al

igual que el punto anterior VC++también los agrega al proyecto.

Custom AppWizard: Una modificación Custom al MFC estándar del AppWizard.

OLE ControlWizíird: Un Control OLE (OCX) desarrollado con el MFC. VC++ crea

automáticamente los archivos de estructura con las clases apropiadas y los agrega al

archivo del proyecto.

Visual C-H- usa el MFC para desempeñar todas las tareas estándar de Windows, dejando el

desarrollo para partes especificas y únicas del programa.

77

Page 81: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO III

Dentro del VC++, el AppWizard desarrolla las siguientes partes:

El proceso empieza estableciendo si un documento único (SDI) o el documento de interfaz

múltiple (MDI) es deseado. En esta etapa el AppWizard también impulsa el idioma

preferido natural.

Cualquier apoyo de la base de datos es especificado, esta fuente de datos puede ser ODBC

o los datos de acceso de objetos (DAO),

Visual C-H- utiliza un compilador C/C-H- para traducir el código de alto nivel a código

objeto.

3.2.2 Fundamentos de programación

Visual C-H- utiliza como leguaje de programación al C o C++, este ambiente al igual que

Visual Basic posee una iníerfaz amigable al usuario, pero la compilación es diferente, pues

cada vez que se ejecuta un programa, este entorno genera al mismo tiempo los códigos

objeto, los del C o C-H- y por su puesto los ejecutables.

En C-H- a diferencia del Visual Basic se utiliza la Programación Orientada a objetos (OOP),

que es superior a la programación estructurada en muchos aspectos y como la OOP es la

base de programación del Visual C-H-, a continuación se describe algunos conceptos

fundamentales de la misma.

El concepto de programación orientada a objetos (OOP) no es nuevo, lenguajes clásicos

como SmallTalk se basan en ella. Dado que la OOP. se basa en la idea natural de la

existencia de un mundo Heno de objetos y que la resolución del problema se realiza en

términos de objetos, un lenguaje se dice que está basado en objetos si soporta objetos como

una característica fundamental del mismo.

78

Page 82: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPÍTULO ITI

El elemento fundamental de la OOP es, como su nombre lo indica, el objeto. Podemos

definir un objeto como un conjunto complejo de datos y programas que poseen estructura y

forman parte de una organización.

Esta definición especifica varias propiedades importantes de los objetos. En primer lugar,

un objeto no es un dato simple, sino que contiene en su interior cierto número de

componentes bien estructurados. En segundo lugar, cada objeto no es un ente aislado, sino

que forma parte de una organización jerárquica o de otro tipo,

ESTRUCTURA DE UN OBJETO

Un objeto puede considerarse como una especie de cápsula dividida en tres partes:

1 - RELACIONES

2 - PROPIEDADES

3 - MÉTODOS

Cada uno de estos componentes desempeña un papel totalmente independiente:

Las relaciones permiten que el objeto se inserte en la organización y están formadas

esencialmente por punteros a otros objetos.

Las propiedades distinguen un objeto determinado de los restantes que forman parte de la

misma organización y tiene valores que dependen de la propiedad de que se trate. Las

propiedades de un objeto pueden ser heredadas a sus descendientes en la organización.

79

Page 83: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPÍTULO III

Los métodos son las operaciones que pueden realizarse sobre el objeto, que normalmente

estarán incorporados en forma de programas (código) que el objeto es capaz de ejecutar y

que también pone a disposición de sus descendientes a través de la herencia.

POLIMORFÍSIMO

Una de las características fundamentales de la OOP es el polimorfismo, que no es otra cosa

que 3a posibilidad de construir varios métodos con el mismo nombre, pero con relación a la

clase a la que pertenece cada uno, con comportamientos diferentes. Esto conlleva la

habilidad de enviar un mismo mensaje a objetos de clases diferentes. Estos objetos

recibirían el mismo mensaje global pero responderían a él de formas diferentes; por

ejemplo, un mensaje "+" a un objeto ENTERO significaría suma, mientras que para un

objeto STRING significaría concatenación ("pegar" strings uno seguido al otro)

CLASES

El concepto de clase está unido al de objeto; las clases son para los objetos lo que los tipos

para las variables en PASCAL. De hecho, la declaración de una clase es en muchos

lenguajes una declaración de tipo, y los objetos de esa clase se obtienen igual que el resto

de variables de sus tipos.

En general, una clase es un conjunto o grupo que tienen atributos comunes. En términos de

programación, una clase es un conjunto de objetos que comparten estructura y

comportamiento comunes.

80

Page 84: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO TTI

3.2.3 Elementos del lenguaje

3.2.3.1 Constantes

Se caracterizan porque no cambian su valor durante la ejecución del programa. Estas

constantes son del tipo: Integer, floating-point y character. Una constante es declarada

usando "const" y asignando un valor a ella.

Ej. const invalorl=22;

3.2.3.2 Variables

Es el lugar donde se almacenan determinados valores cuando el programa es ejecutado. En

C estas variables son declaradas al inicio, sin embargo, en C-H- no importa donde las

declare.

Estas variables son del tipo: Integer (int), floating point (float), doble-precision (double and

long double) y character (char) y otros derivados.

Ej, float totaí_sum;

intx, y;

double a,b,r;

char A;

Page 85: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO ITI

3.2.3.3 Tipos de datos y rangos

TIPO

IntFloatDoublelong doubleCharUnsigned charshort intLongUnsigned intUnsigned long

TAMAÑO(Bytes)

24810112424

RANGO

-32,768 a32,7673.4 10'JS a 3.4 IQ™

1.7 1 0'308 a 1.7 1030K

S^lO^aS^lO4 9 3 2

-128 a 127O a 255

-32,768 a 32,767-2,147,483,648 a -2,147,483,648

0 a 65,5350 a 4,294,967,295

Tabla 3.3 Tipos de datos en C/C-H-

Operadores.- Los operadores de C y C++ son los siguientes:

TIPO | OPERACIÓN

Asignación

Aritmético

Relación

Lógicos

IgualdadSumaRestaMultiplicacióndivisióndivisión parteenteraSumaRestaMultiplicaciónDivisiónParte enteraMenor queMayor queIgual aNo es igual aMenor o igual aMayor o igual aANDORNOT

OPERADOR

*

% =

*

>

&&i ti i

iTabla 3.4 Operadores

Page 86: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO III

3.3DLLs (DYNAMIC LINK LIBRARY)

Las DLLs (Dynamic Link Library) ó ";LÍBRETEOS$£ EÜJACE&'wáMco_" son un tipo especial

de archivos que contienen funciones y recursos que están disponibles para todas las

aplicaciones de Windows.

3.3.1 Descripción de las DLLs

Las referencias a funciones o recursos contenidos en una DLL se desarrollan en tiempo de

ejecución (dinámicamente) mucho mejor que en tiempo de encadenamiento (estáticamente)

El uso de las DLLs le permite a sus aplicaciones:

> Compartir una sola copia de código y recursos entre algunas aplicaciones.

^- Configurar fácilmente su aplicación para diferentes productos.

V Recuperar fácilmente su aplicación

>- Administrar proyectos complejos

5* Mejorar funciones independientemente del lenguaje de programación

3.3.2 Cargando una dll

Windows provee dos de métodos para cargar una DLL en la memoria:

3.3.2.1 Carga implícita

Windows carga la DLL conjuntamente con el primer programa Cliente y lo enlaza antes

que el Cliente comience la ejecución.

El método implícito de cargar una DLL ofrece la ventaja de simplicidad. El Cliente no

requiere ningún esfuerzo extra de programación y puede llamar la biblioteca de funciones

83

Page 87: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO in

como si ellas funcionaran en tiempo normal de ejecución. Sin embargo, la carga implícita

acarrea dos limitaciones:

1. El nombre del archivo de biblioteca debe tener una extensión .DLL

2. Debe enumerar toda una lista de funciones DLL que el Cliente llama a la sección

IMPORTS del Cliente en el archivo Módulo de definición, o vincula al Cliente con

una librería de importación.

La carga implícita es mejor cuando un Cliente siempre requiere por lo menos un de

procedimiento en la librería, desde Windows automáticamente carga la librería con el

Cliente. Si el Cliente no requiere siempre el servicio de la librería, entonces el Cliente debe

escoger un tiempo de ejecución entre varias librerías.

3.3.2.2 Carga explícita

Windows no carga las DLLs hasta que el primer Cliente explícitamente lo pida durante la

ejecución.

Para cargar explícitamente una DLL, el Cliente no requiere enlazarse con una librería de

importación, ni debe el archivo DLL tener una extensión de .DLL. La carga explícita

involucra tres los pasos en que el Cliente llama a las funciones API de Windows;

1. El Cliente llama a LoadLibrary para cargar la DLL

2. El Cliente llama a GetProcAddress para obtener la dirección de cada función DLL

que lo requiera.

84

Page 88: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO ni

3. Cuando termina con la DLL, el cliente llama a FreeLibrary para descargar la DLL

desde la memoria.

3.3.3 Búsqueda de un archivo DLL

Para cargar una DLL, implícitamente o explícitamente, Windows busca el archivo DLL en

los siguientes directorios en el orden mostrado:

1. El directorio actual

2. El directorio de Windows, que contiene WIN.COM

3. Eí directorio de sistema de Windows, que contiene los archivos sistema tal como

GDI.EXE

4. El directorio donde el programa de Cliente radica

5. Los directorios listados en la ruta de entorno de trayectoria

6. Los directorios mapeados en una red

Si Windows no ubican la DLL en ninguno de estos directorios, entonces el usuario es

indicado con un mensaje indicando que la mencionada DLL no se encuentra.

3.3.4 Construcción de una DLL

Una DLL puede ser construida o desarrollada en lenguajes de programación tales como:

C/C++ MASM, o FORTRAN.

3.3.4.1 Construcción en MASM

Una DLL tiene requerimientos adicionales de programación para que se ejecute

normalmente las librerías.

Page 89: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO III

3.3.4.1.1 CÓDIGO DE UNA DLL

El código en una DLL depende de la exportación o no-exportación de funciones.

Las funciones Exportadas, se definen en la sección EXPORTS del archivo MODULO DE

DEFINICIÓN, y son públicas las rutinas que sirven a programas Clientes.

Las funciones no-exportadas proveen- apoyo interno privado para los procedimientos

exportados. Ellos no son visibles al Cliente.

Bajo Windows, una rutina que va a ser exportada debe ser llamada como un procedimiento

lejano (Far). Las rutinas DLL pueden usar cualquier convención de llamado, el que usted

desee, pero debe advertir al visitante que asuma la misma convención.

Los siguientes procedimientos son los necesarios para realizar una DLL:

> Un procedimiento de entrada

^ Un procedimiento de terminación

> Un código especial de prologue y epílogo

3.3.4.1.2 EL PROCEDIMIENTO DE ENTRADA

Una DLL, como cualquier programa basado en Windows, debe tener un procedimiento de

entrada. Windows llama el procedimiento de entrada únicamente cuando se carga por

primera vez la DLL, pasando la siguiente información a los registros:

>- DS contiene las librerías de la dirección del segmento de datos

>• DI retiene la manija de ejemplo de la librería

V CX retiene la pila de la librería clasificada en bytes

86

Page 90: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO ITT

Sin embargo, Las funciones API de Windows destruyen todos los registros excepto DI, SI,

BP, DS, y el indicador de pila. Para conservar los contenidos de otros registros, su

programa debe gravar los registros antes de un llamado API y los restaura después.

Esta información corresponde a los datos proveídos a una aplicación. Una DLL se cargará

solo una vez en la memoria.

El procedimiento de entrada no necesita registrar la dirección del segmento de datos.

Windows automáticamente asegura que cada rutina exportada en el DLL tenga acceso al

segmento de datos de la librería.

3.3.4.1.3 EL PROCEDIMIENTO DETERMINACIÓN

Windows mantiene una DLL en la memoria hasta que el último programa Cliente termine

o se descargue explícitamente la librería. Cuando se descarga una DLL, Windows primero

llama al procedimiento de terminación de la biblioteca. Esto permite a la DLL volver los

recursos y hacer cualquiera de las operaciones necesarias de limpieza antes que Windows

descargue la librería desde la memoria.

El procedimiento de terminación acepta un parámetro único, que puede tener uno de dos

valores. Estos valores se asignan a las siguientes constantes simbólicas en el archivo

WINDOWS.INC. ubicadas en el subdirectorio LIB:

> WEP_SYSTEM_EXIT (el valor 1) indica que Windows lo cierra

> WEP_FREE_DLL (el valor 0) indica a la librería que el último Cliente ha

terminado o ha llamado a FreeLibrary, y Windows descarga la DLL.

Page 91: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPÍTULO TTT

3.3.4.1.4 Código de Prólogo y Epílogo

En esta sección de códigos, es donde se realiza la rutina a ser exportada. Esta rutina debe

estar situada entre un prólogo y un epílogo que son sentencias propias del MASM.

3.3.4.2 Construcción en Lenguaje C/C++

Para realizar una DLL en C/C++, ésta consta de tres requerimientos:

V Archivo de cabecera windows.h

>- Función LibMain

V- Procedimiento de salida a Windows VVEP (Windows Exit Procedure)

E! archivo de cabecera windows.h es requerido por cualquier aplicación de Windows, para

lo cual en el código de la DLL debe editar la siguiente sentencia.

# include <H>indow$.h>

El segundo requerimiento LibMain, es similar a la función main de un programa de C/C++

o a la función Win Main de un programa Windows.

Cuando Windows carga una DLL, se ejecuta el código de la función LibMain, realizando

así cualquier inicialización requerida por la DLL.

La función LibMain es el punto de entrada de la DLL. Su función es simplemente liberar el

segmento de datos de la librería que por defecto es fijo.

La función LibMain, retorna un 1 indicando que la DLL se ha inicializado con éxito. En el

caso de haber cualquier inicialización adicional, si alguna de ellas no fuera satisfecha,

LibMain retornará un O, para notificar al programa principal que la DLL no ha podido

cargarse con éxito.

Page 92: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO III

El tercer requerimiento, WEP, es llamado por Windows en el momento en que finaliza el

último programa Cliente que esté utilizando la DLL, o bien cuando Windows finaliza. En

este momento Windows libera la memoria ocupada por la DLL.

En C la función WEP tiene un solo parámetro que no se utiliza y siempre retorna un valor

1, lo que indica que suceda lo que suceda, siempre podremos salir de la DLL.

Para desarrollar una DLL en C, se debe seguir procedimientos similares para realizar un

programa en C. Es decir, se escriben los archivos de cabecera (archivos.h), archivos con la

definición de las funciones (archivos.c ó .cpp), archivo de definición de módulos

(archivo.def).

El paquete que pueden utilizar para realizar las DLLs en C, es el Visual C-H- porque ofrece

muchas facilidades para su realización,

Construcción de una DLL en C-H- para Lectura y Escritura de Puertos/

Extern HANDLE hlnstDLL;

// Funciones prototipo

# ifdefj3plusplus

extern"C" {

# endif

int FAR PASCAL^export Medir(unsigned PUERTOE, int medida);

int FAR PASCALjíxport Enviar(unsigned PUERTOS, int vcontrol);

# ifdef_cplusplus

89

Page 93: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO in

# endif

# include <windows.h>

# include <conio.h>

HANDLE hlnstDLL;

int FAK PASCAL LibMain(HANDhInstance, WORD wHeapSize, LPSTR pszCmdLine);

{

hlnstDLL — hlnstance;

if (wtieapSize 1= 0)

UnlockData(O);

return (1);

}

int FAR PASCAL__export Medir(unsigned PUERTOE, int medida);

{

medida - Jnp (PUERTOE);

return (medida);

íint FAR PASCAL_export Enviar (unsigned PUERTOS, int vcontrol);

{

int salida;

salida = _outp (PUERTOS, vconírol);

return (vcontrol)

90

Page 94: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO TTT

Declaraciones para generar el archivo "Módulo de definición"

LIBRARY loport //Esta sentencia declara a un archivo como extensión .dll

DESCRIPTION "Descripción breve "

EXETYPE WINDOWS

SEGMENTS

WEPSEG PRELOAD FIXED

CODEPRELOAD MOVEABLE DISCARDABLE

DATA PRELOAD MOVEABLE DISCARDABLE

HEAPSIZE 4096

' Aquí se indican las variables en las cuales se transfieren los datos

EXPORTS

WEP @1 RESIDENTNAME; nombre residente en memoria

Medir @2

Enviar @3

91

Page 95: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO III

Construcción de una DLL en C para Lectura y Escritura de Puertos

# include <windows.h>

# include <dos.h>

# define EXPORTAPI_far_pascal_export_loads

/

FUNCIÓN:

LibMain (HANDLE, WORD, WORD, LPSTR)

PROPOSITO: Llamada por LIBENTRY, la cual es llamada por Windows

cuando la DLL es cargada

int EXPORTAPI LibMain(HANDLE hModule, WORD wDataSeg, WORD cbHeapsize,

LPSTR IpszCmdLine);

hModule;

wDataSeg;

cbHeapSize;

1 pszCmdLine:

return 1;

}

92

Page 96: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO III

/**** SECCIÓN DE PROCEDIMIENTOS DE SALIDA DE LA DLL ****/

VOTO EXPORTAPI WEP (int bSysíemExit);

bSystemExit;

/*** SECCIÓN DE CODIFICACIÓN DE LAS FUNCIONES PROTOTIPO ***/

VOID EXPORTAPI WritePort(int x, int y);

{

outportb(x, y);

}int EXPORTAPI ReadPort(int x);

{

unsigned char valor;

int rs;

valor = inportb(x);

rs — valor;

return(rs);

93

Page 97: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

PIT

DEL

Page 98: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO IV

DESARROLLO DEL SOFTWARE

En este Capítulo se expondrá como se definió el problema del tema a desarrollarse, que

tipos de lenguajes de programación se utilizaron para ¡a realización de la misma. Se explica

como se realizó el software, es decir, su estructuración, diagramas de bloque, etc.

Finalmente este Capítulo termina con las posibles aplicaciones que tendría este software.

4.1 DEFINICIÓN DEL PROBLEMA

Una vez planteado el tema "Analizador de Puertos para PCs" que surgió del análisis de

las necesidades vistas en el Capítulo I, se procedió a la definición del problema, para lo cual

se hecho mano de los objetivos presentados por una parte, y por otra parte, por contar con

las herramientas de programación necesarias para la realización del presente tema.

A primera vista el desarrollo del software resultaba sencillo, pues se podía realizar

trabajando a bajo nivel, es decir, utilizando lenguaje de máquina cuyo lenguaje de

programación es el "Assembler", con el mismo que tenía acceso directo a los Puertos de

E/S que poseen las PCs, pero para que un programa desarrollado en lenguaje de máquina

corra o se ejecute eficientemente depende del tipo de arquitectura de los microprocesadores

presentes en la PCs, y además este tipo de lenguaje de programación utiliza muchas

instrucciones (una por línea) para realizar un pequeño evento.

Page 99: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO IV

Este fue uno de los problemas por el cual no se optó por utilizar este tipo de lenguaje de

programación, y otro íue porque se estaba olvidando de uno de los objetivos planteados, el

mismo que decía, que este programa debía desarrollarse en un entorno de Windows 95 y

por tanto debía presentar una interfaz amigable al usuario y por esta razón se optó por

desarrollar este programa de software en Visual Basic 4.0 cuya abreviación es VB, la cual

será utilizado de aquí en adelante, y el por que se prefirió este entorno se verá

posteriormente en este mismo Capítulo.

Una vez definido el entorno el que se iba a realizar el software, se presentó un problema,

VB no tiene acceso a bajo nivel a menos que utilice controladores personalizados externos

a VB cuya extensión son los archivos (.vbx). Este problema se solucionó utilizando una

DLL (cuya descripción se indica en el Capítulo III), misma que servirá como nexo o

interfaz entre el VB y el acceso a los Puertos a bajo nivel.

Entonces apareció otro problema, el investigar como se crean las DLLs, en que lenguajes se

pueden implementar, como se encadenan y en que entornos funcionan. Una vez empapado

del tema sobre las DLLs se intentó realizar la DLL en lenguaje Assembler, el cual no tuvo

éxito debido a que VB no lo reconoció como tal. Afortunadamente se encontró una DLL ya

realizada, que había sido utilizada como parte de un tema de Tesis de Postgrado realizado

por el Ing. Miguel Hinojosa. En esta tesis, ésta DLL era utilizada para la adquisición y el

envió de datos de un determinado Puerto.

Gentilmente el mencionado ingeniero me proporcionó dicha DLL y junto con ella la

documentación respectiva, es decir como fue realizada. Esta DLL fije realizada en un

entorno de Visual C-H-, y por este motivo es que se da una breve descripción sobre este

entorno en el Capítulo III de la presente tesis.

Page 100: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPÍTULO IV

El nombre de la DLL proporcionada es "Ioport.dll", y como ésta DLL fue realizada en

Visual C-H- de 16 bits, entonces para que tuviera total compatibilidad con el VB, se hizo

las pruebas respectivas en el Visual Basic 4.0 de 16 bits obteniéndose los resultados

esperados. En vista que se obtuvieron los resultados esperados en las pruebas de

transferencia, entonces se procedió ai desarrollo de este software que se describirá

detalladamente más adelante.

El archivo ejecutable de este programa se le denominó "Puertos.exe", el mismo que

procede de la compilación del archivo proyecto "Puertos.vbp" y a su vez este archivo de

proyecto está constituido de varios módulos denominados formularios y cuya extensión es

(.frm), también los módulos con extensión (.bas) son parte del archivo proyecto. De esta

manera se ha dado la definición del problema propuesto en el Capítulo I.

4.2SELECCION DE LOS LENGUAJES DE PROGRAMACIÓN

Luego de haber definido el problema, y además de revisar las descripciones de los

lenguajes de programación y las DLLs propuestas en el Capítulo III, se procede a describir

en este punto por que se eligió a VB como herramienta para el desarrolló del presente

trabajo y también el por que no se optó por los otros entornos similares, los mismos que

daban los mismos resultados.

97

Page 101: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO fV

Se seleccionó a VB por las razones expuestas a continuación:

> Utiliza como lenguaje de programación el Basic, el mismo que he utilizado en

muchas aplicaciones durante mi carrera y por tanto he aprendido su modo de

programación.

V Por su disponibilidad en el lugar de trabajo "Laboratorio de Computación del

ICB" donde se desarrolló el presente software.

> VB presenta interfaces gráficas amigables conocidas al usuario, que funcionan en el

entorno de Windows 95.

> VB ocupa menos espacio en disco duro (40 MB Versión de 16 bits) como mínimo,

en comparación con el Visual C++ que requiere en disco duro de 200 MB como

mínimo y 500 MB para que funcione óptimamente.

V VB es un lenguaje Orientado a Eventos, (una orden desencadena en algún evento o

eventos). Además por ser un lenguaje de alto nivel es compatible a cualquier

arquitectura de microprocesadores existentes.

V VB trabaja con un interprete y un compilador, donde él interprete da una respuesta

rápida y ayuda a detectar errores, mientras que el compilador transforma a

ejecutable el proyecto que una vez haya sido terminado y una sola vez a diferencia

del C o C-H-.

Ahora, no se eligió realizar el programa en lenguaje Assembler por lo expuesto en la

definición del problema.

Asi mismo, no se optó por el Visual C++ por lo expuesto anteriormente y porque este

entorno utiliza para su programación el lenguaje C o C++, lenguajes sobre los cuales poseo

Page 102: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO rv

poco dominio. No obstante para el desarrollo de las DLLs se recomienda realizarlo en

Visual C++ pues presenta facilidades como por ejemplo el WEP (Windows Exit

Programm) incorporado, además las rutinas que realizan las DLLs no son complicadas

como para que los programadores tengan un dominio del C/C-H-.

En resumen para el desarrollo de este programa se utilizó al VB para las interfaces gráficas

y Visual C++ donde se desarrolló la DLL (Ioport.dll).

4.3 DESARROLLO DEL PROGRAMA "ANALIZADOR DE PUERTOS"

El desarrollo consta de las siguientes partes:

> Estructura del programa

>• Programación por formularios

> Diagrama de bloques del funcionamiento del programa

> Descripción del digrama de bloques

4.3.1 Estructura del programa

Luego de diversas pruebas con la DLL (Ioport.dll), el mismo que constó de la transferencia

de datos desde los Puertos hasta el VB y viceversa, se procedió a desarrollar el programa.

Como se expuso anteriormente, los programas realizados en VB se denominan proyectos y

sus archivos tienen extensión (.vbp), a su vez, estos proyectos están constituidos por

módulos denominados formularios cuya extensión de sus archivos es (.frm) y dentro de

99

Page 103: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPÍTULO IV

cada formulario los programas son divididos en procedimientos Sub o Function donde se

editan los programas.

Un formulario es una ventana donde se colocan los diferentes controles, los cuales

obedecerán a algún mando para desencadenarse en un evento en particular.

Los módulos cuya extensión es (.bas) también son parte de los proyectos, en estos módulos

se realiza las declaraciones, es decir, se declaran las variables globales, de tipo y por su

puesto las funciones que contienen a la DLLs. Es así como en la sección

DECLARACIONES GENERALES, se procedieron a declarar a la DLL (Ioport.dll) como

sigue:

Declare Function Medir Lib "Ioport.dll" (ByVal PUERTOE As Integer, ByVal

medida As Integer) As Integer

Con esta declaración, cuando el programa sea ejecutado permitirá leer un dato desde un

puerto direccionado por la variable PUERTOE y cuyo contenido regresa en la variable

medida, este contenido también podemos obtener en la variable Med¡r(x,y) previamente

declarada como Integer. A continuación se ilustra un ejemplo de su funcionamiento:

Sea la variable Leer = Medir(S88,medida)

Nótese que la dirección de la cual deseamos leer el contenido del puerto esta en formato

decimal, esto se debe a que en Basic todos los datos se manejan en este formato.

U)0

S«F.

Page 104: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO TV

Si queremos ver el dato almacenado en la variable Leer, basta con utilizar la sentencia

Print Leer, para observar esta información en el formulario, luego de la ejecución. La

sentencia anterior accesa al puerto paralelo de salida, cuya dirección es 378H, del cual

obtiene su contenido.

La declaración para escribir un dato en algún puerto es la siguiente:

Declare Function Enviar Lib "Toport.dH" (ByVal PUERTOS As Integer, ByVal

vcontrol As Integer) As Integer

Esta declaración luego de su ejecución permite escribir un dato en un puerto, cuya

dirección esta dada por la variable PUERTOS y cuyo contenido lo lleva la variable

vcontrol. Finalmente todo lo mencionado antes puede interpretarse de mejor manera en la

Figura 4.1:

Entornode VB

-p-DLL

-4 1 -J_±

Aolicaciones

Figura 4.1 Funcionamiento de la DLL

101

Page 105: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO IV

Nótese que hasta el momento solo hemos leído o escrito el dato en un solo puerto, pero

como necesitamos leer un bloque de puertos, entonces se realizó un bucle, el cual activa a

la DLL cada vez que lo requiera, a su vez esta DLL responde de forma inmediata.

4.3.2 Programación por Formularios

4.3.2.1 Formulario "LECTURA DE PUERTOS"

A continuación en el formulario llamado LECTURA DE PUERTOS se coloca un control

o caja de texto "TextBox", y en uno de sus eventos "Load" se programa el bucle mediante

un lazo For...Next, al ejecutarlo, esta caja de texto muestra un rango de contenidos

determinados por la dirección inicial y final en el lazo. Esta caja de texto solo muestra los

contenidos en forma vertical, no permitiendo insertar en la misma línea otras indicaciones o

rótulos adicionales como por ejemplo.

Dirección en

Hexadecimal

Contenido en

hexadecimal

Contenido en

Binario

Contenido en

ASCII

La presentación anterior es el objetivo de cómo debe mostrarse los datos en la lectura de

puertos.

Dado que el control TextBox no cumple con el objetivo señalado se busca otro tipo de

control, encontrándose que el Control Grid o Grilla cumple con estos requerimientos. Este

102

Page 106: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAJPTTULO FV

control posee métodos como el Addítem, el cual satisface el objetivo planteado, también

presenta celdas donde se puede manipular independientemente los datos.

Realizando un pequeño programa en el evento Load de la grilla se obtiene la siguiente

presentación como muestra la Figura 4.2.

Figura 4.2

A continuación se da opción al usuario para que ingrese un rango de puertos que desee

observar, para lo cual se utiliza dos controles o cajas de texto con sus respectivas etiquetas,

en las cuales se ingresa las direcciones inicial y final de un determinado bloque de puertos a

observarse. En la Figura 4.3 se muestra estos controles.

Inicie! ' J378

Final J37A|

Figura 4.3

103

Page 107: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO TV

Hasta este instante, el programa aún no puede ejecutarse, pues no existe un botón de

comando que desencadene el evento de lecturas de los puertos, por ¡o tanto se coloca en el

formulario un botón de comando llamado "Mostrar", en cuya sección de código asociado

al evento Click se edita el programa de prueba dentro del procedimiento

Prívate Sub cmdmostrar_Click(), el mismo que realiza las siguientes acciones:

s* Toma los datos ingresados en formato hexadecimal en las respectivas cajas de texto.

> Transforma los datos tipo texto a valor, y estos a su vez los cambia a valores decimales.

> Verifica que los valores ingresados tengan formato hexadecimal.

> Restringe el límite superior de la dirección ingresada, para evitar el desborde de la

capacidad de la grilla.

>- El bucle recoge los valores inicial y final.

> Dentro del bucle lee un dato a la vez enviado por la DLL y lo presenta en las respectiva

celdas de la grilla.

> Como el dato retornado está en formato decimal, realiza la conversión de décima! a

hexadecimal, de decimal a binario, de decimal a Ascii y los ubica en sus respectivas

celdas como se muestra en la Figura 4.4.

104

Page 108: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO TV

ASCU

oo : 00111101

Figura 4.4

s* Ubica estos datos fila tras fila en la grilla.

V* El bucle repite este suceso de acuerdo al bloque ingresado, si el bloque es demasiado

grande, inmediatamente se activa una barra deslizadera vertical o Scroollbars como se

muestra en la Figura 4.5.

-

*te*&5001300140015

00160017

0018

0019

001 A001 B

Coftterída ert

9020

"'Vi-FF66$200FFFFFF \ü £¥t

BsiSfto10010000"00100000íííiíin

TíiÍQaiíoidii'ooToooooooboniTTTnni 111 ninmn

Üoníemck) sn •*•ASPÍ

1

Vf ~12

yy

y ^

Figura 4.5

105

Page 109: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO IV

El algoritmo descrito antes, se puede resumir en el siguiente diagrama de bloques,

Figura 4.6.

ini <r inicialfin 4- final

Dir <r Hex(i)Lecdec <- Medir(ini, medida)Lectu <- Hex(lecdec)Bitr <- conversion(lecdec)Ascii <- Asc(lecdec)

Dir, lecdec, lectu, bits, Asccii

Figura 4.6

106

Page 110: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO IV

Ahora si el usuario desea ver otro bloque, se implementa en el formulario un botón de

opción que se le denominó "Otro Bloque", que al activarlo, habilitará nuevamente las cajas

de texto, las mismas que ílieron deshabitadas cuando se mostró el primer bioque, entonces

el usuario podrá ingresar nuevamente las direcciones para un nuevo bloque.

Una vez ¡mplementada la grilla para que muestre las lecturas, se procede a poner accesorios

en la grilla como por ejemplo que muestre a cada instante la actividad del puerto, es decir,

que de un refresco y al mismo tiempo que muestre información de aquel puerto con solo

realizar el evento Click sobre el contenido o la dirección del puerto mostrado en las-celdas.

Para obtener el refresco o actualización de ios datos se utiliza el Control Timer, poniendo

en una de sus propiedades (Interval) parámetro de tiempo, es decir cada que tiempo

muestra el contenido del puerto. Este Timer está asociado con una etiqueta "Label", por

tanto mostrará cada cierto tiempo el valor actual del contenido en la etiqueta.

Para fines didácticos el parámetro de tiempo de refresco es de 0.25 de segundo, intervalo

con el cual se puede observar de mejor manera el cambio de los contenidos si es que

existen. Pero en realidad en algunos puertos el dato cambia en el orden de una milésima y

hasta millonésima fracción de segundo que son imposibles observar con la vista humana.

Para observar la información se utiliza otra etiqueta, y ambas etiquetas están contenidas en

un recuadro o "Frame".

Estos dos eventos están asociados con el evento Click de la grilla en cuyo procedimiento se

realiza la programación, cuyo procedimiento es Prívate Sub gr¡lla_Click().

Adicionalmente a estos eventos, también se muestran instrucciones al usuario.

107

Page 111: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO TV

En la Figura 4.7 se muestra esta irnplementación.

tf ft

ouoo F6

Jffii"oooT

.¿5L"eT

J3QQ5_

tooo£'QGQT

imenio !

F9

íle

¡as. Éíeehd* áv n^ega^tun pataBLOQUE,

Figma 4 7

Finalmente para salir de esta aplicación, se implementa en el formulario un botón de

comando llamado "Cerrar", y en la sección de código asociado con el evento Click se edita

las siguientes sentencias: End para salir o Unload me para descargar el formulario.

El juego de los botones utilizados en este formulario, se muestra en la Figura 4.8.

CERRAfi

Figura 4.8

IOS

Page 112: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO IV

Este formulario llamado LECTURA "DE PUERTOS está listo para anexarse a un

formulario padre MDl (Interfaz de Documentos Múltiples), el mismo que contendrá al

resto de formularios mediante un juego de menúes que será descrito más adelante.

Finalmente en la Figura 4.9, se muestra el formulario completo.

FíttoJ

7 Ott& Bloque

;

'

*

_,

ISÍM03F703F8

03F9

03FA

03FB

03FC

03FD

03FE

03FF

*

H^SSS17F00QÓ

™"03*""™

03

00

00

,

toHÉeodo 5n Coi tenido en.. 3,

onnm ioooooooo'OOOOOOQÓ

00000001 I

IffisssilIZZjIIOQOOOOOO

00000000

IfSíJffflStílón "" """ -""" • • - - • ^T - "*t • ""** " riOITfi'S'CkO"

, jPimfe sartal CORÍ1 ClWRx3} í 3 88

CEBRAT1

BÍOOUE,

Figura 4.9

109

Page 113: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO IV

4.3.2.2 Formulario "ESCRITURA EN PUERTOS"

Este formulario tiene las mismas características que el formulario anterior, pero con ligeras

diferencias como son; en vez del botón de opción "Otro Bloque" se tiene un botón de

comando "Cambiar" cuyo evento es el de cambiar el contenido actual de un puerto. En

este formulario no se muestra refresco, en vez de esto se implementa una caja de texto que

sirve para que el usuario cambie el dato actual, esta caja de texto está asociado con el botón

de comando "Cambiar". La caja de texto para cambiar, se encuentra al lado derecho de la

etiqueta que muestra la información del puerto y están contenidos dentro de un recuadro o

Frame como se muestra en la Figura 4.10.

1

*£ri

0378

0379

037A

037B

037C

u: 70037E

037F

toftteftído ert

"7 41~FECFFFFFFFFFF

Cütíítridkj 6rt LísrjfentdcjíJtt -^

^w**-í

01000001 A

OÍÍ11111 I "-

jnqiioq ^^ ^ iiij_fmi" "*^

"TiTínn _™ 'y11111111 u

1Í111111 y

11111111 v " ^

-tflfuíKiawttri rea**!-*™

leerte paralelo ÍJPT1 de Salida j 4l|_ _ 3 Í _

fas ffechat de nsvegaos-rt pajaf íiífííE\iaefflr>5t

afi bizt un dsto

Figura 4.10

110

Page 114: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO IV

Como se observa en la figura 4.10, en este formulario también se implementas

instrucciones para el usuario.

En este formulario la grilla utiliza dos eventos que son el Click y e! Doble Click. Con un

Click en cualquier celda se muestra la información del puerto y con doble Click en las

mismas celdas se cambia el dato actual en la caja de texto y luego de un "Enter" o

haciendo Click en el botón "Cambiar" se actualizan los datos en las celdas. Un evento

asociado con el Click, es el movimiento con las flechas de navegación para mostrar

información, es decir, para ver información, basta con hacer Click sobre las celdas o mover

las flechas de navegación. El formulario completo ESCRITURA EN PUERTOS se

muestra en la Figura 4.11.

teícíal

CAMB1AB

H^SS

0378

0379

037A

H37B

037C

037D

037E

037F

iSlí

" ^7F™~

EC^FFFF

'FF^rr

pp

Uñí?*"* iia-T***-^

01000001 _ A „ ' '

oíiífin " "_ i"v_J1101JOO 2" 'T*"imíi"i " y11111111 * y " ,

*TiiiniT "™^,11111111 "i)% r

^««ón Cantó*-

¡Piíeiio páratelei

t tPT) de Satina ' J41i '

r Instrucción**

Figura 4.Í1

111

Page 115: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO TV

4.3.2.3 Formulario "LECTURA DE UN PUERTO"

Además de los dos formularios anteriores, se implementaron dos más; Un formulario

denominado "Lectura de un Puerto", el mismo que permite leer un solo puerto con

refresco o actualización del dato, luego de ingresar la dirección en la caja de texto, además

tiene una grilla con barra deslizadera vertical donde se puede observar las N muestras de

los contenidos de un puerto, y el número de muestras se ingresa en otra caja de texto. Este

formulario que también se anexara al MDI se muestra en la Figura 4.12.

Lecluía de un Puerto

IXson de

Dilección D"í " * í ,, íte lecíuta 1 '

Figura 4.12

4.3.2.4 Formulario "ESCRITURA EN UN PUERTO"

Este formulario está constituido de dos cajas de texto y una etiqueta. En la primera caja de

texto se ingresa la dirección del puerto donde se escribirá el nuevo dato. En la segunda caja

de texto se ingresa el dato a cambiarse y finalmente en la etiqueta se observa el dato

cambiado, además todos los datos se manipulan en formato hexadecimal.

112

Page 116: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO TV

Este formulario se implemento para que el usuario manipule directamente a un determinado

puerto. El formulario completo se muestra en la Figura 4.13.

fl Esciitufa en un Puerto

HEXOireecíon (370

Nuevo '

+

cambiado

Figura 4.13

Los dos formularios están provistos de etiquetas con instrucciones para el usuario y un

botón de comando para cerrar la aplicación.

4.3.2.5 Formulario "CONTRASEÑA"

Existen dos formularios denominados Contraseña, los mismos que aparecerán antes de

que el usuario ingrese a cambiar el dato de algún puerto, sea este por bloques o en un solo

puerto. Se implementaron estos formularios por seguridad del sistema, es decir, solo

personas autorizadas que tengan el suficiente conocimiento acerca de los puertos tendrán

acceso al cambio de datos.

En vista de que estos formularios son similares, a continuación se muestra uno de ellos en

la Figura 4.14.

113

Page 117: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO TV

-* CONTRASERA

Sí desea cambiar d cof>ten«ÍQ,tíep<t«&o- »ngte*e contmeítev Pefo'que sí eatnbía su contenido pitede dañar

*, Acepta* ¿arteelar j

Figura 4.14

Como se observa en la figura 4.14, este formulario está provisto de dos botones de

comando "Aceptar" y "Cancelar". También posee una caja de texto donde el usuario

ingresará la clave y una etiqueta la cual contiene un texto de advertencia.

4.3.2.6 Formulario "SISTEMA OPERATIVO"

Este formulario se anexará al proyecto final, el mismo que dará la información del sistema

en el cual está trabajando. Cabe mencionar que este formulario es anexado de los ejemplos

sobre llamadas a DLLs, presente en la sección ejemplos de VB y que por ser compatible al

tema también se lo anexó al MDI y por esta razón este formulario está inhabilitado, éste

formulario tiene su propio módulo de declaraciones para llamar a las diferentes DLLs. En

la Figura 4.15, se muestra dicho formulario.

114

Page 118: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO IV

memoria y recurso*

CPtí, 48B íeon Eioprocesaác»Memorki libre; 16,265,216

Figura 4.15

4.3.2.7 Formulario "ACERCA DE"

Finalmente se implemento este formulario, en el cual se da la información sobre el autor del

software, año de realización, etc. En Figura 4.16, se muestra dicho formulario.

í por

\$m Reáael M, Joyo,res*?rv«ti<ís,

posible, aíft rfel

81 ^53 F<-«(aís paí.edu ¿c

Figura 4.1ÍÍ

115

Page 119: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO IV

4.3.2.8 Formulario "PADRE (MDI)"

Este formulario está diseñado para contener a los formularios descritos anteriormente. Este

formulario se implemento mediante menúes desde donde dependiendo de la selección del

usuario, mostrará la pantalla, es decir, en su escritorio, las diferentes aplicaciones realizadas

y descritas antes.

Estos menúes se realizaron fácilmente en VB utilizando una herramienta llamada Editor de

Menús, donde simplemente se editan los diferentes nombres que irán en la barra de menúes

y así mismo, las diferentes opciones que irán dentro de las mismas. Para este formulario

principal denominado "ANALIZADOR DE PUERTOS", el mismo que servirá como

escritorio de trabajo, se requirió el siguiente diseño.

Analizar Puertos

116

Page 120: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO rv

Información del Sistema

Ventana

Windows

Ayuda Contenido

El diseño de estas barras de menúes en el Editor de menús se observa a continuación en la

Figura 4.17.

117

Page 121: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO IV

Editor de menús

nalizar-&Puerto$

mnu analizar

íhdeít

< A c e a r

Shsrteut: (Ninguno

Megofiai ositiorr j Q Nona

naliaar-ScPuertósEn fccBloques—ScLectura

••••^EscrituraUn&Puerto••••kLeclura

—KcEscritura

Qrl+L

Ctrl+E

Figura 4.17

Observe que "Ventana" no tiene opciones, es debido a que estos se carguen en tiempo de

ejecución, es decir, si se escoge la opción Lectura y luego Escritura de la opción "En

Bloque" en tiempo de ejecución al realizar un Click en "Ventana" se observará las dos

opciones con una de ellas activa. Como se muestra en las siguientes figuras.

118

Page 122: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO IV

Figura 4.18

* 2 ESCRITURA EN PUERTOS;

Figura 4.19 ;•"'

A cada evento del menú se asocia un formulario, es decir, cuando el usuario realice un

Click en alguna de las opciones, se cargará un formulario que responda a esa acción.

Finalmente a este formulario Padre (MDI) se llamó "ANALIZADOR DE PUERTOS", el

mismo que servirá de escritorio a usuario para las diferentes actividades que realice éste. En

la Figura 4.20, se muestra dicho formulario.

119

Page 123: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPÍTULO rv

Figura 4.20

4.3.2.9 Formulario de "PRESENTACIÓN"

Existe un formulario llamado de Presentación, el mismo que se carga antes del formulario

principal o MDI, éste formulario está provisto de dos botones de comando "Continuar" y

"Salir", además tiene una etiqueta con texto de Bienvenida. Si el usuario elige continuar,

entonces ingresa al formulario principal desapareciendo este formulario. En la Figura 4.21,

se muestra dicho formulario.

120

Page 124: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO IV

E Presentación

TFlWlflIMÍ.&.&2-X 3t i~ti-í 3.-&Í;*,

Figura 4.21

121

Page 125: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO IV

4.3.3 Diagrama de bloques del funcionamiento del programa

En este punto se describe como funciona el programa cuando el usuario empieza a

manipularlo. Es así como en los siguientes diagramas de bloques (Figura 4.22) se detalla el

funcionamiento del programa ¡íAnalizador de Puertos".

Presentación

1y

Analizar_Puertos

irInformacióndel Sistema

PantallaPrincipal

Menúes

Ventana Ayuda

Figura 4.22n

122

Page 126: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO IV

Figura 4.22b

123

Page 127: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO IV

Informacióndel Sistema

Figura 4.22c

Contenido

Ayuda

Buscar Acerca Acerca de.

Figura 4.22d

124

Page 128: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPÍTULO IV

4.3.4 Descripción del diagrama de bloques

En la (Figura 4.22a) se tiene la primera parte del diagrama de bloques completo, dentro del

mismo se tienen las siguientes opciones:

Cuando el usuario ingresa al programa "Analizador de Puertos", se encuentra con una

Pantalla de Presentación, entonces el usuario debe tomar una decisión: Salir o

Continuar, si el usuario elige la opción Salir, entonces finaliza el programa, caso

contrarío, si el usuario elige la opción Continuar, entonces ingresa a la Pantalla Principal o

escritorio del Analizador.

Esta Pantalla Principal a su vez contiene cuatro categorías de menúes como son:

> Analizar_Puertos

V- Información del Sistema

> \entana

> Ayuda

En el menú Analizar Puertos, (Figura 4.22b) el usuario tiene la posibilidad de elegir la

opción Salir u optar por cualquiera de las tres alternativas siguientes:

V En Bloques

> Un Puerto

V Memoria.com

Si el usuario a elegido la opción Salir, inmediatamente finalizará el programa.

125

Page 129: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPÍTULO TV

En la opción En Bloques. El usuario podrá optar por dos opciones más, como son:

>- Lectura

s- Escritura

Si el usuario elige la opción Lectura, inmediatamente se mostrará sobre la pantalla

principal una ventana donde el usuario podrá observar los contenidos de los puertos por

bloques. Pero si el usuario elige la opción Escritura, inmediatamente se mostrará sobre la

pantalla principal una ventana donde el usuario podrá observar los contenidos de los

puertos por bloques y dentro de este bloque, el usuario elegirá cualquier puerto si desea

cambiar su contenido actual por uno nuevo.

En la opción Un Puerto, El usuario podrá optar por dos opciones más, como son:

>" Lectura

V Escritura

Si el usuario elige la opción Lectura, inmediatamente se mostrará sobre la pantalla

principal una ventana donde el usuario luego de ingresar datos que le piden en esta ventana,

observará el contenido de un solo puerto con actualización inmediata de los datos. Pero si

el usuario elige la opción Escritura, inmediatamente se mostrará sobre la pantalla principal

una ventana donde el usuario podrá específicamente cambiar el contenido de un solo puerto

a la vez.

126

Page 130: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO IV

En el menú Información del Sistema. (Figura 4.22c) el usuario tiene la posibil idad de

elegir cualquiera de las cuatro alternativas siguientes:

> Windows

> CPU

> Vídeo

> General

Si el usuario elige la opción Windows, entonces observará en una ventana la versión del

Windows utilizado por e! sistema o del sistema operativo.

Si el usuario elige la opción CPU, entonces observará en una ventana el t ipo de procesador

que esta instalado en la PC, el GDI (Tnterfaces de Dispositivos Gráficos) y la utilización del

usuario.

Si el usuario elige la opción Vídeo, entonces observará en una ventana la configuración

actual del vídeo, los colores y el controlador utilizado.

Si el usuario elige la opción General, entonces observará en una ventana el tipo de mouse

instalado en la PC, el teclado, el lenguaje, etc.

En el menú Ayuda, (Figura 4.22d) el usuario tiene la posibil idad de elegir cualquiera de

las cuatro alternativas siguientes:

)" Contenido

V- Buscar Acerca de...

\- Acerca de...

127

Page 131: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CApnruLO rv

Si el usuario elige la opción Contenido, entonces ingresará a la pantalla principal de las

Ayudas del Analizador.

Si el usuario elige la opción Buscar Acerca de..., entonces ingresará a una pantalla de

búsqueda de algún tópico en particular sobre temas referentes al programa Analizador de

Puertos.

Si el usuario elige la opción Acerca de.... entonces ingresará a la pantalla donde está

impreso información acerca del autor del programa, el año de realización, donde fue

realizado, etc.

Finalmente el menú Ventnna se activa solamente cuando está cargado una o más ventanas

en la pantalla principal, esto es similar a cualquiera de las aplicaciones de Windows.

4.4 APLICACIONES DEL SOFTWARE

El presente software se aplicará en las siguientes áreas:

s- Como herramienta didáctica para asignaturas relacionadas con el tema, como por

ejemplo las Microcomputadoras, Interfaces paraMicrocomputadoras, y otras.

> Para estudiar el comportamiento de su PC durante su funcionamiento.

V Para Lectura/Escritura de tarjetas prototipo

)- Búsqueda y determinación de conflictos en el sistema.

V Mediante el puerto paralelo u otros, se puede controlar eventos externos a la PC (Ej.

Encendido y apagado de dispositivos, control de alarmas, etc.).

Page 132: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO V

PUEBAS Y RESULTADOS

5.1 PRUEBAS CON EL PUERTO PARALELO LPT1

En el puerto paralelo LPTl a donde está configurada la impresora se realizaron varias

pruebas, obteniéndose los siguientes resultados:

En el puerto 37SH (Puerto de Salida), llamado también Registro de Datos, se observó en la

ventana denominada Lectura de Puertos del Analizador el contenido de dicho puerto como

OOH tanto cuando la impresora estaba apagada como cuando estaba encendida, y a su vez

esta no haya impreso nada, mas luego de que la impresora ha realizado alguna actividad

(impresión), el contenido del puerto 378H cambia a 04H tanto apagada como encendida.

En el puerto 379H (Puerto de Entrada), llamado también registro de Estado, (este puerto

utiliza los cinco bits más significativos como entradas), se observó en la ventana

denominada Lectura de Puertos del Analizador el contenido de dicho puerto como 7FH

(01111111) cuando la impresora estaba apagada y DF (11011111) cuando la impresora

estaba encendida i/o con papel. Esto quiere decir que el bit 7 (BUSY) cambia de estado de

O a 1 y el bit 5 (PE) cambia de 1 a O lo que indica que no existe papel en la impresora.

Es por esto que la impresora pedía papel, y el contenido se cambiaba a 77H (Ol í 10111), es

decir, el bit 3 (ERR) y el bit 5 (PE) cambiaron su nivel lógico.

130

Page 133: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO V

En el puerto 37AH (Puerto de Entrada/Salida), llamado también registro de Control, (este

puerto utiliza los cuatro bits menos significativos como controles), se observó en la ventana

denominada Lectura de Puertos del Analizador el contenido de dicho puerto como ECH

(11101100) tanto apagada como encendida. El bit 4 que sirve como control para que e!

puerto 37AH funcione como Entrada o Salida. Todos estos resultados se obtuvieron en una

Impresora EPSON LQ - 2070.

También se realizó el mismo análisis para una impresora LÁSER JET 6P, los cuales

arrojaron resultados similares, pues funcionan bajo el mismo principio, claro esta que

existió pequeñas diferencias debido a que la impresora Láser tiene mas funciones que una

impresora matricial como la descrita anteriormente.

Finalmente en ambos tipos de impresoras se pudo observarse un cambio de contenidos en

el puerto 379H al apagarse la impresora, como sigue: DFH (11011111) -> BFH

(10111111)->7FH (01110111).

5.2PRUEBAS CON LOS PUERTOS SERIALES COM1/COM2

Se realizó el análisis respectivo en el puerto 3F8H llamado también puerto Serial. Para ser

más especifico se observó los contenidos en el bloque 3FSH a 3FFH, pues el puerto Serial

utiliza siete registros para su funcionamiento comenzando por el 3F8H que es el registro de

Tx/Rx de datos, y es que precisamente en este registro se observó el cambio de datos a

medida que se desplazaba el Mouse, es decir, desde el mouse se estaban enviando datos

131

Page 134: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO V

hacia este registro, también se pudo observar en el Analizador que la velocidad del

desplazamiento del mouse era proporcional al cambio de datos en el mencionado registro.

5.3 PRUEBAS CON UNA TARJETA PROTOTIPO DE ADQUISICIÓN DE

DATOS

Estas pruebas se realizaron con una tarjeta de adquisición de datos denominada ADA10,

esta tarjeta es configurable para ocho registros o puertos, cada uno de ocho bits, donde

cuatro registros son ocupados para entradas o salidas Analógicas y los cuatro restantes son

ocupados para entradas o salidas Digitales. Es de notarse que de los cuatro registros sólo se

ocupan tres para usarlos como entradas o salidas, quedando el cuarto registro para ser usado

como control, es decir, las diferentes combinaciones de los tres registros anteriores que

funcionaran como entradas o salidas.

Las direcciones a las que se configura esta tarjeta son: 300H, 308H, 31 OH, 31SH que son

dependientes de la posición de los Jurnpers en la tarjeta.

Para esta prueba se utilizó la dirección 300H como dirección BASE (A partir de esta

dirección los puertos son utilizados para tarjetas prototipo). Por lo tanto la dirección para e!

control de los tres puertos analógicos es: BASE + 3 y para los tres puertos digitales es:

BASE+ 7.

A su vez a esta tarjeta se conecta un tablero de conexiones o pruebas, la cual tiene Leds

como indicadores y Switchs para la simulación de entradas o salidas de datos. Tanío la

132

Page 135: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO V

tarjeta que se introducía en ¡a ranura tipo ISA como el tablero de conexiones se polariza

con la alimentación de la propia PC.

Estas pruebas constaron de las siguientes partes:

a) Prueba en el Analizador de Puertos con la tarjeta desconectada

Al observar los contenidos de los puertos en el rango 300H - 307H, se observó que estos

estaban vacíos, pues sus contenidos eran FFH.

b) Prueba en el Anal izador de Puertos con la tarjeta conectada (sin configurar)

De la misma manera se observó los ocho registros o puertos en la ventana de Lectura por

bloques del Analizador, claro está luego de reiniciar la maquina para que el BIOS

reconozca esta nueva tarjeta. A diferencia de la prueba anterior ahora estos registros ya

tenían contenidos flotantes diferentes de FFH, es así como se obtuvieron los siguientes

resultados:

PUERTO(BEX)

300301302303304305306307

CONTENIDO(HEX)

FF0000007F00FE7E

133

Page 136: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CAPITULO V

c) Prueba en el Analizador de Puertos con la tarjeta conectada (configurada)

A continuación se procedió a configurar la tarjeta para que los tres registros (304H, 305H y

306H) sirvieran como entradas o salidas digitales, para lo cual se escribió mediante

software (Ventana Escritura en Puertos) en la dirección Base + 7, es decir, 307H el

contenido de 82H. Este número configuraba como Puertos de Salida a las direcciones

304H y 306H y como Puerto de Ent rada la dirección 305H. En otras palabras si escribía

en cualquiera de ¡os puertos de salida, inmediatamente se reflejaba esta escritura en los

Leds indicadores del tablero de conexiones y por el contrario, si accionaba los Switchs que

iban hacia el puerto de entrada, inmediatamente observaba el dato en la ventana Lectura de

Puertos del Analizador. Cada combinación de los Switchs era un dato que leía el

Analizador mediante la DLL.

Si se escribe en la dirección BASE + 7 en número 92H se tiene a los tres puertos como

Entradas hacia la PC. De esta manera se termina satisfactoriamente las pruebas del

Analizador de Puertos con esta tarjeta prototipo arrojando resultados esperados y

conclusiones propias de este tema.

134

Page 137: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CONCLUSIONES Y RECOMENDACIONES

CONCLUSIONES Y RECOMENDACIONES

CONCLUSIONES

Una vez analizado todo el bloque de puertos, es decir, desde OOOOH hasta FFFFH se

encontró que en la actualidad los fabricantes de PCs utilizan un sin número de puertos a

partir del bloque 03FFH (el bloque más utilizado) para los nuevos servicios que dan a

los usuarios, ocupando así todo el bloque completo de puertos. En otras palabras, los

fabricantes están habilitando las direcciones más significativas del bloque superior de

los puertos, que hasta años atrás no eran frecuentemente utilizados.

Existen algunos puertos en los que el sistema no deja actualizar los nuevos datos, y por

más que se intente ingresar un nuevo dato a través de una de las funciones del

Analizador de Puertos, estos se mantienen con el mismo valor original. No obstante, en

algunos puertos si pueden cambiarse los datos para realizar alguna determinada

actividad al sistema.

Cuando se escribe en un puerto, en otras palabras, cuando se envía un dato a algún

determinado puerto, éste se escribe siempre y cuando dicho puerto esté configurado a

una tarjeta para que el dato sea retenido mediante los Latchs propios de ¡a tarjeta.

Entonces si se escribe un dato en un puerto no configurado, en el Analizador de Puertos

se observa que este dato se pierde debido a que no tiene donde mantenerse.

136

Page 138: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CONCLUSIONES Y RECOMENDACIONES

> En el analizador se pudo detectar el funcionamiento interno de la PC, el mismo que fue

evaluado al leer el estado de los temporizadores, es decir, si estos están realizando

determinadas actividades o no. De esta forma se podrá concluir a grosso modo sobre si

falla una determinada aplicación o es cuestión del funcionamiento interno de la PC.

Pues cuando el temporizador deja de funcionar unas milésimas de segundo, esto se

refleja en una paralización temporal de una actividad en particular que estuviese

realizando la PC.

>- Para ingresar a bajo nivel desde VB, se puede realizar de dos formas: utilizando una

DLL (que es el caso de esta herramienta) o utilizando los (VBX) que son controladores

externos a VB como por ejemplo el "loport.vbx". Luego de haber realizado los

respectivos análisis, se encontró que la DLL es más óptima para transferir los datos

desde los puertos al entorno de VB y viceversa, pues el procedimiento externo es una

pequeña rutina que se desencadena rápida y eficientemente.

> Pese a que VB tiene que usar un controlador externo (VBX) para accesar a bajo nivel

(que puede ser lectura o escritura de puertos), no obstante su interfaz gráfica es

excelente y amigable al usuario y su programación también es fácil y entendible en

comparación al Visual C++ que tiene un lenguaje de programación un poco confuso, y

cuya aplicación ocupa un espacio grande de memoria cuando ésta es instalada.

> A esta herramienta se lo podría utilizar como Driver o Controlador manual de

dispositivos externos como por ejemplo tarjetas prototipo u otras.

137

Page 139: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CONCLUSIONES V RECOMENDACIONES

RECOMENDACIONES

> Para un óptimo funcionamiento del programa al leer o escribir datos, y como esta

función se la realiza a través de la DLL, se recomienda tener como residente dicha DLL

en el directorio System de Windows.

^ Se recomienda que se utilice esta herramienta en Windows 95 con una configuración de

pantalla de 600 por 800 pixels para su mejor desenvolvimiento.

^ Para cargar esta aplicación a esta PC se recomienda utilizar los disquetes respectivos de

instalación, caso contrario se corre el riesgo de que esta aplicación no funcione

eficientemente debido a que no se instalan las DLLs en sus respectivos sitios.

> Para realizar las DLLs se recomiendo construirlos en Visual OH-, pues esta aplicación

es poderosa en este campo y además las rutinas externas de las DLLs son sencillas y

cortas, es decir, son semejantes a las funciones.

> Pese a que esta herramienta muestra un rango de puertos bastante amplia, se

recomienda observarlos por bloques pequeños para de esta forma optimizar el tiempo

de ejecución especialmente en máquinas que se encuentran en red.

138

Page 140: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

BIBLIOGRAFÍA

BIBLIOGRAFÍA

1. Abel Peter, LENGUAJE ENSAMBLADOR Y PROGRAMACIÓN PARA PC IBM Y

COMPATIBLES, Tercera edición, Ed. Prentice Hall, México, 1996

2. Andrews Mark, APRENDA VISUAL C++, Ed. Me Graw Hill, España, 1996

3. Brey Barry, LOS MICROPROCESADORES DE INTEL 8086/8088, 80186, 80286,

80386, 80486, Ed. PrentceHall, México, 1994

4. Deitel H. M/ Deitel P. J COMO PROGRAMAR EN C/C++, Ed. Prentice Hall, segunda

edición, México 1995.

5. Gonzales Felipe, LOS BUSES DE LOS PCs, Revista Electrónica & Computadores,

Publicaciones CEKJT, No 13, 1994.

6. Halvorson Michael, APRENDA VISUAL BASIC YA, Ed. Me Graw Hill , España,

1996

7. Heyman Mark Steven, LA ESENCIA DE VISUAL BASIC 4, Ed. Prentice Hall,

México, 1996

8. Hinojosa Raza Miguel Ángel, CONTROL COMPUTARIZADO DE TEMPERATURA

DE UN CALDERO ASOCIADO A UN INTERCAMBIADOR DE CALOR,

Quito-Ecuador, 1995.

9. Kruglinski David, VISUAL C++, Segunda edición, ] 994

10. Microsoft Windows para trabajo en grupo, MANUAL DEL USUARIO, 1991

11. Microsoft Masm 6.1, ENVIRONMENT AND TOOLS, Ed. Microsoft, USA, 1993

12. Microsoft Masm 6.1, PROGRAMMERS GUIDE, Ed. Microsoft, USA, J992

¡40

Page 141: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

BIBLIOGRAFÍA

13. Norton Peter, INTRODUCCIÓN A LA COMPUTACIÓN, Ed. Me Graw Hil l , España,

1994

14. Norton Peter, GUIA DEL PROGRAMADOR PARA EL IBM PC, Ed. Anaya

Multimedia, 1987

15. Pi l la je Carlos, TESIS: "TARJETA DE ADQUISICIÓN DE DATOS ANALÓGICOS

UTILIZANDO UN INTERFAZ PERIFÉRICO PROGRAMAS LE (PPT) CON

PROGRAMA EN ENTORNO VISUAL", E. P. N, 1997, Quito - Ecuador

16. Zelenovsky Ricardo, IBM PC PARA INGENIEROS, Ed. Espe, Quito, 1996

141

Page 142: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

GLOSARIO

GLOSARIO

A

API acronimo de Applications Programming Interface, Interfaz de Programación de

Aplicaciones: consiste en las funciones, mensajes, estructuras y tipos de datos, así como las

instrucciones para la creación de aplicaciones que se ejecutan bajo Windows de Microsoft,

esto es, los tipos de aplicaciones que se crean por ejemplo en VB.

ASCII acronimo de American Standard Code for Information Interchange, Código

Estándar Americano para Intercambio de Información: código de siete bits(con un octavo

bit conocido como bit de paridad) usado para representar 128 símbolos, incluyendo todos

los alfanuméricos básicos, con bits de datos; formalizado por el Instituto Nacional de

Estándares Americano y posteriormente expandido por IBM; ahora es un sistema de ocho

bits que describe 256 símbolos.

C

Celeron: El procesador Intel Celeron™ está diseñado para equipos de sobremesa de bajo

costo, o "PC Básico", y es compatible con los procesadores anteriores de la arquitectura

Intel.

143

Page 143: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

GLOSARIO

El procesador Intel Celeron™ da un buen rendimiento en aplicaciones que corren en

sistemas operativos tales como Windows * 95, Windows NT * y UNIX *. Esto se ha

logrado integrando los mejores atributos de los procesadores Intel - el rendimiento de la

ejecución dinámica del procesador Pentium II más las características de la tecnología

MMX™ - dando como resultado un nivel base de rendimiento para el comprador de PC

Básico.

Compilación: e! primer paso en el proceso de conversión de código fuente de programa a

programas ejecutables.

Compilador: programa que traduce un archivo de código fuente de programa a código

objeto.

Controlador de teclado: pequeño chip de computadora, dentro de una computadora o de

un teclado, que detecta si una tecla ha sido presionada y coloca un código de barrido en el

registro temporal de datos del teclado.

Coprocesador matemático: chip o parte de un chip que acelera los procesos matemáticos

intensivos usando aritmética de punto flotante para realizar cálculos para la CPU.

CPU: acrónimo de Central Processing Unit, Unidad de Procesamiento Central, es llamado

también el cerebro de la computadora.

144

Page 144: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

GLOSARIO

D

DLL: Dinamic Link Library, Enlace Dinámico de Librerías: son un tipo especial de

archivos que contienen funciones y recursos que están disponibles para todas las

aplicaciones de Windows.

Dispositivos de entrada y salida (E/S) (I/O): denominados también Puertos de E/S, estos

permiten a una computadora comunicarse con un usuario o con otras máquinas o

dispositivos.

G

GDI: acrónimo de Graphics Dispositive Interface, Es el Interfaz de Dispositivos Gráficos

en una PC, es decir las múltiples ventanas que el usuario las despliega al correr una

determinada aplicación.

M

Módem: dispositivo que permite a las computadoras comunicarse entre si a través de líneas

telefónicas; modem viene de (mo) modulación y (dem) demodulación.

MDI: acrónimo de Múltiples Documents Interface, Interfaz de Documentos Múltiples: son

formularios padres o ventanas que contienen al resto de aplicaciones llamadas también

hijas. Michas aplicaciones de Windows son programas MDI.

145

Page 145: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

GLOSARIO

MFC: Acrónimo de Microsft Foundation Class, Microsoft Fundación de Clases, es la base

para las diferentes aplicaciones del Visual C++.

O

OOP: acrónimo de Object- Oriented Programming, Programación Orientada a Objetos.

Ensamblado de programas usando piezas u objetos que encapsulan información con

instrucciones y combinan pasos complejos en un solo procedimiento.

Palanca de juegos (joystick): dispositivo de entrada que controla el movimiento del cursor

para juegos de computadora y para algunas aplicaciones profesionales.

PC acrónimo de Personal Computer, Computadora Personal: computadora personal de

IBM o cualquiera compatible.

Pentium: uno de los miembros más rápido y potentes de la familia de microprocesadores

de Intel; introducida en 1993.

Pentium MMX: El procesador Pentium® con tecnología MMX™ es la más reciente

incorporación a la familia de procesadores Pentium® , ofrece mejoras de micro-

arquitectura sobre los miembros anteriores de esta familia.

146

Page 146: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

GLOSARIO

Pentium Pro: Pentium® Pro es la siguiente generación de Intel para equipos de sobremesa

de altas prestaciones, estaciones de trabajo y servidores.. El procesador Pentium® Pro

consigue un nivel de rendimiento superior a los procesadores de la generación anterior

gracias a una innovación llamada Ejecución Dinámica que constituye el paso siguiente

después de la arquitectura super escalar implementada en el procesador Pentium.

Puerto: conector de una computadora, donde se conectan dispositivos externos, como los

de entrada y salida; también llamado interfaz.

Puerto de interfaz para sistemas de computadoras pequeñas (SCSI): dispositivo que

prolonga el bus afuera de una computadora por medio de un cable, permite que discos

duros o unidades de CD-ROM puedan conectarse unos con otros en cadena. .

Puerto paralelo: puerto de comunicación a través del cual bits de datos pueden fluir en

forma simultánea a altas velocidades; también llamada interfaz paralela.

Puerto Serial: conector o puerto de propósito general, a través del cual algunos

dispositivos externos, pueden conectarse a una computadora; la transmisión de datos ocurre

un bit a la vez.

147

Page 147: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

GLOSARIO

sSCSI acrónimo de Small Computer System Interface, interfaz para sistemas de

computadoras pequeñas.

Tarjetas de entrada y salida (E/S): adaptador que provee puertos de propósito general

para conectar varios dispositivos periféricos en la parte posterior de la computadora.

Tarjeta Principal (Main board): Principal tarjeta del sistema de una computadora, donde

se encuentra la CPU y la memoria; la mayoría también tienen conectores para tarjetas que

se pueden agregar por medio de ranuras de expansión.

U

TJART (Universal Asynchronous Receiver / Transmitter, Receptor/Transmisor Asincrono

Universal): chip en la tarjeta de E/S de la tarjeta principal de la computadora que convierte

datos paralelos del bus de datos en serie que pueden fluir a través de un cable serial o

telefónico.

J48

Page 148: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

MANUAL DEL USUARIO

Bienvenido al "ANALIZADOR DE PUERTOS PARA PCs" V 1.0.

En esta sección Ud. aprenderá la forma de utilización más eficiente de este software.

Venla

OLECTURADEPtlEflrQS •:.

Inttrucclonet: '—

tnpeM lar itrecdonet'riúfi y (nal en (amaloHEXÁDEdMAL

r DúcccíonGí -

Inicial

Fina!

yus i HAIS

|-*COHTRASEHA HEJOI

>4B>, Sí detea cambial eJ conlenído do algún^ )| puerto, tngieie conhatoíía. Pero recuerde

Que i¡ cambia su contenido puede dafíarel tiitcna.

¿ceptaf £ancelaf

| | JJJi 0¿ IUI ILHJ1U

(Controla do res de DMA j f

'. _ ..... - JL

0e

y1

y,K

ünlrcico-;

~~B7

•"Inttiucoóocí: -Haga Cfck eri cuasia celda ó uBce'a* Hechas de naveoaci¿n paca ' ' ¡obtenei Información y fl efiesco de lo) ;ifeinnleí poertot.

MLT1MO BLOQUE:

0-21

Page 149: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

MANUAL DEL USUARIO

Este software está listo para ser instalado en cualquier tipo de PC compatible con IBM y

que posea un entorno Windows 95.

Así mismo, este software ocupa'"4^disquetes de alta densidad para su instalación, en los

cuales se encuentra todos los archivos utilizados en el proyecto. Basta con ejecutar el

Setup.exe que se encuentra en el primer disquete y luego seguir las instrucciones de

instalación para que se instale automáticamente eí ejecutable "Puertos.exe" en su PC.

REQUERIMIENTOS

Este software, al igual que eí resto de programas actuales funcionan en,, un entorno de

Windows 95 o sistemas operativos superiores. Este programa tendrá un funcionamiento

óptimo con los siguientes requerimientos:

)- Utiliza ¿ MB en disco duro para su instalación.

V Memoria RAM de 16 MB mínimo.

>- Procesador superior al 50 MHz.

V Configuración de pantalla de 800 * 600 pixels.

FUNCIONAMIENTO

Una vez instalado el software Ud. puede proceder a la utilización del mismo.

Cuando ejecute el archivo "Puertos.exe", Ud. ingresará a una ventana de Bienvenida en el

mismo que le indican dos-opciones al usuario: "Continuar" o "Salir". Si elige Salir, Ud.

retornará al escritorio del Windows, en cambio si elige Continuar, ingresará al escritorio del

Analizador de Puertos, donde Ud. podrá elegir en la barra de menúes las siguientes

opciones:

151

Page 150: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

MANUAL DEL USUARIO

£- Anaíizar-Puerto

S^ Información del Sistema

> Ventana

> Ayuda

Ud. podrá ingresar a estos menúes haciendo Click con el ratón u oprimiendo la

combinación de teclas ALT+TECLA subrayada que corresponda. Así mismo, si desea

tomar un atajo hacia las ventanas, pulse al mismo tiempo las diferentes combinaciones de

teclas, por ejemplo, CTRL + L. Mientras que a las opciones contenidas en la barra de

menúes Ud. podrá ingresar haciendo Click con el ratón u oprimiendo solamente la tecla

Subrayada.

MENÚES

Menú Analizar-puertos

Este menú a su vez tiene las siguientes opciones:

>- En Bloques

> Un Puerto

V Memoria.com

> Salir

Opción En Bloques

Esta opción a su vez tiene las siguientes opciones:

152

Page 151: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

MANUAL DEL USUARIO

** Lectura

^ Escritura

Sub opción Lectura

A esta ventana Ud. puede ingresar haciendo Click sobre la opción con el ratón u

oprimiendo la combinación de teclas CTRL+L para acceso directo.

Esta ventana le mostrará el contenido en Hexadecimal, Binario y Ascii de un bloque de

puertos que Ud. elija mediante el ingreso de las direcciones inicial y final en los cuadros de

texto en formato hexadecimal (Ej. 378, 3AB, OF3), observe que solo ingresa el número y no

la letra H que comúnmente acompaña a todo número hexadecimal como por ejemplo 378H.

Una vez ingresado los valores inicial y final en hexadecimal, haga Click en el botón

"Mostrar", luego de esta acción Ud. observará una columna con las direcciones del bloque

de puertos que Ud. eligió, otras tres columnas con contenidos en hexadecimal, binario, ascii

del mismo bloque, paralelo a este suceso, Ud. Observará que se activó una etiqueta de

instrucciones que deberá leerlos detenidamente. No obstante nuevamente se explica estas

instrucciones:

Si Ud. Desea ver que tipo de puerto es, haga Click o mueva las flechas de navegación hacia

cualquier celda de alguna determinada fila e inmediatamente observará en la parte inferior

dicha información, al mismo tiempo Ud. Observará el refresco del puerto seleccionado.

Si desea ver otro bloque, haga Click en el botón de opción "Otro Bloque" e ingrese las

nuevas direcciones y luego haga Click en "Mostrar". Nótese que cuando hace click en la

153

Page 152: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

MANUAL DEL USUARIO

opción Otro Bloque todos los contenidos mostrados en bloque anterior se borran de forma

inmediata, quedando la grilla lista para mostrar un nuevo bloque con sus respectivos

contenidos.

Finalmente, si desea salir de esta ventana, haga Click en "Cerrar", con lo cual regresará al

escritorio del Analizador de Puertos.

Sub opción Escritura

A esta ventana Ud. puede ingresar haciendo Click sobre la opción con el ratón u

oprimiendo la combinación de teclas CTRL+E para acceso directo.

Esta ventana también le mostrará el contenido en Hexadecimal, Binario y Ascii de un

bloque de puertos que Ud. elija mediante el ingreso de las direcciones inicial y final en los

cuadros de texto. Una vez ingresado los valores inicial y final en hexadecimal, haga Click

en el botón "Mostrar", luego de esta acción, Ud. Observará una columna con las

direcciones del bloque de puertos que Ud. eligió, otras tres columnas con contenidos en

hexadecimal, binario, ascii del mismo bloque, paralelo a este suceso, Ud. Observará que se

activó una etiqueta de instrucciones que deberá leerlas detenidamente. No obstante

nuevamente se explica estas instrucciones:

Si Ud. Desea ver que tipo de puerto es, haga Click o mueva las flechas de navegación hacia

cualquier celda de alguna determinada fila e inmediatamente observará en la parte inferior

dicha información.

En este evento (Click) no se muestra refresco, en cambio existe una caja de texto, donde se

ingresa el dato a cambiarse, el mismo que debe ser ingresado en formato hexadecimal. Para

154

Page 153: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

MANUAL DEL USUARIO

que se habilite esta caja de texto, Ud. debe hacer Doble Ciick en cualquiera de las celdas

que desee cambiar el contenido, luego ingrese el nuevo contenido, seguidamente presione

Enter o haga Click en el botón "Cambiar" ubicado a su izquierda, al realizar estas acciones

Ud. observará que se actualizan los nuevos valores en las celdas respectivas y en la etiqueta

de la parte inferior.

Finalmente, si desea salir de esta ventana, haga Click en "Cerrar", con lo cual regresará al

escritorio del Analizador de Puertos.

Opción Un Puerto

Esta opción a su vez tiene las siguientes opciones:

>• Lectura

> Escritura

Sub opción Lectura

A esta ventana Ud. puede ingresar haciendo Click sobre la opción con el ratón u

oprimiendo la combinación de teclas CTRL-fR para acceso directo.

En esta ventana, Ud. puede observar el contenido de un solo puerto con actualización

inmediata de los datos, para lo cual siga las siguientes instrucciones:

Ingrese e! número de muestras en decimal y presione la tecla Enter, luego ingrese la

dirección del puerto en hexadecimal y presione la tecla Enter o pulse el botón Mostrar.

Pero como el refresco o actualización no es lo suficientemente rápido, esta ventana está

provista de una grilla con barra destiladora vertical donde le mostrará instantáneamente el

155

Page 154: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

M A N U A L DEL USUARIO

número de muestras y su respectivo contenido que Ud. previamente ha ingresado en el

casillero correspondiente al número de muestras.

Finalmente, si desea salir de esta ventana, haga Click en "Cerrar", con lo cual regresará al

escritorio del Analizador de Puertos.

Sub opción Escritura

A esta ventana Ud. puede ingresar haciendo Click sobre la opción con el ratón u

oprimiendo la combinación de teclas CTRL+W para acceso directo.

En esta ventana, Ud. puede cambiar el contenido de un solo puerto, para lo cual siga las

siguientes instrucciones:

Ingrese la dirección del puerto y presione la tecla Enter, luego ingrese el nuevo contenido a

cambiarse en hexadecimal y presione la tecla Enter o pulse la tecla Enviar. Enseguida

observará en la parte inferior el dato cambiado.

Finalmente, si desea salir de esta ventana, haga Click en "Cerrar", con lo cual regresará al

escritorio del Analizador de Puertos.

Opción Memoria.com

Esta opción muestra en una ventana los contenidos de memoria de su PC. Observe que esta

ventana no es parte del formulario padre, esto se debe a que es una ventana anexad;», tiene

sus propias instrucciones de operación (Lea detenidamente estas instrucciones). Esta

ventana aparecerá en el escritorio cuando se ejecuta automáticamente el archivo

156

Page 155: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

memoria.com con la sentencia Shel! de VB incorporada en el programa. Para salir de esta

ventana presione la tecla ESC.

Opción Salir

Con esta opción Ud. sale del programa al escritorio de Windows. Nótese que todas las

opciones de los menúes tienen una letra subrayada, esto implica que si pulsa la letra

subrayada, ingresará automáticamente a la aplicación. Obteniéndose así un efecto similar al

Click con e! ratón.

Menú Información del Sistema

Este menú tiene las siguientes opciones;

V Windows

V CPU

> Vídeo

V General

Opción Windows

Esta ventana muestra el tipo de sistema operativo utilizado por su PC. Por ser un ejemplo

anexado, esta ventana se encuentra Inactiva para la manipulación del usuario. Si esta

ventana queda cargada en el escritorio del Analizador de Puertos, no se preocupe, puede

permanecer ahí, hasta que decida salir del programa.

Opción CPU

157

Page 156: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

MANUAL DEL USUARIO

Esta ventana muestra el tipo de procesador, memoria y recursos del sistema que está

utilizando su PC.

Por ser un ejemplo anexado, esta ventana se encuentra inactiva para la manipulación del

usuario. Si esta ventana queda cargada en el escritorio del Analizador de Puertos, no se

preocupe, puede permanecer ahí, hasta que decida salir del programa.

Opción Vídeo

Esta ventana muestra el controlador de vídeo, La Resolución y colores utilizados en su

sistema.

Por ser un ejemplo anexado, esta ventana se encuentra inactiva para la manipulación del

usuario. Si esta ventana queda cargada en el escritorio del Analizador de Puertos, no se

preocupe, puede permanecer ahí, hasta que decida salir del programa.

Opción General

Esta ventana muestra la información general del sistema, como es la Red, Mouse, Lenguaje

y teclado.

Por ser un ejemplo anexado, esta ventana se encuentra inactiva para la manipulación del

usuario. Si esta ventana queda cargada en el escritorio del Analizador de Puertos, no se

preocupe, puede permanecer ahí, hasta que decida salir del programa.

Menú Ventana

158

Page 157: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

MANUAL DEL USUARfO

Este menú se carga de opciones solamente cuando se están utilizando varias ventanas a la

vez, y muestra con un visto la ventana activa,

Menú Ayuda

Este menú tiene dos opciones:

V Contenido

V Acerca de...

Opción Contenido

Esta opción despliega una ventana que muestra los diferentes contenidos de los tópicos

i, tratados en este programa. También puede ingresar a esta ventana pulsando la Tecla Fl.

Opción Acerca de...

Esta ventana muestra el autor del software, año de realización, donde fue desarrollado, etc.

Para salir de esta ventana haga Click en "Aceptar".

NOTA:

Este manual también se encuentra en la Ayuda del Analizador de Puertos

159

Page 158: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CODÍGO FUENTE

LISTADO DEL CÓDIGO FUENTE DEL PROGRAMAANALIZADOR DE PUERTOS

FORMULARIO PRINCIPAL (MDI)

Begin VB.MDIForm Mdilnicio

BackColor = &HOO8080005Caption s= "ANALIZADOR DE PUERTOS"ClientHeight = 3885ClientLeft = 2475ClientTop - 2820ClientWidth = 7065Height a 4530Icón = "FINAL.frx":0000Left = 2415LinkTopic = "MDIForml"Top - 2235Visible = O 'FalsaWidth = 7185Windowstate = 2 'MaximizedBegin Threed.SSPanel SSPanell

Align = . 1 'Align TopHeight = 615Left = OTablndex = OTop = OWidth = 7065_version - 65536_extentx = 12462_extenty ~ 1085stockprops = 15

backcolor = 12632256EndBegin MSComDlg.CommonDialog CommonDialogl

Left = 6600Top = 120_version = 65536_extentx = 847_extenty = 847stockprops = O

EndBegin VB.Menu mnuanalizar

Caption = "Analizar-¿PuertosBegin VB.Menu mnubloques

Caption = "En ¿Bloques"Begin VB.Menu mnulectura

Caption = "¿LecturaShortcut = AL

161

Page 159: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

EndBegin VB.Menu ray

Caption = "-"EndBegin VB.Menu nmuescritura

Caption = "&Escritura"Shortcut = AE

EndEndBegin VB.Menu mnupuerto

Caption = "Un SPuerto"Begin VB.Menu mnulecport

Caption = "¿Lectura "Shortcut = AR

EndBegin VB.Menu rayx

Caption = "~"EndBegin VB.Menu mnuescport

Caption = "¿¿Escritura"Shortcut = AW

EndEndBegin VB.Menu raye

Caption = "-"EndBegin VB.Menu vacio

CaptionEndBegin VB.Menu rayd

Caption = "-"EndBegin VB.Menu mnuvacio

Caption = "SMemoria.com"EndBegin VB.Menu raye

CaptionEndBegin VB.Menu mnusalir

Caption = "¿Salir"End

EndBegin VB.Menu mnuBar

Caption = "¿Información del sistemaBegin VB.Menú mnuSysInfo

Caption = "SWindows "Index = O

EndBegin VB.Menu mnuSysInfo

Caption = "5CPU"índex = 1

EndBegin VB.Menu mnuSysInfo

Caption = "£Video"

162

Page 160: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CODTGO FUENTE

Index = 2EndBegin VB.Menu mnuSysInfo

Caption = "¿¿General"Index = 3

EndEndBegin VB.Menu mnuventana

Caption = "¿VentanaWindowList = -1 "True

EndBegin VB.Menu mnuayuda

Caption = "SAyuda "Begin VB.Menu mnucontenido

Caption = "¿ContenidoHelpContextID = 1Shortcut = {FIJ

EndBegin VB.Menu mnubuscar

Caption ~ "SBuscar acerca de..."EndBegin VB.Menu rayl

CaptionEndBegin VB.Menu mnuacerca

Caption = "AScerca de..."End

EndEndAttribute VB_Name = "Mdilnicio"Attribute VB_Creatable = FalseAttribute VB_Exposed = FalsePrivate Sub MDIForm_Load()

frmPresent.ShowEnd Sub

Private Sub mnuacerca^Click(}frmacercade.Show

End Sub

Private Sub mnuaplicacion_Clickf rinAplicacion. Show

End Sub

Private Sub mnubuscar_Click()CommonDialogl.HelpFile = "c: \tesisrafael\vh\proyects\analizar.hlp"CommonDialogl. HelpCoinraand = cdlHelpPartialKeyCommonDialogl.ShowHelp

End Sub

Private Sub mnucontenido_Click()CommonDialogl.HelpFile = "c: \tesisrafael\vh\proyects\analizar.hlp"

163

Page 161: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

CommonDialogl.HelpCommand = cdlHelpIndexCommonDialogl.ShowHelp

End Sub

Prívate Sub mnuescport_Click()frmpasswordp.Show

End Sub

Prívate Sub mnulecport_Click()frmLecturaP.Show

End Sub

Prívate Sub mnulectura_Click()frmlectura.Show

End Sub

Prívate Sub mnusalir_Click()End

End Sub

Prívate Sub mnuver_Click()frmMenus.Show

End Sub

'Comienza la compilación condicional#If Win32 Then 'Versión de 32 bitPrívate Sub mnuSysInfo^Click(Index As Integer)Prívate Sub mnuSysInfo_Click(índex As Integer)

If Index O 5 ThenIf VisibleFrame Is Nothing Then

frmCallDlls.frainfo(O).Visible « FalseElse

VisibleFrame.Visible = FalseEnd IffrmCallDlls.frainfo{Index -f 1).Visible = TrueSet VisibleFrame - frmCallDlls.frainfo{Index + 1}

ElsemnuSysInfo(Index).Checked = Not mnuSysInfo(Index).Checked

If mnuSysInfo[Index).Checked ThenSetWindowEos frmCallDlls.hWnd, HWNDJTOPMOST,

frmCallDlls.Left / 15,frmCallDlls.Top / 15, frmCallDlls.Width / 15,

frmCallDlls.Height / 15, SWPJTOACTIVATE OrSWP_SHOWWINDOW

ElseSetWindowPos frmCallDlls.hWnd, HWND_NOTOPMOST,

frmCallDlls.Left / 15,frmCallDlls.Top / 15, frmCallDlls.Width / 15,

~ frmCallDlls.Height / 15, SWP_NOACTIVATE OrSWP SHOWWINDOW

164

Page 162: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

End IfEnd IfIf Index - 3 Then

frmCallDlls.frainfo(4).Visible = FalseEnd If

End Sub

#Else 'Versión de 16 bitsPrívate Sub mnuSys!nfo_Click(Index As Integer)

If Index O 5 ThenIf VisibleFrame Is Nothing Then

frmCallDlls.frainfo(0).Visible = FalseElse

VisibleFrame.Visible = FalseEnd IffrmCallDlls.frainfo(Index + 1).Visible ~ TrueSet VisibleFrame = frmCallDlls.frainfo(Index + 1)

Elsemnusyslnfo(Index).Checked = Not mnuSysInfo(Index).Checked

If mnuSysInfo(Index).Checked ThenSetWindowPos frmCallDlls.hWnd, HWND_TOPMOST,

frmCallDlls.Left / 15,frmCallDlls.Top / 15, frmCallDlls.Width / 15,

~ frmCallDlls.Height / 15, SWP_NOACTIVATE OrSWP_SHOWWINDOW

ElseSetWindowPos frmCallDlls.hWnd, HWND_NOTOPMOST,

frmCallDlls.Left / 15, _frmCallDlls.Top / 15, frmCallDlls.Width / 15,

~ frmCallDlls.Height / 15, SWP_NOACTIVATE OrSWP_SHOWWINDOW

End IfEnd If

End SubÍÍEnd If1 Fin de la compilación condicional

Prívate Sub mnuvacio_Click()memoria = Shell("memoria.com" , 1)

End Sub

Prívate Sub nmuescritura__Click ()frmpassword.Show

End Sub

165

Page 163: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

FORMULARIO LECTURA DE PUERTOS

frmlectura&HOOCOCOCQ&

- 3 'Fixed Dialog"LECTURA DE PUERTOS"54751125198090605835"LECTURA.frx":00001065"Forml"

FalseTrueFalse

Begin VB.FormBackColor -BorderStyle -Caption -ClientHeight =ClientLeft =ClientTop =ClientWidthHeightIcón =LeftLinkTopic =MaxButton = OMDIChild = -1MinButton = OScaleHeight = 5475ScaleWidth = 9060ShowInTaskbar = OTop = 1680Width - 9180Begin VB.Frame frainsing

Caption =BeginProperty Font

ñamecharsetweightsizeunderlineitalicstrikethrough

EndPropertyForeColor = SHQOFFOQOQ&Height = 1095Left = 120Tablndex = 18Top - 120Width = 2175

False

"Instrucciones:"

"M5 Sans Serif"17008.25O 'FalseO 'FalseO 'False

Begin VB.Label IblinstingCaption =Height ~Left

$"LECTURA.frx":OOOC735240

TablndexTopVJidth

192401815

EndEndBegin VB.OptionButton optotralectura

Caption = "Otro Bloque"BeginProperty Fonr

ñame = "MS Sans Serif"charset = 1

166

Page 164: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

weightsizeunderlineitalicstrikethrough

EndPropertyHeightLeftTablndexTop =Width

7008.25000

3754801339601335

' False'False1 False

EndBegin VB.Frame fraotralectura

Height = 735Left = 360Tablndex = 17Top = 3720Width =' 1575

EndBegin VB.TextBox txtfinal

BeginProperty Fontñamecharsetweightsizeunderlineitalicstrikethrough

EndPropertyHeightLeftMaxLength =TablndexTop -

"MS Sans Serif"17008.25O 'FalseO 'FalseO 'False

Width

2851440442160615

EndBegin VB.TextBox txtinicial

BeginProperty Fontñamecharsetweightsizeunderlineitalicstrikethrough

EndPropertyHeightLeftMaxLength =TablndexTop =Width

"MS17008.25000

2851440431680615

Sans S'

1 False1 False1 False

Serif"

EndBegin VB.Frame fraDirecciones

167

Page 165: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

Caption = "Direcciones"BeginProperty Font

ñame = "MS Sans Serif"charset = 1weight = 700size = 8,25underline = O 'Falseitalic = O 'Falsestrikethrough = O 'False

EndPropertyForeColor ~ &HOQFFQOOO&Height - 1455Left - 120Tablndex = 14Top = 1320Width =* 2175Begin VB.Label Iblfinal

Caption = "Final"BeginProperty Font

ñame = "MS Sans Serif"charset = 1weight = 700size = 9.75underline = O 'Falseitalic ~ O 'Falsestrikethrough = O 'False

EndPropertyHeight = 255Left = 240Tablndex - 16Top = 840Width = 855

EndBegin VB.Label Iblinicial

Caption = "Inicial"BeginProperty Font

ñame = "MS Sans Serif"charset = 1weight = 700size = 9.75underline = O 'Falseitalic = O 'Falsestrikethrough = O 'False

EndPropertyHeight = 255Left = 240Tablndex - 15Top = 360V7idth = 855

EndEndBegin VB.Frame frainformacion

Caption = "Información"BeginProperty Font

168

Page 166: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

ñamecharsetweightsizeunderlineitalicstrikethrough

EndPropertyForeColorHeightLeftTablndexTopWidthBegin VB.Labal

BorderStyle =BeginProperty Font

ñamecharsetweightsizeunderlineitalicstrikethrough

EndPropertyForeColor =HeightLeftTablndex =TopWidth

EndEndBegin VB.Frame frarefresco

Caption = "Refresco"BeginProperty Font

ñamecharsetweightsizeunderlineitalicstrikethrough

EndPropertyForeColorHeightLeftTablndexTopWidthBegin VB.Label

AlignmentBorderStyle

"MS Sans Serif"17008.25O 'FalseO 'FalseO 'False

SHOOCOOOOOfi73526401133604095

Iblinformacion1 'Fixed Single

"Arial"17009.75O 'FalseO 'FalseO 'False

&HOOOQOOOO&375120122403855

"MS Sans Serif"17008.25O 'FalseO '• FalseO 'False

SHOOCOOOOOS7356840

= 933601095

Iblrefresco2 'Center

- 1 'Fixed SingleBeginProperty Font

169

Page 167: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

"Arial"17009.75O 'FalseO 'FalseO 'False

ñamecharsetweightsizeunderlineitalicstrikethrough

EndPropertyForeColor = &HOOOOOOOOSHeight = 375Left = 120Tablndex = 10Top « 240Width = 855

EndEndBegin VB.Frame frainstruciones

Caption = "Instrucciones:"BeginProperty Font

ñame = "MS Sans Serif"charset = 1weight = 700size = 8.25underline = O 'Falseitalic = O 'Falsestrikethrough = O 'False

EndPropertyForeColorHeightLeftTablndexTopVisibleWidthBegin VB.Label

BorderStyleBeginProperty Pont

ñame =charset =weight =size -underline = O 'Falseitalic = O 'Falsestrikethrough = O 'False

EndPropertyHeight = 855Left = 3120Tablndex = 8Top = 240Width = 2535

EndBegin VB.Label Iblinstinformacion

BorderStyle = 1 'Fixed SingleHeight = 855

SHOOFFOOOO&12152400

= 64200O 'False5775

Iblinstrefresco1 'Fixed Single

= "Arial"17009.75

170

Page 168: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

LeftTablndexTopWidth

24072402775

False

EndEndBegin VB.Timer tmrRefresco

Enabled = OInterval = 300Left = 7320Top = 2640

EndBegin VB . CornmandButton cmdcerrar

Caption = "SCERRAR"BeginProperty Font

ñame =charset =weight =size =underline =italic =strikethrough =

EndPropertyHeight = 495Left = 360Tablndex - 2Top = 4680Width = 1575

EndBegin VB.CommandButton cmdmostrar

Caption = "&MOSTRAR"BeginProperty Font

ñame =charset =weight =size =underline =italic ~strikethrough =

EndPropertyHeight = 495Left = 360Tablndex = 1Top = 3120Width = 1575

EndBegin MSGrid.Grid Grilla

Height = 2775Left = 2640Tablndex = OTop = 480Width = 5295versión = 65536extentx = 9340

"MS Sans Serif17008.25

FalseFalseFalse

"MS Sans Serif17008.25O 'FalseO 'FalseO 'False

171

Page 169: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

_extenty = 4895stockprops = 77forecolor = Obackcolor - 16777215cois = 5scrollbars = 2gridlinewidth = 2mouseicon = "LECTURA.frx":0054

KndBegin VB.Label Iblmarcodegrilla

BorderStyle = 1 'Fixed SingleHeight = 3975Left = 2400Tablndex = 5Top ~ 240Width = 5775

EndEndAttribute VB___Name = "frmlectura"Attribute VB_Creatable = FalseAttribute VB Exposed = False

Private Sub cmdmostrar_Click()Dim dir, lee, medida As IntegerDim ini, fin As Integer

If txtinicial.Text = "" Or txtfinal = "" ThenExit Sub

Elsehexl = txtinicial.Texthexasc - Asc(hexl)

If hexasc >= 48 And hexasc <= 57 ThenGoTo ingreso

Elself hexasc >= 65 And hexasc <= 70 ThenGoTo ingreso

Elself hexasc >= 97 And hexasc <= 102 ThenGoTo ingreso

ElseMsgBox "Solo formato HEXADECIMAL", 48, "Formato"Exit Sub

End Ifingreso:

hexll = "&H" £ hexlini - Val(hexll)hex2 = txtfinal.Texthexasc = Asc(hex2)

If hexasc >= 48 And hexasc <= 57 ThenGoTo ingresol

Elself hexasc >= 65 And hexasc <= 70 ThenGoTo ingresol

Elself hexasc >= 97 And hexasc <= 102 ThenGoTo ingresol

ElseMsgBox "Solo formato HEXADECIMAL", 48, "Formato"

172

Page 170: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

Exit SubEnd If

ingresol:hex21 = "£H" £ hex2fin = Val(hex21)If fin > 9999 Or ini < O Then

MsgBox "Rango permitido OOOOH < dir < 270FH, Intente de nuevo[Pulse Aceptar]", 16, "PRECAUCIÓN"

Exit SubElse

GoTo saltoEnd If

salto:MousePointer = 11For i = ini To fin

lee = Medir{i, medida)lectu = Hex(lec)j = Hex(i)bits = conversión(lee)ascii = Chr(lee)

If i <= 15 ThenIf lee <= 15 Then

grilla.Addltem Chr(9) & "000" & j 5 Chr(9) 5 "O" fi lectu£ Chr(9) & bits £ Chr(9) fi ascii

Elsegrilla.Addltem Chr(9) S "000" £ j £ Chr(9) & lectu 6

Chr(9} & bits £ Chr{9) 6 asciiEnd If

Elself i <- 255 ThenIf lee <- 15 Then

grilla.Addltem Chr(9} fi "00" fi j & Chr(9) £ "O" fi lectu &Chr(9) & bits fi Chr(9) £ ascii

Elsegrilla.Addltem Chr(9) £ "00" £ j £ Chr{9) £ lectu fi

Chr(9} fi bits S Chr(9) & asciiEnd If

Elself i <= 4095 ThenIf lee <- 15 Then

grilla.Addltem Chr(9) £ "O" £ j £ Chr(9) £ "O" £ lectu £Chr{9) £ bits £ Chr(9) £ ascii

Elsegrilla.Addltem Chr(9) fi "O" fi j fi Chr(9) £ lectu £ Chr(9)

fi bits & Chr{9) £ asciiEnd If

Elself i >= 4096 ThenIf lee <= 15 Then

grilla.Addltem Chr(9) fi j £ Chr(9) 6 "O" S lectu fi Chr(9)£ bits £ Chr{9) fi ascii

Elsegrilla.Addltem Chr(9) £ j £ Chr(9) fi lectu £ Chr(9) £

bits fi Chr{9} fi asciiEnd If

End If

173

Page 171: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

Next iMousePointer = Ofrainstruciones.visible = TrueIblinstinformacion.Caption = "Haga Click en cualquier celda ó utilice

las flechas de navegación para obtener Información y Refresco de losdiferentes puertos."

Iblinstrefresco.Caption = "ULTIMO BLOQUE:11 & Hex(ini) fi " - " fi Hex(fin)

cmdmostrar.Enabled = Falsecmdcerrar.Enabled = TrueoptOtralectura.Enabled - True

txtinicial.Enabled = Falsetxtfinal.Enabled = False

txtinicial.Visible = Falsetxtfinal-Visible — False

grilla.SetFocus

If grilla.Rows >= 9999 + 2 ThenMsgBox "Ud llego al limite máximo de filas", 16, "Limite"Exit Sub

End IfEnd IfEnd Sub

Prívate Sub cmdcerrar^Click(}Unload Me

End Sub

Private Sub grilla_SelChange()grilla_Click

End Sub

Private Sub txtfinal_Click()cmdmostrar.Enabled = TrueoptOtralectura.Enabled - True

End Sub

Private Sub txtfinal_KeyPress(KeyAscii As Integer)

If KeyAscii = 13 Thencmdmostrar.Enabled = Truecmdmostrar.SetFocus

End If

End Sub

Private Sub Form_Activate()Width = Screen.Width * 0.7 ''Establece la anchura

174

Page 172: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

Height = Screen.Height * 0.65Left - (Screen.Width - Width) / 2Top = (Screen.Height - Height) / 4txtinicial.Enabled = Truetxtinicial.Visible = Truetxtinicial.Text = ""txtinicial.SetFocus

End Sub

Private Sub Form_Load()For i = 1 To 4

grilla.ColAlignment(i) = 2Next iFor i = 1 To 4

grilla.ColWidth(i) = 1100Next igrilla.RowHeight(O) = 400grilla.Col = 1grilla.Row = Ogrilla.Text = "Dirección en Hexadecimal"

grilla.Col = 2grilla.Row - Ogrilla.Text = "Contenido en Hexadecimal"

grilla.Col = 3grilla.Row ~ Ogrilla.Text = "Contenido en Binario"

grilla.Col = 4grilla.Row - Ogrilla.Text = "Contenido en ASCII"

cmdmostrar.Enabled = False1 txtinicial.Visible = Falsetxtfinal.Visible = False'Iblfinal. Visible = FalseoptOtralectura.Enabled = False

End Sub

Private Sub grilla_Click(}If grilla.Row = 1 Then

Iblinformacion.Visible = FalseIblrefresco.Visible = FalseExit Sub

ElseIblrefresco.Visible = TrueIblinformacion.Visible = TrueIf grilla.Col = 1 Then

GoTo informaElself grilla.Col - 2 Then

grilla.Col = grilla.Col - 1GoTo informa

Elself grilla.Col = 3 Then

''Establece la altura1'Centrado horizontal1'Centrado vertical.

'Centrado de texto en celda

'Ancho de las columnas

'Ancho de la fila O

175

Page 173: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

grilla.Col = grilla.ColGoTo informa

Elself grilla.Col = 4 Thengrilla.Col = grilla.ColGoTo informa

ElseExit Sub

End Ifinforma:

direnvl = "&H" fi grilla.Textdirenv = Val(direnvl)tmrRefresco.Enabled - Truedireccionl = "&H" 6 grilla.Textdirecport = Val(direccionl)

— 2

- 3

If direcport >= O And direcport <= 31 ThenIblinformacion.Caption = "Controladores de DMA"

Elself direcport >= 32 And direcport <= 33 ThenIblinformacion.Caption = "Controlador de interrup"

Elself direcport >= 64 And direcport <= 67 ThenIblinformacion.Caption = "Timer/Contador"

Elself direcport = 96 ThenIblinformacion.Caption = "Teclado"

Elself direcport - 97 ThenIblinformacion.Caption = "Bocina (bits O y 1)"

Elself direcport >= 128 And direcport <= 131 ThenIblinformacion.Caption = "Registros de página DMA"

Elself direcport = 160 ThenIblinformacion.Caption. = "Bit mascara de DMA"

Elself direcport >= 192 And direcport <- 511 ThenIblinformacion.Caption = "No usado en la placa del sistema"

Elself direcport = 512 ThenIblinformacion.Caption — "No usado"

Elself direcport ~ 513 ThenIblinformacion.Caption = "Puerto de juegos"

Elself direcport = 632 ThenIblinformacion.Caption =

Elself direcport = 633 ThenIblinformacion.Caption =

Elself direcport ~ 634 ThenIblinformacion.Caption =

Elself direcport ~ 744 ThenIblinformacion.Caption =

Puerto paralelo LPT2 de Salida"

Puerto paralelo LPT2 de Entrada"

Puerto paralelo LPT2 de E/S"

COM4 (TxB/RxB)"'Puerto serialElself direcport = 745 Then

Iblinformacion.Caption = "Puerto serial COM4 (IER)Elself direcport = 746 Then

Iblinformacion.Caption =Elself direcport - 747 Then

Iblinformacion.Caption =Elself direcport - 748 Then

Iblinformacion.Caption =Elself direcport = 749 Then

Iblinformacion.Caption =

'Puerto serial COM4 (IIR)

'Puerto serial COM4 (LCR)

'Puerto serial COM4 (MCR)

'Puerto serial COM4 (LSR)

176

Page 174: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

Elself direcport =Iblinformacion

Elself direcport =Iblinformacion

Elself direcport =Iblinformacion

Elself direcport =Iblinformacion

Elself direcport =Iblinformacion

Elself direcport =Iblinformacion

Elself direcport =Iblinformacion

Elself direcport =Iblinformacion

Elself direcport >Iblinformacion

Elself direcport >-Iblinformacion.

Elself direcport >=Iblinformacion.

Elself direcport =Iblinformacion,

Elself direcport =Iblinformacion.

Elself direcport =Iblinformacion.

Elself direcport >=Iblinformacion.

Elself direcport >=Iblinformacion.

Elself direcport >=Iblinformacion.

Elself direcport >=Iblinformacion.

Elself direcport =Iblinformacion.

Elself direcport =Iblinformacion.

Elself direcport -Iblinformacion.

Elself direcport =Iblinformacion.

Elself direcport =Iblinformacion.

Elself direcport =Iblinformacion.

Elself direcport =Iblinformacion.

Elself direcport >=Iblinformacion.

Elself direcport =Iblinformacion.

750 Then.Caption = "Puerto serial COM4 (MSR)"760 Then.Caption - "Puerto serial COM2 (TxB/RxB)"761 Then.Caption = "Puerto serial COM2 (IER)"762 Then.Caption = "Puerto serial COM2 {IIR)"763 Then.Caption = "Puerto serial COM2 (LCR)"764 Then.Caption = "Puerto serial COM2 (MCR)"765 Then.Caption = "Puerto serial COM2 £LSR)"766 Then.Caption = "Puerto serial COM2 (MSR)"= 768 And direcport <= 799 Then.Caption = "Usado para tarjetas prototipo"= 800 And direcport <= 815 Then.Caption = "Controladores de HD (PS/2 30)"= 816 And direcport <= 831 Then.Caption = "Controladores SCSI"888 Then.Caption - "Puerto paralelo LPT1 de Salida"889 Then.Caption = "Puerto paralelo LpTl de Entrada"890 Then.Caption = "Puerto paralelo LPTl de E/5"= 896 And direcport <= 943 Then.Caption = "No usado"= 956 And direcport <= 958 Then.Caption = "LPTl {sólo en tipo MCA)monocro"= 960 And direcport <= 975 Then.Caption = "Controlador EGA/VGA"= 976 And direcport <= 991 Then.Caption = "Adaptador gráfico de color CGA"1000 Then.Caption = "Puerto serial COM3 (TxB/RxB)"1001 Then.Caption = "Puerto serial COM3 (IER)111002 ThenCaption = "Puerto serial COM3 (IIR)"1003 ThenCaption = "Puerto serial COM3 (LCR)"1004 ThenCaption = "Puerto serial COM3 (MCR)"1005 ThenCaption = "Puerto serial COM3 (LSR)"1006 ThenCaption = "Puerto serial COM3 (MSR)"1008 And direcport <= 1015 Then

Caption = "Controlador de unidad de disco"1016 ThenCaption = "Puerto serial COMÍ (TxB/RxB)"

177

Page 175: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

Elself direcport = 1017 ThenIblinformacion.Caption =

Elself direcport = 1018 ThenIblinformacion.Caption =

Elself direcport = 1019 ThenIblinformacion.Caption =

Elself direcport = 1020 ThenIblinformacion.Caption =

Elself direcport = 1021 ThenIblinformacion.Caption =

Elself direcport = 1022 ThenIblinformacion.Caption =

Elself direcport >- 1024 AndIblinformacion.Caption =

desconocidos"

"Puerto serial COMÍ (IER)"

"Puerto serial COMÍ (IIR)"

"Puerto serial COMÍ (LCR)"

"Puerto serial COMÍ (MCR)"

"Puerto serial COMÍ (LSR)"

"Puerto serial COMÍ (MSR)"direcport <= 65535 Then"Usado por dispositivos

ElseIblinformacion.CaptionExit Sub

End IfEnd If

End Sub

= "No existe información1

Prívate Sub mostrar_Click()

End Sub

Prívate Sub txtinicial_KeyPress(KeyAscii As Integer)If KeyAscii = 13 Then

cmdmostrar.Enabled = Truetxtfinal.Enabled - Truetxtfinal.Visible = Truetxtfinal.Text =txtfinal.SetFocusIblfinal.Visible =* True

End IfEnd Sub

Private Sub optotralectura_Clickcmdmostrar.Enabled = Truetxtinicial.Enabled = Truetxtfinal.Enabled = True

txtinicial.Visible = Truetxtfinal.Visible = True

txtinicial.Text = ""txtfinal.Text = ""

txtinicial.SetFocusoptotralectura.Valué = False

End Sub

178

Page 176: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

Private Sub tmrRef resco__Timer ()Refrescodec = Medir(direnv, medida)Refrescohex = Hex(Refrescodec)If Refrescodec >= O And Refrescodec <= 15 Then

Iblrefresco.Caption = "O" & RefrescohexElse

Iblrefresco.Caption = RefrescohexEnd If

End Sub

FORMULARIO ESCRITURA EN PUERTOS

Begin VB.Form frmescritura

BackColor =BorderStyleCaption =ClientHeightClientLeftClientTopClientWidthForeColor =HeightIcónLeftLinkTopic =MaxButton -MDIChildMinButton =ScaleHeight =ScaleWidthShowInTaskbar =TopWidthBegin VB.Frarae frainsing

Caption = "InstruccionesBeginProperty Font

&HQOCQCOCOS3 'Fixed Dialog"ESCRITURA EN PUERTOS"5520112523409030SHOOOOOOOOfi5880"ESCRITUR.frx":00001065"Forml"0— 1

055209030020409150

1 False'True'False

'False

ñamecharsetweightsizeunderlineitalicstrikethrough

EndPropertyForeColor :

Height =LeftTablndexTopWidth

"MS Sans Serif"17008.25O 'FalseO 'FalseO 'False

6HOOFF000051095120171202175

179

Page 177: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

Begin VB.Label Iblinsting$ " E S C R I T U R . f r x " : Q O O C735120

2401815

"MS Sans Serif"17008.25O 'FalseO 'False

'False

Caption =HeightLeftTablndex =TopVJidth

EndEndBegin VB.TextBox txtfinal

BeginProperty Fontñame =charset =weight =size =underline =italic =strikethrough = O

EndPropertyHeight - 285Left • = 1440MaxLength = 4Tablndex = 4Top - 2160Width « 615

EndBegin VB.TextBox txtinicial

Alignment - 2BeginProperty Font

ñame =charset =weight =size =underline =italic =strikethrough =

EndPropertyHeight - 285Left = 1440MaxLength ~ 4Tablndex = 3Top = 1680Width = 615

EndBegin VB.Frame fraingresos

Caption = "Direcciones"BeginProperty Font

ñame = "MS Sans Serifcharset = 1weight = 700size -. 8.25underline = O 'Falseitalic = O 'Falsestrikethrough = O 'False

1Center

"MS Sans Serif"17008.25OOO

FalseFalseFalse

180

Page 178: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

EndPrapertyForeColor - 6HOOFFOOOOSHeight = 1455Left = 120Tablndex = 14Top = 1320Width - 2175Begin VB.Label Iblfinal

Caption = "Final"BeginProperty Font

ñame = "MS Sans Serifcharset ~ 1weight - 700size = 9.75underline ~ O 'Falseitalic - O 'Falsestrikethrough ~ O 'False

EndPropertyHeight - 255Left = 240Tablndex = 16Top = 840Width - 855

EndBegin VB.Label Iblinicial

Caption - "Inicial"BeginProperty Font

ñame = "MS Sans Serifcharset - 1weight = 700size = 9.75underline = O 'Falseitalic - O 'Falsestrikethrough = O 'False

EndPropertyHeight = 255Left = 240Tablndex - 15Top • = 240Width - 855

EndEndBegin VB.Frame fracambiar

Caption = "Cambiar"BeginProperty Font

ñame = "MS Sans Serif"charset = 1weight = 700size = 8.25underline = O 'Falseitalic = O 'Falsestrikethrough = O' 'False

EndPropertyForeColor - SHOOCOOOOO&

181

Page 179: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

Height = 735Left = 6840Tablndex = 11Top = 3360Width = 1095Begin VB.TextBox txtcambiar

BackColor = SHOOCOCOCOSBeginProperty Font

ñame = "MS Sans Serif"charset = 1weight = 700size = 9.75Underline = O 'Falseitalic = O 'Falsestrikethrough = O 'False

EndPropertyForeColor = &HOQOQOOQO&Height = 360Left = 120MaxLength = 2Tablndex = 13Top = 240Width = 855

EndEndBegin VB.Frame frainformacion

Caption = "Información"BeginProperty Font

ñame = "MS Sans Serif"charset = 1weight = 700size = 8.25underline = O 'Falseitalic = O 'Falsestrikethrough = O 'False

EndPropertyForeColor - &HOOCOOQOQ&Height = 735Left = 2640Tablndex = 10Top = 3360Width = 4095Begin VB.Label Iblinformacion

BorderStyle = 1 'Fixed SingleBeginProperty Font

ñame = "MS Sans Serif"charset = 1weight = 700size = 9.75underline = O 'Falseitalic = O 'Falsestrikethrough = O 'False

EndPropertyHeight = 375

182

Page 180: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

LeftTablndexTopwidth

120122403855

EnciEndBegin VB.Frame frainstrucciones

Caption = "Instrucciones:BeginProperty Font

ñamecharsetweightsizeunderlineitalicstrikethrough

EndPropertyForeColor =Height =LeftTablndexTopVisible =Width

"MS Sans S= .1

7008.250 'False0 'Falsa0 'False

6HOOFFQOOO&12152400742000 'False5775

Serif'

Begin VB.Label IblinstcambiarBorderStyle =BeginProperty Font

ñamecharsetweightsizeunderlineitalicstrikethrough

EndPropertyHeightLeftTablndex =Top =Width

1 'Fixed Single

"Arial"17009.75OOO

855312092402535

FalseFalseFalse

EndBegin VB.Label Iblinstinformacion

BorderStyle = 1 'Fixed SingleHeight = 855Left = 240Tablndex = 8Top = 240Width = 2775

EndEndBegin VB.CommandButton cmdcambiar

Caption = "6CAMBIAR"BeginProperty Font

ñame = "MS Sans Serif"

183

Page 181: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

charset = 1weight = 700size = 8.25underline = O 'Falseitalic = O 'Falsestrikethrough = O 'False

EndPropertyHeight = 495Left = 360Tablndex = 6Top « 3840Width = 1575

EndBegin VB. CoinmandButton cmdcerrar

Caption = "6CERRAR"BeginProperty Font

ñame = "MS Sans Serif"charset - 1weight = 700size = 8.25underline = O 'Falseitalic - O 'Falsestrikethrough = O 'False

EndPropertyHeight = 495Left = 360Tablndex = 2Top = 4560Width = 1575

EndBegin VB . CornmandButton cmdmostrar

Caption = "¿MOSTRAR"BeginProperty Font

ñame = "MS Sans Serif"charset = 1weight = 700size = 8.25underline — O 'Falseitalic = O 'Falsestrikethrough = O 'False

EndPropertyHeight = 495Left = 360Tablndex = 1Top = 3120Width = 1575

EndBegin MSGrid.Grid Grilla

Height = 2775Left = 2640Tablndex = OTop = 480Width = 5295versión = 65536

1S4

Page 182: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

_extentx_extenty_stockpropsforecolorbackcolorcoisscrollbarsgridlinewidthhighlightmouseicon

9340489577-214748363016777215522O 'False"ESCRITUR.frx":0054

EndBegin VB.Label Iblmarcodegrilla

1 'Fixed Single3975240052405775

BorderStyleHeightLeftTablndexTopWidth

EndEndAttribute VB_Name = "frmescritura"Attribute VB_Creatable = FalseAttribute VB_JExposed = FalsePrivate Sub cmdmostrar_Click()

Dim dir, lee, medida As IntegerDim ini, fin As Integer

If txtinicial = "" Or txtfinal = "" ThenExit Sub

Else1 Ingreso de dirección final en HEXhexl = txtinicial.Texthexasc = Asc(hexl)If hexasc >= 48 And hexasc <= 57 Then

GoTo ingresoElself hexasc >= 65 And hexasc <= 70 Then

GoTo ingreso• Elself hexasc >= 97 And hexasc <= 102 Then

GoTo ingresoElse

MsgBox "Solo formato HEXADECIMAL", 48, "Formato1Exit Sub

End Ifingreso:

hexll = "£H" S hexlini = Val(hexll)

'Ingreso de dirección final en HEXhex2 = txtfinal.Texthexasc = Asc(hex2)If hexasc >= 48 And hexasc <= 57 Then

GoTo ingresolElself hexasc >= 65 And hexasc <= 70 Then

GoTo ingresol

185

Page 183: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

Elself hexasc >= 97 And hexasc <= 102 ThenGoTo ingresol

ElseMsgBox "Solo formato HEXADECIMAL", 48, "Formato"Exit Sub

End Ifingresol:

hex21 = "SH" £ hex2fin = Val(hex21)If ini < O Or fin > 9999 Then

MsgBox "Rango permitido OOOOH ini O < dir < 270FH, Intente denuevo [Pulse Aceptar]", 16, "PRECAUCIÓN"

Exit SubElse

GoTo saltoEnd If

salto:MousePointer = 11For i = ini To fin

lee = Medir(i, medida) 'Llamada a la DLL loport paralectura de datos

lectu = Hex(lec)j = Hex(i)bits = conversión(lee)ascii = Chr(lec)'Despligue en la GrillaIf i <= 15 Then

If lee <= 15 Thengrilla.Addltem Chr{9) £ "000" & j £ Chr(9) & "O" £

lectu £ Chr(9) £ bits £ Chr(9) £ asciiElse

grilla.Addltem Chr(9) £ "000" & j & Chr(9) £ lectu £Chr(9) £ bits fi Chr(9) fi ascii

End IfElself i <= 255 Then

If lee <« 15 Thengrilla.Addltem Chr(9) £ "00" 6 j £ Chr(9) £ "O" £

lectu £ Chr{9) £ bits £ Chr(9) 5 asciiElse

grilla.Addltem Chr(9) £ "00" £ j £ Chr(9) £ lectu 5Chr(9) & bits 5 Chr(9) £ ascii

End IfElself i <= 4095 Then

If lee <« 15 Thengrilla.Addltem Chr(9) & "O" 5 j £ Chr{9) 5 "O" £

lectu £ Chr(9) £ bits £ Chr(9) £ asciiElse

grilla.Addltem Chr{9) £ "O" & j £ Chr(9) £ lectu &Chr(9) £ bits £ Chr(9) £ ascii

End IfElself i >= 4096 Then

If lee <= 15 Thengrilla.Addltem Chr(9) £ j £ Chr(9) £ "O" £ lectu £

Chr{9) £ bits 5 Chr(9) £ ascii

186

Page 184: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

Elsegrilla.Addltem Chr(9) £ j & Chr(9) & lectu & Chr(9) &

bits & Chr(9) 5 asciiEnd If

End IfHext iMousePointer = Ofrainstrucciones.Visible — TrueIblinstinformacion.Caption = "Haga Click en cualquier celda ó

utilice las flechas de navegación para obtener Información y DblClick sidesea cambiar un dato."

Iblinstcambiar.Caption = "ULTIMO BLOQUE:" £ Hex(ini) 6 " - " £ Hex(fin)

cmdmostrar.Enabled = Falsecmdcerrar.Enabled = True'cmdcambiar.Enabled = True'cmdcambiar.SetFocus

txtinicial.Visible = Falsetxtfinal.Visible = False

grilla.SetFocus

txtcambiar.BackColor = 6HFFFFFFtxtcambiar.Enabled = False

End IfEnd Sub

Private Sub cmdcambiar^Click()If txtcambiar.Text = "" Then

Exit SubElse

dirl = txtcambiar.Textdirasc = Ase(dirl)If dirasc >= 48 And dirasc <= 57 Then

GoTo ingreBiself dirasc >- 65 And dirasc <= 70 Then

GoTo ingreElself dirasc >= 97 And dirasc <= 102 Then

GoTo ingreElse

MsgBox "Solo formato HEXADECIMAL", 48, "Formato"Exit Sub

End Ifingre:

vcontroll = "6H" & dirlvcontrol = Val(vcontroll)grilla.Col = grilla.Col - 1grilla.Row = grilla.Rowdirenvl = "6H" £ grilla.Textdirenv = Val(direnvl)send = Enviar(direnv, vcontrol)

187

Page 185: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

grilla.Col = grilla.Col + 1datocambiadodec = Medir(direnv, medida)datocambiadohex = Hex(datocambiadodec)If datocambiadodec >= O And datocambiadodec <= 15 Then

grilla.Text = "O" & datocambiadohexElse

grilla.Text = datocambiadohexEnd Ifgrilla.Col = grilla.Col + 1lee = datocambiadodecbits = conversión(lee)grilla.Text = bitsgrilla.Col = grilla.Col + 1grilla.Text ~ Chr(datocambiadodec)grilla.Col = grilla.Col - 2If datocambiadodec >= O And datocambiadodec <= 15 Then

Iblinstcambiar.Caption = "Nuevo Contenido"O" & datocambiadohex & " : " & bits S " : " £ Chr(datocambiadodec}

ElseIblinstcambiar.Caption = "Nuevo Contenido

datocambiadohex &.":"& bits & " : " s Chr (datocambiadodec)End Iftxtcambiar.SetFocustxtcambiar.Text = ""txtcambiar.Enabled = False

End IfEnd Sub

Prívate Sub Form_Initialize()txtinicial.Enabled = Truetxtinicial.Visible = Truetxtinicial.Text = ""txtinicial.SetFocus

End Sub

Private Sub grilla_KeyPress(KeyAscii As Integer)If KeyAscii = 67 Or 99 Then

grilla^DblClickEnd If

End Sub

Private Sub grilla_SelChange()grilla_Click

End Sub

Private Sub txtfinal_Click()cmdmostrar.Enabled = True

End Sub

Private Sub Form_Activate()Width = Screen.Width * 0.7 ''Establece la anchuraHeight = Screen.Height * 0.65 ''Establece la altura.Left = (Screen.VJidth - Width) / 2 ''Centrado horizontal.

188

Page 186: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

Top = (Screen.Height - Height) / 4 ''Centrado verticalEnd Sub

Private Sub grilla_DblClick{)cmdcambiar.Enabled = Truecmdcambiar.SetFocusIf grilla.Col = 1 Then

grilla. Col = grilla. Col -f 1GoTo informa

Elself grilla.Col = 2 ThenGoTo informa

Elself grilla.Col = 3 Thengrilla.Col = grilla.Col - 1GoTo informa

Elself grilla.Col = 4 Thengrilla.Col = grilla.Col - 2GoTo informa

ElseExit Sub

End Ifinforma:

txtcambiar.Enabled = Truecmdcambiar.Enabled = Truetxtcambiar.SetFocus

End Sub

Private Sub cmdcerrar_Click{)Unload MeEnd Sub

Private Sub txtfinal_KeyPress(KeyAscii As Integer)If KeyAscii = 13 Then

cmdmostrar.Enabled = Truecmdmostrar.SetFocus

End IfEnd Sub

Private Sub Form_Load()For i = 1 To 4

grilla.ColAlignment(i) = 2 'Centrado de texto en celdaNext iFor i - 1 To 4

grilla.ColWidth(i) = 1100 'Ancho de las columnasNext igrilla.RowHeight(0) = 400 'Ancho de la fila Ogrilla.Col = 1grilla.Row = Ogrilla.Text = "Dirección en Hexadecimal"

grilla.Col = 2grilla.Row = Ogrilla.Text = "Contenido en Hexadecimal"

189

Page 187: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

grilla.Col = 3grilla.Row = Ogrilla.Text = "Contenido en Binario"

grilla.Col = 4grilla.Row = Ogrilla.Text = "Contenido en ASCII"

cmdrnostrar . Enabled = Falsecrndcambiar . Enabled — Falsetxtfinal.Visible = False'Iblfinal.Visible = False

End Sub

Prívate Sub grilla_Click()If grilla.Row = 1 ThenIblinformacion.Visible = Falsetxtcambiar.Visible = FalseExit SubElsetxtcambiar.Visible = TrueIblinformacion.Visible = True

If grilla.Col = 1 ThenGoTo informa

Elself grilla.Col = 2 Thengrilla.Col = grilla.Col - 1GoTo informa

Elself grilla.Col = 3 Thengrilla.Col = grilla.Col - 2GoTo informa

Elself grilla.Col « 4 Thengrilla.Col = grilla.Col - 3GoTo informa

ElseExit Sub

End Ifinforma:

direccionl - "fiH" S grilla.Textdirecport = Val(direccionl}

If direcport >= O And direcport <= 31 ThenIblinformacion.Caption = "Controladores de DMA"

Elself direcport >= 32 And direcport <= 33 ThenIblinformacion.Caption = "Controlador de interrup"

Elself direcport >= 64 And direcport <= 67 ThenIblinformacion.Caption = "Tiraer/Contador"

Elself direcport = 96 ThenIblinformacion,Caption = "Teclado"

Elself direcport = 97 ThenIblinformacion.Caption = "Bocina (bits O y 1}"

Elself direcport >= 128 And direcport <= 131 ThenIblinformacion.Caption = "Registros de página DMA"

Elself direcport = 160 Then

190

Page 188: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

Iblinformacion.Caption -Elself direcport >= 192 And

Iblinformacion.Caption =Elself direcport = 512 Then

Iblinformacion.Caption =Elself direcport = 513 Then

Iblinformacion.Caption :Elself direcport = 632 Then

Iblinformacion.Caption =Elself direcport « 633 Then

Iblinformacion.Caption =Elself direcport = 634 Then

Iblinformacion.Caption -Elself direcport = 744 Then

Iblinformacion.Caption -Elself direcport = 745 Then

Iblinformacion.Caption ;Elself direcport = 746 Then

Iblinformacion.Caption =Elself direcport = 747 Then

Iblinformacion.Caption =Elself direcport = 748 Then

Iblinformacion.Caption =Elself direcport = 749 Then

Iblinformacion.Caption =Elself direcport = 750 Then

Iblinformacion.Caption -Elself direcport = 760 Then

Iblinformacion.Caption =Elself direcport = 761 Then

Iblinformacion.Caption =Elself direcport = 762 Then

Iblinformacion.Caption =Elself direcport = 763 Then

Iblinformacion.Caption -Elself direcport = 764 Then

Iblinformacion.Caption =Elself direcport = 765 Then

Iblinformacion.Caption =Elself direcport = 766 Then

Iblinformacion.Caption =Elself direcport >= 768 And

Iblinformacion.Caption =Elself direcport >= 800 And

Iblinformacion.Caption =Elself direcport >= 816 And

Iblinformacion.Caption =Elself direcport = 888 Then

Iblinformacion.Caption -Elself direcport = 889 Then

Iblinformacion.Caption =Elself direcport = 890 Then

Iblinformacion.Caption =Elself direcport >= 896 And

= "Bit mascara de DMA."direcport <= 511 Then

= "No usado en la placa del sistema"

= "No usado"

= "Puerto de juegos"

= "Puerto paralelo LPT2 de Salida"

= "Puerto paralelo LPT2 de Entrada"

= "Puerto paralelo LPT2 de E/S"

= "Puerto serial COM4 (TxB/RxB)"

= "Puerto serial COM4 (IER)"

= "Puerto serial COM4 (IIR)"

= "Puerto serial COM4 (LCR)"

= "Puerto serial COM4 (MCR)"

= "Puerto serial COM4 {LSR)"

• "Puerto serial COM4 (MSR)"

• "Puerto serial COM2 (TxB/RxB)"

•• "Puerto serial COM2 (IER) "

• "Puerto serial COM2 (IIR)"

• "Puerto serial COM2 (LCR)"

• "Puerto serial COM2 (MCR)"

= "Puerto serial COM2 (LSR)"

= "Puerto serial COM2 (MSR)"direcport <= 799 Then: "Usado para tarjetas prototipo"direcport <= 815 Then¡ "Controladores de HD (PS/2 30)"direcport <= 831 Then: "Controladores SCSI"

: "Puerto paralelo LPTl de Salida"

: "Puerto paralelo LPTl de Entrada"

= "Puerto paralelo LPTl de E/S"direcport <= 943 Then

191

Page 189: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

Iblinf orina cionElself direcport >

IblinformacionElself direcport >

Iblinf orina cion.Elself direcport >=

Iblinformacion.Elself direcport =

Iblinformacion.Elself direcport =

Iblinformacion.Elself direcport =

Iblinformacion.Elself direcport =

Iblinformacion.Elself direcport =

Iblinformacion.Elself direcport -

Iblinformacion.Elself direcport =

Iblinformacion.Elself direcport >=

Iblinformacion.Elself direcport =

Iblinformacion.Elself direcport =

Iblinformacion.Elself direcport =

Iblinformacion.Elself direcport =

Iblinformacion.Elself direcport ~

Iblinformacion.Elself direcport =

Iblinformacion.Elself direcport =

Iblinformacion.Elself direcport >=

Iblinformacion.

Else

CÓDIGO FUENTE

.Caption = "No usado"= 956 And direcport <= 958 Then.Caption = "LPTl (sólo en tipo MCA)monocro"- 960 And direcport <= 975 Then.Caption = "Controlador EGA/VGA"= 976 And direcport <= 991 Then.Caption = "Adaptador gráfico de color CGA"1000 Then.Caption = "Puerto serial COM3 (TxB/RxB)"1001 Then.Caption - "Puerto serial COM3 (IER)"1002 Then.Caption = "Puerto serial COM3 (IIR)"1003 Then.Caption = "Puerto serial COM3 (LCR)"1004 Then.Caption = "Puerto serial COM3 (MCR)"1005 Then.Caption = "Puerto serial COM3 (LSRJ"1006 Then.Caption = "Puerto serial COM3 (MSR)"= 1008 And direcport <= 1015 Then.Caption = "Controlador de unidad de disco"1016 Then.Caption = "Puerto serial COMÍ (TxB/RxB)"1017 Then.Caption = "Puerto serial COMÍ (IER)"1018 Then.Caption = "Puerto serial COMÍ (IIR}"1019 ThenCaption = "Puerto serial COMÍ (LCR)"1020 ThenCaption = "Puerto serial COMÍ (MCR)"1021 ThenCaption = "Puerto serial COMÍ (LSRJ"1022 ThenCaption = "Puerto serial COMÍ (MSR)"1024 And direcport <= 65535 Then

Caption - "No usado en el proyecto de la PC1

= "No existe información1Iblinformacion.CaptionExit Sub

End IfEnd If

End Sub

Prívate Sub txtinicial^KeyPress(KeyAscii As Integer)If KeyAscii = 13 Then

txtfinal.Visible = TrueIblfinal.Visible = Truetxtfinal.SetFocuscmdmostrar.Enabled = True

End If

192

Page 190: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

End Sub

Prívate Sub txtcambiar_KeyPress(KeyAscii As Integer)If KeyAscii = 13 Then

cmdcambiar_ClickEnd If

End Sub

FORMULARIO PASSWORD1

Begin VB.Form frmpassword

BorderStyleCaptionClientHeightClientLeftClientTopClientWidthHeightIcónLeftLinkTopicMaxButtonMDIChildMinButtonScaleHeightScaleWidthShowInTaskbarTopWidth

3 'Fixed Dialog"CONTRASEÑA"22053390253544102565"PASSWORD.fr:<":00003330"Forml"O 'Falsa-1 'True

'False

"MS Sans Serif17008.25

O22054410O 'False22354530

Begin VB.CommandButton cancelarCaption = "SCancelar1BeginProperty Font

ñame =charset —weight -size =underline - O 'Falseitalic ~ O 'Falsestrikethrough = O 'False

EndPropertyHeight = 375Left = 3000Tablndex = 3Top = 1680Width - 1215

EndBegin VB.CommandButton cmdAceptar

Caption = "SAceptar"BeginProperty Font

ñame = "MS Sans Serif"charset = 1

193

Page 191: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

weight = 700size = 8.25underline = Oitalic = Ostrikethrough = O

EndPropertyHeightLeftTablndexTopWidth

EndBegin VB.TextBox Textl

HeightLeftMaxLength —PasswordChar =Tablndex =TopWidth

EndBegin VB.Image Imagel

HeightLeftPicture =TopWidth

EndBegin VB.Label Labell

Caption =BeginProperty Font

ñamecharsetweightsizeunderline = Oitalic = Ostrikethrough = O

EndPropertyHeight = 855Left = 720Tablndex = OTop = 120Width = 3615

EndEndAttribute VB_Name = "frmpassword"Attribute VB_Creatable = FalseAttribute VB_Bxposed = False

Prívate Sub cmdAceptar_Click()clave = textl.TextIf clave = "rmjports" Then

Unload Me

FalseFalseFalse

375240216801215

375240

110803975

480120"PASSWORD.frx":OOOC120480

?"PASSWORD.frx":044E

"MS Sans Serif"17008.25O 'FalseO 'FalseO 'False

194

Page 192: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

frmescritura.ShowElse

MsgBox "Lo siento, Acceso Denegado. Verifique si su contraseñaestá con minúsculas e intente de nuevo", 16, "Acceso"

Exit SubEnd If

End Sub

Private Sub cancelar_Click(}Unload Me

End Sub

Private Sub Form_Activate()Width = Screen.Width * 0.38Height = Screen.Height * 0.28Left = (Screen.Width - Width) / 2Top = {Screen.Height - Height) / 4

End Sub

''Establece la anchura''Establece la altura.1'Centrado horizontal.''Centrado vertical.

Private Sub textl^KeyPress(KeyAscii As Integer)If KeyAscii = 13 Then

cmdAceptar_ClickEnd If

End Sub

FORMULARIO PASSWORD2

Begin VB. Forra frmpasswordp

BorderStyleCaptionClientHeightClientLeftClientTopClientWidthHeightIcónLeftLinkTopicMaxButtonMDIChildMinButtonScaleHeightScaleWidthShowInTaskbarTopWidth

3 'Fixed Dialog"CONTRASEÑA"21903420511544102550"PASSWP.frx":00003360"Forml"O 'False

TrueFalse

-1O21904410O 'False48154530

Begin VB.CommandButton cancelarCaption = "¿Cancelar"BeginProperty Font

ñame = "MS Sans Serif'charset = 1

195

Page 193: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

weight =size =underline =italic =strikethrough =

EndPropertyHeight =LeftTablndex =Top -Width

EndBegin VB.CommandButton

Caption =BeginProperty Font

ñame =charset :

weight =size :

underline =italic =strikethrough =

EndPropertyHeightLeftTablndex =TopWidth

EndBegin VB.TextBox Textl

HeightLeftMaxLength =PasswordChar =TablndexTopWidth

EndBegin VB.Image Imagel

Height =LeftPicture =TopWidth

EndBegin VB.Label Labell

Caption =BeginProperty Font

ñame =charset =weight =size =underline =italic =

7008.25O 'FalseO 'FalseO 'False

3753000316801215

cmdAceptar"¿Aceptar"

"MS Sans Serif"17008.25O 'FalseO 'FalseO 'False

375240216801215

375240

110803975

480120"PASSWP.frx":OQOC120480

$"PASSWP.frx":044E

"MS Sans Serif"17008.25O 'FalseO 'False

¡96

Page 194: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

strikethrough = O 'FalseEndPropertyHeight = 855Left = 720Tablndex = OTop = 120Wldth = 3615

EndEndAttribute VB^Name = "frmpasswordp"Attribute VB_Creatable = FalseAttribute VB^Exposed = FalsePrívate Sub cancelar_Click()

Unload MeEnd Sub

Prívate Sub cmdAceptar_Click()clave = textl.TextIf clave = "rmjports" Then

Unload MefrmEscrituraP.Show

ElseMsgBox "Lo siento, Acceso Denegado. Verifique si su contraseña

está con minúsculas e intente de nuevo", 16, "Acceso"Exit Sub

End IfEnd Sub

Private Sub Form_Activate{)Width = Screen.WidtGDh * 0.38 ''Establece la

ü Height = Screen.HeightpO.28 ''Establece la altura.Left = (Screen.Width - Width) / 2 ''Centrado horizontal.Top = (Screen.Height - Height) / 4 ''Centrado vertical.

End Sub

Private Sub textl_KeyPress(KeyAscii As Integer)If KeyAscii = 13 Then

cmdAceptar_ClickEnd If

End Sub

FORMULARIO LECTURA DE UN PUERTO

Begin VB.Form frmLecturaP

BorderStyle = 3 'Fixed DialogCapnion = "Lectura de un Puerto1ClientHeight = 3315ClientLeft = 1875ClientTop = 3030ClientWidth = 6075

197

Page 195: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

3675"PUERTOLE.frx":00001815"Forml"O 'False-1 'TrueO 'False33156075O 'False27306195

"MS Sans Serif17008.25OOO

FalseFalseFalse

HeightIcón =LeftLinkTopic =MaxButton =MDIChildMinButtonScaleHeight =ScaleWidthShowInTaskbar =TopWidthBegin VB.CommandButton cmdmostrar

Caption = "¿MOSTRAR"BeginProperty Font

ñamecharsetweightsizeunderlineitalicstrikethrough

EndPropertyHeightLeftTablndex =TopWidth

EndBegin VB.Frame Frame4

Caption =BeginProperty Font

ñamecharsetweightsizeunderlineitalicstrikethrough

EndPropertyForeColor ~ &HOOFFQOQO&Height = 975Left - 120Tablndex = 7Top = 120Width - 1815

4952401216801575

'Instrucciones"

"MS Sans Serif17008.25O 'FalseO 'FalseO 'False

HEX1

Begin VB.LabelCaption

HeightLeftTablndexTopWidth

LabelS"Tanto dirección como lecturas son formato

61524082401455

198

Page 196: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

EndEndBegin VB.TextBox Textl

BackColor =BeginProperty Font

ñame =charset -weight :

size :

underline -italic :

strikethrough :EndPropertyHeight ~LeftMultiLine =ScrollBars =Tablndex =TopWidth

EndBegin VB.Frame FrameS

Caption =BeginProperty Font

ñame :

charset :

weight :

size =underline =italic :

strikethrough -EndPropertyForeColor =Height =LeftTablndexTopWidth

EndBegin VB.Timer Timerl

Enabled =Interval ~LeftTop =

EndBegin VB.CommandButton

Caption =BeginProperty Font

ñame =charset =weight =sizeunderline =italic =

¿HOOFFFFFF5

"MS Sans Serif17008.25O 'FalseO 'FalseO 'False

22954680-1 'True2 'Vertical5480735

"Muestras"

"MS Sans Serif"17008.25O 'FalseO 'FalseO 'False

SHOOFFOOOOS2895444061201215

O 'False137202040

cmdcerrar"SCERRAR"

"MS Sans Serif"1700

: 8.25

O 'FalseO 'False

199

Page 197: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

strikethroughEndPropertyHeightLeftTablndexTopWidth

EndBegin VB.Frame Framel

Caption =BeginProperty Font

ñamecharsetweightsizeunderlineitalicstrikethrough

EndPropertyForeColor =HeightLeftTablndexTopWidth

O 'False

495240425201575

"Lecturas"

"MS Sans Serif17008.25O 'FalseO 'FalseO 'False

6HOOFF000061215 '2160218002055

Begin VB.Label IblRefrescoAlignmentBorderStyleBeginProperty

ñamecharsetweightsizeunderlineitalicstrikethrough

EndPropertyHeightLeftTablndexTopWidth

EndEndBegin VB.TextBox

BeginPropertyñamecharsetweightsizeunderlineitalicstrikethrough

EndProperty

Font

2 'Center1 'Fixed Single

"MS Sans Serif"17009.75O False

FalseFalse

3757203480735

txtlngDiracciónFont

"MS Sans Serif"~ 1

7009.75O 'FalseO 'FalseO 'False

200

Page 198: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

37532404O1080735

"MS Sans Serif"17008.25O False

FalseFalse

HeightLeftMaxLength =Tablndex =TopWidth

EndBegin VB.Frame fralngreso

Caption = "Ingrese"BeginProperty Forit

ñamecharsetweightsizeunderlineitalicstrikethrough

EndPropertyForeColor = SHOOFFOOOO&Height = 1575Left = 2160Tablndex = 1Top = 120Width s 2055Begin VB.TextBox txtNmuestras

BeginProperty Fontñamecharsetweightsizeunderlineitalicstrikethrough

EndPropertyHeightLeftMaxLength =Tablndex =TopWidth

EndBegin VB.Label Label2

Caption =BeginProperty Font

ñame =charset =weight =size =underline =italic =strikethrough =

EndPropertyHeight = 375Left = 120

"MS Sans Serif17009.75O False

FalseFalse

OO

3751080410360735

"No de muestras"

"MS Sans Serif17008.25O 'FalseO 'FalseO 'False

201

Page 199: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

Tablnciex = 11Top = 360Width = 855

EndBegin VB.Label Labell

Caption = "Dirección de lectura"BeginProperty Font

ñame = "MS Sans Serif"charset ~ 1weight = 700size = 8.25underline = O 'Falseitalic = O 'Falsestrikethrough = O 'False

EndPropertyHeight - 375Left = 120Tablndex = 9Top = 960Width = 975

EndEnd

EndAttribute VB^Name = "frmLecturap"Attribute VB^Creatable = FalseAttribute VB__Exposed = False

Prívate Sub cmdcerrar_Click()Unload Me

End Sub

Private Sub cmdmostrar_Click()If txtlngDireccion.Text = "" Then

Exit SubElse

dirl = txtlngDireccion.Textdirasc = Asc(dirl)If dirasc >= 48 And dirasc <= 57 Then

GoTo ingreElself dirasc >~ 65 And dirasc <= 70 Then

GoTo ingreElself dirasc >= 91 And dirasc <= 102 Then

GoTo ingreElse

MsgBox "Solo formato HEXADECIMAL", 48, "Formato1Exit Sub

End Ifingre:

dirección = "&H" £ dirldirlec = Val (dirección)Timerl.Enabled = Truetextl_Click

End If

202

Page 200: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

End Sub

CÓDIGO FUENTE

Prívate Sub Form Actívate ()Width = Screen.Width * 0.5Height = S creen. Height * O . 4Left ~ (Screen.Width - Width) / 2Top = (5 creen. Height - Height) / 4txtNmuestras . SetFocus

End Sub

''Establece la anchura.' ' Establece la altura .

'' Centrado horizontal.' ' Centrado vertical .

Private Sub textl_click ( )For i = 1 To Nmuestras

muestradec = Medir (dirlec, medida)rnuestrahex = Hex (muestradec)If muestradec >= O And muestradec <= 15 Then

c$ = c$ 5 "O" £ muestrahex s Chr(13) £ Chr(lO)Else

c$ = c$ £ muestrahex & Chr(13) & Chr(lO)End If

Next itextl.Text = c$

End Sub

Prívate Sub TimerlJTimer ( )muestra = Medir (dirlec, medida)muestral = Hex (muestra)If muestra >— O And muestra <= 15 Then

Iblrefresco .Caption = "O" & muestralElse

Iblrefresco . Caption = muestralEnd If

End Sub

Prívate Sub txt!ngDireccion__KeyPress (KeyAscii As Integer)If KeyAscii - 13 Then

If txtlngDireccion.Text = "" ThenExit Sub

Elsedirl = txtlngDireccion.Textdirasc = Asc(dirl)If dirasc >- 48 And dirasc <= 57 Then

GoTo ingreBisel f dirasc >= 65 And dirasc <= 70 Then

GoTo ingreElself dirasc >= 97 And dirasc <- 102 Then

GoTo ingreElse

MsgBox "Solo formato HEXADECIMAL" , 48, "Formato"Exit Sub

End Ifingre

dirección = "5H" & dirldirlec = Val (dirección)Timerl.Enabled = True

203

Page 201: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

textl_ClickEnd If

End IfEnd Sub

Prívate Sub txtNmuestras_KeyPress(KeyAscii As Integer)If txtNmuestras ~ "" Then

Exit SubElse

If KeyAscii = 13 ThenNmuestras = Val(txtNmuestras.Text)txtlngDireccion.SetFocus

End IfEnd If

End Sub

FORMULARIO ESCRITURA EN UN PUERTO

Begin VB.Form frmEscrituraP

BorderStyleCaptionClientHeightClientLeftClientTopClientWidthHeightIcónLeftLinkTopicMaxButtonMDIChildMinButtonScaleHeightScaleWidthShowInTaskbarTopWidth

3 'Fixed Dialog"Escritura en un Puerto130002595163544553405"PUERTOES.frx":00002535"Forml"O 'False-1 'True

'False

False

O30004455O12904575

Begin VB.CommandButton cmdenviarCaption = "&ENVIAR"BeginProperty Font

ñame =charset —weight =size =underline =italic =strikethrough =

EndPropertyHeight = 495Left '= 360

"MS Sans Serif"O7008.25OOO

FalseFalseFalse

204

Page 202: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

Tablndex = 10Top = 1440Width = 1575

EndBegin VB.Frame Frame4

Caption = "Instrucciones"BeginProperty Font

ñame = "MS Sans Serif"charset = 1weight ~ 700size - 8,25underline = O 'Falseitalic = O 'Falsastrikethrough = O 'False

EndPropertyForeColor = SHOOFFOOOOsHeight = 975Left = 120Tablndex - 8Top « 240Width - 1935Begin VB.Label LabelS

Caption ~ "Ingresar tanto dirección como dato enformato HEX"

Height = 615Left = 120Tablndex = 9Top = 240Width = 1695

EndEndBegin VB . CornmandButton cmdcerrar

Caption = "&CERRAR"BeginProperty Font

ñame = "MS Sans Serif"charset = 1weight = 700size = 8.25underline = O 'Falseitalic = O 'Falsestrikethrough = O 'False

EndPropertyHeight = 495Left = 360Tablndex = 7Top = 2160Width = 1575

EndBegin VB.Frame Frame2

Caption = "Escritura"BeginProperty Font

ñame = "MS Sans Serif"charset = 1weight = 700

205

Page 203: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

sizeunderlineitalicstrikethrough

EndPropertyForeColor -HeightLeftTablndex =Top -WidthBegin VB.TextBox

.25FalseFalseFalse

6HOOFFQQOQ&22952280O2402055

txtCambioBeginProperty Font

ñamecharsetweightsizeunderlineitalicstrikethrough

EndPropertyHeightLeftMaxLength =TablndexTopWidth

"MS Sans Serif"17009.75O 'FalseO 'FalseO 'False

375108026960735

EndBegin VB.TextBox txtdirescri

BeginProperty Fontñamecharsetweightsizeunderlineitalicstrikethrough

EndPropertyHeight =LeftMaxLength =TablndexTopWidth

EndBegin VB.Label Labell

Alignment =BorderStyle =BeginProperty Font

ñamecharsetweightsizeunderline

"MS Sans Serif"17009.75O . 'FalseO 'FalseO 'False

375108041360735

2 'Center1 'Fixed Single

"MS Sans Serif17009.75O 'False

206

Page 204: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

italicstrikethrough

EndPropertyHeightLeftTablndex =Top =Width

EndBegin VB.Label Label2

Caption =BeginProperty Font

ñamecharsetweightsizeunderlineitalicstrikethrough

EndPropertyHeightLeft -Tablndex ~Top =Width

EndBegin VB.Label LabelS

Caption —BeginProperty Font

ñamecharsetweightsizeunderlineitalicstrikethrough

EndPropertyHeightLeftTablndex «Top -Width «

EndBegin VB.Label Label4

Caption =BeginProperty Font

ñamecharsetweightsizeunderlineitalicstrikethrough

EndProperty

O 'FalseO 'False

375108051560735

"Dirección de cambio"

"MS Sans Serif"17008.25O 'FalseO 'FalseO 'False

3751204360975

"Nuevo dato"

"MS Sans Serif"1700

: 8.25

O 'FalseO 'FalseO False

3751203960975

'Dato cambiado"

"MS Sans Serif"17008.25O 'FalseO 'FalseO 'False

2Ü7

Page 205: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

HeightLeftTablndexTopWidth

37512021560855

EndEnd

EndAttribute VB_Name = "frmEscrituraP"Attribute VB^Creatable - FalseAttribute VB^Exposed = FalsePrívate Sub crndcerrar__Click ()

Unload MeEnd Sub

Prívate Sub cmdenviar_Click()If txtCambio = "" Then

Exit SubElse

dirl - txtCambio.Textdirasc " Asc(dirl)If dirasc >= 48 And dirasc <= 57 Then

GoTo ingreElself dirasc >= 65 And dirasc <= 70 Then

GoTo ingreElself dirasc >= 97 And dirasc <= 102 Then

GoTo ingreElse

MsgBox "Solo formato HEXADECIMAL", 48, "Formato"Exit Sub

End Ifingre

vcontroll = "SH" 5 dirlvcontrol = Val(vcontroll)send ~ Enviar(direnv, vcontrol)muestradec = Medir(direnv, medida)muestrahex = Hex(muestradec)If muestradec >= O And muestradec <= 15 Then

Labell.Caption = "O" £ muestrahexElse

Labell.Caption = muestrahexEnd If

End IfEnd Sub

Prívate Sub Form_Activate()Width - Screen.Width * 0.38Height » Screen.Height * 0.34Left = (Screen.Width - Width) / 2Top = (Screen.Height - Height) / 4

End Sub

1'Establece la anchura.' 'Establece la altura.

1'Centrado horizontal.''Centrado vertical.

Prívate Sub txtCambio^KeyPress(KeyAscii As Integer)If KeyAscii = 13 Then

2Ü8

Page 206: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

If txtCambio = "" ThenExit Sub

Elsedirl = txtCambio.Textdirasc = Asc{dirl)If dirasc >= 48 And dirasc <= 57 Then

GoTo ingreElself dirasc >= 65 And dirasc <= 70 Then

GoTo ingreElself dirasc >= 97 And dirasc <= 102 Then

GoTo ingreElse

MsgBox "Solo formato HEXADECIMAL", 48, "Formato1Exit Sub

End Ifingre:

vcontroll ~ "£H" £ dirlvcontrol = Val(vcontroll)send = Enviar(direnv, vcontrol)muestradec = Medir(direnv, medida)muestrahex ~ Hex(muestradec)If muestradec >= O And muestradec <= 15 Then

Labell.Caption = "O" £ muestrahexElse

Labell.Caption = muestrahexEnd If

End IfEnd If

End Sub

Prívate Sub txtdirescri_KeyPress(KeyAscii As Integer)If KeyAscii = 13 Then

If txtdirescri.Text = "" ThenExit Sub

Elsedirl = txtdirescri.Textdirasc = Asc(dirl).If dirasc >= 48 And dirasc <= 57 Then

GoTo ingreElself dirasc >- 65 And dirasc <= 70 Then

GoTo ingreElself dirasc >= 97 And dirasc <= 102 Then

GoTo ingreElse

MsgBox "Solo formato HEXADECIMAL", 48, "Formato"Exit Sub

End Ifingre:

dirección = "&H" 5 dirldirenv = Val(dirección)txtCambio.SetFocus

End IfEnd If

209

Page 207: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

End Sub

FORMULARIO PRESENTACIÓN

Begin VB. Forra frmPresent

BackColorBorderStyleCaptionClientHeightClientLeftClIentTopClientWidthHeightIcónLeftLinkTopicMaxButtonMinButtonScaleHeightScaleWidthTopWidth

&HOOCQCOCO&1 'FIxed Single"Presentación"35551560'219059853915"PRESENT.frx":00001500"Forml"O Tais eO Tais e3555598518906105

Begin Threed.SSPanel SSPanellHeightLeftTablndexTopWidthversiónextentxextentystockprops

captionf orecolorBeginProperty

ñamecharsetweightsiseunderlineitalicstrikethroi:

169524003605415655369551299015$" PRESENT. frx": 04 42255

font {FB8FQ823-0164-101B-84ED-08Q02B2EC713— "Algerian"— i

40014.250 Talse0 Talse

igh = 0 ' FalseEndPropertybevelinnerfloodcolorfontSd

22554

EndBegin Threed.SSCommand cmdSalir

Height = 495Left = 3960Tablndex = 2

210

Page 208: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

TopWidthversión

_extenty =_stockprops =caption —forecolor =BeginProperty f ont

ñamecharsetweightsiseunderlineitalicstrikethrough

EndPropertyfontSd =

2520169565536299087378"&Salir"8388736FB8F0823-0164-101B-84ED-08002B2EC713}

"Arial"170012O 'FalseO 'FalseO 'False

EndBegin Threed.SSCommand cmdContinuar

HeightLeftTablndexTopWidthversiónextentxextentystockprops

captionforecolorBeginProperty

ñamecharsetweightsizeunderlineitalicstrikethroi

495360

= 12520169565536299087378"¿Continuar"8388736

font {FB8FQ823-0164-101B-84ED-08002B2EC713"Arial"17001200

igh - 0

FalseFalseFalse

EndPropertyfontSd = 4

EndEndAttribute VB_Name = "frmPresent1Attribute VB_Creatable ~ FalseAttribute VB_Exposed = FalsePrívate Sub cmdContinuar_Click{;

Mdilnicio.Visible = TrueUnload Me

End Sub

Private Sub cmdSalir_Click()End

End Sub

211

Page 209: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

Prívate Sub Form^ActivateWidth = Screen.Wicith 0.5Height = Screen. Height * 0.4Left = (Screen.Wicith - Width) / 2Top = (Screen. Height - Height) / 2

Encl Sub

''Establece la anchura''Establece la altura.''Centrado horizontal.1'Centrado vertical.

FORMULARIO ACERCA DE

Begin VB.Form frraacercade

BackColorBorderStyleCaptionClientHeightClientLeftClientTopClientWidthHeightIcónLeftLinkTopicMaxButtonMDIChildMinButtonScaleHeightScaleWidthTopWidth

SHOOCOCOCOS1 'Fixed Single"ACERCA DE"59402595151561806300"ACERCADE.f rx":00002535"Forml"O 'False-1 'TrueO 'False5940618012156300

Begin Threed.SSPanel SSPanellHeightLeftTablndex _ =Top =Width_version =_extentx =^extenty =_stockprops =caption =forecolor =BeginProperty font

ñamecharsetweightsizeunderlineitalicstrikethrough

EndProperty

2055360O3605175655369128362515$"ACERCADE.frx":044216711680FB8FQ823-0164~1Q1B~84ED~Q8002B2EC713

= "Algerian"170012OOO

FalseFalseFalse

212

Page 210: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

bevelouter =bevelinner =alignment =

EndBegin VB.Label Labell

BorderStyleCaption =ForeColor =HeightLeftTablndex =TopWidth

EndBegin VB.Label Label2

BackColor =BorderStyle =Caption =BeginProperty Font

1 'Fixed Single$"ACERCADE.frK":05 4A6HOOFFOOOO&495360345605175

SHQOCOCOCOS1 'Fixed Single$"ACERCADE.frx":05C6

ñame =charset =weight =size =underline =italic =strikethrough -

EndPropertyForeColor =HeightLeftTablndex =Top =Width

EndBegin Threed. SSCoramand

HeightLeftTab Index ~TopVJidthversión =extentx =extenty =stockprops =

caption =BeginProperty font {

ñame =charset =weight =size =underline =italic =strikethrough =

EndProperty

"MS Sans Serif"17009.750 'False0 'False0 'False

SHOOFFOOOO&1695360226405175

SSCommandl495216015400145565536256687378"&ACEPTAR"FB8 FO 823-01 64-1 01B-84ED-0 8 002B2EC7 13

"MS Sans Serif"17008.250 'False0 'False0 'False

213

Page 211: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

fontSd = 4End

EndAttribute VB_Name = "frmacercade"Attribute VB_Creatable = FalseAttribute VB_Exposed = FalsePrívate Sub Form_Load()

Width = Screen.Width * 0.5Height = Screen.Height * 0.7Left = (Screen.Width - Width) / 2Top = (Screen.Height - Height) / 4

End Sub

1'Establece la anchura''Establece la altura.1'Centrado horizontal.''Centrado vertical.

Prívate Sub SSCommandl_ClickUnload Me

End Sub

FORMULARIO SISTEMA

Begin VB.Form frraCallDlls

BorderStyle =Caption =ClientHeight =ClientLeftClientTopClientWidthClipControls =EnabledBeginProperty Font

ñame :

charset =weight =size ;

underline ;

italic =strikethrough =

EndPropertyHeightIcón =LeftLinkTopic =MaxButton =MDIChildMinButton =ScaleHeightScaleWidthShowInTaskbar =Top =WidthBegin VB.PictureBox

AutoRedraw -AutoSize -

3 'Fixed Dialog"SISTEMA OPERATIVO"2460402036604935O 'FalseO 'False

"MS Sans Serif"17008.25O 'FalseO 'FalseO 'False

2820"SISTEMA.frx":00003960"Forml"O 'False-1 'TrueO 'False24604935O 'False33605055picSprite

-1 'True-1 'True

214

Page 212: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

HeightLeftPictureScaleHeightScaleModeScaleWidthTablndexTopVisibleWidth .

540960"SISTEMA.frx":OOOC323 'Pixel32 .231920O 'False540

EndBegin VB .PictureBox picCopy

AutoRedrawBorderStyleHeightLeftScaleHeightScaleModeScaleWidthTablndexTopVisibleWidth

-1 'TrueO 'None4953480333 'Pixel33221920O495

False

EndBegin VB.PictureBox picMask

AutoRedraw =AutoSize =HeightLeftPicture =ScaleHeight =ScaleMode =ScaleWidthTablndexTopVisibleWidth

EndBegin VB.Frame fralnfo

Caption =ClipControls =HeightIndex ~LeftTablndex =Top =Width

EndBegin VB.Timer tmrBounce

-1 'True-1 'True540240"SISTEMA.frx1323 'Pixel32211920O 'False540

"InstruccionesO 'False1695O120O1204455

0316

EnabledIntervalLeftTop

O140801920

False

End

215

Page 213: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

Begin VB.FrameCaptionClipControlsHeightIndexLeftTablndexTopVisibleWidthBegin VB.Label

CaptionHeightIndexLeftTablndexTopWidth

EndBegin VB.Label

AutoSizeCaptionHeightIndexLeftTablndexTopWidth

EndBegin VB.Label

AutoSizeCaptionHeightIndexLeftTablndexTopWidth

EndBegin VB.Label

AutoSizeCaptionHeightIndexLeftTablndexTopWidth

EndEndBegin VB.Frame

CaptionClipControlsHeight

fralnfo= "Información general"= O 'False

1695412012120O 'False4455

Ibllnfo"Teclado:"435141201610804230

Ibllnfo

Ibllnfo

Ibllnfo

fralnfo

-1 'True"Lenguaje:1951312015840855

-1 'True"Mouse:"1951212014360630

-1 'True"Red:"1951112013600420

"Sistema operativo"O 'False1695

216

Page 214: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

IndexLeftTablndexTopVisibleVJidth

11201120O4455

False

Begin VB.Label IbllnfoAutoSizeCaption =HeightIndex =LeftTablndexTopWidth

EndBegin VB.Label Ibllnfo

AutoSize =Caption =HeightIndex =LeftTablndex =TopWidth

EndBegin VB.Label Ibllnfo

AutoSize =Caption =Height =Index =LeftTablndex =TopWidth

EndEndBegin VB.Frame fralnfo

Caption =ClipControls =Heightíndex =LeftTablndexTopVisible =Width

-1 'True11 (Modo mejorado) "195

36076001500

-1 'True"Disk Operating System 5.0"195424039602265

-1 'True"Microsoft Windows Versión 3.1"195224023602640

= "Procesador, memoria y recursos del sistema"O 'False1695

= 21204120O 'False4455

Begin VB.Timer tmrSysInfoInterval = 1Left = 3840Top = 240

EndBegin VB.Shape shpFrame

Height = 255

217

Page 215: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

Index = 1Left = 1080Top = 960Width = 3135

EndBegin VB.Shape shpBar

BackStyle = 1 'OpaqueDrawMode = 7 'InvertHeight = 255Index ~ 1Left = 1080Top = 960Width = 1695

EndBegin VB.Shape shpFrame

Height = 255Index = 2Left = 1080Top = 1320Width = 3135

EndBegin VB.Shape shpBar

BackStyleDrawModeHeightíndexLeftTopWidth

EndBegin VB.Label

AlignmentCaptionHeightíndexLeftTablndexTopWidth

EndBegin VB.Label

AlignmentCaptionHeightIndexLeftTablndexTopWidth

EndBegin VB.Label IblR

Caption = "GDI1Height = 255índex = 1

= 1 'Opaque= 7 'Invert

255= 2

108013201695

IblResInfo2 'Center

= "usuario"25-5

, , Q

10802013203135

IblResInfo2 'Center"gdi"255

1080199603135

218

Page 216: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

LeftTablndexTopWidth

EndBegin VB.Label

CaptionHeightIndexLeftTablndexTopWidth

EndBegin VB.Label

AutoSizeCaptionHeightIndexLeftTablndexTopWidth

EndBegin VB.Label

AutoSizeCaptionHeightíndexLeftTablndexTopWidth

EndEnd

24018960855

IblR= "Usuario"

255= 2

240171320855

Ibllnfo= -1 'True= "CPU: 486 (con procesador matemático)

195"~" *J

24063602940

Ibllnfo-1 'True

= "Memoria libre"1956240U

6001095

Begin VB . Frame fralnfoCaptionClipControlsHeightIndexLeftTablndexTopVisibleWidth

"Video"0 'False1695312081200 'False4425

Begin VB.Label IbllnfoAutoSize = -1 'TrueCaption = "Colores: 'Height - 195índex = 10Left = 240Tablndex = 11Top = 1320Width = 600

219

Page 217: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

EndBegin VB.Label Ibllnfo

AutoSize = -1 'TrueCaption = "Resolución"Height = 195Index = 9Left = 240Tablndex = 10Top = 960Width = 915

EndBegin VB.Label Ibllnfo

Caption = "Controlador de video:"Height = 495Index = 8Left « 240Tablndex = 9Top = 360Width = 3975

EndEnd

EndAttribute VBJtfame = "frmCallDlls"Attribute VB_Creatable = FalseAttribute VB_Exposed = FalseOption ExplicitDirá dx As Integer, dy As Integer, X As Integer, Y As IntegerDim PicWidth As Integer, PicHeight As IntegerDim RightEdge As Integer, BottomEdge As Integer

Prívate Sub cmdBitBlt_Click()Dim t As Integer

If tmrBounce.Enabled ThentmrBounce.Enabled = FalseRefresh

ElseScaleMode = PIXELSdx = 15dy = 15tmrBounce.Enabled = TruePicWidth = picSprite.ScaleWidthPicHeight ~ picSprite.ScaleHeightpicCopy. V/idth = PicWidthpicCopy.Height = PicHeightt = BitBlt(picCopy.hDC, O, O, PicWidth, PicHeight, hDC, X, Y,

SRCCOPY)End If

End Sub

1 Comienza la compilación condicional#If Win32 Then 'versión de 32 bits

Prívate Sub FillSysInfo()Dim FreeSpace As Currency, FreeBlock As Currency, tempfrainfo(4).Visible = False

22Ü

Page 218: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

1 Información acerca del sistema operativoDim YourSystem As SystemlnfoGetSystemlnfo YourSystem

If WindowsVersion(} = 4 ThenIblinfo (2) .Caption = "Microsoft Windows 95"lblinfo(3).Caption = ""Iblinfo(4).Caption = ""

ElseIblinfo (2) .Caption = "Microsoft Windows NT"Iblinfo(3).Caption = ""Iblinfo(4).Caption = ""

End If

1 Información acerca de la CPUIblinfo(5).Caption = "CPU: " £ YourSystem.dwProcessorType

1 Información de videoIblinfo(8).Visible = FalseIblinfo (9) .Caption = "Resolución: " & Screen.Width \X & " x " & Screen.Height \Y

Iblinfo(10}.Caption = "Colores: " & DeviceColors((hDC)}

1 Información generalIf GetSystemMetrics(SM_MOUSEPRESENT) Then

Iblinfo(11).Caption = "Mouse: " &GetSysIni("boot.description", "mouse.drv")

ElseIblinfo (11) .Caption = "Sin mouse"

End IfIblinfo(12) .Caption = "Red: " £ GetSysIni("boot.description" ,

"network.drv")Iblinfo(13).Caption = "Lenguaje: " &

GetSysIni ( "boot.description" , "language.dll")Iblinfo(14).Caption = "Teclado: " 5

GetSysIni("boot.description", "keyboard.typ")End Sub

#Else 'Versión de 16 bits

Prívate Sub FillSysInfo()Dim FreeSpace As Currency, FreeBlock As Currency, tempDim WinFlags As Long

1 Información acerca del sistema operativoWinFlags = GetWinFlags()

Iblinfo (2) .Caption = "Microsoft Windows Versión " fiWindowsVersion()

If WinFlags And WF_ENHANCED ThenIblinfo (3) .Caption = "(Modo mejorado}"

ElseIblinfo(3).Caption = "(Modo estándar)"

22 í

Page 219: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

End If

Iblinfo(4).Caption = "Disk Operating System " £ DosVersion()

'' Información acerca de la CPUIf WinFlags And WF_CPU486 ThenIblinfo(5).Caption = "CPU: 486"

Elself WinFlags And WF_CPU386 ThenIblinfo(5).Caption = "CPU: 386"

Elself WinFlags And WF__CPU286 ThenIblinfo(5).Caption = "CPU: 286"

End IfIf WinFlags And WF_80x87 Then

Iblinfo{5}.Caption = Iblinfo(5).Caption £ " (con coprocesadormatemático)"

End If

1 Información de videoIblinfo(8).Caption = "Controlador de video: " £

GetSysIni{"boot.description", "display.drv")Iblinfo(9}.Caption = "Resolución: " £ Screen.Width \X £ " x " & Screen.Height \Y

Iblinfo(10).Caption - "Colores: " fi DeviceColors((hDC))

1 Información generalIf GetSystemMetrics(SM_MOUSEPRESENT) ThenIblinfo(11).Caption = "Mouse: " 6

GetSysIni("boot.description", "mouse.drv")Else

Iblinfo(11).Caption = "Sin mouse"End IfIblinfo(12).Caption = "Red: " £ GetSysIni("boot.description",

"network.drv")Iblinfo(13).Caption = "Lenguaje: " £

GetSysIni{"boot.description", "language.dll")lblinfo(14) .Caption = "Teclado: " £ GetSysIni{"boot.description" ,

"keyboard.typ")End Sub

ÍÍEnd If'Fin de la compilación condicional

Prívate Sub Commandl_Click{)Unload Me

End Sub

' Comenzar compilación condicional

#If Win32 Then ' Versión de 32 bitsPrívate Sub Form_Load(}

Width = Screen.Width * 0.4 ''Establece la anchura.Height = Screen.Height ~ 0.25 ''Establece la altura.Left = (Screen.Width - Width) / 6 ''Centrado horizontal.Top = (Screen.Height - Height) / 4 ''Centrado vertical.

222

Page 220: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

Show 'Asegurar que este formulario tenga un' controlador, etc.

1 Load frmMenus'Icón = imglcon(1).PictureFillSysInfo'frmMenus.mnuSysInfo(3) .Visible = False

End Sub

#Else ' Versión de 16 bits

Private Sub Form_Load()Width = Screen.Width * 0.4 ''Establece la anchura.Height = Screen.Height * 0.25 ''Establece la altura.Left = [Screen.Width - Width) / 1.02 ''Centrado horizontalTop = (Screen.Height - Height} / 1.33 ''Centrado vertical.

Show ' Asegurar que este formulario tiene un' controlador, etc.

'Load frmMenus'Icón = imglcon(1).PictureFillSysInfo

End Sub#End If1 fin de compilación condicional

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)End ~

End Sub

Private Sub Form_Resize()Dim t As Integer, hDC As Integer

If WindowState = MINIMIZED ThenRightEdge = Screen.Width \XBottomEdge = Screen.Height \YIf tmrBounce.Enabled Then

hDC = GetDC(GetDesktopWindow())t = BitBlt(picCopy.hDC, O, O, PicWidth, PicHeight, hDC, X, Y,

SRCCOPY)ReleaseDC GetDesktopWindow(), hDC

End IfElse

ScaleMode = PIXELSRightEdge = ScaleWidthBottomEdge = ScaleHeightIf tmrBounce.Enabled Then

hDC = GetDC[GetDesktopWindow())t = BitBlt (hDC, X, Y, PicWidth, PicHeight, picCopy.hDC, 0., O,

SRCCOPY)ReleaseDC GetDesktopWindow(), hDC

End If

End IfEnd Sub

223

Page 221: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

Prívate Sub ImgIcon_MouseDown(Index As Integer, Button As Integer, ShiftAs Integer, X As Single, Y As Single)Dim IX As Integer, IY As Integer1hMenu y hSubMenu deben ser extensos para poder ejecutarse en 32 bitsDim hMenu As Long, hSubMenu As Long, R As IntegerDim menRect As Rect

If índex = 2 ThenFillSysInfo

End IfEnd Sub

Private Sub tmrBounce^Timer()'Lo siguiente es sólo texto estático para mejorar la velocidadStatic NewX As Integer, NewY As Integer, temp As IntegerStatic hDC As Integer, releaseit As Integer

'Calcular la nueva posiciónScaleMode = PIXELStemp = X + dxIf temp + PicWidth \ > RightEdge Then

dx = -Abs(dx)Elself temp < O Then

dx = Abs(dx)End If

NewX = X + dx

temp = Y -i- dyIf temp + PicHeight \ > BottomEdge Then

dy = -Abs(dy)Elself temp < O Then

dy = Abs(dy)End If

NewY = Y -i- dy

If WindowState = MINIMIZED ThenhDC = GetDC(GetDesktopWindow())releaseit = True

ElsehDC = Me.hDCreleaseit = False

End If

'Ahora realiza una llamada "transparente" a BitBlt:'1 Copia la parte posterior del antiguo segundo plano sobre la antigua'posición del gráfico12 Copia el segundo plano a donde va a ir el gráfico'3 Dibuja la máscara14 Dibuja el gráfico

temp = BitBlt (hDC, X, Y, PicWidth, PicHeight, picCopy.hDC, O, O,SRCCOPY)

224

Page 222: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

temp = BitBlt(picCopy.hDC, O, O, PicWidth, PicHeight, hDC, NewX,NewY, SRCCOPY)

temp = BitBlt(hDC, NewX, NewY, PicWidth, PicHeight, picMask-hDC, O,O, SRCAND)

temp = BitBlt(hDC, NewX, NewY, PicWidth, PicHeight, picSprite.hDC, O,O, SRCINVERT)

X = NewXY = NewYIf releaseit Then ReleaseDC GetDesktopWindow() , hDC

End Sub

'Comenzar la compilación condicional

#If Win32 Then 'Versión de 32 bits

Prívate Sub tmrSysInfo__Timer {)If frainfo(RES_INFO).Visible Then

Dim intX As IntegerFor intX - 1 To 2

IblResInfo(intX).Visible = FalseshpBar(intX).Visible = FalseshpFrame(intX).Visible = False

Next intXEnd If

IblR(l).Visible = FalselblR(2).Visible = False

Dim YourMemory As MemoryStatusGlobalMemorystatus YourMemorylblinfo(6).Caption = "Memoria libre: " 5 YourMemory.dwMemoryLoad

£ "%"

End Sub

#Else 'Versión de 16 bits

Private Sub tmrSysInfo^Timer()Static Res(l To 2) As Integer, OldFreeSpace As CurrencyDirn i As Integer, newVal As Integer, temp, FreeSpace As Currency

' Actualizar la información de los recursos si están visibles.If frainfo(RESJtNFO).Visible Then

For i = 1 To 2newVal = GetFreesystemResources(i)' Reduce el parpadeo actualizando la barra de gráficos y' la pantalla de porcentaje sólo si han cambiado

realmente.If newVal <> Res(i) Then

Res(i) = newValIblResInfo(i).Caption = Res(i) & "%"shpBar(i)-Width = shpFrame(i).Width * Res(i) \0

End IfNext

225

Page 223: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

CÓDIGO FUENTE

temp = GetFreeSpace(0)If Sgn(temp) = ~1 Then

' El valor de retorno de GetFreeSpace es un largo sinsigno, asi que

1 se tratar el caso cuando el bit alto está activado(complemento a dos).

FreeSpace = CLng(temp + 1&) Xor &HFFFFElse

FreeSpace = tempEnd IfIf FreeSpace O OldFreeSpace Then

Iblinfo(6).Caption = "Memoria libre: " &Format(FreeSpace, "#,# \b\y\t\e\s")

OldFreeSpace = FreeSpaceEnd If

End IfEnd Sub

#End If1 fin de la compilación condicional

MODULO DE DECLARACIONES

Attribute VB_Name - "Módulol"

Dim medida, vcontrol As Integer

1 Declaraciones globalesGlobal bits As StringGlobal a, dirlec, direnv, ini, fin, send, z As IntegerGlobal clave As StringGlobal Nmuestras As Integer

'Declaración de la DLL que lee el puertoDeclare Function Medir Lib "Ioport.dll" (ByVal PUERTOE As Integer, ByValmedida As Integer) As Integer

' Declaración de la DLL que escribe en el puertoDeclare Function Enviar Lib "Ioport.dll" (ByVal PUERTOS As Integer, ByValvcontrol As Integer) As Integer

Public Function conversión(lee)lecO = Int(lee / 2)binO = (lee - 2 * lecO)lecl = IntílecO / 2)binl = (lecO - 2 * lecl)Iec2 = Int(lecl / 2)bin2 = (lecl - 2 * Iec2)Iec3 = Int[Iec2 / 2)bin3 = (Iec2 - 2 * Iec3)Iec4 = Int(lec3 / 2)

226

Page 224: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

^T^a^l-Amn-r^

IBM PC FAMILY BIOS COMPARISON

Tnhlc 4: Luw-mcmory rcscrvcd addrcssex.

00000003000040000400OO-lorQ040900410-

- 002FF-003FF-00<iePQ04ÜG

-OO-IO i*0040F004 1 1

00-11200-113- 00-11400-11ÍÍ-OCM16

00417

00410

00*119004 I A-004 IB00-11C-00-Í1D00-1IE-00-13D00-13 8-004-1800449-004GG00467-004GA

0046B004GC-00'16F

0047000-171

00472-00473

Syslom rnlerrupl veclorsSyslcrn inlertupl veclois. powor-on and bootslrap slack áreaBIOS dala áreaCOMI: lo COM4: I/O porl base addressss, one word each.,LPT 1; lo LPT4:' I/O port base addresses, one woíd each.FleservedEquiprnont llar/ word, rnlurnod in AX rogisler by INT 11.

Blls MoaningM-IG Mumbar olpíínlotsal!achod(0lo3, LPTs)

13 Inlornnl nindom inslollnd (PC CVT) or soiinl prinlor inslalled (PCjr)!? Joynliclunslnllod

9 • 11 Numbnr oí COM dovices (O lo 4, COMs)0 Unusod (PCjr only; DMA chíp presenl on syslem)

G - 7 Number oí tJ¡skdrrvos(if bilOis 1; 00= I. O I =2, IO and 11 no[ used)'i ÍJ Iniliíil video rnode

00 Ununcd01 40 x 25 BWur.ing color caíd01 £10 x 25 DWuGing color card11 Monocluomo card

2-3 Unusod, or. in Iho PC, oíd PC XT. nnd PCjr, planar HAM sizc; 00-16K bylos. OI-32K byle:M'-G'IKbylos

1 Malli coprocessor innlalled (unused on PCjr and PC CVT)IPLdisklnslollod.O

riRseí vod, excGpI ¡n PC CV \n solí-tost •Memory SÍ7G in K byles (O lo G40)

iínlus

Knybonrd ConlrolBits Monning

7 Insmt lockerJG5432I

O

Nuín LocldockodSaol! Lock JockocJAll Imy pressiidConliol kc¡y prcsr.cdLeílshiíi kcy ptcissedHíght shil! koy pressed

Kayboatd ConlrolBÍIM Meanlng

7 Inserí Itpy piessr-d6 Caps Loclí kay prcssed5 Mum Lock k¡3y prcsseri•1 Scroll Lock key prossed3 Pauselocked2 Syslsm roquesí key pressed1 Lell All keyprcsijedO Lafl Conlrol key prossod

Allómale koypad enlryKeybonrd buíler heaii poínlñrKfiybonrd bulfer lail painler32-bylo koyboarrí bullorDisk drívo dala áreaVideo-conlroldnlaoian Ino.sorvod, excopl PS/2 othors. 00-172-ReservadTínier counlorTimef ovcfllowBroslíKeysIaleResol Uno.

Bus Monnlng1234 Bypassmemorylesl4321 Preserve memory (PS/2 olhor only)5670 Syslem .suspended (PC CVt only)9A8C Munulaclunng lesl mode (PC CVT only)ABCD System POST loop mode (PC CVT oniy)

'potnler lo rosel code upon syslem rusel when mornory Is preservad.

Page 225: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

irii 'a¿¿a&iJJ iBijj ^

IBM PC FAMILY BiOS COMPAR1SON

00-17A 00-177 \ disk drivo data nroa00470-00-170 LPIl: loLP74:' timo-oul valúas. 1 byleeocli.(XM7C-0047F COM1:(oCOM4:ltme-outvolU9sl ! byte eoch.00-580 -00401 Koyboard bullar slart offsol poinlor00-102 -00-103 Keyboard buller end olfsel pointer00-104 OO-líjA Video control data área 200-1013 • 00*195 Disk diíve/hard disk drivg conlrol-dala área

(XT/2. AT, XT/28G, and all PS/2s)00-190 Koyboaid modo stale and [ypn llags00497 KeyboíirdLEDIIags

00400 -00-199 Oflsot address lo usor waU completo llag004DA- 00-100 Segmenl addiess lo user wail complete llag00*190• 00-190 User wail counl ín microseconds, lowword00<19E 0019F Usor v/ail counl in rns. high word

004AO Waí! nclíve llagBits Meaning

7 Wait-timo elapsed and poslod llag6-1 Ftesorved

O INT l5.AH«86,WaiI,hasoccurred.

OCMA!-004Ar Rusoived004AO 00-1AB Poinler lo video paramelers and avenidas00-1AC-00-1EF Reservod00-1FO -00-1FF Applications proyram communicalion aiea

500 Pfinl scroen status llag504 Singls-rifive mode status byte

00510-00521 . Used by BASICn0522-OOG2F Usod by DOS Ior d¡sk ¡niliaüzalionOOG30-00533 Used by MODE command00534-005FF Reserved for DOS

PS/2 syslems don'l supporl LPT-1:.

Tnlilc 5: Hardware tnfcrmpt rcquc.it Unes.

HardwnreInterruplrtiqunal lino

NMIIRO 0IRO 1IRO 2IRO 3IRO 4IRQ 5IRQ Gino 7IRO . 8 '.„ino gIRO J O 'inonIRO 12IRO 13IF1Q14IRO 15

PCaiidPC/XTand PS/2 Model30

SQG notoslimorKoybomdResotvedSen'otporl 2Snrial porl 1Hard disk (nol PC)Dlsk conlrolParallol porl 1

PCJr

Keyboard ¡nierruptTimor clockinlerruplI/O channo! (reservad)I/O channelStirial poit 2Modernoi r.orial porl 1Display vertical jolraceDisk)/Ochannol(paral¡olprinler)

PC CVT

Soe notesTimor oulput 0Koyboard (buller full)RoservedSerial port 2Modem or serial port 1ReservedDisk conlrolParallelport 1

PCATendXT/266

Parity orroisTimer oulput 0Koyboard (bulfer full)Cascado lorO lo 15Serial porl 2Serial porl 1Parallglpoil2Disk conlrolParallol porl 1Real'limeclocKRediroclod to 1RQ2ReservedReservadReservodCoprocossorHard disk controllorRoserved

PS/2Mod«!s50,60,80

Soo nolosTímer output 0Kf3yboatd(bu(lQr full)Cascade lorO lo 15Serial port 2Serial port 1RaservedDisk controlParallolporl 1Roal-limeclockRedirectod lo 1RO2ResorvedRosofvedMouseCoprocossorHard disk controllerResorved

" Inletrupls O lo 15 aro not ovailablo on tho PC, PC XT, PCjr, PC CVT. and PS/2 Model 30;

Ñolas:PC, PC XI, and PS/2 Modol 30 use NMI lor paríty errors and numeric coprocessor interrupl.

PC CVT usos NMI lor I/O channel check, disk powor-on request, keyboard, toal-tirne dock alarm, ot syslom suspend."

PS/2 Modols 50. GO, and 00 use NMI ior parily srrors, I/O channel chock, walchdog limer, and arbIUator limo-oul.

IRO 3 and 4 (oxcepl In tho PC CVT) may be usad by SDLC or bisynchronous communicalion cafds inslead oí serial porls.

IHM

Page 226: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

ESCUELA POLITÉCNICA NACIONALFACULTAD DE INGENIERÍA ELÉCTRICA PRACTICAS DE INSTRUMENTACIÓN INDUSTRIAL

colocadas por el procesador.

T/C, "Terminal Count'. Esta línea genera un pulso cuando se termina la cuenta decualquier transferencia DMA. La señal es activa en alto.

Pórticos del PC

A pesar de que el procesador 8088 puede direccionar hasta 64K puertos de entrada/salida, enel PC se utilizan únicamente los 10 bits menos significativos'del bus de direcciones paradireccionar a los dispositivos de entrada/salida, por lo tanto, se pueden direccionar 1024 puertos.De éstos, las siguientes direcciones ya se encuentran utilizadas:

OOOh-OOFh Controlador DMA 8237A-5.020h-021h Controlador interrupciones 8259A.040h-043h Temporizadores 8253-5.060h-063h Puertos teclado, cassette y parlante 8255A-5.080h-083h Registros página DMA.OAOh-OAFh Registro máscaras NM!. . ' - - .OCOh-OEFh Reservadas. / • " ' ,..—.?1FOh-1F8h Disco duro.200h-20Fh Adaptador juegos (solo 200 usada). , .'... .->210h-217h Unidad de expansión. ' •'278h-27Fh Adaptador paralelo secundario. . _ _ ^ "'2F8h-2FFh Adaptador asincrono secundario. • . •r"'"', t •3QOh-31Fh Tarjeta prototipos. ''••-.:..:^-- •"320h-32Fh Disco duro.360h-36Fh Reservada.378h-37Fh Adaptador paralelo primario.380h-38Fh Adaptador monocromático y paralelo impresora.380h-3DFh Adaptador color y gráficos.3AOh-3AFh Comunicación binaria primaría.3BOh-3BFh Adaptador IBM MDA.3COh-3CFh Reservada.3DOh-3DFh - Adaptador IBM CGA.3FOh-3F7h Adaptador diskette. : '3F8h-3FFh Adaptador asincrono primario.790h-793h Cluster adapter 1.B90h-B93h Cluster adapter 2.1390-1393 Cluster adapter 3.2390-2393 Cluster adapter 4.*.

Quedando por tanto, alrededor de 700 direcciones disponibles para las tarjetas de extensiónadicionales.

V : . .

Se debe ¡ndicar'que, en el IBM PC, no se pueden definir puertos de entrada, en el conector paratarjetas de extensión, cuya dirección sea menor a 100h ya que para esas direcciones sedeshabilita el ingreso de datos por dicho conector, posibilitándose ingresos únicamente desdela tarjeta madre. Se debe aclarar que para puertos de salida no existe esta restricción, pero sedebe cuidar que la dirección no coincida con una dirección utilizada para no interferir cdn elnormal funcionamiento del equipo.

" ''••-"-.

Page 227: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

í N T E R F A S E P A R A PC

/V la hora cíe c o n s t r u i r unL\o electrónico podc-

JL JLmos encon t ra rnos con lad i f i r u l l a d (le no conocer el medioen el cunl funcionará, esto es partl-c u l a r m c n i e d i f í c i l si el medio esuna PC. Quizá la mayor dificultadcon la que nos encontraremos esque necesitamos conocer la topolo-gía de la PC.; y su funcionamientológico, l is to os, a veces,complicado dado el vertigi-noso avnnrc de la tecnolo-gía ap l i radn a las compu-ladoras ; por e l l o es tar alí l ia es i i u n c -Mipresa muycxigcnlc.

La evolución cíe las PC'ses muy r áp ida ; aparecie-ron por p r i m e r a ve/, alincreado dr la mano tic1BM. equipadas con el mi-croproccsador l u i d 8088,t e n í a n una capac idad de6'ÍKb de RAM y una u n i -dad de d i s q u e t t c deIf íOKb.

Hoy en d í a es comúncon ta r ron una computa-dora con 1 G M b de RAM,discos rígidos cíe 1.2G1) yun procesador 804860X2de doble clock corriendo aGGMH7,. Para alegría de los"e lec t romaniacos" ya estád i s p o n i b l e el nuevo Pen-t i u m o también l l amado80586, con el doble de po-tencia de cálculo y veloci-dad que el 80486DX2. Losc i rcui tos que describire-mos en este artículo tienenun interés tcórico-prácticopor lo cual también esta-rán en esta nota los pro-gramas básicos correspon-dientes para su manejo.

Tin cua lquier computa-dora personal (PC), la ca-pacidad de entrada-salidaes l i m i t a d a , para demos-t ra r lo bastan unos sim-ples ejemplos: sállela se-

rie, salida de impresora, mouse,joystick, y no posee muchas másalternativas.

S! en real idad queremos reali-zar nuestros montajes, se hacenecesario tener algo más que es-tas salidas. Para obtener algunasmás (1 a más de 200) hay que co-nectarlas al bus de expansión queposee la PC.

~sv.

IR04

ose

XO CHS07

a<

SOSSO-4BD3SOSSOIsoo-XOPOJ

CH FCDV

S«16

Conectar bus ISA XT.

-MCM-XO

CSLSCQ 1 S10)

IRO 111H

1SIRQ

DRO eDRQ S

DftO "7

eoeeoiosonSO12SO13BO1-3SOiS

Expansión del bus ISA para bus AT.

Los modelos comerciales de PCtienen diferentes tipos de bus, es-tos son: ISA EISA y MicroCanal;en estas no Las nos ocuparemosdel bus ISA y su expanclón para16 bits, conocido también comobus AT.

En el diseño original de la PC seestructuró un bus que admit ieraposibles expansiones futuras y que

estas no se limiten a tarje-tas ya pensadas.

Es asi como, no cono-ciendo las tecnologías ne-cesarias para poner undisco rígido dentro de unaPC, este surge dos añosdespués de la aparición dela primera PC.

lín la figura 1-sc descri-be el bus de una XT (ISA),cu él se pueden ver las ter-minales que conectan lastarjetas de expansión. Sepueden encontrar desde 5a 8 conectores de bus,iguales entre sí, pudténdoinsertarse tarjetas a cual-quiera de éstos. En la figu-ra 2 se puede ver la ex-pansión del bus AT, en lacual están los 8 bits res-tantes para lograr el busAT de 16 bits y otras seña-les anexas.

La capacidad de direc-cionarnicnto es función di-recta del procesador, pero,en general, en las PC's eldireccionamlento está li-mi tado a 512 puertos(ports) muchos de los cua-les ya son usados por losperiféricos que se le conec-tan, ya sean discos rígi-dos, \mUladcs de diskeUe,etc.

Existen puertos libres eincluso puertos para tarje-tas de protot ipos: éstasusaremos en nuestrosproyectos.

En la figura 3 venios las

SABED EUC1RON1CAH' 10

Page 228: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

I N T E R r- A S E P A R A PC

recelónos Ubres queídem os • usa r paraic:;tros proyectos, lasmies son a l c a n z a d a scd ian te sof tware (pro-nmas específicos).

Descripción delas terminalesdel bus

¡SDO - SD7Lincas de dalos b id i -rcionnlc.s usadas paramsmitir dalos cnl re elicroprocesador, memo-i, puertos, discos, etc.dirección de los dníos

pende de las señales1 micro -IOR (leer) y -W ( escribir).

SAO - SA19Son sa l idas del bus

• direcciones dc,l micro provistasira t l i r ccc íonar diferentes parteslas [nrjcins conectadas al bus.

oseEs una salida de 14,31818 M]?.•ada i n t e r n a m e n t e para el reloj

l íempo real, inlciTases RS232,:. No t i e n e relación con la señalClOOK.

CWCKlis una salida de la f recuenciae usa el micro.

RESETER una sa l ida provis ta por elicanismo in te rno cié rcsct para>cíear a las tarjetas conectadasbus.

DALEEs una salida del controlador des (8288) usada para i n d i c a rn u d o Jas señales AQ - A19 sonrrectas. lista señal se usa paraicronizar !ns direcciones con los[os.

-8Í ~ií7S"7T~h— Ssóiafv

iB2F~7t->---flg¿-iií-"Wfí fcí^-.

~8¿B>"!

R3~-rf-'— 337&ÍV

. »gÉSfc«

--§¿8?"

-SÍI85"

-sisa;"-§¿9;-

-spa--sÍKb-

!

Di re ce

a

J-2C5 X

a

¿ao x

e

-8 X

-X6

J.6 X

J.6

J.Q X

e

e

NO ue«oo

KO USACX>

Xí-T PíISCí:» J. l_f Ti

hK> LÍSCOO

I OMXTOR MOI-KX^ROMO

NO I_ÍB«CX>

r-*or-arroR COÍ_OR

r4O USGDO

SERXE; i

'iones de Puertos externos.

-JORSalida sincronizada

con los da tos SDO -SD7 para su ingreso almicro. Sólo para puer-tos.

I/O Cfí CKEs una entrada para reportar, al

micro, una condición de error so-bre el bus que atañe a la Interfaseconectada al bus. Produce una In-ter rupción del micro del más altonivel (NM1).

-I/O CH ROYEs una salida usada para exten-

der el ciclo de espera del micro so-bre una tarjeta conectada al bus(Walt State 1,2.3,...).

IEQ2 - IRQ7Entradas de interrupción al mi-

cro. Como el micro tiene una solaentrada de interrupción se le adi-ciona un controlador que posee 8entradas, de las cuales 2 ya están.usadas en la tarjeta madre (IRQOy l R Q l ) .

Se usan para informar al microque requerimos su atención parapedirle o mandarle datos ejecutan-do un subprograma específico acada IRQ.

Sal ida s incronizadacon los datos SDO - SD7para su egreso del mi-cro. Sólo para puertos.

-SMBÜÍ\V -SMEMRídem anteriores, pero

para dircccionar memo-ria.

DRQ1 - DRQ3Entradas para pedir

un ciclo de DMA (Acce-so d i rec to a memoria),el método más ráp idode acceso a memoria.

DACKO - DACK3Salida del 8253 (Con t ro l ado r

DMA) para el reconocimiento de unciclo DMA.

AENSeñal de salida que indica, en

nivel bajo (O volt), la dirección váli-da de acceso a memoria o port através del bus. En nivel alto (5volt), indica que se cslá realizandoun ciclo DMA.

TCSalida que indica la terminación

de un ciclo DMA; ya sea de un blo-que o de un carácter.

Circuito Interfase deEntrada/Salidade 24 bits

El circuito propuesto es un ín-ter fase paralelo de 3 ports de 8 bitscada uno. Se la puede conectar acircuitos que deseemos controlar,como por ejemplo luces, alarmas

8SABER ELECinOniCAH'10

Page 229: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

TECNOLOGÍA

' Q • ' -iGÍ*.-M¡'¿fi

' 1 0

5.16" '

'.17-^18-25

: D3»pá^DÍíP& íí•* D6'

litfMl

.;-4N¿4'- .»'--íi.-^.v-í^-í-^ERR' '""';'" 'tiNÍf 'fl

GhJD

lnitíalice..Pnn<ter f. .J;;vj,

G round

Bit

?T>' o'v^í

M^^

" '

Invertido

iTí3'" ''N *!>:-:N

SRS4

Regís I ro

Tabla 1. Señales y sus funciones en el puerto paralelo del PC

cioniuto¡interiormente. IIII3IOS ileicnni-na si un jnicrto cxislc o no cscribiéinlolcv IiiL'(jn leyendo lo c]uc cscrihirt. Si la Icc-liini licnc íxito, el pucno c,xiste. El prí-muro i|uc se encuentre se llnnia LPT], elsegundo LPT2 y el icrccro LIT3- f'or lolauto. LPT I rnicdt: csinrun cualt¡uiera delas Lrus direcciones; L!rl"2en 378fi o278Iiy LP1'3 síilo puede estar en 27Hh.

La riilína BIOS almacena las direc-ciones de Icis puerto.1; en una tabla desde40:8 hasln 4();F. cmpcxíiiHlu can LPTI.Los ¡los liyics superiores (para LPT4)r.naiiieiite se uiili/an. ííe puede cambiarlas denominaciones de la impresora cam-biando I M K valores en la üihla. l'or lo lan-ío, es posible variar la configuración ori-ginal. Puede querer liaccr eslo si un pro-grama sopona sólo LI'TI y su itiipresH-ra es(!í en el puerlo LPT2.

Dos inicrrupciimcs de liardware.5 y 7, ticncralmcnle se asocian c'on lospuciios paralelos. Algunas tárjelas lepentiilcn seleccionar una ¡iilernipcíóncon un pucnlc o una ulüuhid de ,rc-tu¡>, mientra.1; que otros vienen progra-madas para determinada interrupción,Convencionalmcnlc, el LPTI ut i l izala interrupción 7 y el LTP2 la 5; sinembargo, ya que en los computado-res tipo XT el disco duro emplea lainterrupción 5, está no I:t puede ut i l i -zar el puerto paralelo.

A pesar de que el software maneja-do por interrupción es rápido, la mayo-ría de los manejadoras de pítenos para-lelos de impresoras no utilizan interrup-ciones, íísto se debe en parte a un proble-ma en el puerlo paralelo original y mu-chos de sus iniciadores. En estos puertos,la Ifnea que requiere la interrupción notiene Inicli, Así que si el pulso es corto, esposible t|uc el computador tío lo vea.

La tabla 1 resume las señales en eleoncctordcl puerlo paralelo; éstas siguenmás o menos la inlerface de impresorapopularizada por CcDironicx, a pesar deíjuc el conectar de 25 pinos no usa las.Ifi líneas de la inlcrface original. Aun-que cada señal lienc un nombro que su-giere una función particular, no tiene queusar las señales para los propósitos pjiralas cuales fueron creadas. Por ejemplo,puede usar la señal de terminación depapel para cualquier clase de entrada, nosólo para indicar que a la impresora sele ha agotado el papel.

Entradas y salidasPuede tener acceso al puerlo paralelolantn a través del MS-DOS como delROM BIOS. Los servicios 00, 01 y 02de la inlerrupciói! I7h de BIOS le per-mi ten enviar un bytc a la Impresora,¡nicializarla y obtener el slatus de lamisma. La inierrupción 2lb de DOS,función 05, también escribe un bytc a

la impresora, y la función 40b puededirigir un bloque de dalos a un puertoparalelo. Pero para obtener acceso a las17 señales del puerto, se necesita escri-bir directamente al puerto. Para hacereslo, se ignoran las funciones del DOS yel IÍIOS y se leen y escriben dircclamcnleal pucno de dalos, de slalus y :il registrode control mostrados en la figura I.

• Micas típ. datos: Las lincas t!e datos,desde DO hasta D7, son ocho salidas quellevan los dalos para que la impresora losimprima. Para otras aplicaciones, se pue-den ul¡l¡7.ar las líneas de dalos como sali-das generales. Para coiiliolar el estado delos pínes 2 a 9 en el concclor paralelo.sólo hay que escribir los datos deseadosen el registro de dalos, cuya dirección esla dirección base del puerto. Per ejem-plo, para dar un alto desde 154 hasla 1)7

•y un bajo desde DO hasta D4. se escribi-ría FOh en el registro de datos. En I!A-S1C, se miliza la orden OUT así:

OUT DataAddress, Dala

o. utilizando la dirección base 3I3Ch y

el dato FOh,

OUTftlOUC. &bH)

El Lisiado I es un programa en QB A-SIC que lleva a un nivel alto cada pin delpuerto de dalos, uno íi la ve?..

RegiElro

,38: ElBClrónlca a Computador))! • C!F=KIT

Page 230: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

Cómo usar el puerto paralelo de un PC

Registro de datos8 Salidas

Registro de status5 Entradas

Regtstio Pin Registro Pin

7

6

5

«3

2

1

0

D709

D6 -08

D5-07

D4 -06

D305

-O 4

D1 03

DO02

7

0

BSY O

PE -O 12

SEL

ERR

No se usan

Algunos pucrlos de dalosson hidiroccionnlos

Con interrupciones habilitadas,en !a transición del pin 10 (ACK)genera la interrupción

Fíogislro de control<] líneas bidireccionales

Registro Pin

7

6

5

.1

3

2

0

Utiliza I

Direcciónposibles de los registros

No sn usnn M°at°?-(direcciónde base)

3BCH378H278H

r-, 0 M >0\ \^ TTTff

T-< ' ^1 <2.r°\rn ?AUTOLF

n U^c^ 14• £ L^ —•r\^> — i ? STBT ^\ i Figura^ dele

ns bits 0 n 3 como enltnrias, pu

Status(Base -f 1)

3BDH37SH279H

Control(Base + 2)

3BEH37AH27AH

1. Configuracións registros delerto paralelo

Algunos puerto.s paralelos tienenlincas de dalos bidireccioimles, que pue-den ser uiíli/.ado.s como entradas o sali-das. Más adelante explicaré cómo de-terminar sí usted tiene un puerto bidi-reccional y cómo usar un puerto bidi-rcccional para las entradas.

í/c sfutnx; Las líneas de .statusson cinco entradas que se íeen en unregistro de status, el cual se localiza enla dirección de base +1, o 3BDh paraun puerto con una dirección base de?BCh. El registro de status es sólo delectura; escribirle no lo afecta en modoalguno. Las cinco Ifneas de status usanios bils del 3 ;ií 7 en el registro, corres-

ElEctnónlca & Computadores

pondientes a los pines del 10 al 13 y 15en el conector. Los bits O, 1 y 2 no seutilizan. Para leer el status de las entra-das, se lee el puerto de status. En BA-SIC se usa la siguiente función INP:

PR1NT INP (StatusAddrcss)

o util ice en su lugar

PRINTlNP(£h3BD)

Sin embargo, el valor que se lee noes exactamente igual a los estados lógi-cos del conector. Los ¿í/j.del 3 al 6 seleen normalmente; los bits en el regis-tro de status son iguales a los . estados

lógicos de sus pines correspondientes.Sin embargo, el bit 1 contiene en com-plemento del estado lógico en el pin 11(BllSY]. Por lo tanto, para encontrar elestado lógico actual del conector, secomplementa, o invierte, el Bit 1.

El operador Booleano OR Exclu-sivo (XOR) representa una manera fá-cil de invertir uno o más bits en un byíe,sin alterar a los demás bits. Tal como lomuestra la siguiente tabla de verda_d elresultado de una operación XOR es 1sólo cuando las entradas están confor-

' rnadas por un 1 y un 0:

A BO O0 11 O1 1

A X O R BO

O

Para invertir los bits seleccionadosen un byte, primero se debe crear unbyte máscara en el cuál los bits que de-sea invertir son Is y los que quiere ig-norar son Os. Por ejemplo, para invertirel Bit 7, el byte máscara sería 1OOOOOGOu 80h. Si se hace la operación XOR deeste byte con el byte leído de! registrode status, se obtiene el valor actual delconector. El byte máscara recibe sunombre porque los Os enmascaran, oesconden, los bus que no se desean cam-biar. He aquí un ejemplo:

10101 xxx Entradas del puerto de sta-tus, Bits del 3 al 7, en el co-nector (X = no Importa)

O O l O l x x x Resultado cuando se lee elregistro de status (Bit 7 in-vertido)

10000000 Se enmascara un byte paraque el Eli 1 coincida con elconector

lOlOlxxx XOR de los dos bytes ante-riores; el resultado coincidecon los estados lógicos pre-

• sentes en el conector.

Este enunciado BASIC mostrará elestado lógico actual en los pines delpuerto de status, para un puerto con unadirección base de 3BCh:

PRINT INP C&H3BD XOR &hSQ)

Pasa a ¡a página 42...

39

Page 231: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

36

AP

RE

ND

A V

ISU

AL

BA

SIC

YA

DE

SA

RR

OLL

O D

EL

PR

IME

R P

RO

GR

AM

A

37

RE

SU

ME

NPa

raH

aga

esto

Bot

ón

Par

aH

aga

esto

Inic

iar

Vis

ual

Bas

ic

Mos

trar

la

func

ión

asoc

iada

con

un b

otón

Abr

ir u

n pr

oyec

to e

xist

ente

Com

enza

r un

nue

vo p

roye

cto

Eje

cuta

r un

pro

gram

a

Mov

er l

a ca

ja d

e he

rram

ient

as

Def

inir

pro

pied

ades

Mos

trar

la

vent

ana

Proy

ecto

Cre

ar u

na i

nler

fa?.

de

usua

rio

Mov

er u

n ob

jeto

Mod

ific

ar e

l ta

mañ

o de

un

obje

to

Bor

rar

un o

bjet

o

\hri

r la

ven

tana

Cód

igo

Pul

se e

l bo

tón

Inic

io d

e la

bar

ra d

e ta

ñías

de

Win

dow

s *)

?.de

spli

egue

el

men

ú V

isua

l Bas

ic -

U)

y. f

inal

men

te,

puls

e el

icon

o de

nom

inan

do M

odel

o de

Eva

luac

ión

de V

idua

lB

asic

4.0

.

Sitú

e el

pun

tero

del

rat

ón s

obre

el

botó

n de

sead

o de

la

barr

ade

her

ram

ient

as o

de

la c

aja

de h

erra

mie

ntas

.

En e

l m

enú

Arc

hivo

sel

ecci

one

la o

pció

n A

brir

pro

yect

o.

En

el m

enú

Arc

hivo

sel

ecci

one

la o

pció

n N

uevo

pro

veci

ó.

Puls

e el

bot

ón I

nici

ar c

onte

nido

en

la b

arra

de

herr

amie

ntas

Arr

astr

e la

caj

a de

her

ram

ient

as u

tüza

ndo

el r

atón

.

Puls

e el

bot

ón P

ropi

edad

es c

onte

nido

en

la b

arra

de

herr

amie

ntas

par

a m

ostr

ar l

a ve

ntan

a Pr

opie

dade

s.D

espl

iegu

e el

cua

dro

de l

ista

des

pleg

are

para

mos

trar

los

elem

ento

s qu

e co

mpo

nen

la i

nter

taz

de u

suar

io y

.fi

nalm

ente

, se

lecc

ione

el

valo

r qu

e de

see

asig

nar

en e

!cu

adro

de

list

a Pr

opie

dade

s.

Puls

e el

bot

ón P

roye

cto

de l

a ba

rra

de h

erra

mie

ntas

.

Uti

lice

los

con

trol

es p

ara

situ

ar lo

s ob

jeto

s en

el f

orm

ular

ioy,

pos

teri

orm

ente

, def

ina

las

prop

ieda

des

que

dese

e.M

odif

ique

el

tam

año

del

form

ular

io y

de

los

obje

tos

corn

o<¿

usté

,

Arr

astr

e e!

obj

eto

por

el f

orm

ular

io u

tili

zand

o el

rat

ón.

Sel

ecci

one

el o

bjet

o y

arra

stre

el

man

ejad

or d

e se

lecc

ión

del

late

ral

que

dese

e m

over

.

Sele

ccio

ne e

l ob

jeto

y p

ulse

si

i'R.

Rea

lice

una

dab

le p

ulsa

ción

sob

re u

n ob

jeto

o v

ibre

el

prop

io

form

ular

io

Bot

ón\I

mac

en:i

r un

pro

gram

a

Sali

r de

Vis

ual

Bas

ic

Vol

\r a

carg

ar u

n pr

oyec

to

En e

l m

enú

Ard

mo

sele

ccio

ne !

.i up

oion

Ou.

ird.

ir p

ro\e

aii

puls

e el

bot

ón G

uard

ar p

roye

cto

situ

ado

en l

a ba

rra

dehe

rram

ient

as.

En

e! m

enú

Arc

hivo

, sel

ecci

one

la o

pció

n Sa

lir.

En

d m

enú

Arc

hivo

sel

ecci

one

la o

pció

n A

brir

pro

yect

o

o sele

ccio

ne e

! nom

bre

de u

n ar

chiv

o ut

iliz

ado

reci

ente

men

te,

de l

a li

sta

cont

enid

a al

fin

al d

e! m

enú

Arc

hivo

.

i'Sen

hir

el a

nu

yo

del

prny

rani

a

puls

e el

bol

ón V

er (

.Yid

iuu

dent

ro il

e l.t

\en

iana

Pro

veí1!

tt.

Esc

riba

las

sem

enci

as d

el p

rogr

ama

asoc

iada

s ci

m e

lqu

e de

see

prog

ram

ar d

entr

o de

la

vent

ana

(.'o

dian

.

Page 232: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

74

AP

RE

ND

A V

ISU

AL

BA

SIC

YA

\

La m

ayor

pan

e de

los

con

trol

es p

erso

nali

zado

s tr

abaj

an c

xact

amon

ti: i

tuia

l que

e! re

sto

de l

os c

ontr

oles

cont

enid

os e

n la

caj

a de

her

ram

ient

as d

e V

isua

l B

asic

. De

hech

o, s

i no

sabe

u p

rior

í qu

e se

tra

ta d

e co

ntro

les

pers

onal

izad

os s

erá

Jifi

cil

que

pued

a di

stin

guir

los

del

rest

o de

con

trol

es. P

odrá

sel

ecci

onar

los

cont

role

s pe

rson

a-li

zado

s si

n m

ás q

ue p

ulsa

r so

bre

ello

s y

podr

á ut

iliz

arlo

s pa

ra c

rear

e i

ntro

duci

rob

jeto

s en

un

form

ular

io d

e la

mis

ma

form

a qu

e em

plea

los

otr

os c

ontr

oles

. L

osco

ntro

les

pers

onal

izad

os c

uent

an t

ambi

én c

on p

ropi

edad

es c

uyos

val

ores

aso

cia-

dos

pued

en s

er m

odif

icad

os, y

tam

bién

pue

den

ser

util

izad

os e

n el

cód

igo

del

pro-

gram

a co

mo

el r

esto

de

los

cont

role

s qu

e ha

man

ejad

o en

est

e ca

pitu

lo.

Con

trol

es

pers

onal

izad

os d

e W

indo

ws

95

SÍ e

stá

desa

rrol

land

o pr

ogra

mas

que

se

ejec

utar

án p

oste

rior

men

te s

obre

Win

-do

ws

95, l

as E

dici

ones

Pro

fesi

onal

y E

mpr

esar

ial d

e V

isua

l Bas

ic 4

incl

uyen

una

bibl

iote

ca e

spec

ial

de c

ontr

oles

per

sona

liza

dos

que

pued

en s

er u

tili

zado

sen

el d

iseñ

o de

la in

terf

az d

el u

suar

io (

esto

s co

ntro

les

pers

onal

izad

os d

e W

in-

dow

s 95

apa

rece

n en

la c

aja

de h

erra

mie

ntas

mos

trad

a po

r om

isió

n). S

i de

sea

obte

ner

info

rmac

ión

sobr

e có

mo

pued

e ut

iliz

ar e

stos

con

trol

es p

erso

nali

za-

dos

para

Win

dow

s 95

en

sus

prog

ram

as,

desp

lieg

ue e

l sub

mem

í D

emos

tra-

ción

de

cont

role

s co

nten

ido

en e

l men

ú C

ompl

emen

tos

y, f

inal

men

te,

sele

c-ci

one

la o

pció

n W

indo

ws

95 C

ontr

ols

del s

ubm

enú

Con

trol

s D

emo

(pro

gram

ade

dem

ostr

ació

n). L

a si

guie

nte

tabl

a pr

opor

cion

a un

a br

eve

desc

ripc

ión

delo

s co

ntro

les

pers

onal

izad

os p

rese

ntes

en

Win

dow

s 95

:

Con

trol

per

sona

lizad

o F

unci

ón

Prop

orci

ona

func

ione

s adi

cion

ales

de

form

ales

de

text

o.

Mue

stra

lis

tas

de a

rchi

vos y

de

icon

os a

s la

mis

ma

form

aen

que

el

Exp

lora

dor d

e W

indo

ws

los

mue

stra

.

Mue

stra

la

info

rmac

ión

de u

na f

orm

a jer

árqu

ica

(por

ejem

plo,

car

peta

s y

subc

arpe

tas)

de

la m

ism

a fo

rma

en q

uelo

hac

e el

Exp

lora

dor d

e W

indo

ws.

Ric

hTex

tBox

Lis

tVie

w

Trc

eVie

w

Tabs

irip

Too

lbar

Slid

er

Prog

rcss

Bar

Stal

usB

ar

Cre

a cu

adro

s de

diá

logo

que

cue

ntan

con

sol

apas

a!

estil

oW

indo

ws

95.

Aña

de b

arra

s de

her

ram

ient

as e

stán

dare

s a l

os p

rogr

amas

.

Aña

de u

n co

ntro

l des

liza

nte

al p

rogr

ama.

per

mit

iend

o qu

eel

usu

ario

pue

de c

ambi

ar co

n fa

cilid

ad y

rap

idez

la

posi

ción

del

con

trol

en

un a

rchi

vo o

en

una

pres

enta

ción

.

Mue

stra

al

usua

rio

cuan

to l

e qu

eda

al p

roan

mia

par

aco

mpl

etar

la

tare

a.

Pres

enta

inf

orm

ació

n pe

rifé

rica

al

usua

rio

en u

n fó

rmal

oes

tánd

ar.

RE

SU

ME

N

Par

aH

aga

esto

EM

PLE

O D

E C

ON

TRO

LES

75

Bot

ón

Cre

ar u

n cu

adro

de

text

o

Cre

ar u

n bo

lón

de o

rden

Cre

ar u

na p

ropi

edad

en

tiem

pode

eje

cuci

ón

Cre

ar u

n cu

adro

de

list

a de

de u

nida

des

Cre

ar u

n cu

adro

de

üsta

de

dire

ctor

ios

Cre

ar u

n cu

adro

de

list

a de

arch

ivos

Evi

tar

que

un p

rogr

ama

tall

e

Car

gar

una

imag

en e

n ti

empo

de e

jecu

ción

Puls

e el

con

trol

Tex

lBiw

y d

ibuj

e ei

cua

dro.

Puls

e el

con

trol

Com

mai

idüu

iton

y d

ibuj

e el

bol

ón.

Mod

ifiq

ue-

el v

alor

de

la p

ropi

edad

uti

liza

ndo

códi

go d

epr

ogra

ma.

Por

eje

mpl

o:

Sel

ecci

one

el c

ontr

ol D

ri v

e Lis

t Box

y d

ibuj

e el

cua

dro.

Sel

ecci

one

el c

ontr

ol D

irL

istB

ox y

dib

uje

el c

uadr

o.

Puls

e so

bre

el c

ontr

ol F

ileL

istB

ox y

dib

uje

el c

uadr

o.

Esc

ribi

r un

pro

cedi

mie

nto

de s

uces

o ut

iliz

ando

cód

igo

depr

ogra

mac

ión

(con

sult

e el

Cap

ítul

o 7J

.

Lla

mar

a l

a fu

nció

n L

oadP

iciu

re y

asi

gnar

el

resu

ltad

o a

lapr

opie

dad

Pict

ure

de u

n ob

jeto

¡m

auen

o a

un

obje

to c

uadr

ode

im

agen

. L

a si

ntax

is d

e es

ta s

ente

ncia

es

la s

igui

ente

:

dond

e O

bjet

o es

el

nom

bre

del

obje

to y

Arc

hivo

Sele

ccio

nadn

es

una

vari

able

que

alm

acen

a el

nom

bre

del

arch

ivo

gráf

ico.

Por

eje

mpl

o:

Cre

ació

n de

un

boló

n do

opc

ión

Cre

ació

n de

un

cuad

ro l

ie••

erif

ieac

ión

Uti

lice

el

cont

rol

Opi

ionB

uuon

y d

ibuj

e ei

bot

ón d

e op

ción

.Pa

ra c

rear

var

ios

boto

nes

de o

pció

n, i

ntro

duzc

a m

ás d

e un

boló

n de

opc

ión

dent

ro d

e un

a ca

ja q

ue h

aya

crea

dout

iliz

ando

el

cont

rol

Fram

e.

Seie

ecii

Híe

el c

ontr

ol C

heck

üox

y di

buje

un

cuad

ro d

eve

ntlc

acii

'in.

Cre

ació

n de

un

cuad

ro d

e li.

sia

1'uN

c- e

l co

ntro

l Li

r.tt3

i.ix

y di

buje

un

cuad

ro d

e li

sia.

Cre

ació

n de

un

cuad

ro l

ie l

i-iia

desp

lega

rle

Sel

ecci

one

el c

ontr

ol (

.'um

hnU

ox \

e un

ciu

dm

de

lisi

ade

.spl

eiia

ble.

Page 233: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

96

A

PR

EN

DA

VIS

UA

L B

AS

IC Y

A La

prim

era

pan

e de

l te

xto

incl

uido

, em

re c

omil

las

— M

etal

ilos

i *.

\VM

¡")—

esp

ecif

ica

qu

e cl

ámen

los

se v

an a

lis

iar

den

tro

del

cuad

ro A

rch

ivo

s d

e li

po.

La

sojj

unda

par

te —

*. W

MF

—es

pec

ific

a la

ex

ten

sió

n q

ue

len

drá

n lo

s nom

-

bre

s de

los

arc

hiv

os

qu

e se

lis

iará

n po

r o

mis

ión

en o

í cu

adro

de

diá

log

o.

1:1cu

adro

de

diá

log

o c

on

tien

e ta

mb

ién

cuad

ros

de

lisi

a q

ue

po

dra

uti

liza

r p

ara

loca

liza

r un

met

arch

ivo

de W

ind

ow

s en

su

dis

co d

uro.

3.

En

su d

isco

du

ro,

deb

erá

sele

ccio

nar

un

a ca

rpet

a q

ue

con

ten

ga

mei

arcl

iiv

os

y.

po

ster

iorm

ente

, re

aliz

ar u

na

dobl

e p

uls

ació

n so

bre

un

o d

e es

tos

nom

bres

de

arch

ivo

.E

l ar

chiv

o g

ran

eo q

ue

haya

esp

ecif

icad

o se

ab

rirá

mo

stra

nd

o su

co

nte

-ni

do e

n el

fo

rmu

lari

o.

¡Esl

o e

s to

do s

ob

re e

ste

lem

a! S

i d

ecid

e ad

qu

irir

un

a de

las

ver

sio

nes

Est

ánd

ar,

Pro

fesi

on

al o

Em

pre

sari

al d

e V

isu

al B

asic

co

mp

rob

ará

qu

e el

co

ntr

ol

Co

mm

on

Dia

-lo

g es

un

a h

erra

mie

nta

qu

e le

ser

á d

e ut

ilid

ad p

ara

el m

anej

o d

e cu

adro

s d

e d

iálo

go

.E

n lo

s si

gu

ien

tes

cap

ítu

los

anal

izar

emo

s o

íro

s co

nte

nid

os

qu

e le

ser

vir

án p

ara

ex-

plo

rar

técn

icas

ad

icio

nal

es d

e cr

eaci

ón

de

cuad

ros

de

diá

log

o.

RE

SU

ME

N

Par

aH

aga

esto

Bot

ón

Cre

ar u

n el

emen

to d

e m

enú

Aña

dir

una

ícel

a de

acc

eso

Asi

gnar

una

lée

la a

tajo

a t

ina

opci

ón d

e m

enú

Mod

ific

ar e

l or

den

en q

ue s

em

uest

ran

las

opci

ones

de

unm

enú

Em

plea

r un

cua

dro

de d

ialo

goes

tánd

ar e

n su

s pr

ogra

mas

(úni

cam

ente

*i

disp

one

de u

nave

rsió

n co

mer

cial

de

Vis

ual

Bas

ic)

Pul

se e

l bo

tón

Edi

tor

de m

enús

y.

a co

ntin

uaci

ón,

defi

nalo

s at

ribu

tos

Cap

tion

, Nom

bre

y po

sici

ón d

el e

lem

ento

del

men

ú.

Pon

ga e

n m

arch

a el

Edi

tor d

e m

entí

s, s

elec

cion

e la

opci

ón d

e m

enú

que

dese

e, y

act

ive

el c

uadr

o de

tex

tode

nom

inad

o C

apti

on.

Esc

riba

un

cará

cter

am

per¿

and

(£)

dela

nte

de l

a le

ira

que

dese

e de

íini

r co

mo

tecl

a de

acce

so.

Pon

aa e

n m

arch

a el

Edi

tor

de m

enús

y s

elec

cion

e la

opci

ón d

e m

enú

dese

ada.

Esp

ecif

ique

!a

léel

a at

ajo

que

dese

a as

ocia

r den

tro

del

cuad

ro d

e li

sta

desp

leua

ble

deno

min

ado

Sli

ortc

ui.

Pon

ga e

n m

arch

a el

Eti

itor

de

men

ús,

Sel

ecci

one

laop

ción

de

men

ú qu

e de

see

mov

er, y

pul

se e

! bo

tón

rk-d

iaar

riba

o e

l bo

tón

¡lec

ha j

hiij

o pa

ra d

e^pl

a/ar

dic

ha o

pció

n.

l'til

sc e

l co

ntro

l C

omm

oriD

ialo

t! y

dib

uje

un n

lijc

tn d

edi

áloü

o co

mún

en

¿ti

form

ular

io.

A c

onti

nuac

ión,

uti

lice

en M

I pro

gram

a ti

no d

e ¡o

s ci

nco

mét

odos

Ji-

.pun

í ble

s de

dkil

oüo

eum

ún p

ara

pode

r m

ostr

ar e

! cu

adro

de

di;il

ni!0

.

para

Hag

a es

to

MA

NE

JO D

E M

EN

ÚS

Y C

UA

DR

OS

DE

DIA

LOG

O

97

Bot

ón

Des

acti

var

un m

entí

Act

ivar

«na

opc

ión

de m

enú

util

izan

do c

ódig

o de

pro

gram

a

Vac

iar«

" cu

adro

de

imag

en

Con

e!

Edi

tor

de m

entí

s, e

lim

ine

la m

arca

de

veri

fica

ción

del

cuad

ro d

e ve

rifi

caci

ón l

in.ii

>icd

aso

ciad

o a-

n !

.iop

ción

de

men

ú el

egid

a.

Uti

lice

la

sent

enci

a:

pero

sus

titu

ya «

/iii

CV

mw

//fm

por

el

nom

bre

de s

u

opci

ón d

e ii

ienú

.

Uti

lice

la

sent

enci

a de

pro

gram

a:

Page 234: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

1 1

8 AP

REN

DA

VISU

AL B

ASIC

YA

Nota

: C

uand

o no

se

incl

uye

la v

aria

ble

Bot

ónP

ulsa

do,

¡os

paré

ntes

is s

olo

rode

an a

lpr

imer

arg

umen

to.

>.

Pul

se o

! bo

tón

Inic

iar

Je l

a ba

rra

de h

erra

mie

ntas

Sota

n Ir.

6.

Puls

e el

bol

ón C

uadr

o de

ent

rada

, esc

riba

su

nom

bre

en e

l cua

dro

do e

ntra

day

puls

e de

spué

s A

cept

ar.

La e

ntra

da s

e gu

arda

rá e

n el

pro

gram

a de

ntro

de

la v

aria

ble

Nom

bre

yde

spué

s se

mos

trar

á en

un

cuad

ro d

e m

ensa

je t

al y

com

o se

mue

stra

en

lasi

guie

nte

(mur

a:

J«JC

Roifguíí

7.

Pul

se A

cept

ar p

ara

cerr

ar e

l cu

adro

de

men

saje

s y

desp

ués

puls

e el

bot

ónSa

lir

para

cer

rar

el p

rogr

ama.

El p

rogr

ama

se c

erra

rá y

vol

verá

a a

pare

cer

ei e

ntor

no d

e pr

ogra

mac

ión.

para

man

tene

rS.

G

uard

e el

for

mul

ario

y e

l pro

yect

o co

n el

nom

bre

Mi

Sal

ida

para

m;

una

copi

a de

su

prog

ram

a.

VIA

NE

JO D

E T

IPO

S E

SP

EC

ÍFIC

OS

DE

DA

TO

Sun

a va

riabl

e ra

jun

a va

riabl

e va

ain

tene

r si

empr

e'i

mis

mo

upo

de'fo

pod

rá m

ejor

ar

•' or

ogra

ma

'•''a

rand

o la

'rabi

e co

mo

ce.-•

jo u

po

TÍ /p

aria

de

'Xen

amie

nto

üe..r

abie

s ¡e

ctia

e-<

'.'es.

esc

ec.r,

-3:.;

,}doe

«D.3

¡r;o

--jj

/'.O

C.j.

'.J

;C?W

xn

o b

ilí

"Wnw

c/on

En

la m

ayor

ía d

e lo

s ca

sos,

el

tipo

de

dato

den

omin

ado

vari

ante

ser

á el

úni

co q

uene

cesi

te.

Las

var

iabl

es d

el t

ipo

vari

ante

pue

den

alm

acen

ar c

ualq

uier

tip

o de

dat

out

iliz

ado

en V

isua

l B

asic

(pr

edef

inid

os)

y ca

mbi

ar d

e fo

rmat

o au

tom

átic

amen

te.

Las

var

iant

es t

ambi

én s

on s

enci

llas

de

util

izar

y n

o te

ndrá

que

pen

sar

dem

asia

doen

el

tam

año

de l

a va

riab

le c

uand

o se

a de

clar

ada.

S

in e

mba

rgo,

si

dese

a cr

ear

uncó

digo

esp

ecia

lmen

te r

ápid

o y

conc

iso,

deb

erá

util

izar

tip

os d

e da

tos

espe

cífi

-co

s cu

ando

así

lo

requ

iera

el

prog

ram

a. P

or e

jem

plo,

si

una

vari

able

sie

mpr

e va

a co

nten

er v

alor

es e

nter

os

de p

eque

ña c

uant

ía (

núm

eros

sin

dec

imal

es),

pod

ráah

orra

r es

paci

o en

mem

oria

cua

ndo

ejec

ute

su p

rogr

ama

decl

aran

do l

a va

riab

leco

mo

ente

ra, e

n lu

gar d

e ha

cerl

o co

mo

vari

ante

. U

na v

aria

ble e

nter

a tl

nteg

er) t

am-

bién

ace

lera

las

oper

acio

nes

arii

méi

ieas

. de

to

rma

que

obte

ndrá

un

peq

ueño

incr

emen

to e

n la

vel

ocid

ad d

el p

rogr

ama

cuan

do

sea

util

i/ad

a. K

n el

sig

uien

tecu

adro

se

mue

stra

n lo

s ti

pos

de d

atos

fun

dam

enta

les

exis

tent

es e

n V

isua

l B

asic

.l:n

el

sigu

ient

e ej

erci

cio

vere

mos

mo

func

iona

n la

may

oría

de

esto

s ti

pos

deda

tos.

VAR

IABL

ES Y

OPE

RADO

RES

DE

VISU

AL B

ASIC

11

9

Con

sejo

: P

odrá

esp

ecifi

car

algu

nos

tipos

de

dato

s fu

ndam

enta

les

añad

iend

o al

nom

bre

de <

a va

nah

e un

car

acíe

r de

dec

lara

ción

ce

tipo.

Por

eje

mpl

o, p

odra

dec

lara

r un

a va

ria-

ble

tíe t

ipo

ente

ro a

ñadi

endo

el c

arac

íer

de p

orce

ntaj

e at

fin

al d

e su

nom

bre.

De

esta

form

a, e

n V

isua

l Sas

íc /

as d

os d

ecla

raci

ones

sig

uien

tes

son

equi

vale

ntes

.

Tipo

de

dato

s

Byi

e

Itil

eser

Lon

£(e

nter

o la

reoí

Sing

le(C

oma

íloi

antc

de s

impl

epr

ecis

ión)

Dou

ble

(Com

a fl

otan

tede

dob

lepr

ecis

ión)

Cur

renc

y(M

onet

ario

)

Stri

ng1 C

aden

a)

Boo

lean

(Bol

eano

)

Dat

ei p

edia

i

Var

ia u

t

Tam

año

1 by

te

2 by

tes

4 by

tes-

-1 by

tes

S by

tes

S by

tes

1 by

te p

orca

ráct

er

2 by

tes

S by

tes

1 Obv

ies

Con

núm

croí

i22

byt

es -

1 b

yte

por

cará

cter

(co

nca

dena

s

Ran

go

0 a

255

•32.

76S

a 32

.767

-2. 1

47.4

33. 6

4Sa2

.l47

.4S

3.64

7

-3,0

4282

3 E

38a3

.042

S23

EJS

-1.7

9769

3 13

4S62

32D

30S

a L

.797

6931

34S6

232D

308

-V22

3372

036S

5477

.5S0

8al

)223

3720

3óS5

4~7.

5S07

0 a

65.5

35 c

arac

tere

s

Tru

c o

Fals

e

1 f-

ncro

100

has

ta31

dic

iem

bre W

)

Tnilo

iip

o de

ran

aos

Eje

mpl

o de

uso

Dim

Peq

Val

oras

Byt

ePe

qVa!

nr=

22l

Dim

Páj

aros

0*Pá

jaro

s1! b

= 3

7

Dim

Ing

reso

s^In

gres

osA

=35

0.00

0

Dim

Pre

cio!

Prec

io!

-899

.99

Dim

Pi=

Pi^

=3.

I4!5

<)2

6535

Dim

Dei

idan

j'D

eu

tó =

760l

):.0

0.50

Dím

Per

roS

Perr

oS =

»Coc

ken>

Dim

Ban

den

as B

obea

nB

ande

ra =

Tru

e

Dim

Ani

vers

ario

Dat

eA

nive

rsar

io==

3-l-

')3=

Dim

Tot

alT

otal

= 2

S9.1

3

.v

US

O D

E L

OS

TIP

OS

DE

DA

TO

S F

UN

DA

ME

NT

AL

ES

E

N E

L C

ÓD

IGO

1.

En e

l m

entí

Arc

hivo

>el

ecci

')ne

la o

pció

n A

brir

pro

yect

o.A

pare

cerá

e!

cuad

ro d

e ili

áliv

jo A

brir

pro

yect

o.

Page 235: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

13

2

AP

RE

ND

A V

ISU

AL

BA

SIC

YA

Debe

rá T

ener

en

cuen

ta e

l ord

en d

eev

alua

ción

de

¡os

oper

ador

es c

uand

oes

te c

rean

dofó

rmul

as/n

a tem

átic

as.

Fun

cion

es m

ate

tica

s en

Vis

ual

Bas

ic I

O»IH

M«.:I¿

«M»

Func

ión

Prop

ósit

o

Abs

(n)

A tu

(/i)

Cos

(«)

Exp

(/0

Im(/i

)

Rnd{

/0

Sgnf

n)

Sm(«

)

Tan

(/i)

Cal

cula

el

valo

r ab

solu

to d

e n.

Cal

cula

el a

rcot

ange

nte

de n

en

radi

anei

.

Cal

cula

el

cose

no d

el á

ngul

o n.

El á

nuul

o n

se e

xpre

sa e

n ra

dian

es

Cal

cula

la

cons

tant

e e

elev

ada

a n.

Dev

uelv

e la

pan

e en

tera

de

un n

úmor

o de

cim

al.

Gen

era

un n

úmer

o al

eato

rio

entr

e O

y 1.

Dev

uelv

e -I

sin

es

men

or q

ue c

ero,

O s

i n

es c

ero

y +

1 si

«es

may

or q

ue c

ero.

Cal

cula

el

seno

del

áng

ulo

n. E

l áng

ulo

n se

exp

resa

en

radi

anes

.

Cal

cula

la

raíz

cua

drad

a de

n.

Con

vier

te u

n va

lor

num

éric

o en

una

cad

ena.

Cal

cula

la

tang

ente

del

áng

ulo

n. E

l áng

ulo

n se

esp

resa

en

radi

anes

.

Con

vier

te u

na c

aden

a a

valo

r nu

mér

ico.

Vis

ual

Bas

ic r

esue

lve

este

dil

ema

esta

blec

iend

o un

ord

en J

t>pñ

orit

lml

espe

cí-

fico

par

a la

s op

erac

ione

s m

atem

átic

as.

Est

a li

sta

de r

egla

s in

dica

a V

isua

l B

asic

qué

oper

ador

es d

eber

á ut

iliz

ar p

rim

ero

cuan

do e

valú

e un

a ex

pres

ión

que

cont

enga

más

de u

n op

erad

or.

En

la s

igui

ente

tab

la s

e m

uest

ran

los

oper

ador

es m

atem

átic

os l

ista

-do

s en

ord

en d

e pr

iori

dad

(los

ope

rado

res

de i

gual

niv

el e

n es

ta t

abla

se

eval

úan

deiz

quie

rda

a de

rech

a, s

egún

apa

rece

n en

la

expr

esió

n}.

Ope

rado

r(es

)O

rden

de

prio

rida

d

O Mod

Los

val

ores

ent

re p

arén

tesi

s se

eva

lúan

sie

mpr

e lo

s pr

imer

os.

La

íjíp

onen

ciac

ión

es s

iem

pre

el s

egun

do.

La

nega

ción

(cr

eaci

ón d

e un

núm

ero

nega

tivo

) es

el

lenr

ero.

La

mul

tipl

icac

ión

y la

div

isió

n co

mpa

rten

d c

uart

o lu

gar.

La

d¡\n

enl

era

es e

l qu

into

ope

rad»

!-.

El r

esto

es

el s

exto

.

Los

últ

imos

son

la

sum

a y

la r

esta

.

C'o

ncai

cnai

lor J

e ca

dena

s.

VA

RIA

BLE

S Y

OP

ER

AD

OR

ES

DE

VIS

UA

L B

AS

IC

133

Ten

iend

o en

cue

nta

el o

rden

de

prio

rida

d m

ostr

ado

en l

a ta

bla

ante

rior

, la

ex-

pres

ión:

se e

valu

ará

de l

a si

guie

nte

form

a. (

Las

neg

rita

s in

dica

n el

ord

en d

e ev

alua

ción

y e

!re

sult

ado

I:

Em

pleo

de

par

énte

sis

en la

s fó

rmul

as

•.os a

aren

tesis

Po

dem

os

util

izar

uno

o m

ás p

ares

de

paré

ntes

is e

n un

a fó

rmul

a pa

ra c

lari

fica

r el

-dan

ficun

e in

fluye

n o

r(]e

n d

e pr

iori

dad.

Por

eje

mpl

o. V

isua

l B

asic

cal

cula

ría

la f

órm

ula

ín e

/ ord

en d

e la

real

izan

do e

n pr

imer

lug

ar !

a ope

raci

ón c

onte

nida

ent

re l

os p

arén

tesi

s (-

7) a

ntes

de

real

izar

la

expo

nenc

íaci

ón. a

unqu

e la

exp

onen

ciuc

ión

teng

a un

ord

en d

e pr

iori

dad

may

or q

ue l

a re

sta

y la

mul

tipl

icac

ión.

Pod

emos

ref

inar

aún

más

el c

álcu

lo c

oloc

an-

do p

arén

tesi

s an

idad

os e

n la

fór

mul

a. P

or e

jem

plo:

hace

que

Vis

ual

Bas

ic c

alcu

le, e

n pr

imer

lug

ar,

la d

ifer

enci

a co

nten

ida

en e

l co

n-ju

nto

de p

arén

tesi

s in

tern

o, p

oste

rior

men

te, t

raba

ja c

on l

os p

arén

tesi

s ex

tern

os p

ara

calc

ular

, fi

nalm

ente

, el

exp

onen

te.

El r

esul

tado

pro

duci

do p

or l

as d

os f

órm

ulas

es

dife

rent

e: l

a pr

imer

a fó

rmul

a da

com

o re

sult

ado

49 y

la

segu

nda

SI.

Los

par

énte

sis

pued

en m

odif

icar

los

res

ulta

dos

de u

na o

pera

ción

mat

emát

ica

adem

ás d

e fa

cili

tar

su l

ectu

ra.

RE

SU

ME

N

Par

aH

asta

est

o

Dec

lara

r un

a \a

rtab

leli.

scrib

a D

íni s

egui

do d

el n

ombr

e do

la v

aria

ble

en e

! an

ligo

de

prog

ram

a. (

Tam

bién

pue

do e

spec

ific

ar u

n up

o de

dat

os: e

l tip

ose

rá v

aria

nte.

) Po

r eje

mpl

o:

Page 236: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

13

4

AP

RE

ND

A

VIS

UA

L B

AS

IC Y

ACa

pítu

lo

Cam

biar

el

valo

r de

una

vari

able

AM

UIIC

un

nue\

\.i

lor

cmi

el u

pera

tiitr

de a

sign

ació

n t "

I. Po

r

Obt

ener

una

ent

rada

med

iant

eun

cua

dro

de d

ial

Uti

lice

la

func

ión

liip

uiB

ox y

asi

ane

c! r

esul

tado

.1 u

n;i

vari

able

. Po

rej

empl

o:

Mos

trar

una

sal

ida

en u

ncu

adro

de

dial

oyo

Dec

lara

r una

var

iabl

e de

un

tipo

esp

ecia

l de

dat

os

Uti

lice

la

func

ión

Msy

Box

. (La

cad

ena

que

se m

ostr

ará

en e

l cu

adro

do d

ialo

go p

uede

gua

rdar

se e

n un

a va

riab

le.]

Por

ejem

plo:

Escr

iba

Dim

seg

uido

del

nom

bre

de l

a va

riab

le y

del

car

ácte

r de

tip

o

o bi

an

Escr

iba

Dim

seg

uido

del

nom

bre

de l

a va

riab

le,

¡a p

alab

ra c

lave

As

yun

o de

los

och

o tip

os d

e da

tos

fund

amen

tale

s. P

or e

jem

plo:

Cre

ar u

na c

onst

ante

Cre

ar u

na f

órm

ula

Com

bina

r ca

dena

s de

tex

to

Con

veni

r ca

ráet

e reí

. tex

tual

esen

car

acte

res

num

éric

os

Em

pleo

de

func

ione

sm

atem

átic

as

Esc

riba

la

pala

bra

rese

rvad

a C

onst

seg

uida

por

el

nom

bre

de l

aco

nsta

nte,

el

oper

ador

de

asig

naci

ón (

=) y

el

valo

r asi

gnad

o, l

'or

ejem

plo:

Enl

ace

las

vari

able

s nu

mér

icas

o l

os n

úmer

os m

edia

nte

aluu

no d

e lo

ssi

ete

oper

ador

es a

ritm

étic

os y

asi

gne

desp

ués

el r

esul

tado

a u

na v

aria

ble

o a

una

prop

ieda

d. P

or e

jem

plo:

Uti

lice

la

func

ión

Val

. Por

eje

mpl

o:

Aña

da a

la

fórm

ula

la f

unci

ón y

los

arg

umen

tos

que

nece

site

. Po

rej

empl

o:

Con

trol

del

ord

en d

e ev

alua

ción

U

tili

ce p

arén

tesi

s en

la

fórm

ula.

Por

eje

mpl

oen

una

fór

mul

a

Em

pleo

de

estru

ctur

asde

dec

isió

nE

n lo

s ca

pítu

los

ante

rior

es h

emos

uti

liza

do v

aria

s he

rram

ient

as d

e M

icro

soft

Vsu

al B

asic

par

a pr

oces

ar l

a en

trad

a in

trod

ucid

a po

r el

usu

ario

. Se

han

uti

liza

dm

enús

. obj

etos

y c

uadr

os d

e di

álog

o pa

ra m

ostr

ar o

pcio

nes

al u

suar

io y

se

ha pr

<ce

sado

la

entr

ada

util

izan

do p

ropi

edad

es y

var

iabl

es.

En

este

cap

ítul

o le

mos

trai

cóm

o pu

ede

ejec

utar

su

prog

ram

a un

a se

rie

de i

nstr

ucci

ones

u o

tras

dep

endi

end

de l

a en

trad

a in

trod

ucid

a por

el u

suar

io. L

e m

ostr

aré

cóm

o ev

alua

r una

o m

ás p

npi

edad

es o

var

iabl

es m

edia

nte

el u

so d

e ex

pres

ione

s co

ndic

iona

les

y a

ejec

uta

post

erio

rmen

te,

una

o m

as s

ente

ncia

s de

pro

gram

a ba

sánd

ose

en l

os r

esul

tado

Tam

bién

apr

ende

rá ¡

i det

ecta

r y c

orre

gir e

rror

es d

e pr

ogra

mac

ión

en n

uest

ro c

ódis

util

izan

do l

a ve

ntan

a D

epur

ació

n.

PR

OG

RA

MA

CIÓ

N O

RIE

NT

AD

A A

SU

CE

SO

ios

prog

ram

as d

e.'.•

si/ai

3¿s

;c e

sfan

orie

ntad

os a

iUC

SÍO

.

Los

pro

gram

as q

ue h

a es

crit

o ha

sta

ahor

a m

uest

ran

men

ñs.

obje

tos

y cu

adro

s i

diál

ogo

en l

a pa

ntal

la y

, ade

más

, de

jan

a lo

s us

uari

os q

ue e

scoj

an l

ibre

men

teor

den

en q

ue d

esea

n m

anip

ular

est

os o

bjet

os q

ue a

pare

cen

en p

anta

lla.

Los

pro

ürní

as p

repa

ran

a! u

suar

io p

ara

que

espe

re p

acie

ntem

ente

una

res

pues

ta y

des

pupr

oces

an l

a en

trad

a de

fur

ma

prcd

ecib

le.

lia

ios

ambi

ente

s de

pro

gram

ació

n es

form

a de

tra

baja

r se

con

oce

com

o pr

ogra

mac

ión

wic

iiit

ida

u su

cesa

. L

os p

rogr

mas

se

crea

n pa

rtie

ndo

de u

n gr

upo

de o

bjet

os «

inte

lige

ntes

» qu

e sa

ben

cóm

o re

pond

er c

uand

o e¡

usu

ario

imer

aeiú

u co

n el

los

y, f

inal

men

te,

se p

roce

san

las

cntr

das

real

izad

as p

or e

l us

uari

o m

edia

nte

proc

edim

ient

os d

e su

ceso

aso

ciad

os c

i

Page 237: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

1 8

2

AP

RE

ND

A V

ISU

AL

BA

SIC

YA

[•se

riba

ab

rir

en e

l cu

adro

do

text

o >•

puls

e oí

tim

ón l

'ro!

i,ir

cont

rase

ña,

lin l

a pa

ntal

la a

pare

eeni

el

sigu

ióm

e cu

adro

de

di-

ilo

^ uu

iíoai

ulii

^jla

con

tras

eña

no o

s vá

lida:

oc/:.

:3;s

en ,'j

'ce:a

C^o

rsr

-ic

ico.

La n

axo.

iodo

, no

Ac«

í

14.

Pul

se A

cept

ar y

esp

ere

pade

mem

ente

has

ta q

ue e

xpir

e el

per

iodo

est

able

-ci

do.

El p

rogr

ama

mos

trar

á el

sig

uien

te m

ensa

je:

Lo li

snto

, lu

íiím

co h

j «

ji A

eról

a

Soi

on G

uard

arpr

oyec

to

RE

SU

ME

N

Pa

ra

15.

Pul

se A

cept

ar p

ara

term

inar

el

prog

ram

a.

Vol

verá

a a

pare

cer

el e

nlom

o de

pro

gram

ació

n de

Vis

ual

Bas

ic.

16.

Uti

liza

ndo

el b

otón

Gua

rdar

pro

yect

o gu

arde

el

form

ular

io y

el

proy

ecto

en d

isco

con

e!

nom

bre

,M¡

Con

tnis

eña

Teñ

í po

r ¡7.a

da.

Si d

esea

pra

ctic

ar u

n po

co m

ás c

on e

l us

o de

tem

pori

zado

res

y es

truc

-tu

ras

de d

ecis

ión,

con

sult

e la

s Pr

ácti

cas

de p

rogr

amac

ión

de l

a S

egun

daPa

rte

e in

tent

e cr

ear

su p

ropi

o re

loj

desp

erta

dor.

Ha

ga e

sto

Ejec

utar

un

yrup

o de

In

sert

e el

gru

po d

e se

nten

cias

ent

re l

as s

emen

cias

Fnr

yin

stru

ccio

nes

do p

rogr

ama

un

Nex

i de

un b

ucle

. Por

eje

mpl

o:m

imer

o de

term

inad

o de

vec

es

Mos

trar

una

n m

ás l

inea

s de

•alid

;i c-n

un

tonn

ular

iuU

tili

zo e

l méu

ido

Pnnt

. I'n

r

EM

PLE

O O

E BU

CLE

S V

DE

L C

ON

TRO

L TI

ME

S

Par

aH

ag

a e

sto

Boto

nl

L ul

i/ar

«na

-ea,o

,a,

.-.pc

de n

úmer

o, c

on s

ente

ncia

s

ln.c

n. !

--> M

.-mcn

c.a* ..

. un

huc

lc_K

..r

Ncx

t y

ui.h

cc 1

al-.h

r.is

cl.n

e Fo

y S

.cp

P.i

n üc

nmr

U.

-«.c

ncu

Je.

Sali

r de

un b

ucle

For

...N

ií\ d

e U

tilic

e. l;

i sen

tenc

ia E

xit

l:or.

Por

eje

mpl

o:

form

a pr

emat

ura

Ejec

utar

un

urup

o de

sen

tenc

ias

Inse

rte

si gr

upo

lie s

ente

ncia

s en

tre

lai

sent

enci

as D

u y

hasi

a qu

e se

cum

pla

una

Loop

. Por

eje

mpl

o:de

term

inad

a co

ndic

ión

_

Evit

ar u

n bu

cle

Do

sin

fin

Ase

gúre

se d

e qu

e la

con

dici

ón p

ueda

[or

nar e

l va

lor

Fals

e.

Eje

cuta

r un

buc

le h

asta

que

una

U

tilic

e un

buc

le D

o co

n la

pal

abra

cla

ve U

ntil

. l'o

rde

term

inad

a co

ndic

ión

sea

ejem

plo:

Ver

dade

ra

Segu

ir e

n un

buc

ie d

uran

te u

n U

tilic

e un

obj

eto

tem

pori

zado

stie

mpo

esp

ecif

icad

o en

el

prog

ram

aIn

trod

ucir

un

nom

bre

en l

a ba

rra

Asi

gne

¿I n

ombr

e qu

e de

see

util

izar

a l

a pr

opie

dad

Cap

iion

dii t

ítul

os d

e un

a ap

lica

ción

de

l ob

jeto

For

tnl

de í

u ap

lica

ción

.

Page 238: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

APR

END

A V

ISU

AL

BASI

C YA

ejem

plo,

ia

sig

uien

te l

ínea

env

ía l

a ca

dena

de

text

o «M

arin

eros

» a

la i

mpr

esor

apr

edet

erm

inad

a de

W

indo

ws:

?ri

ne

er.

?ri

nt

'Har

iner

os"

Ant

es d

e im

prim

ir p

odrá

uti

liza

r el

obje

to P

rint

er p

ara

ajus

tar

algu

nas c

arac

te-

ríst

icas

de

la f

uent

e. P

or e

jem

plo,

el s

igui

ente

cód

igo

impr

ime

«Mar

iner

os»

con

unta

mañ

o de

fue

nte

de 1

4 pu

ntos

:

Pri

nce

r.F

on

cSii

e -

i-JP

rin

cer.

Pri

nc

"Mar

inev

os'

En t

otal

, el o

bjet

o Pr

inte

r cue

nta

con

vari

as d

ocen

as d

e pr

opie

dade

s y

mét

odos

que

podr

á ut

iliz

ar p

ara

cont

rola

r dis

tint

os a

spec

tos

de l

a im

pres

ión.

A d

ifer

enci

a de

los

form

ular

ios

y ob

jeto

s cr

eado

s de

sde

el c

uadr

o de

her

ram

ient

as,

no p

odrá

mod

ifi-

car

los

valo

res

asig

nado

s a

las p

ropi

edad

es

del

obje

to P

riní

er d

esde

la v

enta

na P

ro-

pied

ades

. Tod

as s

us p

ropi

edad

es d

eber

án a

sign

arse

med

iant

e có

digo

de

prog

ram

aen

tie

mpo

de

ejec

ució

n (e

l pro

cedi

mie

nto

Forr

n_L

oad

es u

n bu

en l

ugar

par

a ll

evar

a ca

bo e

ste

tipo

de

asig

naci

ones

que

uti

liza

rá s

iem

pre

que

se e

jecu

te e

l cód

igo}

. Sin

emba

rgo,

muc

has

de l

as p

ropi

edad

es y

mét

odos

del

obj

eto

Prin

ter s

on s

imil

ares

ala

s pa

labr

as c

lave

que

ya

ha u

tili

zado

con

los

for

mul

ario

s y

obje

tos

crea

dos

util

i-za

ndo

los

cont

role

s co

nten

idos

en

la c

aja

de h

erra

mie

ntas

. En

las

tabl

as s

igui

ente

sse

mue

stra

n al

guna

s de

las

prop

ieda

des

y m

étod

os m

ás t

itil

es d

el o

bjet

o Pr

inte

r.

Woí

a;

Par

a ob

tene

r un

a ¡is

la c

ompl

eta

de s

us m

étod

os y

pro

pied

ades

bus

que

Prin

ter e

nla

ayu

da in

tera

ctiv

a de

Vis

ual B

asic

. Ta

mbi

én p

uede

util

izar

¡as

pro

pied

ades

par

a de

term

i-na

r la

cap

acid

ad d

e su

im

pres

ora.

Pro

pied

adD

escr

ipci

ón

Fonl

Nam

e

Fom

Síze

Font

Bol

d

Font

ltal

ic

Mét

od

o

Est

able

ce l

a fu

ente

par

a el

tex

to.

Est

able

ce e

l tam

año

de f

uent

e pa

ra e

! tex

to.

Si e

s T

rue

escr

ibe

el t

exto

en

negr

ita.

Si e

s T

rue

escr

ibí

el t

exto

en

curs

iva.

Con

tien

e el

núm

ero

de p

ágin

a qu

e se

est

á im

prim

iend

o.

Des

crip

ción

Prin

i

New

Page

Eni

lDoc

Kil

lDoc

Impr

ime

el t

exto

esp

ecíf

ica

Jo e

n la

im

pres

ora.

Inic

ia u

na n

ueva

pág

ina

en e

i tr

abaj

o de

impr

esió

n.

Mar

ca e

l fi

nal

del

trab

ajo

de i

mpr

esió

n.

Fina

liza

e!

trab

ajo

de i

mpr

esió

n ac

tual

.

Ó

3 pr

oyec

toco

mpl

eto

(For

mul

ario

s,7

3//a

nola

se

encu

entra

en

eldi

sco

en Id

car

peta

Cha

pter

7.

Con

trol

Com

man

dBui

Kn

TRAB

AJO

CO

N FO

RM

ULA

RIO

S, IM

PRES

ORA

S Y

GES

TORE

S DE

ERR

OR

205

En e

l si

guie

nte

ejer

cici

o le

mos

trar

é co

rno

añad

ir s

opor

te d

e im

pres

ión

al p

ro-

uran

ia M

i Fo

rmul

ario

s It

alia

nos

que

creó

ant

erio

rmen

te. U

tili

zará

las

pro

pied

ades

Fon

tNam

e. F

ontS

ize

y Fo

ntB

old

para

cam

biar

el

estil

o de

l te

xto,

e!

mét

odo

Prin

tpa

ra e

nvia

r def

inic

ione

s a l

a im

pres

ora

y el

mét

odo

End

Doe

par

a m

arca

r el f

inal

del

trab

ajo

de i

mpr

esió

n.

MO

AD

IR

SO

PO

RT

E D

E I

MP

RE

SIÓ

N A

L

PR

OG

RA

MA

((M

I F

OR

MU

LA

RIO

S

ITA

LIA

NO

1.

Abr

a el

pro

yect

o M

i Fo

rmul

ario

s It

alia

nos

si n

o es

tá y

a ab

iert

o.Si

no

ha c

read

o M

i Fo

rmul

ario

s It

alia

nos.

vbp

pued

e ca

rgar

el

proy

ecto

Form

ular

ios

Ital

iano

s.vb

p de

sde

el d

isco

dur

o.

2.

Mue

stre

el

segu

ndo

form

ular

io d

el p

roye

cto

(Mi

Def

inic

ión.

frm

o

Def

i-ni

ción

.frm

si h

a ut

iliz

ado

el o

rigi

nal)

.E

ste

es e

l fo

rmul

ario

que

mue

stra

la

defi

nici

ón d

e la

pal

abra

ita

lian

aso

bre

la q

ue e

l us

uari

o, h

a re

aliz

ado

una

dobl

e pu

lsac

ión.

El

obje

tivo

es

añad

ir a

hora

un

botó

n Im

prim

ir a

! fo

rmul

ario

par

a pe

rmit

ir a

l us

uari

o qu

eob

teng

a un

a co

pia

impr

esa

de l

a de

fini

ción

.

3.

Pul

se e

l con

trol

Com

man

dBut

ton

cont

enid

o en

la

caja

de

herr

amie

ntas

par

acr

ear

un b

otón

de

orde

n a

la i

zqui

erda

del

bot

ón C

erra

r.P

uede

que

ten

ga q

ue d

espl

azar

el b

otón

Cer

rar

haci

a la

der

echa

o re

duci

rel

tam

año

de l

a et

ique

ta p

ara

hace

r sit

io a

l nue

vo b

otón

. C

uand

o ha

ya te

rmi-

nado

, su

form

ular

io te

ndrá

un

aspe

cto

sim

ilar

a é

ste:

Botó

n Im

prim

ir

4.

Cam

bie

el r

ótul

o de

l bo

tón

por

«Im

prim

ir»

util

izan

do l

a ve

ntan

a Pr

opie

da d

es.

5.

Puls

e do

s ve

ces

el n

uevo

bot

ón p

ara

edit

ar s

u pr

oced

imie

nto

de s

uces

o.El

pro

cedi

mie

nto

de s

uces

o C

omm

and2

_Cli

ck a

pare

cerá

en

la v

enía

n

Cód

igo.

6.

Intr

oduz

ca l

as s

igui

ente

s se

nten

cias

de

impr

esió

n en

el

proc

edim

ient

o d

suce

so:

Page 239: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

21

6

AP

RE

ND

A V

ISU

AL

BA

SIC

YA

el m

ensa

je d

e er

ror

ocur

re d

os v

eces

, el

prog

ram

a ig

nora

rá l

a in

stru

cció

n de

car

ga y

cont

inua

rá e

n la

sig

uien

te s

ente

ncia

;

Ir.-

e.it

js

= J

'i

nic

iali

sa

la

var

iab

le

C3r

.=.a

dor3

en E

rror

GoT

o E

rror

Dis

coIr

r.ag

el,p

icsu

íe

= L

oódP

lccu

ret '

a: \

prnc

ouc2

.w3i

f" >

axic

Su

b 'S

ali

r <2

*I p

roce

di.-

sien

ío

¿rro

rDis

co:

-Xsg

Box

(£rr

.Des

crip

ción

),

, "E

rror

de

car

ga-

I.-.C

enca

s ~

Inte

nto

s -

1 'in

crem

enta

el

co

ntad

or

ce e

rro

res

:f :n

ten=

33 >

=

2 T

he.i

Res

ume

.'lax

t:E

lse R

esum

eEn

d ir Est

a es

una

téc

nica

úti

l cu

ando

el

erro

r qu

e se

est

á in

tent

ando

man

ejar

es

unpr

oble

ma

que

pu

ede

ser

resu

elto

en

cier

tas

ocas

ione

s po

r e!

usu

ario

. L

o m

ás i

mpo

r-ta

nte

que

debe

rec

orda

r es

que

'Res

ume

vuel

ve a

int

enta

r ej

ecut

ar l

a se

nten

cia

que

prov

ocó

el e

rror

, m

ient

ras

que

Res

ume

Nex

t sa

lta

la s

ente

ncia

pro

blem

átic

a y

pasa

a la

sig

uien

te l

ínea

del

pro

cedi

mie

nto

de s

uce

so.

Cua

ndo

util

ice

Res

ume

Nex

t, a

se-

gúre

se d

e qu

e la

sen

tenc

ia s

igui

ente

es

real

men

te l

a qu

e de

sea

ejec

utar

, y

com

pru

e-be

que

no

vuel

ve a

eje

cuta

r ac

cide

ntal

men

te e

l g

esto

r de

err

or.

Una

bue

na f

orm

a de

salv

ar e

l ge

stor

de

erro

r co

nsis

te e

n ut

iliz

ar l

a se

nten

cia

Exi

t S

ub

: tam

bién

pod

ráut

iliz

ar R

esum

e N

ext

con

una

etiq

ueta

qu

e in

diqu

e a

Vis

ual

Bas

ic q

ue s

alte

a u

nase

nten

cia

desp

ués

del

ges

tor

de e

rror

.

RE

SU

ME

N

Para

Hag

a es

to

en e

l m

enú

Inse

rtar

, sel

ecci

one

Form

ular

io.

Car

gar

un f

orm

ular

io e

n la

U

tili

ce l

a se

nten

cia

Loa

d. P

or e

jem

plo:

mem

oria

Loa

d Fo

rn2

Mos

trar

un

form

ular

io c

arga

do

Uti

lice

el

mét

odo

Show

. Po

r ej

empl

o.

For^

iS. S

how

Cre

ar u

n fo

rmul

ario

mod

al

Incl

uya

un 1

cua

ndo

mue

stre

un

form

ular

io.

Por

ejem

plo:

"V

Para

TR

AB

AJO

CO

N F

OR

MU

LAR

IOS

. IM

PR

ES

OR

AS

Y G

ES

TO

RE

S D

E E

RR

OR

Hag

a es

to

Ocu

ltar

un f

orm

ular

io

Eli

min

ar u

n fo

rmul

ario

de

lam

emor

ia

Mod

ific

ar e

l no

mbr

e de

un

obje

to

Cre

ar u

n fo

rmul

ario

pad

re M

DI

Cre

ar u

n fo

rmul

ario

hij

o M

DI

Env

iar

una

líne

a de

tex

to a

la

impr

esor

a

Mod

ific

arla

s op

cion

es d

eim

pres

ión

Fina

liza

r un

tra

bajo

de

impr

esió

n

Impr

imir

un

form

ular

io e

nter

o

Del

ecta

r er

rore

s et

i tie

mpo

de

ejec

ució

n oc

urri

dos

en s

uspr

ogra

mas

Proc

esar

err

ores

en

tiem

po d

eej

ecuc

ión

Con

tinu

ar d

espu

és d

e un

err

or

Sali

r de

un

proc

edim

ient

o an

tes

de u

na s

ente

ncia

End

Sub

Uti

lice

el m

étod

o M

ide.

Por

eje

mpl

o:

Forn

C.H

ide

Uti

lice

la

sent

enci

a U

nlon

d. P

or e

jem

plo:

Unl

oad

F3nn

2

Cam

bie

la p

ropi

edad

Ñam

e de

! ob

jeto

en

la v

enta

naPr

opie

dade

s.

En

el m

enú

Inse

rtar

, sel

ecci

one

la o

pció

n Fo

rmul

ario

MD

I.

En

el m

enú

Inse

rtar

, sel

ecci

one

la o

pció

n Fo

rmul

ario

yas

igne

a l

a pr

opie

dad

MD

IChi

ld d

el f

orm

ular

io e

l va

lor

Tru

e.

Uti

lice

el o

bjet

o Pr

inte

r y e

l m

étod

o Pr

int.

Por

ejem

plo:

Pri

nce

r.P

rin

t -M

arin

eros

"

Est

able

zca

las

prop

ieda

des

de!

obje

to P

rint

er e

n ti

empo

de

ejec

ució

n.

Uti

lice

el

mét

odo

End

Doc

. Po

r ej

empl

o:

Pri

nt: e

r.E

ndD

oc

Uti

lice

el m

étod

o Pr

imFo

rm.

Por

ejem

plo:

For

ra!.

P

rinc

rorm

Act

ive

un g

esto

r de

err

or u

tili

zand

o la

sen

tenc

ia:

On S

rro

r G

ota

etiq

-jec

a

dond

e et

ique

ta s

erá

el n

ombr

e de

l ge

stor

de

erro

r.

Cre

y un

a ru

tina

ges

tor

de e

rror

(no

rmal

men

teco

mpu

esta

por

una

est

ruct

ura

de d

ecis

ión

lf...

The

n o

Sele

ctC

ase)

jun

to c

on u

na e

tiqu

eta

que

iden

tifi

que e

l er

ror.

Los

gest

ores

de

erro

r más

fre

cuen

tes

defi

nen

prop

ieda

des

ym

uest

ran

men

saje

s al

usu

ario

uti

liza

ndo

la f

unci

ón M

sgB

ox.

Uti

lice

Res

ume,

Res

ume

Nex

t o

la e

tiqu

eta

Res

ume.

Uti

lice

la

sent

enci

a E

xit

Sub.

Page 240: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

25

2

AP

RE

ND

A V

ISU

AL

BA

SIC

YA

El pr

ogra

ma

com

plet

a•"

Conv

enio

s tíe

nom

encl

atur

a*

seen

cuen

tra e

n <e/

disc

o du

ro en

Is

carp

era

Chap

ter

9.

*

Con

veni

o* d

e n

omen

clat

ura

Bis

nytri

do a

l po

PS

J i*

del (

xcqr

ama

pUss

Saí

f

So íó

n G

uard

arpr

oyec

to

\. P

ulse

e! b

otón

Sal

ir p

ara

dete

ner

el p

rogr

ama.

El

prog

ram

a te

rmin

a y

vuel

ve a

apa

rece

r el

ent

orno

de

prog

ram

ació

n.

11,

Puls

e el

bot

ón G

uard

ar p

roye

cto

de l

a ba

rra

de h

erra

mie

ntas

y g

uard

e el

form

ular

io b

ajo

el n

ombr

e M

i C

onve

nios

de

nom

encl

atur

a.fr

m

en l

aca

rpet

a C

hapt

er 8

. Gua

rde

el a

rchi

vo d

e pr

oyec

to c

omo

Con

veni

os d

en

om

encl

atu

ra,

vbp.

Imp

ort

an

te:

La a

sign

ació

n de

nom

bres

intu

itivo

s a

los

obje

tos

com

enza

rá a

dar

aut

én-

ticos

fru

tos

cuan

do e

mpi

ece

a es

crib

ir pr

ogra

mas

de

may

or t

amañ

o o

cuan

do t

raba

je e

ngr

upo

con

otr

osp

rog

ram

ad

ore

s. E

n ge

nera

l, es

una

bue

na ¡

dea

util

iza

rlo

s co

nven

ios

deno

men

clat

ura

si c

uent

a co

n m

ás d

e do

s ob

jeto

s de

! m

ism

o tip

o en

el

form

ular

io.

RE

SU

ME

N

Par

aH

aga

esto

Bo

tón

Cre

ar l

ínea

s re

ctas

en

unfo

rmul

ario

Cre

ar r

ectá

ngul

os,

cuad

rado

s,el

ipse

s y

círc

ulos

en

unfo

rmul

ario

Cre

ar b

oton

es d

e ór

dene

sgr

áfic

os

Uti

lice

el c

ontr

ol U

ne d

el c

uadr

o de

her

rarn

íem

as.

Uti

lice

el

cont

rol S

hape

del

cua

dro

de h

erra

mie

ntas

. Asi

gne

a la

pro

pied

ad S

hape

del

obj

eto

el t

ipo

y ca

ract

erís

tica

sco

rres

pond

ient

es.

Uti

lice

e! c

ontr

ol P

ictu

reB

ox p

ara

intr

oduc

ir u

na o

más

imág

enes

grá

fica

s en

el

form

ular

io y

car

gar

en e

llas

map

asde

bit

s de

ico

nos.

Int

rodu

zca

eí c

ódig

o ne

cesa

rio

para

proc

esar

las

pul

saci

ones

del

rató

n en

los

pro

cedi

mie

ntos

de

suce

so M

ouse

Dow

n as

ocia

dos

con

los

cuad

ros

de i

mag

en.

para

Hag

a es

to

AD

ICIÓ

N D

E E

FEC

TOS

ES

PE

CIA

LES

Y A

RT

ÍST

ICO

S

253

Bo

tón

Sopo

rtar

la

técn

ica

«arr

astr

ar y

solta

n> e

n un

for

mul

ario

Mod

ific

ar l

a fo

rma

de!

punt

ero

del

rató

n

Espe

cifi

car

un p

unte

ro d

e ra

tón

dete

rmin

ado

Nom

brar

un

obje

to

Mov

er u

n ob

jeto

con

teni

do e

nel

for

mul

ario

Ani

mar

un

obje

to

Exp

andi

r y c

ontr

aer

un o

bjet

oen

tie

mpo

de

ejec

ució

n

Asi

gne

el v

alor

1 a

la p

ropi

edad

Dra

uMod

e de

l obj

eto

ade

spla

zar.

Si lo

des

ea, p

uede

sel

ecci

onar

un

icon

o de

desp

laza

mie

nto

para

e! o

bjet

o. E

scri

ba u

n pr

oced

imie

nto

ciésu

ceso

Dra

gDro

p o

de D

ragO

ver p

ara

el o

bjet

o so

bre

el q

ueco

loca

rá e

l obj

eto

arra

stra

do.

Asi

gne

uno

de l

os 1

6 pu

nter

os e

stán

dar a

la p

ropi

edad

Mou

sePo

inte

r del

for

mul

ario

o d

e lo

s ob

jeto

s re

laci

onad

os.

Asi

gne

a la

pro

pied

ad M

ouse

Poin

ier e

l va

lor

99 y

uti

lice

lapr

opie

dad

Mou

selc

on p

ara

espe

cifi

car

el p

unte

rope

rson

aliz

ado.

Espe

cifi

que

un n

ombr

e ún

ico

a la

pro

pied

ad Ñ

ame.

Uti

lice

los

conv

enio

s de

nom

encl

atur

a pa

ra p

oder

ide

ntif

icar

al

obje

to c

on f

acili

dad.

Uti

lice

el m

étod

o M

ove

para

mov

er e

l obj

eto.

Por

eje

mpl

o:

Pic

cure

l.üa

ve 1

440,

14

4Q

Uti

lice

el c

ontr

ol T

imer

par

a co

loca

r uno

o m

ás m

étod

osM

ove

en u

n pr

oced

imie

nto

de s

uces

o te

mpo

riza

dos

Lave

loci

dad

de l

a an

imac

ión

se c

ontr

ola

con

la p

ropi

edad

Inte

rval

del

teni

pori

zado

r.

Cam

bie

las

prop

ieda

des

Heí

ght

o W

idth

del

obj

eto.

Page 241: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

292

AP

RE

ND

A V

ISU

AL

BA

SIC

YA

form

a in

adve

rtid

a. P

or ej

empl

o, c

onsi

dere

la

sigu

ient

e de

clar

ació

n de

l pro

cedi

mie

nto

Sub

y s

u ll

amad

a co

rres

pond

ient

e:

S-b

?3s;

cMC

oste

Tot

alSn

d Su

b

írtai

io w

. 51

.,;

,:ai

~onv

larc

a .>

; •.

•!;-

:

Pre

cio

= 10

0T

ocal

=

0C

osts

-Mas

lnca

rés

?rec

ij,

"ica

iP

riac

P

reci

e;

*al

-i

En

este

eje

mpl

o, e

l pr

ogra

mad

or p

asa

dos

vari

able

s po

r re

fere

ncia

al

proc

edi-

mie

nto

Cos

teM

asIn

teré

s: P

reci

o y

Tot

al.

La

inte

nció

n de

] pro

gram

ador

era

act

uali

-za

r el

val

or d

e la

var

iabl

e T

otal

y u

tili

zar e

ste

nuev

o va

lor

en e

l m

étod

o Pr

ínt

pero

,po

r de

sgra

cia,

el p

rogr

amad

or p

asó

por

alto

que

la

vari

able

Pre

cio

ve m

odif

icad

o su

valo

ren

un p

aso

inte

rmed

io d

entr

o de

l pro

cedi

mie

nto

(com

o Pr

ecio

ha

sido

pas

ada

por

refe

renc

ia,

los

cam

bios

en

el v

alor

de

la v

aria

ble

Cos

te s

e co

nvie

nen,

aut

omá-

tica

men

te, e

n m

odif

icac

ione

s de

la

vari

able

Pre

cio)

. E

ste

hech

o pr

oduc

e el

sig

uien

-te

res

ulta

do e

rrón

eo c

uand

o se

eje

cuta

el p

rogr

ama:

105

al

5% d

e in

ceré

s es

105

¿a p

alab

ra c

lave

ByV

al

Una

for

ma

obvi

a de

evi

tar

este

pro

blem

a es

no

mod

ific

ar n

unca

el

valo

r de

una

vari

able

que

se

pasa

a u

n pr

oced

imie

nto.

P

ero

esta

sol

ució

n se

pue

de t

rans

form

aren

la

nece

sida

d de

aña

dir

gran

can

tida

d de

cód

igo

a un

pro

gram

a y

pued

e re

sult

arim

prac

tica

ble

si u

sted

for

ma

part

e de

un

equi

po d

e de

sarr

ollo

con

stit

uido

por

var

ios

prog

ram

ador

es.

Un

mej

or m

étod

o es

uti

liza

r la

pal

abra

cla

ve B

y V

al d

entr

o de

la

list

a de

arg

umen

tos

cuan

do s

e de

clar

a e!

pro

cedi

mie

nto.

Est

a pa

labr

a cl

ave

le c

omun

ica

a V

isua

l B

asic

que

deb

e al

mac

enar

una

cop

iade

l arg

umen

to o

rigi

nal y

dev

olve

rlo

sin

mod

ific

ar c

uand

o te

rmin

e el

pro

cedi

mie

nto

(inc

luso

aun

que

el v

alor

de

la v

aria

ble

haya

sid

o m

odif

icad

o de

ntro

del

pro

cedi

-m

ient

o). B

y V

al s

e ut

iliz

a de

ntro

de

una

list

a de

arg

umen

tos

tal y

com

o se

mue

stra

aco

ntin

uaci

ón:

<B-/v

*: c

o«e.

T

eta!

;

ByV

al.

el p

ro»r

a-

100

al

51 d

»

-jora

pas

ar u

na.¿

ríanl

e co

mo

valo

r¿A

terr

ando

te•••

arab

le en

tre

paré

ntes

is.

RE

SU

ME

N

Par

a

EM

PLE

O D

E M

ÓD

UL

OS

Y P

RO

CE

DIM

IEN

TO

S 2

9J

Pas

o de

una

var

iabl

e co

mo

valo

r

Si n

o qu

iere

uti

liza

r la

pal

abra

cla

ve B

yVal

pod

rá u

tili

zar

un m

étod

o al

tcrn

ativ

ipa

ra e

vita

r qu

e el

val

or d

e un

a va

riab

le q

ue h

aya

pasa

do í

e ve

a m

odif

icad

ofo

rma

inad

vert

ida:

pod

rá c

onve

rtir

a l

a va

riab

le e

n un

val

or l

iter

al s

in m

ás q

iuen

cerr

arla

en

tre

paré

ntes

is.

Est

e tr

uco

siem

pre

func

iona

cor

reci

amen

te e

n V

isua

Bas

ic y

. gr

acia

s a

él, e

l pr

oces

.0 d

e ll

amar

a l

os p

roce

dim

ient

os se

con

vier

te e

n un

íta

rea

más

int

uiti

va. S

i esp

ecíf

icam

ente

pas

a un

a va

riab

le c

omo

valo

r to

do e

l mun

d(sa

brá

cuál

es

su i

nten

ción

. Con

esl

e m

étod

o ta

mbi

én p

odrá

pas

ar u

na v

aria

ble

conu

valo

r en

cie

rtas

oca

sion

es.

La

sint

axis

que

deb

erá

util

izar

par

a ll

amar

al

proc

edí

mie

nto

Cos

teM

asIn

teré

s y

pasa

r la

var

iabl

e P

reci

o co

mo

valo

r es

:

Cos

ceM

asIn

seré

s (P

reci

o),

Tot

al

Si e

l pr

ogra

ma

ejem

plo

se i

nvoc

a de

est

a fo

rma,

tam

bién

se

obte

ndrá

ei

resu

lta]

tío c

orre

cto:

100

al

51 <

ie in

ceré

s es

105

En

este

cap

ítul

o ha

apre

ndid

o a

util

izar

var

iabl

es p

úbli

cas,

fun

cion

es y

pro

cedi

-m

ient

os S

ub p

ara

gest

iona

r la

info

rmac

ión

man

ejad

a en

un

prog

ram

a. P

oco

a po

ceir

á ha

cien

do u

so d

e es

te t

ipo

de c

onst

rucc

ione

s cu

ando

sus

pro

gram

as a

lcan

cen

unm

ayor

tam

año.

Con

ell

as p

odrá

aho

rrar

un

tiem

po c

onsi

dera

ble

y vo

lver

a u

tili

zar-

las

en f

utur

os p

roye

ctos

.

Hag

a es

toB

otón

Nom

brar

un

obje

to

Cre

ar u

n nu

evo

mód

ulo

Gua

rdar

un

mód

ulo

Elim

inar

un

mód

ulo

tic u

npr

ogra

ma

Espe

cifi

que

un n

ombr

e ún

ico

en l

a pr

opie

dad

Ñam

e. U

tilic

ela

s co

nven

cion

es d

e de

nom

inac

ión

apro

piad

as p

ara

pode

rid

entif

icar

con

fac

ilida

d el

nom

bre.

Puls

e ei

bot

ón M

ódul

oo se

lecc

ione

la

opci

ón M

ódul

o co

nten

ida

en e

l men

ú In

sert

ar.

Sele

ccio

ne e

l mód

ulo

en l

a ve

ntan

a Pr

oyec

to y

. fi

nalm

eme,

ejec

ute

la o

pció

n G

uard

ar a

rchi

vo c

omo

cont

enid

a en

el

men

ú A

rchi

vo.

Sele

ccio

ne e

l mód

ulo

en l

a ve

ntan

a Pr

oyec

to y

. fi

nalm

ente

,ej

ecut

e la

opc

ión

Elim

inar

arc

hivo

con

teni

da e

n el

men

úA

rchi

vo.

Page 242: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

29

4 A

PR

EN

DA

VIS

UA

L B

AS

IC Y

A

Para

Hag

a es

to

Del

men

ú A

rchi

vo, s

elec

cion

e la

opc

ión

Aür

eü;

Cre

ar u

na v

aria

ble

públ

k

Cre

ar u

n pr

oced

imie

nto

Sub

Mai

n pa

ra j

nici

aliz

ar v

aria

bles

y m

ostr

ar e

l fo

rmul

ario

abi

erto

{nec

esar

io e

n pr

ogra

mas

que

cont

iene

n m

ódul

os e

stán

dar)

«reg

ar a

rchi

vo.

Dec

lara

r la

var

iabl

e ut

iliz

ando

la

pala

bra

clav

e l'u

blic

den

tro

de u

n m

ódul

o es

tánd

ar.

Por

ejem

plo:

Pu

bli

c V

enea

sToc

<ile

s A

s In

cege

r

Del

men

ú H

erra

mie

ntas

sel

ecci

one

Opc

ione

s, p

ulse

sob

re l

aet

ique

ta P

roye

cto

y es

peci

fiqu

e la

opc

ión

Sub

Mai

n de

ntro

de!

cuad

ro d

e li

sta

desp

lega

ble

deno

min

ado

Form

ular

ioin

icia

l. E

n la

ven

tana

de

códi

go d

el m

ódul

o es

tánd

ar,

debe

rácr

ear

un p

roce

dim

ient

o Su

b M

ain

que

teng

a un

asp

ecto

sim

ilar

al s

igui

ente

:

Cre

ar u

na f

unci

ón p

úbli

caIn

trod

uzca

las

sem

e :nci

as a

soci

adas

con

la

func

ión

entr

e la

pala

bra

clav

e Fu

ncti

on y

la

pala

bra

clav

e E

nd F

unct

ion.

dent

ro d

e un

mód

ulo

está

ndar

. Po

r om

isió

n, l

as f

unci

ones

son

públ

icas

. Po

r ej

empl

o:

Fun

ctio

n T

asat

Éx

itct

s.In

ten

tos)

A

s S

trin

gP

orc

enta

je

= É

xit

os/

Inte

nto

sT

asa

= F

onna

tíP

orce

ntaj

e.

"0.0

1*'

End

?un

ctio

n

Esc

riba

el

nom

bre

de l

a fu

nció

n y

los

argu

men

tos

nece

sari

osde

ntro

de

las

inst

rucc

ione

s as

ocia

das

en e

l pr

oced

imie

nto

desu

ceso

. P

or e

jem

plo:

IblT

asa.

Cap

ción

=T

asa(

Wur

oÉxi

cos,

U

tiB

lnce

nccs

í

Intr

oduz

ca l

as s

ente

ncia

s as

ocia

das

con

el p

roce

dim

ient

oen

tre

la p

alab

ra c

lave

Sub

y l

a in

stru

cció

n E

nd S

ub d

entr

ode

un

mód

ulo

está

ndar

. Po

r om

isió

n, l

os p

roce

dim

ient

osSu

b so

n pú

blic

os.

Por

ejem

plo:

Sub CosceüasInterés (Cost£. Total»

Cac

ti

= C

oste

1.05

Toc

al

= In

cíC

osC

eiSr

.d

Sub

Lla

mar

a u

n pr

oced

imie

nto

Sub

Esc

riba

el

nom

bre

del

proc

edim

ient

o y

cual

quie

r ar

gum

ento

que

sea

nece

sari

o de

ntro

del

pro

cedi

mie

nto

de s

uces

o. P

orej

empl

o:

Lla

mar

a u

na f

unci

ón d

efin

ida

por

el u

suar

io

Cre

ar u

n pr

oced

imie

nto

Sub

Par

aH

aga

esto

EM

PLE

O D

E M

ÓD

ULO

S Y

PR

OC

ED

IMIE

NTO

S

Bot

ón

Def

inir

o m

ilí/

ar u

na p

ropi

edad

[E

spec

ifiq

ue e

l no

mbr

e de

! fo

rmul

ario

c i

ntro

duzc

a un

tle u

n ob

jeto

en

un p

roce

dim

ient

o pu

nto

I.)

ante

s de

! no

mbr

e de

l ob

jeto

. Po

r ej

empl

o:de

pro

pósi

to u

ener

al'

Pasa

r ar

gum

ento

s co

mo

valo

r E

spec

ifiq

ue c

omo

argu

men

to d

e! p

roce

dim

ient

o el

pro

pio

nom

bre

de l

a va

riab

le e

ncer

rada

ent

re p

arén

tesi

s o

un v

alo

lite

ral.

Por

ejem

plo:

Pasa

r un

arg

umen

to p

orre

fere

ncia

Cal

cula

rín

tere

s 50

0

Esp

ecif

ique

una

var

iabl

e co

mo

argu

men

to d

el p

roce

dim

ient

o

Cal

cula

rIn

teré

s P

reci

o

Page 243: ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ANALIZADOR DE PUERTOS ... · 2019. 4. 8. · CONTENIDO TABLA DE CONTENIDO CAPITULO I: EL ANALIZADOR DE PUERTOS 1 1.1

32

2

APR

END

A V

ISU

AL B

ASIC

YA

RE

SU

ME

N

Par

a H

aga

esto

Proc

esar

los

obj

etos

de

una

cole

cció

n

Mov

er o

bjet

os d

e la

col

ecci

ónC

ontr

ols

por

la p

anta

lla

deiz

quie

rda

a de

rech

a.

Prop

orci

onar

un

trat

amie

nto

espe

cial

a u

n ob

jeto

de

una

cole

cció

n

Cre

ar u

n ai

ra y

púb

lico

Cre

ar u

n ar

ray

loca

l

Asi

gnar

un

valo

r a

un a

rray

Def

inir

la

base

de

todo

s lo

sar

rays

con

teni

dos

en u

npr

ogra

ma

com

o 1

Eli

min

ar l

as i

nstr

ucci

ones

Pri

ntde

un

form

ular

io

Cre

ar u

n ar

ray

diná

mic

o

Esc

riba

un

bucl

e Fo

r E

ach,

..N'e

.tt q

ue h

aga

refe

renc

ia a

cad

a un

o de

los

elem

ento

s in

tlivi

dlta

les

de l

a co

lecc

ión.

Por

eje

mpl

o:

C=

rl.v

isib

le ;

Fai

s-2

Mod

ific

ar l

a pr

opie

dad

Clr

l.L

eft

de c

ada

uno

de l

os o

bjet

ospe

rten

ecie

ntes

a l

a co

lecc

ión

util

izan

do u

n bu

cle

For

Eac

h...N

exr.

Por

ejem

plo:

For

E

acii

c:r

l Jn

Co

ntr

ols

Ctr

l.^

er-

=

C:r

l.-e

f!;

- 2

00

Nex

t C

tri

Def

inir

la

prop

ieda

d T

ag d

e un

obj

eto

asig

nánd

ola

un v

alor

rec

onoc

ible

y, f

inal

men

te, v

erif

icar

ese

val

or d

entr

o de

un

bucl

e F

or E

aeh.

..Nex

t.P

or e

jem

plo:

For

Eac

h ccrl

Ir

. C

on

tro

lsIf

C

trl.

Tag

o

"Boc

ón-

Tlie

nC

trl.

Le

ft

= C

trrl

.Lec

t +

200

Enci I

¿N

exc

ccrl

Dim

ensi

onar

el a

rray

uti

liza

ndo

la p

alab

ra c

lave

Pub

lic

dent

ro d

e un

mód

ulo

está

ndar

. P

or e

jem

plo:

Pub

lic

Em

plea

dos(

91 A

s S

trin

g

Dir

nens

iona

r el

arr

ay u

tili

zand

o la

pal

abra

cla

ve S

tatí

c de

ntro

de

unpr

oced

imie

nto

de s

uces

o. P

or e

jem

plo:

scacic

Em

plea

dos(

9)

As

stri

ag

Esp

ecif

icar

el

nom

bre

del

arra

y, e

l Ín

dice

del

ele

men

to d

e! a

rray

al

que

se d

esea

asi

gnar

un

valo

r y,

fin

alm

ente

, el

pro

pio

valo

r. P

or e

jem

plo:

Em

plea

dos(

5)

= "L

ola"

Intr

oduc

ir l

a in

stru

cció

n O

ptio

n B

ase

en u

n m

ódul

o es

tánd

ar. P

orej

empl

o:

Opc

ión

Sas

e 1

Uti

liza

r el

mét

odo

Cls

.

EMPL

EO D

E C

OLE

CCIO

NES

Y M

ATRI

CES

323

Esp

ecif

icar

e! n

ombr

e y

el t

ipo

del

arra

y en

tie

mpo

de

dise

ño, p

ero

omit

irel

núm

ero

de e

lem

ento

s. C

uand

u su

pro

gram

a se

eje

cute

, es

peci

fiqu

e e!

tam

año

del

arra

y ut

iliz

ando

h i

nstr

ucci

ón R

eDim

. P

or e

jem

plo:

SeD

im T

emce

ir^^

'Jra

s'D

tas)

Hag

a es

to

Proc

esar

los

ele

men

tos

cont

enid

os e

n un

arr

ay

Posí

cion

ar e

l cu

rsor

en

elfo

rmul

ario

(pa

ra u

tili

zar c

onPr

int y

otr

os m

étod

os}

Esc

riba

un

bucl

e Fo

r...N

ext

util

izan

do ¿

1 con

tado

r de

l bu

cle

com

o Ín

dice

del

arra

y. P

or e

jem

plo:

For

ii =

I "

o 7

To

tal!

* T

oo

al!

Uti

lice

las

pro

pied

ades

Citr

rent

.K y

Cur

rent

V e

n el

for

mul

ario

. E

stas

dos

prop

ieda

des

repr

esen

tan,

res

pect

ivam

ente

, las

coo

rden

adas

X e

Y

del

curs

or e

n pu

ntos

.