Anda di halaman 1dari 80

INSTITUTO POLITÉCNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA

UNIDAD CULHUACAN

“TABLERO ELECTRÓNICO PARA UN GIMNASIO”

T E S I S
QUE PARA OBTENER EL TÍTULO DE:
INGENIERO EN COMUNICACIONES Y
E L E C T R Ó N I C A
P R E S E N T A E L C.
ALEJANDRO SANTILLÁN CRESPO

Asesores: Dr. Omar Jiménez Ramírez


Ing. Emer Brito Brito

México, D.F. Octubre del 2009


“Tablero Electrónico Para Un Gimnasio”

AGRADECIMIENTOS
A DIOS:

Ante todas la cosas, Gracias por amarme tanto desde el inicio del universo
“Y él me enseñaba, y me decía: Retenga tu corazón mis razones, guarda mis mandamientos,
y vivirás. Adquiere sabiduría, adquiere inteligencia; no te olvides ni te apartes de las
razones de mi boca; no la dejes, y ella te guardará; Ámala, y te conservará. Sabiduría ante
todo; adquiere sabiduría; Y sobre todas tus posesiones adquiere inteligencia.” Proverbios
4:4-7

A MIS PADRES:

A Luis Santillán Pérea y Ofelia Crespo Rivera. A los que amo y admiro
tanto; por todo su amor incondicional y desinteresado apoyo y sobre todo su gran
comprensión, desde lo mas profundo de mi corazón les digo gracias por darme
una de las mas grandes herramientas que uno más puede pedir en el mundo, el
conocimiento pero sobre todo la gran humildad que en mi han sembrado.

A MIS HERMANOS:

Cristian, Yerika y mi sobrina Jetzubely. Por ser una parte fundamental en el


mí crecimiento humano y emocional que implica, enojos, regaños, problemas
personales, problemas emocionales, pero sobretodo las cosas buenas que hemos
logrado en familia.

A MI FAMILIA:

A todos y cada uno de los que me rodearon en las diferentes etapas de mi


vida por que todos son importantes para mi gracias por su apoyo y sus consejos.

A MIS AMIGOS:

Gracias a todos y cada uno de los conformamos el XC3M, y de alguna u otra


manera estuvieron compartiendo un momento especial conmigo, gracias a toda la
banda CHE, en especial a David M. de todo corazón les deseo lo mejor.

Ingeniería en Comunicaciones y Electrónica II Alejandro Santillán Crespo


“Tablero Electrónico Para Un Gimnasio”

A TODOS MIS PROFESORES:

Por que sin sus cátedras nunca hubiera alcanzado mis metas, en especial al
Dr. Omar Jiménez por su apoyo, sus valiosos consejos y facilitarme todo el material
para la realización del trabajo.

AL INSTITUTO POLITECNICO NACIONAL:

Por haberme forjado en sus instalaciones y ser mi segunda casa donde me


ha preparado para desempeñar mi papel dentro del ámbito laboral.

Ingeniería en Comunicaciones y Electrónica III Alejandro Santillán


Crespo
“Tablero Electrónico Para Un Gimnasio”

OBJETIVO

En este trabajo se desarrolla un tablero electrónico de fácil uso, que proporciona la


visualización del marcador para un juego de basquetbol, el cual consta de tres partes
principales. La primera parte consta de un arreglo de diodos LED (diodo emisor de luz) que
cumplie la función de mostrar el nombre del equipo visitante y del anfitrión, el tiempo en el
que se encuentran, el tiempo restante de juego y el marcador total de puntos de cada equipo.

En la segunda parte se diseñará un circuito electrónico que cumple con la tarea de


recibir información proveniente de una computadora personal y se encarga de la
codificación y el desplegado de información en el arreglo de LEDs

Por último el software que realiza la transferencia de datos de una computadora


personal a la tarjeta de control, se realiza en Visual Basic 6.0 (lenguaje de programación
desarrollado por Alan Cooper para Microsoft). El entorno de programación es muy
amigable y dentro de sus prestaciones más importantes, permite la transferencia de datos en
el puerto paralelo (1) y puerto serie (2), siendo este último el indicado para el proyecto por
ser el mas fácil de programar y por el reducido número de conexiones para conectar de la
tarjeta a la PC.

(1)
(Un puerto paralelo es una interfaz entre una computadora y un periférico cuya principal característica es que los bits de datos
viajan juntos enviando un byte completo o más a la vez. )
(2)
(Un puerto serie o puerto serial es una interfaz de comunicaciones de datos digitales, frecuentemente utilizado por computadoras y
periféricos, en donde la información es transmitida bit a bit enviando un solo bit a la vez)

Ingeniería en Comunicaciones y Electrónica IV Alejandro Santillán


Crespo
“Tablero Electrónico Para Un Gimnasio”

OBJETIVOS PARTICULARES

 Realizar la programación adecuada en Visual Basic para la sincronización de los


DISPLAY (DISPLAY en inglés, visualizador, dispositivo colocado en ciertos
aparatos electrónicos que permite mostrar información al usuario)

 Diseñar una tarjeta que comunique la computadora con los DISPLAYs.

 Realizar el software correspondiente a la comunicación entre la computadora y los


DISPLAYs en el microcontrolador.

 Diseñar las ventanas de entorno para la captura de información en la computadora


(nombre del equipo y nombre de los jugadores)

Ingeniería en Comunicaciones y Electrónica V Alejandro Santillán Crespo


“Tablero Electrónico Para Un Gimnasio”

JUSTIFICACIÓN

Actualmente el desarrollo de dispositivos de visualización son muchos, y con una


amplia gama, pasando por DISPLAY de 7 segmentos hasta los LCD (Display de Cristal
Líquido), pero son muy pequeños para poderse ver a gran distancia o resultan ser de muy
alto costo para el uso que se le dará.

Muy pocos gimnasios en donde se realizan encuentros deportivos cuentan con este
tipo de visualización. En este trabajo se propone una solución, utilizando arreglos de LEDs
para formar diferentes caracteres. Consta de 20 DISPLAYs individuales que tendrán 15
segmentos cada uno. Se diseña una tarjeta de control para que codifique la información
proveniente de una computadora y se encarga de mantener activos sólo los DISPLAYs y
segmentos correspondientes para que se visualice la información requerida. Por último, se
realiza el software que controla a la tarjeta desde una computadora, teniendo como lenguaje
de programación Visual Basic 6.0, que además de mantener una comunicación con la
tarjeta, tendrá opción de poder guardar el nombre del equipo, nombre del jugador, número
de anotaciones y numero de faltas, para poder realizar estadísticas individuales si se
requiere.

Ingeniería en Comunicaciones y Electrónica VI Alejandro Santillán


Crespo
“Tablero Electrónico Para Un Gimnasio”

ORGANIZACIÓN DE LA TESIS
Capítulo 1

Se realiza un estudio y sus características de los LED’S a si como sus aplicaciones,


en este capítulo también de diseña el circuito empleado para el despliegue de la
información de forma visual.

Capítulo 2

La tarjeta de comunicación con la computadora tiene un papel muy importante en el


trabajo, ya que se encarga de la comunicación y el despliegue de la información para ser
observada en los display que se diseñaron en el capítulo 1, también contiene el software que
es usado en el microcontrolador.

Capítulo 3

El correcto entendimiento de los diferentes puertos que tiene una computadora de


escritorio es pieza fundamental para mantener una comunicación con al tarjeta, por lo que
en este capítulo se realiza un estudio detallado del puerto serie y sus diferentes protocolos
de comunicación y también se realiza el software para la comunicación utilizando un
lenguaje de alto nivel.

Capítulo 4

Se dan las conclusiones del trabajo y la forma en que se propondrán trabajos a


futuro como por ejemplo el de intercambiar información por el puerto paralelo o USB.

Ingeniería en Comunicaciones y Electrónica VII Alejandro Santillán


Crespo
“Tablero Electrónico Para Un Gimnasio”

ÍNDICE
CAPÍTULO I
Diseño y construcción de la pantalla de visualización.

1.1.- Introducción…………………………………………………………………….. (1)

1.2.- Pantalla de LEDs…………………………………..……………….…………… (2)

1.2.1.- Definición de los LEDs………………………………………….……. (2)

1.2.2 .- Encapsulado de los LEDs…………….………………………………. (5)

1.2.3.- Dígito………………………………...……………………………….. (8)

1.2.4.- Conexión………………………………………………………..….….. (10)

1.3.- Etapa de potencia…………………………..…………………………… (11)

1.3.1.- El transistor como interruptor……………………………….….….…. (11)

1.4.- Registros auxiliares…………………………………………….....………….… (13)

1.4.1.- Registros de memoria (LATCH)……………………………………... (13)

1.5.- Conclusión…………………………………………………………………….... (14)

CAPÍTULO II
Tarjeta de comunicación con la computadora

2.1.-
Introducción……………………………………………………………………….….. (15)

2.2.- Arquitectura interna del PIC 16f628…………………………………..... (16)

2.2.1.- Antecedentes…………………………………..……….……..……….. (16)

2.2.2.- Memoria interna…………………………………………………..…… (17)

Ingeniería en Comunicaciones y Electrónica VIII Alejandro Santillán


Crespo
“Tablero Electrónico Para Un Gimnasio”

2.2.3.- Puertos de E/S……………………………………………….……….….. (21)

2.2.4.- Importancia de las interrupciones……………………………………..… (23)

2.2.5- Tipos de direccionamientos y registros de estado……………………..… (24)

2.3.- Comunicación serie………………………………….……………………. (25)

2.3.1.- Tipos de comunicación………………………………………………….. (25)

2.3.2.- Tipos de Comunicaciones Seriales…………………………………..….. (26)

2.3.3.- La Norma RS-232……………………………………………………..... (27)

2.3.4.- El Circuito MAX-232………………………………………………….. (27)

2.4.- Circuito propuesto………………………………...…………………….... (28)

2.5.- Entorno de programación………………………………………….……… (35)

2.5.1.- Creando un proyecto………………………………………………….... (35)

2.5.2.- Diagrama de flujo del programa……………………………………….. (37)

2.5.3.- Programa en el microcontrolador………………………………………. (37)

CAPÍTULO III
Programa para la computadora.

3.1.- Introducción…………………………………………………………….... (43)

3.2.- Puerto serie…………………………………………………...…………... (43)

3.3.- Visual Basic 6………..…………………………..……………………….. (45)

3.4.- Menú de ventanas……………………………………………………….... (48)

Ingeniería en Comunicaciones y Electrónica IX Alejandro Santillán


Crespo
“Tablero Electrónico Para Un Gimnasio”

CAPÍTULO IV
Conclusiones.

4.1.- Observaciones………………………………...……..………………….... (50)

4.2.- Consideraciones futuras………………………………………………….. (50)

BIBLIOGRAFÍA
Bibliografía …………………………………………..…………………………........... (51)

APÉNDICE

Programa en el microcontrolador ……………………………………………………... (52)

Hojas de datos de los circuitos utilizados ………………………………………...…... (56)

Ingeniería en Comunicaciones y Electrónica X Alejandro Santillán Crespo


OBJETIVO

OBJETIVO GENERAL

En este trabajo se desarrollará un tablero electrónico de fácil uso, que


proporcione la visualización del marcador para un juego de basquetbol, el cual constara
de tres partes principales. La primera parte constara de un arreglo de diodos LED (diodo
emisor de luz) que cumplirá la función de mostrar el nombre del equipo visitante y el
anfitrión, el cuarto en el que se encuentran, el tiempo restante de juego, el marcador
total de puntos de cada equipo.

La segunda parte se diseñará un circuito electrónico que cumpla con la tarea de


recibir información proveniente de una computadora personal y se encargue de la
codificación y el desplegado de información en el arreglo de LEDs

Por ultimo el software que realice la transferencia de datos de una computadora


personal a la tarjeta de control, será realizado en Visual Basic 6.0 (lenguaje de
programación desarrollado por Alan Cooper para Microsoft), el entorno de
programación es muy amigable y dentro de sus prestaciones más importantes, nos
permite la transferencia de datos en el puerto paralelo (Un puerto paralelo es una
interfaz entre una computadora y un periférico cuya principal característica es que los
bits de datos viajan juntos enviando un byte completo o más a la vez. ) y puerto serie
(Un puerto serie o puerto serial es una interfaz de comunicaciones de datos digitales,
frecuentemente utilizado por computadoras y periféricos, en donde la información es
transmitida bit a bit enviando un solo bit a la vez), siendo este ultimo el indicado para el
proyecto por ser el mas fácil de programar y por el reducido numero de hilos para
conectar de la tarjeta a la PC.

1
OBJETIVO

OBJETIVOS PARTICULARES

 Realizar la programación adecuada en Visual Basic para la sincronización de los


DISPLAY (DISPLAY en inglés, visualizador, dispositivo colocado en ciertos
aparatos electrónicos que permite mostrar información al usuario)

 Diseñar una tarjeta que comunique la computadora con los DISPLAYs.

 Realizar el software correspondiente a la comunicación entre la computadora y


los DISPLAYs en el microcontrolador.

 Diseñar las ventanas de entorno para la captura de información en la


computadora (nombre del equipo y nombre de los jugadores)

2
OBJETIVO

JUSTIFICACIÓN

Actualmente el desarrollo de dispositivos de visualización son muchos, y con


una amplia gama, pasando por DISPLAY de 7 segmentos hasta los LCD (Display de
Cristal Liquido), pero son muy pequeños para poderse ver a gran distancia o resultan ser
de muy alto costo para el uso que se le dará.

Muy pocos gimnasios en donde se realizan encuentros deportivos cuentan con


este tipo de visualización. En este trabajo se propone una solución, utilizando arreglos
de LEDs para formar diferentes caracteres. Constara de 20 DISPLAYs individuales que
tendrán 15 segmentos cada uno. Se diseñará una tarjeta de control para que codifique la
información proveniente de una computadora y se encargue de mantener activos sólo
los DISPLAYs y segmentos correspondientes para que se visualice la información
requerida. Por último se realizará el software que controle a la tarjeta desde una
computadora, teniendo como lenguaje de programación Visual Basic 6.0, que además
de mantener una comunicación con la tarjeta, tendrá opción de poder guardar el nombre
del equipo, nombre del jugador, numero de anotaciones y numero de faltas, para poder
realizar estadísticas individuales si se requiere.

3
CAPITULO I

CAPÍTULO I
Diseño y construcción de la pantalla de visualización.

1.1.- Introducción
Muy pocos gimnasios en donde se realizan encuentros deportivos cuentan con
algún tipo de visualización que ayude al despliegue de información. Actualmente el
desarrollo de dispositivos de visualización son muchos, y con una amplia gama de
tamaños, pasando por DISPLAY de 7 segmentos hasta los LCD, pero son muy
pequeños para poderse ver a gran distancia o resultan ser de muy alto costo para el uso
que se le dará.

En este capítulo se diseña y construye un módulo de visualización que se pueda


ver a una distancia de aproximadamente las dimensiones de un gimnasio a espacio
cerrado de básquetbol. La pantalla de visualización consta de 10 unidades de DISPLAY
cada unidad de DISPLAY consta de 2 dígitos de 15 segmentos cada uno. La finalidad
de la construcción de la pantalla de visualización es mostrar los nombres de los equipos
participantes, el marcador de encestes y faltas cometidas durante un encuentro
deportivo. La pantalla consta de tres partes, El digito conformado por LEDs, etapa de
potencia y la etapa de registros, tal y como se muestra en la figura 1.1

Modulo de visualización

2 1
Activación de
display (20) Pantalla de
Tarjeta de (Etapa de potencia) visualización
comunicación 1

9 2
1

11 12
9
2 4

con la
4 11 12

6
7 13

10
... 3
5

6
7

8
14
13

10

computadora
3 8
14

15
15

Activación de
registros (20)
(Etapa de LATCH)

Figura 1.1 diagrama a bloques de la pantalla de visualización.

La tarjeta de comunicación entre la computadora y el panel proporciona


información en forma digital entre la computadora y el panel de despliegue. Esta
información actualiza los registros de la etapa de LATCH (1), tiene la principal función
de mantener el dato presente hasta que uno nuevo sea requerido. La información de los
LATCH alimenta la base de los arreglos de transistores que forman parte de la
activación de los segmentos y la etapa de potencia activa todo el dígito que se quiera
mostrar.
(1)
(Un LATCH es un circuito electrónico usado para almacenar información en sistemas lógicos asíncronos. Un
LATCH puede almacenar un bit de información)

-1-
CAPITULO I

En la sección 1.2 se da una breve introducción acerca de los diferentes tipos de


LEDs que existen en el mercado resaltando las características de color y el material con
los que son construidos y la frecuencia de trabajo. Los diferentes tipos de encapsulados
de dichos dispositivos y el diseño propuesto para realizar este trabajo. En la sección 1.3
se construyen y diseñan los circuitos para manejar las corrientes adecuadas en los LEDs
con la finalidad de desplegar adecuadamente la información proveniente de una
computadora. La sección 1.4 describe la forma en la que los registros de memoria
(LATCH) hacen su trabajo manteniendo el dato presente hasta que uno nuevo es
requerido. Y en la sección 1.5 se muestra el diagrama completo de conexiones de todo
el módulo de visualización que se realizará para este trabajo.

1.2.- Pantalla de LEDs


Antes de proponer un modelo del módulo de visualización que permita mostrar
la información de los diferentes sucesos ocurridos en el transcurso de un partido de
básquetbol, primero se hace una revisión de los diferentes tipos de LEDs que hay en el
mercado; debido a que este elemento forma parte fundamental del módulo de
visualización.

1.2.1.- Desarrollo de los LEDs


Un diodo LED, es un dispositivo semiconductor que emite luz poli cromática, es
decir, con diferentes longitudes de onda, el color depende del material semiconductor
empleado en la construcción del diodo, pudiendo variar desde el ultravioleta, pasando
por el espectro de luz visible, hasta el infrarrojo.

Nick Holonyak Jr., inventó el primer LED en los laboratorios de General


Electric. Estos estaban construidos combinando Galio, Arsénico y Fósforo (GaAsP),
con lo cual se consiguió un LED rojo con una frecuencia de emisión de unos 650 nm
(nanómetros, en el sistema métrico 1 x 10-9 metros) con una intensidad relativamente
baja. El siguiente desarrollo se basó en el uso del Galio en combinación con el Fósforo
(GaP), con lo cual se consiguió una frecuencia de emisión del orden de los 700 nm. A
pesar de que se conseguía una eficiencia de conversión electrón - fotón o corriente - luz
mas elevada que con el GaAsP, esta se producía a relativamente baja corriente, un
incremento en la corriente no generaba un aumento lineal en la luz emitida, sumado a
esto se tenia que la frecuencia de emisión estaba muy cerca del infrarrojo una zona en la
cual el ojo no es muy sensible por lo que el LED parecía tener bajo brillo a pesar de su
superior desempeño de conversión.

El funcionamiento físico consiste en que, un electrón pasa de la banda de


conducción a la de valencia, perdiendo energía. Esta energía se manifiesta en forma de
fotón, con una amplitud, una dirección y una fase aleatoria.

-2-
CAPITULO I

Para obtener una buena intensidad luminosa debe escogerse bien la corriente que
circula en el LED; el voltaje de operación va desde 1,5 hasta 3,2 voltios
aproximadamente, y la gama de intensidades que debe circular por él va desde 10 hasta
20 mA en los diodos de color rojo, y de 20 a 40 mA para los otros LEDs.

Es de notar que muy difícilmente un LED se queme, si puede ocurrir que se


ponga en cortocircuito o que se abra como un fusible e incluso que explote si se le hace
circular una elevada corriente, pero en condiciones normales de uso un LED se degrada
perdiendo luminosidad a una taza del 5 % anual. Cuando el LED ha perdido el 50% de
su brillo inicial, se dice que ha llegado al fin de su vida útil. Un rápido cálculo da que en
un año hay 8760 horas por lo que podemos considerar que un LED tiene una vida útil de
más de 10 años.

A final de los 90 se cerró el círculo sobre los colores del arco iris, cuando gracias
a las tareas de investigación del Shuji Nakamura, investigador de Nichia, una pequeña
empresa fabricante de LEDs de origen Japonés, se llegó al desarrollo del LED azul. Este
LED siempre había sido difícil de conseguir debido a su elevada energía de
funcionamiento y relativamente baja sensibilidad del ojo a esa frecuencia (del orden de
los 460 nm). Hoy en día, existen varias técnicas para producir luz azul, una basada en el
SiC Silicio – Carbono, otra técnica para que de un color azul, utiliza el GaN Galio –
Nitrógeno, otra basada en InGaN Indio-Galio-Nitrógeno sobre substrato de Zafiro y otra
GaN sobre sustrato SiC. El compuesto GaN, inventado por Nakamura, es actualmente el
más utilizado. Otras técnicas como la de ZnSe Zinc – Selenio ha sido dejada de lado y
al parecer el SiC seguirá el mismo camino debido a su bajo rendimiento de conversión y
elevada degradación con la temperatura.

Dado que el azul es un color primario, junto con el verde y el rojo, tenemos hoy
en día la posibilidad de formar el blanco con la combinación de los tres y toda la gama
de colores del espectro. Esto permite que los displays gigantes y carteles de mensajes
variables en toda la gama de colores se hagan cada día más habituales en nuestra vida
cotidiana.

En la tabla 1.1 se detallan las distintas frecuencias de emisión típica de los LEDs
comercialmente disponibles y sus materiales correspondientes.

-3-
CAPITULO I

Tabla 1.1 - Materiales y frecuencias de emisión típicas de un LED

Frecuencia Color Material


940 Infrarrojo GaAs
890 Infrarrojo GaAlAs
700 Rojo profundo GaP
660 Rojo profundo GaAlAs
640 Rojo AlInGaP
630 Rojo GaAsP/GaP
626 Rojo AlInGaP
615 Rojo – Naranja AlInGaP
610 Naranja GaAsP/GaP
590 Amarillo GaAsP/GaP
590 Amarillo AlInGaP
565 Verde GaP
555 Verde GaP
525 Verde InGaN
525 Verde GaN
505 Verde turquesa InGaN/Zafiro
498 Verde turquesa InGaN/Zafiro
480 Azul SiC
450 Azul InGaN/Zafiro
430 Azul GaN
425 Azul InGaN/Zafiro
370 Ultravioleta GaN

Para tener una idea aproximada de la relación entre la frecuencia expresada en


nanómetros y su correspondencia con un color determinado, a continuación se muestra
una representación gráfica simplificada del triángulo de Maxwell o Diagrama de
Cromaticidad CIE, Figura 1.2. Cada color se puede expresar por sus coordenadas X e Y.
Los colores puros o saturados se encuentran en el exterior del triángulo y a medida que
se acerca a su centro el color tiende al blanco. El centro de la zona blanca es el blanco
puro y suele expresarse por medio de la temperatura del color, en grados Kelvin, de un
cuerpo negro. Simplificando se puede decir que un cuerpo negro al calentarse empieza a
emitir ondas infrarrojas. Al subir la temperatura empieza a tomar un color rojizo, esto es
en los 770 nm. Al seguir elevándose la temperatura, el color se torna anaranjado,
amarillento. Finalmente blanco, describiendo una parábola desde el extremo inferior
derecho hacia el centro del triangulo. Por lo tanto, cada color por donde pasa dicha
parábola puede ser representado por una temperatura equivalente. El tono de los LEDs
blanco viene expresado precisamente en grados Kelvin. Una temperatura superior
significa un color de emisión blanco – azulado.

-4-
CAPITULO I

X y Y son
coordenadas de
cromaticidad en
nanometros

Fig. 1.2 - Triangulo de Maxwell o Diagrama de Cromaticidad CIE

Hoy en día es posible conseguir LEDs en todo el espectro visible y más allá.
Con una elevada vida útil, elevado brillo y estándares de calidad de acuerdo a exigentes
normas de nivel mundial. Su bajo consumo comparado con otras fuentes de luz, incluso
inferior a las lámparas de bajo consumo y tubos fluorescentes, lo posiciona dentro del
grupo de los productos ambientalmente amigables y ecológicos. Sumado a todo esto se
considera que su precio y disponibilidad en el mercado lo hacen cada vez más accesible
al público en general, y resulta ser el indicado para cada vez más aplicaciones de uso
cotidiano en el mundo del siglo XXI.

1.2.2.- Encapsulado de los LEDs


Existen numerosos encapsulados disponibles para los LEDs y su cantidad se
incrementa de año con año a medida que las aplicaciones de los LEDs se hacen más
específicas.

Las partes constitutivas de un LED se muestran en la figura 1.3, la cual


representa uno de muchos encapsulados de los LEDs que es de 10mm de diámetro.

-5-
CAPITULO I

Encapsulado Epoxi
Chip semiconductor
Contacto de oro
Cátodo con Reflector

Ánodo Marca plana


Indica Cátodo

Terminal del cátodo


(Negativo)
Es más corto que
El ánodo

Fig. 1.3 - Partes constitutivas de un LED

Como se ve el LED viene provisto de los dos terminales correspondientes que


tienen aproximadamente 2 a 2,5 cm (centímetros) de largo y sección generalmente de
forma cuadrada. En el esquema se puede observar que la parte interna de la terminal del
cátodo es más grande que el ánodo, esto es porque el cátodo esta encargado de sujetar al
sustrato de silicio, por lo tanto será este terminal el encargado de disipar el calor
generado hacia el exterior ya que el terminal del ánodo se conecta al chip por un
delgado hilo de oro, el cual prácticamente no conduce calor. Es de notar que esto no es
así en todos los LEDs, solo en los últimos modelos de alto brillo y en los primeros
modelos de brillo estándar, ya que en los primeros LED de alto brillo es al revés. Por
eso, no es buena política a la hora de tener que identificar el cátodo, hacerlo observando
cual es el de mayor superficie. Para eso existen dos formas convenientes, la primera y
más segura es ver cual es la terminal mas corta, ese es siempre el cátodo no importa que
tecnología sea el LED. La otra es observar la marca plana que también indica el cátodo,
dicha marca plana es una muesca o rebaje en un reborde que tiene los LEDs. Otra vez
este no es un método que siempre funciona ya que algunos fabricantes no incluyen esta
muesca.

La terminal que sostiene el sustrato cumple otra misión muy importante, la de


reflector, ya que posee una forma parabólica o su aproximación semicircular, este es un
punto muy crítico en la fabricación y concepción del LED, ya que un mal enfoque
puede ocasionar una pérdida considerable de energía o una proyección dispareja.

Un LED bien enfocado debe proyectar un brillo parejo cuando se proyecta sobre
una superficie plana. Un LED con enfoque defectuoso se puede identificar porque
proyecta formas que son copia del sustrato y a veces se puede observar un aro más
brillante en el exterior de círculo, síntoma seguro de que la posición del sustrato se
encuentra debajo del centro focal del espejo terminal.

-6-
CAPITULO I

Dentro de las características ópticas del LED adem´ss de su luminosidad, está la


del ángulo de visión. Se define generalmente el ángulo de visión como el
desplazamiento angular desde la perpendicular donde la potencia de emisión disminuye
a la mitad. Según la aplicación que se le dará al LED se necesitará distintos ángulos de
visión; así son típicos LEDs con 4, 6, 8, 16, 24, 30, 45, 60 y hasta 90 grados de visión
Generalmente, el ángulo de visión está determinado por el radio de curvatura del
reflector del LED y principalmente por el radio de curvatura del encapsulado. Por
supuesto, mientras más chico sea el ángulo y a igual sustrato semiconductor se tendrá
una mayor potencia de emisión y viceversa

Por último, se tiene el encapsulado epoxi que es el encargado de proteger al


semiconductor de las inclemencias ambientales y ayuda a formar el haz de emisión. De
acuerdo a su color existen básicamente 4 tipos de encapsulado.

Transparente o clear water (agua transparente): Es el utilizado en LEDs de alta


potencia de emisión, ya que el propósito principal de estos LEDs es iluminar, es
importante que estos encapsulados no absorban de ninguna manera la luz emitida.

Coloreados o tinted: Similar al anterior pero coloreado con el color de emisión


de sustrato similar al vidrio de algunas botellas, se usa principalmente en LEDs de
mediana potencia y/o donde sea necesario identificar el color del LED aun apagado.

Difuso o difused: Estos LEDs tienen un aspecto más opacos que el anterior y
están coloreados con el color de emisión, poseen pequeñas partículas en suspensión de
tamaño microscópicos que son las encargadas de desviar la luz, este tipo de encapsulado
le quita mucho brillo al LED pero le agrega mucho ángulo de visión ya que los
múltiples rebotes de la luz dentro del encapsulo le otorgan un brillo muy parejo sobre
casi todos los ángulos prácticos de visión.

Lechosos o Milky: Este tipo de encapsulado es un tipo difuso pero sin colorear,
estos encapsulados son muy utilizados en LEDs bicolores o multicolores. El LED
bicolor es en realidad un LED doble con un cátodo común y dos ánodos (3 terminales) o
dos LEDs colocados en contraposición (2 terminales). Generalmente el primer caso con
LEDs rojo y verde es el más común aunque existen otras combinaciones incluso con
más colores.

Es muy importante hacer notar que en todos los casos el sustrato del LED es el
que determina el color de emisión y no el encapsulado. Un encapsulado con frecuencia
de paso distinta a la frecuencia de emisión del sustrato solo lograría filtrar la luz del
LED, bajando así su brillo aparente al igual que todo objeto colocado delante de él.

-7-
CAPITULO I

Algunas de las ventajas más importantes de usar LEDs se muestran a


continuación.

 Altos niveles de flujo e intensidad dirigida.


 Tamaño pequeño para múltiples y diferentes opciones de diseño.
 Alta eficiencia, ahorro de energía.
 Luz blanca.
 Todos los colores (de 460 nm a 650 nm).
 Requerimientos bajos de Voltaje y Consumos.
 Baja generación de calor.
 Alta resistencia a los golpes y vibraciones.
 Extremadamente larga vida (de 50000 a 100000 Hrs.).
 Sin radiación U. V.
 Pueden ser fácilmente controlados.
 Diferentes formas con diferentes ángulos de radiación.

El tipo de LED que se empleará en este trabajo es del tipo Jumbo y sus
especificaciones son:

Diámetro: 10 mm.
Voltaje: 1.8 V.
Corriente: 10 mA.
Color: Rojo difuso.

1.2.3.- Digito
En total son 10 unidades de DISPLAY que conforman la pantalla de LEDs, la
pantalla de LEDs se conforma de 3 módulos, dos de los tres módulos están compuestos
de 4 unidades de DISPLAY y que corresponden al primer y tercer modulo, el segundo
modulo se compone de 2 unidades de DISPLAY en la figura 1.4 se muestra el diagrama
esquemático de la pantalla de LEDs completa

D1 - D8 D9 - D12 D13 - D20

1 1 1 1 1 1

57 1
… 57 1 57 1 … 57 1 57 1
… 57 1

1 1 1 1 1 1
Modulo uno Modulo Dos Modulo tres

Fig. 1.4 – Pantalla de Visualización

El modulo uno y tres tienen ocho dígitos, suficientes para poder desplegar el
nombre del equipo y el nombre del jugador en caso de que el jugador tenga una
anotación, el número de faltas cometidas por cada jugador y el numero de anotaciones
que tiene cada equipo, se instalaron dos módulos de ocho dígitos correspondientes a
cada equipo, uno para el equipo visitante y otro para el equipo anfitrión.

-8-
CAPITULO I

El módulo dos está compuesto por cuatro dígitos, en estos solo se muestra el
tiempo de juego en el que se encuentran y el tiempo restante del juego.

La unidad de DISPLAY consta de dos dígitos. Un dígito consta de 15 segmentos


de LEDs, el segmento que menos tiene es una unidad de LED y el que más tiene es de
cinco LEDs. En la Figura 1.5 se muestra un dígito que forma parte de la pantalla de
visualización.

9
2 4 11 12

5 7 13

6 8 10
3 14

15

Figura 1.5 - Dígito de 15 segmentos

Para la activación de cada uno de los segmentos se diseñó el circuito


correspondiente a la figura 1.6, La corriente que circula por los LEDs se controla
principalmente por la etapa de potencia vista en la figura 1.6, que alimenta al DISPLAY
en general.

Fig. 1.6 – Circuito para activar los segmentos

El circuito de la figura 1.6, incluye el transistor que funciona como interruptor es


un BC558A que en la parte de anexos se encuentra la hoja especificaciones del
fabricante. En el circuito propuesto este también se comporta como un interruptor, por
ser de tipo PNP la carga se encuentra colocada en el colector. De esta manera, se
encuentra en saturación cuando recibe en su base una corriente negativa. Por lo tanto, si

-9-
CAPITULO I

queremos encender los segmentos se debe hacer que el circuito se encuentre en nivel de
tierra.

De la figura 1.6.a se observa que se encuentra solo un LED; este corresponde al


segmento 7 de la figura 1.5, ya que solo se necesito de un solo LED. En la figura 1.6.b
se tienen cinco unidades de LEDs que corresponden a los segmentos 1, 2, 3, 9, 10 y 15.
En la tabla 1.2 se muestra la cantidad de LEDs que se necesitaron en cada segmento.

Tabla 1.2 – Número de LEDs que se necesitaron en cada segmento

Segmento Numero LEDs


por segmento
1,2,3,9,10 y 15 5
4,11,12,6,8 y 14 4
15 y 13 3
7 1

1.2.4.- Conexión
En la figura 1.7 se muestran los dos buses de conexiones que se deben conectar a
la “Tarjeta de comunicación con la computadora”

Bus de DISPLAY 20 bits

1 1 1 1 1 1
57 1 57 1 57 1 57 1 57 1 57 1
1 1 1 1 1 1

Bus de segmentos 16 bits

Fig. 1.7 – Circuito para activar los segmentos

- 10 -
CAPITULO I

1.3.- Etapa de potencia


Para mantener activo el DISPLAY se necesita un circuito que controle el flujo
de corriente y para este propósito se diseñó y construyó el circuito que se describe a
continuación.

1.3.1.- El transistor como interruptor


Las aplicaciones de los transistores no se limitan únicamente a la amplificación
de señales. Mediante un diseño apropiado, se pueden utilizar como interruptores para
aplicaciones de cómputo y de control. Según sea un transistor NPN o PNP, varía la
polaridad de las conexiones del emisor, del colector y de la base a tener en cuenta para
utilizar correctamente el transistor como interruptor o en cualquier otro uso.

En un transistor del tipo NPN, para que la base pueda funcionar como
interruptor, debe tener polaridad positiva y el emisor debe tener polaridad negativa para
generar el flujo de electrones figura 1.8.a

Cuando a la base del transistor se le corte la corriente o se conecte al polo


negativo, el transistor NPN dejará de conducir (Se comporta como un circuito abierto) y
no pasará la corriente de emisor a colector.

En un transistor PNP la base debe tener una polaridad negativa.

Fig. 1.8 - Transistores utilizados como interruptor

- 11 -
CAPITULO I

En la figura 1.8.a se muestra a un transistor NPN conduciendo por tener


corriente positiva en su base a través del interruptor I; Rc es la resistencia de carga que
modula la corriente Emisor – Colector; Rb es la resistencia de base que limita la
corriente de base a valores pequeños. En la figura 1.8.b el transistor es de tipo PNP y
conducirá al recibir corriente negativa en su base a través del interruptor I. y por último
en la figura 1.8.c el transistor PNP es bloqueado por recibir corriente positiva en su
base a través del interruptor I.

En la figura 1.9, se emplea un transistor como interruptor para controlar los


estados de encendido y apagado de un DISPLAY en su colector. Cuando el DISPLAY
se encuentra encendido, se tiene una situación de polarización fija donde el voltaje que
se encuentra entre la Base - Emisor se tiene en su nivel de 0.7 V que es el voltaje
mínimo para saturar el transistor, R1 controla la corriente de base y la impedancia de
entrada del transistor. La corriente a través de los LEDs será entonces de β veces la
corriente de la base y, por lo tanto, los LEDs encendidos.

Fig. 1.9 – Encendido y apagado de DISPLAY

El transistor servirá para alimentar el digito es el TIP 120, es un transistor de


potencia en la parte de anexos se muestra su hoja de especificaciones. Por ser un
transistor NPN de potencia, la carga que en este caso es el DÍGITO, debe de instalarse
en la parte del colector. En la figura 1.10 se muestra el diagrama de conexión propuesto.

9
5 7 1

6
15

Figura 1.10 - Digito de 15 segmentos

- 12 -
CAPITULO I

Este circuito pondrá a tierra a todo el dígito; por lo tanto, se cerrara el circuito de
potencia y solo se encenderá el segmento que se requiera. Se instalarán 20 circuitos
como el propuesto, uno para cada dígito.

1.4.- Registros auxiliares


Para mantener el dato presente en cada uno de los circuitos se necesitaron
circuitos que en su interior pudieran almacenar 8 bits. Estos circuitos se utilizan mucho
en etapas en las se necesita guardar el dato por tiempo definido a continuación se verá
un poco de teoría de estos circuitos.

1.4.1.- Registros de memoria (LATCH)


El circuito 74HC374 contiene 8 Flip-Flops tipo D con salidas tres estados (1, 0 y
circuito abierto) sensibles al flanco de subida de la señal del Reloj. En la figura 1.11 se
muestra la estructura interna de este registro.

Figura 1.11. Diagrama lógico del 74HC374

En el apartado de anexos se encuentra la hoja de especificaciones del fabricante


del circuito 74374, El DIGITO siempre se encuentra encendido, solo cuando se requiere
que un nuevo dato sea mostrado, es apagado en cada uno de los DÍGITOS se instalan
circuitos auxiliares que ayudan a que los DÍGITOS permanezcan encendidos hasta que
sea necesario que se presente otro dato. Es solo entonces que se apaga
momentáneamente el DÍGITO, para que los circuitos marcados como U1 y U2 de la
figura 1.12, obtengan el nuevo dato a presentar. Estos circuitos son registros de 8 bits
que contiene ocho flip-flops que se encarga de mantener el dato presente hasta que uno
nuevo sea necesario. La etiqueta marcada como “Bus de número de display” se conectó
a la entrada etiquetada como “activación de display” de la figura 1.9. Esta entrada se
controla desde la tarjeta de comunicación con la computadora y el nuevo dato se registra

- 13 -
CAPITULO I

solo con un pulso en flanco positivo en la entrada marcada como número de DISPLAY
para que el nuevo dato sea guardado y presentado en el DISPLAY. Por lo tanto, este
circuito debe de ser instalado en cada DÍGITO conectado a su respectivo segmento. La
línea marcada como “Bus de segmento” se conectan todas en común, esto es, P1 con
todas las P1, P2 con todas las P2 y así hasta llegar a P15. Esta líneas están controladas
por la “Tarjeta de comunicación con la computadora” que envían el dato a todos los
circuitos auxiliares, pero solo cargan el dato presente a aquel circuito que reciba un
pulso en flanco ascendente. Esto será explicado en breve en el siguiente capítulo.

Fig. 1.12 – Circuito auxiliar

- 14 -
CAPITULO I

1.5.-Conclusión
El circuito realizado en este capítulo fue diseñado para ocupar el menor número
de componentes electrónicos y ahorrando un poco en el costo, ya que, para su
alimentación se emplearon 2 fuentes recicladas de computadora. El diseño es simple y
solo es para poder desplegar la información proveniente de una computadora personal.

- 15 -
CAPITULO II

CAPÍTULO II

Tarjeta de comunicación con la computadora

2.1.- Introducción
En la esta parte se diseñará un circuito electrónico que cumpla con la tarea de
recibir información proveniente de una computadora personal y se encargue de la
codificación y el desplegado de información en la pantalla de visualización. En la figura
2.1 se muestra un diagrama a bloques que incluye las partes que lo cumplen.

3
2 1 20
8
Decodificador 1 a Pantalla de
20 salidas (Control Visualización
de display activo)
1

Registros de 1 1

Pc 2 9
2 1

Microcontrolador
4

entrada y salida 5 7 13

6 1
3 8 1

Registro de 15 bits 4 0

(Control de 15

segmento activo)
8
15
4

Figura 2.1 – Diagrama a bloques de la tarjeta de comunicación

En la sección 2.2 se realizará una pequeña reseña de la evolución del


microcontrolador y las empresas que los fabrican, resaltando un poco más a la empresa
microchip que es la que tiene el número uno en la venta de estos dispositivo. Esto se
debe a gran parte a su bajo costo y que pone a su disposición infinidad de herramientas
y ejemplos prácticos para realizar sus propios diseños. También se detalla la
arquitectura del microcontrolador 16f628, que es el encargado de mantener la
comunicación y la codificación de la información que manda la computadora para que
se despliegue en la pantalla de LEDs. En la sección 2.3 se verán los registros que se
tienen que configurar en el microcontrolador para que realice la transmisión y recepción
de datos de forma serie, con control de paridad, velocidad de transmisión y recepción,
así como los diferentes tipos de comunicación serie que puede manejar, detallando
también el circuito auxiliar que se utiliza para mantener los niveles TTL y el protocolo
de comunicaciones RS-232. La sección 2.4 muestra el circuito diseñado para realizar la
extensión del bus de comunicaciones del puerto del micro controlador. Esto es
necesario, por que, se tiene un bus de segmentos de 15 bits y un bus de display de 20
bits. Para finalizar este capítulo, en la sección 2.5 se explica de manera breve el
programa que se utilizo para diseñar el algoritmo y la programación realizada en el
microcontrolador para mantener la comunicación con la computadora y los diferentes
circuitos auxiliares.

- 16 -
CAPITULO II

2.2.- Arquitectura interna del PIC 16f628


El primer problema a la hora de materializar una idea usando un
microcontrolador, es la elección de una familia de microcontroladores y dentro de esta,
un modelo en concreto que se ajuste lo mejor posible a las necesidades del diseño. Aquí
se hablará en particular del microcontrolador PIC 16f628, fabricado por Microchip.

2.2.1.- Antecedentes
Todos los microcontroladores que se fabrican hoy en día son buenos, y el mejor
no siempre es el mismo. Cambian el modelo y el fabricante según la aplicación y las
circunstancias que lo envuelven.

En el mercado existen muchos fabricantes. La elección de un microcontrolador


PIC de Microchip frente a otros más conocidos como el 80XX de Intel, el 68XX de
Motorola, el ST-62XX de SGS-Thomson o el Z86XX de Zilog, se debe a características
como su bajo precio, velocidad, consumo reducido de energía, tamaño pequeño,
facilidad de uso, facilidad para programar y la cantidad de información y de
herramientas económicas de soporte.

Los microcontroladores PIC de Microchip Technology Inc. combinan una gran


calidad unida a un bajo costo y un excelente rendimiento. Un gran número de estos
microcontroladores se usan en una gran cantidad de aplicaciones tan comunes como
periféricos en computadoras, sistemas de seguridad y aplicaciones en el sector de
telecomunicaciones.

La segmentación permite al procesador realizar al mismo tiempo la ejecución de


una instrucción y la búsqueda del código de la siguiente. De esta forma, se puede
ejecutar cada instrucción en un ciclo (un ciclo de instrucción equivale a cuatro ciclos de
reloj).

Las instrucciones de salto ocupan dos ciclos de reloj al no conocer la dirección


de la siguiente instrucción hasta que no se haya completado la instrucción.

Todas las instrucciones de los microcontroladores PIC tienen una misma


longitud. Esta característica es muy ventajosa en la optimización del uso de la memoria
de instrucciones y facilita enormemente la construcción de ensambladores y
compiladores.

Las instrucciones pueden manejar cualquier elemento de la arquitectura como


fuente o destino. Además, todos los elementos del sistema (puertos de E/S,
temporizadores, posiciones de memoria, etc.) están construidos físicamente como
registros.

La empresa Microchip y otras que utilizan PICs ponen a disposición de los


usuarios numerosas herramientas para desarrollar hardware y software. Son muy
abundantes los programadores, simuladores software, emuladores en tiempo real,
ensambladores, compiladores C y Basic, intérpretes, etc.

- 17 -
CAPITULO II

Existen diversas familias de PIC, las cuales se amplían constantemente, pero las
más básicas son:

 PIC12C508/509 (encapsulamiento reducido de 8 pines, oscilador interno,


popular en pequeños diseños como el iPod remote)
 PIC16F84 (Considerado obsoleto, pero imposible de descartar y muy popular)
 PIC16F84A (Buena actualización del anterior, algunas versiones funcionan a 20
MHz, compatible 1:1)
 PIC12F629/675 y PIC16F628 similar al pic 16f84A solo que comparadores.
 PIC16F88 (Nuevo sustituto del PIC16F84A con más memoria, oscilador interno,
PWM, etc que podría convertirse en popular como su hermana menor)
 La familia PIC16F87X y PIC16F87XA (los hermanos mayores del PIC16F84 y
PIC16F84A, con cantidad de mejoras incluidas en hardware. Bastante común en
proyectos de aficionados)
 PIC18F2455, PIC18F2550 y PIC18F4550 similares, con puerto USB 2.0
 dsPIC30F3011 (Ideales para control electrónico de motores eléctricos de
inducción)
 PIC32 (Nueva gama de PIC de 32 bits)

En función de las instrucciones ejecutadas en la ALU (Unidad aritmética lógica)


puede afectar los valores de los siguientes registros

 Acarreo (C).
 Acarreo de dígito (DC).
 Bit Cero (Z) del registro de estado.

El microcontrolador propuesto para la elaboración del proyecto esta pensado en


la gama media en la cual existe una subfamilia, PIC16F628, con recursos especiales,
pero manteniendo el bajo precio y el consumo reducido.

Entre sus grandes prestaciones que ofrece el microcontrolador PIC16F628,


puede funcionar con un oscilador interno o con uno externo en base a un cristal de
cuarzo, modo de direccionamiento directo e indirecto, temporizadores, comparador
analógico, Timers, módulo de PWM (Un modulador por ancho de pulso), y 16 pines de
entrada/salida controladas individualmente.

2.2.2.- Memoria interna


Hay dos bloques de memoria en el PIC16F628. Estas son la memoria de
programa y la memoria de datos. Cada bloque posee su propio bus, con la finalidad que
el acceso para cada bloque pueda ocurrir durante el mismo ciclo del oscilador.

En la figura 2.2 se muestra el diagrama a bloques del microcontrolador 16F628,


en el cual se puede observar las diferentes conexiones internas que tiene para el correcto
funcionamiento del mismo y las conexiones externas que tiene para poder comunicarse
con el exterior.

- 18 -
CAPITULO II

Figura 2.2 Diagrama de la estructura interna

- 19 -
CAPITULO II

El microcontrolador 16F628 tiene


un contador de programa de 14 bits el cual
puede direccional hasta 8K x 14 de
memoria de programa, pero solo están
implementadas físicamente las primeras
2K x 14 localidades de memoria. Por esta
razón, solo se pueden acceder a las
localidades de memoria comprendidas de
000H hasta 07FFh. En la figura 2.3 se
muestra la asociación entre la de memoria
de programa y el área de memoria para el
STACK. Este último, se encarga de
guardar la dirección de la última
instrucción a ejecutar, después de una
interrupción o un salto, una vez ejecutada
dicha interrupción o salto. El STACK
devuelve la dirección en la que se
interrumpió el programa principal.

La memoria de programa está


organizada en palabras de 14 bits y es del
tipo FLASH. Esta memoria es de sólo
lectura y únicamente se ejecutará el código
contenido en ella. El vector de reset se
encuentra en la posición 0000h y el de
interrupciones en la 0004h, por lo que la
memoria de usuario se extiende desde la
dirección 0005h.

Figura 2.3 Memoria de programa

La memoria de datos está dividida en Registros de Propósito General (GPR) y


los Registros de Función Especiales (SFR). Los SFR controlan la operación del
dispositivo.

Para el estudio de esta memoria se suele dividir virtualmente la misma en cuatro


bancos, tal como se puede ver en la figura 2.4.

- 20 -
CAPITULO II

Figura 2.4 Mapa de memoria de datos

De esta forma, los registros GPR están agrupados entre 00h - 1Fh, 80h - 9Fh,
100h - 10Fh y 180h - 18Fh. Los registros de propósito general pueden ser accedidos

- 21 -
CAPITULO II

desde 20h - 6Fh, A0h - EFh y 120h - 14Fh aunque se recomienda siempre el primer
intervalo. Las zonas de memoria con sombra no son empleadas y devuelven 0 en
lectura.

El área de memoria de datos también contiene la memoria de datos EEPROM.


Esta memoria no está directamente asociada en la memoria de datos, pero está
indirectamente mapeada. Esto es, un puntero de dirección indirecta especifica la
dirección de la memoria de datos EEPROM para lectura/escritura. Los 128 bytes de
memoria de datos EEPROM tienen el rango de dirección 00h-7Fh.

Para acceder a la EEPROM en lectura y escritura se emplean dos registros, que


forman el puntero de dirección indirecta:

EEDATA (009Ah), para datos


EEADR (009Bh), para direcciones

Para definir el modo de funcionamiento empleamos los registros especiales:

EECON1 (009Ch)
EECON2 (009Dh)

2.2.3.- Puertos de E/S

Se dispone de dos puertos de entrada


y salida (E/S).

Puerto A

Posee 8 líneas (RA0 a RA7), en la


que RA4 o T0CKI es compartida con la
entrada para el temporizador 0 (TMR0).

Puerto B

Posee 8 líneas de E/S (RB0 a RB7),


en la que la línea RB0 o INT es compartida
con la entrada de interrupción externa.
Figura 2.5

Figura 2.5 Puertos de E/S

- 22 -
CAPITULO II

La comunicación serie se realiza por las líneas de entrada - salida RB1 y RB2
respectivamente, tal como se muestra en la figura 2.6.

Figura 2.6 Transmisión y recepción asíncrona serial

La comunicación se logra gracias a que el microcontrolador tiene en su interior


un Transmisor-Receptor Asíncrono-Síncrono Universal (USART) es uno de los dos
módulos E/S con los que cuenta el PIC16F628. Es posible configurar el USART como
un sistema asíncrono full-duplex capaz de comunicarse con dispositivos periféricos
tales como terminales CRT y PC´s. También puede programarse como un sistema
síncrono half-duplex para comunicar al microcontrolador con circuitos integrados
periféricos tales como ADC, DAC, EPROM´s seriales, etc.

El módulo USART se puede programar para funcionar en los siguientes modos:

Asíncrono (full duplex)


Síncrono – maestro (half duplex)
Síncrono – esclavo (half duplex)

El microcontrolador tiene diferentes registros de los cuales debemos de


configurara para que pueda establecer comunicación con la computadora entre estos
están:

 TXREG: Registro que se encarga de mantener el dato que será transmitido.

 RXREG: Registro que se encarga de mantener el dato que fue recibido.

 TXSTA: Registro de control de transmisión.

 RCSTA: Registro de control de Recepción.

 SPBRG: Registro generador de baudios.

- 23 -
CAPITULO II

En la figura 2.7 se muestra la programación realizada al micro controlador para


la comunicación con la computadora, la velocidad se determino a 9600 bits por
segundo, 8 bit de datos y sin paridad.

; -------------------------------------
; CONFIGURACIÓN DEL PUERTO SERIE
; -------------------------------------
; Baud= 9600, Sin Paridad, 1 Stop Bit
;
movlw 0x19 ; 0x19=9600 bps (0x0C=19200 bps)
movwf SPBRG
movlw b'00100100' ; brgh = high (2)
movwf TXSTA ; ABILITA TRANSMICIÓN ASINCRONA
bcf STATUS,RP0 ; BANCO RAM 0

movlw b'10010000' ; ABILITA RECEPCIÓN ASINCRONA


movwf RCSTA
;

Figura 2.7 Configuración de transmisión y recepción asíncrona

2.2.4.- Importancia de las interrupciones


Las interrupciones son acciones que permiten controlar el flujo de ejecución de
uno o más programas se originan por diversos sucesos que no se hallan bajo la
supervisión de las instrucciones. Dichos sucesos pueden ser externos al sistema, como
la generación de un flanco o nivel activo en una entrada del microcontrolador, o bien,
como el desbordamiento de un contador.

El comportamiento de una interrupción en el microcontrolador es similar con la


instrucción CALL llamada a una subrutina. En ambos casos, se detiene la ejecución del
programa en curso, se salva la dirección actual del contador de programa en el STACK
y se carga el contador de programa con una dirección, que en el caso de CALL viene
acompañado a la propia instrucción, y en el caso de una interrupción es una dirección
reservada de la memoria de código, llamada Vector de Interrupción.

El vector de interrupción se halla situado en la dirección 0004H, en donde


comienza la Rutina de Servicio a la Interrupción. En general, en dicho Vector se suele
colocar una instrucción de salto incondicional (GOTO), que traslada el flujo de control a
la zona de la memoria de código destina a contener la rutina de atención a la
interrupción.

La mayor parte de los registros y bits de permiso de las fuentes de interrupción


en el microcontrolador están implementados sobre los bits del registro INTCON, que
ocupa la dirección 0BH del banco 0, en la figura 2.8 se muestra la distribución de los
bits del registro de control de las interrupciones en el microcontrolador.

- 24 -
CAPITULO II

Figura 2.8 Bits de control de las interrupciones

Cuando TMR0 se desborda y pasa del valor FFH al 00H, el apuntador T0IF se
pone automáticamente a 1. Si, además, el bit de permiso de la interrupción de TMR0,
T0IE = 1 y el bit de Permiso Global de Interrupciones GIE = 1, se produce una
interrupción.

Si no se carga el TMR0 cuando se desborda, sigue contando desde 00H a FFH.


En cualquier momento se puede leer y escribir este registro, pero cada vez que se
escribe se pierden dos ciclos de reloj para la sincronización.

Cuando se carga inicialmente TMR0 con el valor N10, cuenta 256 – N impulsos,
siendo el tiempo que tarda en hacerlo el que expresa la siguiente fórmula:

Temporización  4 * Tosc * (256  N 10 ) * Rango  del  divisor  de  frecuencia

2.2.5- Tipos de direccionamientos y registros de estado


El direccionamiento indirecto opera utilizando la instrucción en curso, se
referencia mediante su dirección, que viene incluida en el código OP de la misma,
concretamente en los bits de menos peso. El banco de memoria a acceder lo determinan
los bits RP0 y RP1 del registro ESTADO.

El direccionamiento indirecto se usa cuando en una instrucción se utiliza como


operando el registro INDF, que ocupa la dirección 0 de los cuatro registros. En realidad
el registro INDF no está implementado físicamente y cuando se le hace referencia, se
accede a la dirección de un registro especificado con los 7 bits de menos peso del
registro FSR. El bit de más peso de FSR junto al bit IRP del registro ESTADO se
encarga de seleccionar el banco a acceder, mientras que los 7 bits de menos peso del
FSR apuntan a la posición.

El registro ESTADO es el más usado, en la figura 2.9 se muestra la distribución


de los bits del registro. Sus bits tienen tres funciones distintas.

- 25 -
CAPITULO II

1. Se encarga de avisar las incidencias del resultado de la ALU (C, DC, y Z).

2. Indican el estado de Reset (TO y PD).

3. Seleccionan el banco de memoria a acceder en la memoria de datos (IRP, RP0 y


RP1).

Figura 2.9 Bits de control del registro de estado

Para la realización de la tarjeta de control y comunicación entre la computadora


y el microcontrolador, se tienen las siguientes consideraciones:

1.- Facilidad de diseño.


2.- Componentes muy fáciles de conseguir en el mercado.
3.- Interfaz amigable con el usuario.
4.- Programación sencilla.
5.- Facilidad de poder guardar el resultado de encuentro deportivo.
6.- Poder consultar los resultados en cualquier momento

2.3.- Comunicación serie


Existen muchas formas de realizar una comunicación con la computadora, entre
ellas están, comunicación paralelo, comunicación serie, comunicación USB, bluetooth,
Wifi entre muchas otras. Pero la que nos interesa por su fácil programación y bajo costo
Es la que comprende a la comunicación serie.

2.3.1.- Tipos de comunicación


El puerto serial de las computadoras es conocido como puerto RS-232. La
ventaja de este puerto es que es de fácil programación, este permite las comunicaciones
entre otros dispositivos tales como otra computadora, el Mouse, impresora y para
nuestro caso con los microcontroladores.

Existen dos formas de intercambiar información binaria: la paralela y la serial.


La comunicación paralela transmite todos los bits de un dato de manera simultánea, por
lo tanto la velocidad de transferencia es rápida, sin embargo tiene la desventaja de
utilizar una gran cantidad de líneas. Por lo tanto, se vuelve más costoso y tiene la
desventaja de atenuarse a grandes distancias, por la capacitancia entre conductores.

- 26 -
CAPITULO II

2.3.2.- Tipos de Comunicaciones Seriales


Existen dos tipos de comunicaciones seriales: la síncrona y asíncrona.

En la comunicación serial sincronía además de una línea sobre la cual se


transmitirán los datos se necesita de una línea la cual contendrá los pulsos de reloj que
indicaran cuando un datos es valido.

Ejemplos de este tipo de comunicación son:

• I2C

• ONE WIRE

• SPI

En la comunicación serial asíncrona, no son necesarios los pulsos de reloj. La


duración de cada bit esta determinada por la velocidad con la cual se realiza la
transferencia de datos.

La siguiente figura 2.10 muestra la estructura de una carácter que se trasmite en


forma serial asíncrona.

Figura 2.10 Transmisión asíncrona.

Normalmente cuando no se realiza ninguna transferencia de datos, la línea del


transmisor se encuentra en estado (idle); esto quiere decir en estado alto. Para iniciar la
transmisión de datos, el transmisor coloca esta línea en bajo durante determinado
tiempo, lo cual se le conoce como bit de arranque (start bit) y a continuación empieza a
transmitir con un intervalo de tiempo los bits correspondientes al dato, empezando
siempre por el BIT menos significativo (LSB), y terminando con el BIT más
significativo. Si el receptor no esta sincronizado con el transmisor, este desconoce
cuando se van a recibir los datos.

Por lo tanto, el transmisor y el receptor deberán tener los mismos parámetros de


velocidad, paridad, número de bits del dato transmitido y de BIT de parada. En los
circuitos digitales, cuyas distancias son relativamente cortas, se pueden manejar
transmisiones en niveles lógicos TTL (0-5V), pero cuando las distancias aumentan,
estas señales tienden a distorsionarse debido al efecto capacitivo de los conductores y su
resistencia eléctrica. El efecto se incrementa a medida que se incrementa la velocidad de

- 27 -
CAPITULO II

la transmisión. Todo esto origina que los datos recibidos nos sean igual a los datos
transmitidos, por lo que no se puede permitir la transferencia de datos.

Una de las soluciones mas lógica es aumentar los márgenes de voltaje con que se
transmiten los datos, de tal manera que las perturbaciones a causa de la línea se puede
corregir.

2.3.3.- La Norma RS-232


Ante la gran variedad de equipos, sistemas y protocolos que existen surgió la
necesidad de un acuerdo que permitiera a los equipos de varios fabricantes comunicarse
entre sí. La EIA (Electronics Industry Association) elaboró la norma RS-232, la cual
define la interfaz mecánica, los pines, las señales y los protocolos que debe cumplir la
comunicación serial. Todas las normas RS-232 cumplen con los siguientes niveles de
voltaje:

- Un “1” lógico es un voltaje comprendido entre –5v y –15v


en el transmisor y entre -3v y –25v en el receptor.

- Un “0” lógico es un voltaje comprendido entre +5v y +15v en el trasmisor y


entre +3v y +25 v en el receptor.

El envío de niveles lógicos (bits) a través de cables o líneas de transmisión


necesita la conversión a voltajes apropiados. En los microcontroladores para representar
un 0 lógico se trabaja con voltajes inferiores a 0.8v, y para un 1 lógico con voltajes
mayores a 2.0V. En general cuando se trabaja con familias TTL y CMOS se asume que
un “0” lógico es igual a cero Volts y un “1” lógico es igual a cinco Volts. La
importancia de conocer esta norma, radica en los niveles de voltaje que maneja el puerto
serial del ordenador, ya que son diferentes a los que utilizan los microcontroladores y
los demás circuitos integrados. Por lo tanto se necesita de una interfase que haga posible
la conversión del niveles de voltaje a los estándares manejados por los CI TTL.

2.3.4.- El Circuito MAX-232

Este circuito soluciona los problemas de niveles de voltaje cuando se requiere


enviar unas señales digitales sobre una línea RS-232. Este chip se utiliza en aplicaciones
donde no se dispone de fuentes dobles de +12 y –12 Volts. El MAX 232 necesita
solamente una fuente de +5V para su operación, internamente tiene un elevador de
voltaje que convierte el voltaje de +5V al de doble polaridad de +12V y –12V. Cabe
mencionar que existen una gran variedad de CI que cumplen con la norma RS-232
como lo son: MAX220, DS14C232, MAX233, LT1180A.

- 28 -
CAPITULO II

En la siguiente figura 2.11 se muestra el circuito propuesto por el fabricante.

Figura 2.11 circuito MAX-232.

En el circuito se pueden conectar 2 computadoras y 2 microcontroladores


independientes uno del otro, pero en este caso solo se utiliza uno, el otro se reserva en
caso de que el primero falle.

2.4.- Circuito propuesto


En la figura 2.12 se muestra el circuito propuesto y consta de los siguientes
componentes

1.- Registros de entrada y salida


2.- Microcontrolador
3.- Puertos de control de segmentos y displays

Los registros de entrada y salida se muestran en la figura 2.12, El


microcontrolador recibe los datos enviados por la computadora por el puerto etiquetado
como RX, El microcontrolador hace todo el proceso de captura de datos y entrega el
dato en el registro especial RCREG. Si el dato es valido, el microcontrolador manda el
mismo dato a la computadora por el puerto etiquetado como TX, para que la
computadora sepa que la información envida fue recibida exitosamente, SW es solo
para poner en reset al circuito en general.

- 29 -
CAPITULO II

Figura 2.12 Circuito RX/TX de datos.

En la figura 2.12 se muestra la parte más importante del sistema, porque es el


encargado de realizar la transferencia de datos, codificación de información y de
mantener una sincronización con los diferentes dispositivos.

El puerto A del microcontrolador se programó de manera tal que sea capaz de


recibir y mandar información a los diferentes dispositivos con los que debe mantener
una comunicación, para la correcta transferencia de información. La tabla 2.1 detalla de
manera breve, la función que realiza cada uno de los registros del puerto A.

- 30 -
CAPITULO II

Tabla 2.1 Registros de PORTA.

PORTA E/S Función

RA0 S Activa con flanco ascendente a U5

RA1 S Dato 1

RA2 S Dato 2

RA3 S Activa con flanco ascendente a U7

RA4 S Activa con flanco ascendente a U8

RA5 E Reset

RA6 S Sin conexión

RA7 S Sin conexión

La transmisión serie se realiza por dos pines de entrada de microcontrolador en


el puerto B uno para recibir los datos y el otro para enviarlos, estos están configurados
como se muestra en la tabla 2.2

Tabla 2.2 Registros de PORTB.

PORTA E/S Función

RB0 S Dato 0

RB1 E Entrada serie asíncrona (RX)

RB2 S Salida serie asíncrona (TX)

RB3 S Dato 3

RB4 S Dato 4

RB5 S Dato 5

RB6 S Dato 6

RB7 S Dato 7

- 31 -
CAPITULO II

Para activar el número correspondiente de display, se diseñó el circuito mostrado


en la figura 2.13, U5 es un registro de 8 bits que contiene ocho flip-flops (Elemento de
memoria) que se encarga de mantener el dato presente hasta que uno nuevo se a
mandado, después será decodificado por U8, U9 y U10. Estos 3 últimos se encargan de
decodificar 1 de 24 líneas de salida, la cual solo se emplearan 20, por que solo contamos
con 20 displays.

El dato presente en el bus principal es almacenado en U5; cuando el PIC manda


un pulso en flanco ascendente, este es enviado a los decodificadores que se encargan de
mantener activa a solo una salida correspondiente al display que se quiere activar con el
dato nuevo. En la tabla 2.3 se muestra la tabla de verdad correspondiente a este diseño.

- 32 -
CAPITULO II

Figura 2.13 Circuito diseñado para activar el display

- 33 -
CAPITULO II

Tabla 2.3 Tabla de verdad.

DA4 DA3 DA2 DA1 DA0 Display activo


0 0 0 0 0 0
0 0 0 0 1 1
0 0 0 1 0 2
0 0 0 1 1 3
0 0 1 0 0 4
0 0 1 0 1 5
0 0 1 1 0 6
0 0 1 1 1 7
0 1 0 0 0 8
0 1 0 0 1 9
0 1 0 1 0 10
0 1 0 1 1 11
0 1 1 0 0 12
0 1 1 0 1 13
0 1 1 1 0 14
0 1 1 1 1 15
1 0 0 0 0 16
1 0 0 0 1 17
1 0 0 1 0 18
1 0 0 1 1 19
1 0 1 0 0 20

Los segmentos a controlar son 15 y están colocados como se muestra en la


figura 2.14. Cada uno fue diseñado para que, en conjunto con otros, muestre un carácter.
En la tabla 2.3 se muestra el dato que se necesita enviar por el bus de segmentos para
que se muestre el carácter que se desea desplegar.
1

9
2 11 12
4

5 7 13

6 8 10
3 14

15

Figura 2.14 Numeración de segmentos

- 34 -
CAPITULO II

Tabla 2.3 Tabla de segmentos para representar caracteres

Nible Nible
Nible Carácter a Nible Carácter a
Nº Bajo Nº Bajo
Alto HEX desplegar Alto HEX desplegar
HEX HEX
0 B4 98 0 20 D7 B9 K
1 FB 3F 1 21 BF F9 L
2 AE AA 2 22 F4 B1 M
3 AC BE 3 23 DC B1 N
4 EC AD 4 24 BC F8 O
5 AD AC 5 25 EE A8 P
6 AD A8 6 26 9C F8 Q
7 EC BE 7 27 CE B8 R
8 AC A8 8 28 AD AC S
9 EC AC 9 29 FB 3E T
10 EC A8 A 30 BC F9 U
11 AC B8 B 31 F7 99 V
12 BF F8 C 32 DC 99 W
13 B8 3E D 33 D7 97 X
14 BF A8 E 34 F7 37 Y
15 FF A8 F 35 B7 9E Z
16 AD B8 G 36 FF FF
17 EC A9 H
18 BB 3E I
19 BC FB J

Tanto U6 y U7 son registros de 8 bits que contiene ocho flip-flops cada uno.
Ambos se encargan de mantener el dato enviado por el microcontrolador, y son
activados con flanco ascendente, según se requiera figura 2.15.

- 35 -
CAPITULO II

Figura 2.15 despliegue de segmentos

El microcontrolador carga el dato del registro alto en el bus principal (P16 – P9),
como U7 es un elemento de memoria compuesto por registros, envía un pulso en flanco
positivo para que U7 guarde los datos. Una vez guardado el registro alto, el
microcontrolador carga el dato del registro bajo en el bus principal (P8 – P1), pero esta
vez envía un flanco positivo a U6 para que este guarde el dato y así se completen los 15
segmentos que se requieren para visualizar un carácter en el display.

En la figura 2.16 se muestra el circuito completo de la tarjeta.

- 36 -
CAPITULO II

Figura 2.16 Circuito completo

- 37 -
CAPITULO II

2.5.- Entorno de programación


El MPLAB es un entorno de desarrollo integrado que le permite escribir y
codificar los microcontroladores PIC de Microchip para ejecutarlos. El MPLAB incluye
un editor de texto, funciones para el manejo de proyectos, un simulador interno y una
variedad de herramientas que lo ayudarán a mantener y ejecutar su aplicación. También
provee una interfaz de usuario para todos los productos con lenguaje Microchip,
programadores de dispositivos, sistemas y emuladores.

2.5.1.- Creando un proyecto


La ventana de trabajo, mostrada en la figura 2.17. Muestra un ambiente
amigable, con todas las herramientas necesarias para desarrollar la programación de
nuestro microcontrolador.

Figura 2.17 Entorno de programación MPLAB IDE v7.20

Toda la ventana nos muestra los diferentes comandos que se pueden utilizar para
poder programar el micro controlador una recomendación, para la creación de un
proyecto de trabajo, se logra utilizando el asistente que viene incluido, el asistente nos
ayuda a la elaboración y nos guía paso a paso en la elaboración de dicho proyecto, solo
se tiene que introducir los datos que el asistente nos pide que confirmemos y así de
simple estaremos listos para empezar a programar.

Para ejecutar el asistente solo se debe presionar en el menú Project y Project


Wizard… tal como se muestra en la figura 2.18

- 38 -
CAPITULO II

Figura 2.18 Inicialización del asistente

Al terminar de ejecutar el asistente, se despliega una ventana similar a la


mostrada en la figura 2.19, muestra la ventana de trabajo en donde se escribir el
programa que realizará el microcontrolador 16F628 para el despliegue de información
en los DISPLAYs y la adquisición de datos proveniente de la computadora.

Figura 2.19 Ventana para la captura del programa

- 39 -
CAPITULO II

2.5.2.- Diagrama de flujo del programa


En la figura 2.20 se muestra el diagrama de flujo correspondiente a la
programación del microcontrolador PIC16F628.

INICIO

Declaración de variables
Configuración de puertos
Configuración de puerto serie

Subrutina recibe
Subrutina RSI
Subrutina MUESTRA
Subrutina send

Interrupción de Interrupción de
recepción de Recibe RSI
Codificación
datos
Guarda el dato Codifica el dato que se
recibido debe mostrar

Retorna Retorna

Interrupción MUESTRA Send


Interrupción de
Muestra datos envió de datos

Manda el nuevo dato a Envía un dato a la PC


mostrar para que le envié el
nuevo dato a desplegar

Retorna
Retorna

Figura 2.20 Diagrama de flujo

2.5.3.- Programa en el microcontrolador.

El programa completo se muestra en el apéndice.

- 40 -
CAPITULO III

CAPÍTULO III
Programa para la computadora.

3.1.- Introducción
Los puertos de comunicación de la PC son importantes para el estudio de la
electrónica. Estos permiten utilizar una computadora personal para controlar todo tipo
de circuitos electrónicos, principalmente en actividades de automatización de procesos,
adquisición de datos, tareas repetitivas y otras actividades que demandan precisión.

Existen dos métodos básicos para transmitir datos en las computadoras. En un


esquema de transmisión de datos en serie un dispositivo envía datos a otro a razón de un
bit a la vez a través de un cable. Por otro lado, en un esquema de transmisión de datos
en paralelo un dispositivo envía datos a otro a una tasa de n número de bits a través de n
número de cables a un mismo tiempo. Sería fácil pensar que un sistema en paralelo es n
veces más rápido que un sistema en serie; sin embargo, esto no se cumple. Básicamente
el impedimento principal es el tipo de cable que se utiliza para interconectar los
equipos. Si bien un sistema de comunicación en paralelo puede utilizar cualquier
número de cables para transmitir datos, la mayoría de los sistemas paralelos utilizan
ocho líneas de datos para transmitir un byte a la vez.

En la sección 3.2 se dará una breve explicación del puerto serie de la


computadora, ya que, es puerto en el encargado de la comunicación con el
microcontrolador. En la sección 3.3 se muestra el lenguaje de programación que se
empleó para la comunicación y que también tiene como finalidad el de llevar un registro
las anotaciones de cada jugador y el nombre del equipo, detallando un poco de los
diferentes menús con los que cuenta el programa para el funcionamiento.

3.2.- Puerto serie


Las comunicaciones serie se utilizan para enviar datos a través de largas
distancias, ya que las comunicaciones en paralelo exigen demasiado cableado para ser
operativas. Los datos serie recibidos desde un modem o otros dispositivos son
convertidos a paralelo gracias a lo cual pueden ser manejados por el bus del PC.

Los equipos de comunicaciones serie se pueden dividir entre simplex, half-


duplex y full-duplex. Una comunicación serie simplex envía información en una sola
dirección (por ejemplo. una emisora de radio comercial). Half-duplex significa que los
datos pueden ser enviados alternadamente en ambas direcciones entre dos sistemas, en
una sola dirección al mismo tiempo. En una transmisión full-duplex cada sistema puede
enviar y recibir datos al mismo tiempo.

Hay dos tipos de comunicaciones: síncronas o asíncronas. En una transmisión


síncrona los datos son enviados en bloques, el transmisor y el receptor son
sincronizados por uno o más caracteres especiales llamados caracteres sync.

El puerto serie del PC es un dispositivo asíncrono. En una transmisión asíncrona,


un bit identifica su bit de comienzo y 1 ó 2 bits identifican su final. No es necesario

- 41 -
CAPITULO III

algún carácter de sincronismo. Los bits de datos son enviados al receptor después del bit
de start. El bit de menos peso es transmitido primero. Un carácter de datos suele
consistir en 7 o 8 bits. Dependiendo de la configuración de la transmisión un bit de
paridad es enviado después de cada bit de datos. Se utiliza para corregir errores en los
caracteres de datos. Finalmente 1 o 2 bits de stop son enviados.

El puerto serie del PC es compatible con el estándar RS-232C. Este estándar fue
diseñado en los 60s para comunicar un equipo terminal de datos o DTE (Data Terminal
Equipment, el PC en este caso) y un equipo de comunicación de datos o DCE (Data
Communication Equipment, habitualmente un modem).

El estándar especifica 25 pins de señal, y que el conector de DTE debe ser


macho y el conector de DCE hembra. Los conectores más usados son el DB-25 macho,
pero muchos de los 25 pins no son necesarios. Por esta razón, en muchos PC modernos
se utilizan los DB-9 macho. Luego, los voltajes para un nivel lógico alto están entre -3V
y -15V. Un nivel lógico bajo tendrá un voltaje entre +3V and +15V. Los voltajes más
usados son +12V y -12V.

Las señales más utilizadas se listan a continuación:

 /DTR (Data-Terminal-Ready): El PC indica al modem que esta encendido y listo


para enviar datos.
 /DSR (Data-Set-Ready): El modem indica al PC que esta encendido y listo para
transmitir o recibir datos.
 /RTS (Request-To-Send): El PC pone esta señal a 1 cuando tiene un caracter
listo para ser enviado.
 /CD (Carrier-Detect): El modem pone esta señal a 1 cuando ha detectado el
ordenador.
 /CTS (Clear-To-Send): El modem esta preparado para transmitir datos. El
ordenador empezara a enviar datos al modem.
TxD: El modem recibe datos desde el PC.
RxD: El modem transmite datos al PC.

En la figura 3.1 se muestra la distribución de los conectores tipo macho hembra


y en la tabla 3.1 la descripción de cada conector

Figura 3.1 – conector DB-25 y DB-9

Tabla 3.1 Tabla de segmentos para representar caracteres

- 42 -
CAPITULO III

Numero
Señal Descripción E/S
de Pin
DB-25 DB-9
1 1 - Masa chasis -
2 3 TxD Transmitir Datos S
3 2 RxD Recibir Datos E
4 7 RTS Solicitud de Envío S
5 8 CTS Libre para Envío E
6 6 DSR Equipo de Datos Listo E
7 5 SG Masa chasis -
8 1 CD/DCD Detección de Portadora E
15 - TxC(*) Reloj de transmisión S
17 - RxC(*) Reloj de recepción E
20 4 DTR Terminal de Datos Listo S
22 9 RI Indicador de llamada E
24 - RTxC(*) Reloj de transmisión/recepción S
(*) = Normalmente no conectados en el DB-25

3.3. Visual Basic 6


Microsoft Visual Basic es un sistema de desarrollo diseñado especialmente para
crear aplicaciones con interfaz gráfica, de una forma rápida y sencilla.

Visual Basic es actualmente el lenguaje de programación más popular del


mundo. Es un producto con una interfaz gráfica de usuario que sirve para crear
aplicaciones para Windows basado en el lenguaje Basic y en la programación orientada
a objetos.

En lugar de escribir numerosas líneas de código para implementar una interfaz,


se utiliza el ratón para arrastrar y colocar los objetos prefabricados al lugar deseado
dentro de un formulario. El lenguaje utilizado por más programadores que ningún otro
en la historia de la informática. Visual Basic ha evolucionado a partir del lenguaje Basic
original y ahora contiene centenares de instrucciones, funciones y palabras clave,
muchas de las cuales están directamente relacionadas con la interfaz gráfica de
Windows.

Visual Basic permite crear programas para su uso personal, para grupo de
trabajo, una empresa, aplicaciones distribuidas a través de Internet, aplicaciones de
bases de datos y para el control de procesos que requieren de comunicación por los
diferentes puertos que comunican a la computadora con el mundo exterior.

Para la creación de una aplicación, se crean Ventanas y sobre ellas se dibujan


controles que pueden ser por ejemplo etiquetas, botones, cajas de texto, timers, etc. Y a
continuación se escribe el código fuente relacionado con cada objeto. Esto es, cada
objeto está ligado a un código que permanece inactivo hasta que se dé el evento que lo
activa.

- 43 -
CAPITULO III

La fácil interfaz que presenta el entorno de programación de Visual Basic,


permite crear ventanas y controles sin escribir directamente su código. También incluye
un entorno de desarrollo que permite ejecutar todas las tareas de edición, ejecución y
mantenimiento de programas de una forma fácil y cómoda.

La unidad fundamental de una aplicación Visual Basic es el formulario. Un


formulario es realmente una ventana sobre la que se dibujan otros objetos llamados
controles, tales como etiquetas, cajas de texto, marcos, casillas de verificación, botones
de opción, botones de pulsación, etc., con fines de aceptar, ejecutar o visualizar datos.

En la figura 3.2 se muestra la ventana típica del entorno de programación de


Visual Basic, con todos los elementos necesarios para poder realizar el proyecto
propuesto.

Figura 3.2 Entorno de programación de Visual Basic

- 44 -
CAPITULO III

Desde Visual Basic, hay tres formas de controlar un puerto serie:

1) Usar las funciones de la API de Windows, tal vez la más eficiente.


2) Usar un componente de algún desarrollador de software. (Alguna DLL o
algún control Active X, desarrollado en un lenguaje como Visual C o
Delphi).
3) Utilizar el control MSCOMM que viene con Visual Basic (que es un
control Active X hecho por Microsoft). Es un control intrínseco de Visual
Basic, y se instala al instalar VB5 o VB6.

En este trabajo se implementó el uso del control MSCOMM de la forma más


simple, por su fácil manejo e implementación figura 3.3.

Figura 3.3 MSComm

Este es el componente MSCOMM insertado en la paleta de componentes de VB.


En versiones anteriores de VB, se llamaba COMM. Visual Basic presenta un ejemplo
completo de uso en la aplicación de ejemplo VBTerm.

Figura 3.4 activando el MSComm

Para insertar MSCOMM en la paleta de componentes, ir a Proyecto,


Componentes y seleccionarlo. El archivo que contiene el control es MSCOMM32.OCX
y habitualmente se encuentra en el directorio Windows\System32 Figura 3.4.

- 45 -
CAPITULO III

En la figura 3.5 se muestra las 3 líneas del programa para configurar el puerto
serie de nuestra computadora, la primera nos indica la velocidad de conexión, sin
paridad, 8 bits de datos y a 1 bit de paro, respectivamente.

MSComm1.Settings = "9600,n,8,1"
MSComm1.CommPort = 1
MSComm1.PortOpen = True

Figura 3.5 Líneas de configuración

La segunda línea indica el puerto en el que se va a trabajar. En esta tesis se


utilizó la comunicación en el puerto COM1, por que la computadora tiene registrado el
puerto serie como puerto de comunicaciones serie con esta etiqueta. La última línea,
indica que el puerto se encuentra activo, al salir de la aplicación tenemos que cerrar el
puerto con False.

3.4.- Menú de ventanas

Para este trabajo se propone una ventana de usuario como la mostrada en la


figura 3.6, Está formada por los nombres de cada equipo, a si como el registro de los
integrantes de cada equipo, un reloj que permite medir cuatro cuartos del partido.

Figura 3.6 Líneas de configuración

La ventana principal también muestra un menú para modificar diferente


información como es el nombre del equipo, duración de tiempos, registro de faltas, etc
que se describen detalladamente a continuación.

- 46 -
CAPITULO III

En la figura 3.7 se muestra el menú “Nombre del equipo” este registra el nombre
del equipo local y visitante en la opción “Equipo 1” se escribe el nombre del equipo
local, si se selecciona el “Equipo 2” será dado de alta el nombre del equipo visitante. La
opción “Serie” está permite seleccionar el puerto serie que se utiliza para conectar la
tarjeta de comunicación con la computadora. También se tiene la opción de salir. Esta
cierra de manera correcta la aplicación, ya que el programa necesita cerrar el puerto
serie de manera correcta para que no entre en conflicto con otros dispositivos de entrada
salida de la computadora. Con esto se debe de entender que se le está diciendo a la
computadora que no se necesita más el puerto, y que cualquier otro dispositivo serie
puede ser conectado utilizando el mismo número de puerto.

Figura 3.7 Menú “Nombre del Equipo”

En el menú “Nombre de Jugadores” se registran, el número de jugador que tiene


asignado el participante y el nombre. Cabe aclara que esta opción está deshabilitada si
no se registra antes el nombre del equipo. Por lo tanto, primero revisar el nombre del
equipo para esta opción sea seleccionada, figura 3.8.

Figura 3.8 Menú “Nombre de los Jugadores”

- 47 -
CAPITULO III

El menú “Tiempo” tiene dos opciones, “Establecer” y “Sincronizar”. La primera


establece el tiempo que se le dará de juego a cada cuarto. La segunda opción solo
sincroniza el menú con la tarjeta de comunicación, figura 3.9.

Figura 3.9 Menú “Tiempo”

En la figura 3.10 por último, el menú resumen muestra solo una opción. Esta
opción da un resumen general del encuentro deportivo; muestra el marcador final, el
nombre del equipo y los nombres de los integrantes con sus respectivas anotaciones y
faltas individuales.

Figura 3.10 Menú “Resumen”

En este mismo cuadro de dialogo se muestra una opción llamada “Guardar”, al


seleccionar esta opción se muestra otra ventana de dialogo, mostrada en la figura 3.11.
Este botón guarda una copia de los resultados en formato “.txt” del encuentro, en el
directorio raíz “C:/” mostrándolo en la figura 3.12, Esto puede servir para realizar un
historial detallado del desempeño de cada jugador.

- 48 -
CAPITULO III

Figura 3.11 Resultados finales

Figura 3.12 Resultados finales

Figura 3.13 archivo de datos

- 49 -
CAPITULO IV

CAPÍTULO IV
Conclusiones.

4.1.- Observaciones
El trabajo se realizó pensando en la necesidad de desplegar la información de un
tablero que fuera de fácil diseño, de bajo costo. También que fuera de fácil manejo, el
primer problema que se enfrento fue el puerto en el que se realizaría la comunicación.
Esto nos llevo a diseñar la primera tarjeta por el puerto de comunicaciones paralelo, la
experiencia obtenida no fue muy positiva, ya que se necesitaban de una gran cantidad
cables físicos para la correcta comunicación y que además al tener una gran cantidad de
cables se observaron muchas interferencias en la hora de enviar y recibir datos, con lo
que el circuito no respondía como se requería.

El puerto serie trajo buenos resultados, no se tiene la necesidad de tantos cables


y se realiza una buena conexión a un a gran distancia además que el micro controlador
tiene un modulo de conexión serie que es de fácil programación.

El puerto USB se puede implementar con un adaptador de USB a SERIE, el


circuito fue probado con un adaptador de la marca STEREN obteniendo bueno
resultados.

4.2.- Consideraciones futuras


En la actualidad existen más variedad de dispositivos de visualización por lo que
se sugiere que si realizan trabajos futuros ya sea como actualización del mismo que se
utilicen LED’s tricolores controlador cada uno con PWM (1) con esto se obtiene toda
espectro de colores, del aspecto visible, en colores representados como la gama RGB.
En la figura 4.1 se muestra un LED RGB.

Figura 4.1 LED RGB

(1)
Modulación por ancho de pulso

- 50 -
APÉNDICE

APÉNDICE
Programa en el microcontrolador

;*******************************************************************
; Función: Comunicación serie con PC, configurado a 9600 bps
; procesador: PIC16F628 a 4 MHz usando el RC interno
; Autor: Alejandro Santillán Crespo alexsantillan@terra.com.mx
;*******************************************************************

LIST P=16F628, R=DEC ; usa el PIC16F628 y en sistema decimal


#include "P16F628.INC" ; INCLUYE librerías de P16F628
__config _INTRC_OSC_NOCLKOUT & _LVP_OFF & _WDT_OFF & _PWRTE_ON & _BODEN_ON ; Opción de configuración
CBLOCK 0x20 ; Declara variables empesando en 0x20
DATAL,TEMP1,CONTAU,NIBLEAL,NIBLEBA,NUMEX,DISPLA,DISPA,DISPB,DIRECC,DATOS,AUX1,AUX2,AUX3,CI,REGW
ENDC

CBLOCK 0X50 ; Declara variables empesando en 0x50


DISP1,DISP2,DISP3,DISP4,DISP5,DISP6,DISP7,DISP8,DISP9,DISP10
DISP11,DISP12,DISP13,DISP14,DISP15,DISP16,DISP17,DISP18,DISP19,DISP20
ENDC

; -------------------------------------
; COMPARADORES
; -------------------------------------
;
ORG 0x00 ; Inicio de programa en 0x000
movlw 7
movwf CMCON ; CMCON=7 comparadores desabilitados
;
; -------------------------------------
; CONFIGURACIÓN DE PUERTOS
; -------------------------------------
;
movlw b'00000000' ; Borra PORTA
movwf PORTA

movlw b'00000100 ' ; RB2(TX)=1 los demas a 0


movwf PORTB

bsf STATUS,RP0 ; BANCO RAM 1

movlw b'00100000'
movwf TRISA ; RA5(MCLR)=Entrada, RA0-RA4, RA6 y RA7=Salidas

movlw b'00000010' ; RB7-RB3 y RB0(RX)=Salidas, RB2=Entrada


movwf TRISB

; -------------------------------------
; CONFIGURACIÓN DEL PUERTO SERIE
; -------------------------------------
; Baud= 9600, Sin Paridad, 1 Stop Bit
;
movlw 0x19 ; 0x19=9600 bps (0x0C=19200 bps)
movwf SPBRG
movlw b'00100100' ; brgh = high (2)
movwf TXSTA ; ABILITA TRANSMICIÓN ASINCRONA
bcf STATUS,RP0 ; BANCO RAM 0

movlw b'10010000' ; ABILITA RECEPCIÓN ASINCRONA


movwf RCSTA
;
; -------------------------------------
; RETARDO PARA ESTABILIZACION DEL TX/RX
; -------------------------------------
;

RETARDO :decfsz DATAL,F


goto RETARDO

movf RCREG,W
movf RCREG,W
movf RCREG,W ; BUFFER DE RECEPCIÓN
;
; -------------------------------------
; PROGRAMA PRINCIPAL
; -------------------------------------
;
clrf DATAL
movlw .21
movwf AUX1

- 52 -
APÉNDICE

movlw .40
movwf AUX2
call mensaje ; MENSAJE "COMUNICACION OK"
movlw .41
call send ; RUTINA PARA TRANSMITIR UN CARACTER
MENU: call recibe
call RSI
call MUESTRA
movlw .41
call send ; RUTINA PARA TRANSMITIR UN CARACTER
goto MENU
;
; -------------------------------------------
; RECIBE UN CARACTER Y LO GUARDA EN W
; -------------------------------------------
;
recibe: btfss PIR1,RCIF ; (5) CHECA EL BIT DE RECEPCIÓN
goto recibe
movf RCREG,W ; GUARDA EL DATO RECIBIDO EN W
movwf DISPA
call send
recib1: btfss PIR1,RCIF ; (5) CHECA EL BIT DE RECEPCIÓN
goto recib1
movf RCREG,W ; GUARDA EL DATO RECIBIDO EN W
movwf DISPB ; GUARDA EL DATO EN TEMP1
call send
return
;
; -------------------------------------------------------------
; TRANSMITE UN CARACTER
; -------------------------------------------------------------
;
send: movwf TXREG ; MANDA EL DATO GUARDADO EN W
TransWt: bsf STATUS,RP0 ; BANCO RAM 1
WtHere: btfss TXSTA,TRMT ; (1) TRANSMICIÓN ES COMPLETADA = 1
goto WtHere

bcf STATUS,RP0 ; BANCO RAM 0


return
;
; -------------------------------------
; MENSAJE DE COMUNICACIÓN OK
; -------------------------------------
;
mensaje:movlw 'C'
call send
movlw 'O'
call send
movlw 'M'
call send
movlw 'U'
call send
movlw 'N'
call send
movlw 'I'
call send
movlw 'C'
call send
movlw 'A'
call send
movlw 'C'
call send
movlw 'I'
call send
movlw 'O'
call send
movlw 'N'
call send
movlw ''
call send
movlw 'O'
call send
movlw 'K'
call send
movlw 0x0D ; CR
call send
movlw 0x0A ; LF
call send
return
;
;----------------------------------------
;SEGMENTO - Rutina que activa el segmento
;----------------------------------------
;
SEGMENTO:
movf DISPLA,W ;W se carga con el valor de DISPLA

- 53 -
APÉNDICE

movwf PORTB ;Se manda el dato por PORTB


bcf PORTA,0 ;Pone el bit 2 de PORTA en 0
bsf PORTA,0 ;Pone el bit 2 de PORTA en 1 (manda un pulso a CI)
return ;Regresa al programa
;
;-------------------------------------------------------
; RSI - Rutina para guardar el dato en NIBLEAL y NIBLEBA
;-------------------------------------------------------
;
RSI call TABLAA ;Rutina para leer el dato de TABLAA
movwf NIBLEAL ;El dato lo guarda en NIBLEAL
call TABLAB ;Rutina para leer el dato de TABLAB
movwf NIBLEBA ;El dato lo guarda en NIBLEBA
return ;Regresa al programa
;
;--------------------------------------
;MUESTRA - Rurina que muestra los datos
;--------------------------------------
;
MUESTRA:movf NIBLEAL,W ;W se carga con el valor de NIBLEAL----
movwf PORTB ;Se manda el dato por PORTB
BTFSC NIBLEAL,1;NIBLEAL----
goto PA1
BCF PORTA,1 ;1
goto POR1
PA1: BSF PORTA,1 ;1

POR1: BTFSC NIBLEAL,2;NIBLEAL----


goto PA2
BCF PORTA,2 ;2
goto POR2
PA2: BSF PORTA,2 ;2
POR2:
bcf PORTA,4 ;Pone el bit 4 de PORTA en 0
bsf PORTA,4 ;Pone el bit 4 de PORTA en 1 (manda un pulso a CI)
;--------------------------------------
movf NIBLEBA,W ;W se carga con el valor de NIBLEBA----
movwf PORTB ;Se manda el dato por PORTB
BTFSC NIBLEBA,1 ;NIBLEBA----
goto PA3
BCF PORTA,1 ;
goto POR3
PA3: BSF PORTA,1 ;

POR3: BTFSC NIBLEBA,2 ;NIBLEBA----


goto PA4
BCF PORTA,2 ;
goto POR4
PA4: BSF PORTA,2 ;
POR4:
bcf PORTA,3 ;Pone el bit 3 de PORTA en 0
bsf PORTA,3 ;Pone el bit 3 de PORTA en 1 (manda un pulso a CI)
;--------------------------------------
movf DISPA,W ;W se carga con el valor de NIBLEBA----
movwf PORTB ;Se manda el dato por PORTB
BTFSC DISPA,1 ;NIBLEBA----
goto PA5
BCF PORTA,1 ;
goto POR5
PA5: BSF PORTA,1 ;

POR5: BTFSC DISPA,2 ;NIBLEBA----


goto PA6
BCF PORTA,2 ;
goto POR6
PA6: BSF PORTA,2 ;
POR6:
bcf PORTA,0 ;Pone el bit 3 de PORTA en 0
bsf PORTA,0 ;Pone el bit 3 de PORTA en 1 (manda un pulso a CI)
;--------------------------------------
movf AUX1,W ;W se carga con el valor de NIBLEBA----
movwf PORTB ;Se manda el dato por PORTB
BTFSC AUX1,1 ;NIBLEBA----
goto PA7
BCF PORTA,1 ;
goto POR7
PA7: BSF PORTA,1 ;

POR7: BTFSC AUX1,2 ;NIBLEBA----


goto PA8
BCF PORTA,2 ;
goto POR8
PA8: BSF PORTA,2 ;
POR8:
bcf PORTA,0 ;Pone el bit 3 de PORTA en 0
bsf PORTA,0 ;Pone el bit 3 de PORTA en 1 (manda un pulso a CI)

- 54 -
APÉNDICE

return ;Regresa al programa


;
;--------------------------------------
;Tabla para el nible alto
;--------------------------------------
;
TABLAA: MOVF DISPB,W ;W se carga con el valor de NUMEX
ADDWF PCL,F ;Suma W con el contenido de PCL
DT 0FFH,0B4H,0FBH,0AEH,0ACH,0ECH,0ADH,0ADH,0ECH,0ACH,0ECH,0ECH,0ACH,0BFH,0B8H
DT 0BFH,0FFH,0ADH,0ECH,0BBH,0BCH,0D7H,0BFH,0F4H,0DCH,0BCH,0EEH,09CH,0CEH,0ADH
DT 0FBH,0BCH,0F7H,0DCH,0D7H,0F7H,0B7H,00H
;
;--------------------------------------
;Tabla para el nible bajo
;--------------------------------------
TABLAB: MOVF DISPB,W ;W se carga con el valor de NUMEX
ADDWF PCL,F ;Suma W con el contenido de PCL
DT 0FFH,098H,03FH,0AAH,0BEH,0ADH,0ACH,0A8H,0BEH,0A8H,0ACH,0A8H,0B8H,0F8H,03EH
DT 0A8H,0A8H,0B8H,0A9H,03EH,0FBH,0B9H,0F9H,0B1H,0B1H,0F8H,0A8H,0F8H,0B8H,0ACH
DT 03EH,0F9H,099H,099H,097H,037H,09EH,00H

END

- 55 -
APÉNDICE

Microcontrolador

- 56 -
APÉNDICE

- 57 -
APÉNDICE

SN74LS138

- 58 -
APÉNDICE

SN74LS154

- 59 -
APÉNDICE

SN74LS374

- 60 -
APÉNDICE

BC546

- 61 -
APÉNDICE

BC548

- 62 -
APÉNDICE

BC559

- 63 -
APÉNDICE

BD135

- 64 -
APÉNDICE

TIP120

- 65 -
APÉNDICE

Adaptador USB - Serie

- 66 -
BIBLIOGRAFÍA

BIBLIOGRAFÍA

Puerto serie
http://www.euskalnet.net/shizuka/underc.htm

http://www.ctv.es/pckits/tutore.html

http://es.wikipedia.org/wiki/Puerto_serie

http://www.rastersoft.com/articulo/pserie.html

Visual Basic 6.0


http://www.telecable.es/personales/jrubi/index.htm?curso.htm

http://support.microsoft.com/kb/904795/es

Microcontrolador
http://www.microchip.com/

http://todopic.mforos.com/64652/7055543-visual-basic-conexion-con-puerto-serie-
rc232/

Hojas de datos de circuitos empleados

http://www.datasheetcatalog.com/

- 51 -

Anda mungkin juga menyukai