You are on page 1of 67

Universidad Nacional Jorge Basadre Grohmann

Facultad de Ingeniería
Escuela Profesional de Ingeniería en Informática y
Sistemas

Manual de Guías y Prácticas de


Laboratorio de Arquitectura de
Computadores

Laboratorio de Arquitectura de Computadores


Realizado por:

MSc. Alberto Enrique Cohaila Barrios.


Ing. Katherine De los Milagros Elías Quispe.

TACNA – PERÚ 2017


UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

Manual de Guías y Prácticas de


Laboratorio de Arquitectura de
Computadores® Ver 1.0

Realizado por:

MSc. Alberto Enrique Cohaila Barrios


Ing. Katherine De los Milagros Elías Quispe

TACNA – PERÚ 2017

Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 2


Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES
INTRODUCCIÓN

El objetivo fundamental de la asignatura de Arquitectura de Computadores


corresponde al área de formación tecnológico profesional, en donde el alumno
logra conocer y describir la programación secuencia en Assembler, en
PICBasic Pro, y PIC C+ utilizando como dispositivo de programación los
Microcontroladores PIC 16F84 y los ATMega 328 de Arduino; al finalizar la
asignatura el alumno desarrolla aplicaciones computacionales utilizando
mecanismos de Hardware y Software libre.

En este contexto se ha elaborado cuidadosamente una guía de prácticas de


Laboratorios del curso de Arquitectura de Computadores que se imparte en el
V Ciclo de la Escuela Profesional de Ingeniería en Informática y Sistemas
(ESIS) en la Facultad de Ingeniería (FAIN) de la Universidad Nacional Jorge
Basadre Grohmann (UNJBG). Estas guías de Prácticas de Laboratorios se
encuentran enmarcada en las Sumilla y el Syllabus del curso de Arquitectura
de Computadores y se ha utilizado durante el ciclo académico 2017 – I.

La finalidad que se ha trazado con este manual, es que se utilice y permita que
el encuentro de los estudiantes con la Arquitectura de Computadores sea
motivador, didáctico, en lo posible correctivo y muy formativo, buscando
incansablemente estimular la intuición perceptiva en los estudiantes a partir del
entrenamiento experimental y con un enfoque claramente sostenible de dicha
rama como aporte fundamental en la conservación del medio ambiente.

Finalmente, siendo ésta la primera versión (ver1.0), los autores de este manual
están dispuestos a recibir cualquier sugerencia o recomendación que permita el
fortalecimiento del documento para un mejor aprovechamiento.

Los Autores

acohailab@hotmail.com
katttyelias@gmail.co
m

CONTENIDO

Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 3


Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

PRACTICA DE LABORATORIO N° 01 .................................................................................5


RECONOCIMIENTO DE UNA TARJETA MADRE (MAIN BOARD)............................5

PRACTICA DE LABORATORIO Nº 02 ............................................................................ 11


USO DEL MULTITESTER EN UN CENTRO DE CÓMPUTO...................................... 11

PRACTICA DE LABORATORIO Nº 03 .............................................................................. 19


RENDIMIENTO DE UNA COMPUTADORA ..................................................................... 19

PRACTICA DE LABORATORIO Nº 04 ............................................................................ 26


MEDIDA DEL RENDIMIENTO EN MIPS Y FLOPS DE UN ALGORITMO.............. 26

PRACTICA DE LABORATORIO Nº 05 ............................................................................ 31


PARPADEO SIMPLE DE UN LED ....................................................................................... 31

PRÁCTICA DE LABORATORIO Nº06 .............................................................................. 37


CONTADOR CON VISUALIZADOR SIETE SEGMENTOS ......................................... 37

PRÁCTICA DE LABORATORIO Nº07 .............................................................................. 48


PARPADEO (BLINK) DE UN DIODO LED CON ARDUINO ....................................... 48

PRÁCTICA DE LABORATORIO Nº08 .............................................................................. 55


SEMÁFORO PROGRAMABLE............................................................................................. 55

Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 4


Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

PRACTICA DE LABORATORIO N° 01
Reconocimiento de una Tarjeta Madre (Main Board)

I. OBJETIVOS

 Reconocer partes importantes en una Tarjeta Madre


 Conocer las características de la Tarjeta Madre (microprocesador, BIOS,
memoria cache, controlador, Chip´s Fuente AT, ATX y otros componentes
electrónicos)
 Conocer el nivel de resistencia de componentes electrónicos mediante
mediciones usando multitester

II. MATERIALES Y EQUIPOS

 01 Tarjeta Madre
 04 resistencias de diferentes valor (diferente codificación de colores)
 01 Multímetro Digital (Multitester)

III. FUNDAMENTO TEORICO

3.1. Tarjeta Madre

La tarjeta madre se encarga de mantener en funcionamiento todos los


elementos que forman parte del PC y los induce a funcionar de manera
simultánea, para ofrecer al usuario una experiencia de uso realmente
cómoda. La definición más simple para una placa madre es la siguiente:
“Es una placa de circuito impreso que está diseñada para conectar
cualquier componte o elemento especial que forme parte de un ordenador
o PC, siendo una parte fundamental durante el proceso de armado de un
PC.”

La tarjeta madre es el componente principal de un PC incluyendo el


chipset base de toda la arquitectura, el socket en el que se coloca el
microprocesador, las ranuras donde instalamos las memorias, los slots de
expansión donde instalamos las tarjetas adicionales (ejemplo: tarjeta
gráfica de video, tarjetas de red, tarjetas de puerto paralelo o serial) y los
conectores periféricos de entrada, salida, entrada/salida,
almacenamiento y comunicación , estos conectores periféricos se
conectan con el mundo exterior y son considerados como circuitos
adicionales debido a que no están integradas con la placa madre.

Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 5


Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

3.2. Chipset
Se trata de un grupo de circuitos integrados que están colocados de
fábrica en el cuerpo de la placa madre, encargado de entablar la
conexión correcta entre la placa madre y diversos componentes
esenciales de la PC a través de los buses.
Por otra parte, el chipset mantiene una comunicación directa y
permanente con el procesador, y se encarga de administrar la
información que ingresa y egresa a través del bus principal del
procesador. Incluso su función se extiende a las memorias RAM y ROM y
a las placas de video.

3.3. Bios
Es un sistema básico de entrada y salida encargado de encontrar el
sistema operativo y cargarlo en memoria RAM, pese a tener
componentes de hardware, también posee componentes de software,
brindando una interfaz de tipo texto (modo D.O.S.) que permite configurar
varias opciones de hardware instalados en la PC (tales como reloj de
sistema o en que dispositivo iniciara el sistema operativo).
El BIOS ya viene con configuración de fábrica y es ingresado por
combinación de teclados al encender la pc y antes de que ingrese a
sistema operativo, por lo tanto el BIOS es configurable, controlando los
procesos de flujo de información entre sistema operativo y periféricos.

3.4. Microprocesador

Se encarga básicamente de recibir, analizar y calcular todos los datos


mediante las siguientes etapas:

Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 6


Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

 PreFetch: Ejecuta pre lectura de la instrucción a realizar en la


memoria principal (ROM).

 Fetch: Ordena sistemáticamente todos los datos para poder ejecutar


las operaciones necesarias.
 Decodificación: Decodifica las instrucciones de manera que se pueda
separar de forma lógica la información y determinar que hacer.

 Ejecución: Efectúa el proceso de análisis y cálculo necesario.

 Escritura: Envía los resultados a la memoria principal y los registra.

IV. PROCEDIMIENTO

4.1. Ubicar el microprocesador dentro de la placa madre y anotar marca,


modelo, velocidad de reloj, velocidad del bus y tecnología

Tamaño de
Tipo / nombre de Cache Frecuencia de
bits/Longitud de
fabricante Interno Reloj (Clock)
palabra

4.2. Ubicar el BIOS e indicar con una X el tipo de BIOS:

 ( ) ROM BIOS
 ( ) Shadow BIOS
 ( ) Flash BIOS -
 ( ) PnP BIOS (PnP-aware BIOS)
 ( ) BIOS EFI y UEFI
 ( ) Coreboot y OpenBIOS
 Otro (Nombrar cual tipo es: …………………………………..)
Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 7
Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

4.3. Ubicar el chipset y mencionar:

 Nombre: ______________________
 Marca: ______________________
 Modelo/serie: ______________________

4.4. Reconocer las características de la marca y modelo de placa madre

 Nombre: ______________________
 Marca: ______________________
 Modelo/serie: ______________________

Basado en las siguientes imágenes, nombrar las siguientes partes de los


componentes de la placa madre

1………………………………………

2………………………………………

3………………………………………

1…………………………..

2…………………………..

Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 8


Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

1……………………………………………………………………………………………

2……………………………………………………………………………………………

1……………………………………………………………………………………………

2……………………………………………………………………………………………

3…………………………………………………………………………………………

4……………………………………………………………………………………………

1…………………………………………………………………………………………

Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 9


Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

2……………………………………………………………………………………………

 Mencione las principales funciones de la tarjeta madre


 ¿En dónde se inserta el microprocesador?

Encienda su computadora y mediante el diagnóstico de windows (software)


para conocer la marca y modelo de la placa madre, realice los siguientes
pasos:

 Abrimos inicio, y escribimos dxdiag, luego presionamos enter. (anote los


resultados)
 Para conocer el fabricante, abrimos el cmd de windows, y escribimos wmic
baseboard get product,manufacturer,version,serialnumber (anote los
resultados)

V. INFORME FINAL:
a. Realizar todos los pasos efectuados en el siguiente laboratorio.
b. Investigue sobre los nuevos procesadores actuales, indicando su arquitectura
c. Investigue sobre las nueva tarjetas madre, indicando su arquitectura
d. Cree Ud. Que una arquitectura de computador personal es igual a la
arquitectura de un servidor. ¿porque? Menciones ventajas de los servidores.
e. Dar 4 recomendaciones importantes
f. Dar 4 conclusiones importantes

Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 10


Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

PRACTICA DE LABORATORIO Nº 02
Uso del Multitester en un Centro de Cómputo

I. OBJETIVOS

 Realizar las mediciones tales como resistencia, voltaje y corriente con el


multímetro digital.
 Conocer e interpretar adecuadamente el código de colores en las resistencias.

II. MATERIALES Y EQUIPO

 1 Multímetro digital (Multitester)


 4 Resistencias de diferentes colores
 1 Fuente de poder AT o ATX con su respectivo cable de poder
 1 Pinza Amperimétrica

III. FUNDAMENTACIÓN TEÓRICA

3.1. Multímetro Digital


Es un instrumento electrónico de medición que generalmente visualiza en su
pantalla LCD la lectura del voltaje, resistencia y corriente generalmente,
también dependiendo el modelo puede medir magnitudes como capacitancia
y temperatura. Gracias al multímetro podemos comprobar el correcto
funcionamiento de los componentes y circuitos electrónicos.

Para utilizar el Multímetro es importante leer el instructivo del fabricante para


asegurar el buen funcionamiento del instrumento y evitar accidentes al
momento de utilizarlo.

Fig 01.- Multímetro (Polímero) Digital de Precisión

3.2. Partes y funciones de un multímetro digital

A continuación describiremos las partes y funciones de un multímetro,


recuerda que generalmente los multímetros son semejantes, aunque
Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 11
Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

dependiendo de modelos, pueden cambiar la posición de sus partes y la


cantidad de funciones, es por eso que cada parte tiene un símbolo estándar
que identifica su función.

Fig 02.- Partes del Multítester Digital

Nota: En este laboratorio es importante aprender a utilizarlo para tomar decisiones


en
su carrera profesional.

3.3. Resistencias

La resistencia es la oposición que ofrecen las sustancias o materiales al paso de


la corriente eléctrica.Un resistor son componentes que limitan la corriente a un
valor deseado y producen una caída de tensión específica.

Los resistores de acuerdo de su lectura pueden ser Estándar (4 franjas o bandas


de colores) o de precisión (5 bandas de colores).

R= V Ω
De la ley de Ohm:
I

Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 12


Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

Código de colores normalizado de los resistores.- Para el caso de 4 bandas de


colores.

Tolerancia
Colores 1ª Cifra 2ª Cifra Multiplicador
(+/- %)
Negro - 0 - -
Marrón 1 1 x 10 1
2
Rojo 2 2 x10 2
3
Naranja 3 3 x10 3
4
Amarillo 4 4 x10 4
5
Verde 5 5 x10 0.5
6
Azul 6 6 x10 -
7
Violeta 7 7 x10 -
8
Gris 8 8 x10 -
9
9 9 x10 -
Blanco
-1
Dorado - - x10 5
-2
Plateado - - x10 10

Sin Color - - - 20

Ejemplo: Sea la resistencia con 4 bandas de colores:

amarillo azul verde rojo


4 6 x105 +/- 2 %

La resistencia tiene un valor de:

R = 46x105 Ω +/- 2 % = 4.6 MΩ +/- 2 %


R = 4.6 MΩ +/- 0.092 MΩ

 El valor máximo de esta resistencia puede ser:

VMAX = 4.6 MΩ + 0.092 MΩ = 4.6092 MΩ

 El valor mínimo de esta resistencia puede ser: 22800 Ω

VMIN = 4.6 MΩ - 0.092 MΩ = 4.508 MΩ


Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 13
Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

NOTAS:

 La resistencia puede tener cualquier valor entre el máximo y mínimo


calculados, este margen de variación es debido al efecto de temperatura de
trabajo del elemento. El valor de resistencia sin considerar la tolerancia es a
temperatura ambiente 25 ºC.

 Los colores de las resistencias no indican la potencia que puede disipar la


misma. La Ley de Joule trata de la potencia en las resistencias.

IV. PROCEDIMIENTO

a. Tome 4 resistencias de distinto valor y potencia, lea su valor mediante


el código de colores normalizados y complete la Tabla 01. Luego
mediante el Multímetro (en la escala de resistencia) compruebe el valor.

Tabla 01
Lectura del elemento resistivo
Código de colores Multímetr
Error (%)
(Vt-Ve)*100
Valor Valor o Vt
Banda de colores Valor(Ω) máximo(Ω) (Ω)
mínimo (Ω)
1 / / /
2 / / /
3 / / /
4 / / /

Medición del Voltaje de la Fuente de Poder:

Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 14


Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

a. Por normas de seguridad aislamos nuestra fuente de poder de la


tarjeta madre. La Figura muestra una fuente de poder actual ATX tipo
Switching

b. En nuestro conector de 20 pines (fuente ATX, ver 1.0) buscamos el


pin del cable Verde y con un alambre realizamos un puente hacia el
pin cable de tierra color Negro, esto sirve para encenderla.

Nos daremos cuenta que ha encendido la fuente cuando el ventilador


interno que posee empieza a girar.

Una vez que ha encendido ya no es necesario que este puenteado. El


puenteo es lo que uno realiza cuando presiona el botón POWER ó ON del
Case o gabinete que aloja la tarjeta madre.

c. Conecta la fuente de poder a la corriente eléctrica y enciende el


interruptor. Se debe escuchar que el ventilador o abanico empieza a
funcionar (girar). Enciende tu multímetro y ponlo en medición de VDC
(Voltaje de corriente directa DC).

Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 15


Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

Si la fuente enciende, proseguimos a medir los voltajes de cada línea con


un multímetro colocándolo medición de voltaje continuo.

Colocamos las puntas del multímetro en su polaridad correcta colocamos


el negativo en tierra (cable negro) e ir midiendo cada línea con el positivo a
cada línea. Es recomendable probar cada pin del conector ATX de 24 pins
que lleva voltaje. Esto te confirmara que cada linea esta entregando el
voltaje adecuado y que cada pin tiene bien conectado su cable.

Manual de Guías y Prácticas


Valores de Laboratorio
de Voltaje de Arquitectura de Computadores
por Valor 16
Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

Documenta el valor que te muestra el multímetro para cada pin probado y


confirma que cada voltaje está dentro del rango de tolerancia. Los valores
obtenidos en la medición de la fuente de poder de ______ pines son:

Número de PIN Color del PIN o número de


Valor obtenido (voltios)
cable

Nota: Los pines o cables de color negro son tierra (GND) ó 0 voltios.

 Utilización de la Pinza Amperimétrica


La Pinza Amperimétrica es un instrumento de medición muy útil que nos
permitirá en nuestro caso poder medir la corriente alterna del centro de
cómputo, y así poder medir los enchufes que se encuentran en nuestro
laboratorio.

Se muestra como se debe medir la corriente por un cable de alimentación.

Procede a realizar las medidas y anotar los resultados obtenidos.

Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 17


Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

a) Medición de la corriente del Gabinete o CASE: _____________

b) Medición de la corriente del monitor LCD: _____________

V. INFORME FINAL:
a. Realice todos los pasos indicados en la presente práctica.
b. Haga una clasificación general de las Resistencias
c. Menciona para que sirve cada uno de los cables de la Fuente de Poder en
una placa madre
d. Si Ud. es un Administrador de un Centro de Cómputo (CC). ¿Cuándo
utilizar un Multímetro y cuando usar una pinza Amperimétrica?
e. ¿Qué es un UPS? Tipos
f. Qué diferencia hay entre la corriente continua (DC) y la corriente alterna
(AC). De ejemplos donde se utilizan.
g. De 4 conclusiones más importantes del presente laboratorio
h. De 4 observaciones más importantes del presente laboratorio

Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 18


Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

PRACTICA DE LABORATORIO Nº 03
Rendimiento de una Computadora

I. OBJETIVO

 Medir el rendimiento de las computadoras.


II. MATERIALES Y EQUIPO

 1 Equipo de Cómputo
 Programas

III. FUNDAMENTACIÓN TEÓRICA

En principio definamos a que le llamamos rendimiento, sin perjuicio de otras


definiciones llamaremos rendimiento al tiempo que se demora en realizar una
determinada tarea. Cuanto menor sea ese tiempo mayor será el rendimiento.

Una computadora es un conjunto de componentes cada uno de los cuales resuelve


distintas tareas en tiempo distintos. Podemos convenir que si cada uno de los
componentes es más veloz en su tarea específica, la computadora será más
rápida y por lo tanto tendrá un mejor rendimiento.

De los componentes de una computadora hay uno se destaca que es el


microprocesador que por otra parte sirve para identificarlas, por ejemplo en lo
anuncio suele leerse "computadora Pentium de 2800 Mhz" u "ordenador AMD de
2400 Mhz". Estos anuncios hacen referencia a los microprocesadores que
contienen dichas computadoras que se ofrecen de esa manera.

El rendimiento del microprocesador es uno de los más importantes de los factores


para determinar el rendimiento de una PC. Si bien otros componentes son
importantes (como la memoria RAM, la velocidad del disco duro, la placa base, la
placa de video, etc) el rendimiento de la CPU es fundamental ya que esta se
comporta como un director de orquesta que hace funcionar a todos los
componentes.

Volviendo al concepto de rendimiento es el tiempo que se demora en hacer una


tarea, lo podemos también definir como la velocidad con que se hace una tarea.
Una tarea consiste en resolver o procesar una cantidad de instrucciones. Las
instrucciones viajan a través de impulsos eléctricos que se mueven con cierta
frecuencia. Definimos frecuencia como la cantidad de ciclos que se transmiten en
un determinado intervalo de tiempo.

F = Nro. Ciclos / tiempo

La unidad de la frecuencia es el Herzio que es equivalente a 1ciclo/1s. Por cada


ciclo se podía procesar (en tiempos de 486 y primeros 586) una instrucción (un bit)
por conductor o línea de datos que llega al microprocesador. Por la tanto la
frecuencia era una buena medida del rendimiento de una CPU. En los tiempos de
Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 19
Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

los 386 y 486 se podía decir que un 486 de 32 Mhz realizaba el doble trabajo de
uno de 16 Mhz ya que la arquitectura o diseño interno de los procesadores eran
bastante similares.

Hoy, considerar únicamente la frecuencia como factor de rendimiento es


totalmente erróneo. Teniendo presente que por cada ciclo se puede transmitir más
de una instrucción se comenzó a calcular el rendimiento como el producto de la
frecuencia por el número de instrucciones que maneja por ciclo el procesador.

RENDIMIENTO = Frecuencia x IPC

El primer factor de esta ecuación es la frecuencia del procesador, medida en


megahertz (Mhz), dicho valor es el resultado del producto del FSB (frecuencia del
bus del sistema) por un factor de multiplicación.

Por otra parte tenemos al IPC que es el número de instrucciones que el


microprocesador es capaz de ejecutar en cada ciclo de reloj. Este valor
fundamental es el que determina la diferencia de prestaciones entre los principales
modelos de procesadores. Aún con este cálculo la medición del rendimiento puede
ser más compleja ya que los microprocesadores pueden variar su rendimiento
según el tipo de instrucción que manejen.

IV. PROCEDIMIENTO
Para ver el rendimiento de nuestro equipo de cómputo presionaremos las
teclas (CTRL + ALT + SUPR) e ingresar a ‘iniciar el administrador de tareas’,
luego a rendimiento y nos visualizará la siguiente ventana:

Para el desarrollo de la práctica se utilizará herramientas de software que nos


permitirán poder conocer el rendimiento de las diferentes áreas del ordenador.

1. Prueba Global.- A la hora de medir el rendimiento de un equipo de


cómputo, utilizaremos el PcMark, el cual nos permitirá realizar diferentes
Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 20
Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

tareas basadas en aplicaciones reales (reproducción de vídeo, compresión de


archivos, ofimática, multimedia, juegos, etc.), dándonos un índice global que
permite ubicar con bastante precisión el nivel de prestaciones de la máquina
vistas en su conjunto.

2. R
e
n
d
i
m
i
e
n
t
o

d
el microprocesador.- A la hora de poner a prueba nuestro procesador y saber
todo sobre él, utilizaremos el CineBench, porque evalúa muy bien los
procesadores multinúcleo. Basa sus pruebas en la generación contenidos de
vídeo en 3D, y ofrece dos índices: uno para la CPU y otro para el motor gráfico.

 Procederemos a utilizar en nuestra práctica las herramientas de rendimiento


para nuestro ordenador.

3. Prestaciones de la memoria RAM.- Para medir el rendimiento de la memoria


RAM y, sobre todo, su controlador, se repiten algunas de las pruebas del punto
anterior, aunque utilizando funciones diferentes. Una de las más evidentes
es SiSoft Sandra, que nos permitirá calcular la latencia y ancho de banda de
nuestra memoria RAM instalada entrando en el apartado Benchmarks/Memory
Controller.

Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 21


Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

 Se procederá a utilizar también la herramienta RightMark Memory Analyzer,


que nos ofrece información de máxima precisión acerca
del controlador y módulos de RAM instalados en nuestro sistema y, de paso,
nos provee de la pestaña RAM Perfomance, desde donde podemos ejecutar
diferentes test para medir el rendimiento estos componentes.

4. Detecta el mejor sonido.- El ámbito de las tarjetas de sonido es de los más


complicados de cuantificar en un PC, pues se trata de valorar la calidad de la
onda de sonido lograda en la conversión digital/analógica en reproducción y
grabación. Siendo estrictos habría que utilizar complejos aparatos de medición
de onda para visualizar los niveles de salida ofrecidos por la tarjeta de sonido y
emitir una onda de sonido «pura» para comprobar la onda grabada por este
mismo componente al convertirla al formato digital.

Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 22


Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

Utilizaremos RightMark Audio Analyzer que nos permite, haciendo


un loop entre la salida y entrada de audio de la tarjeta, comprobar el nivel de
fidelidad de la tarjeta. La prueba consiste en emitir diferentes sonidos al
tiempo que son grabados de nuevo por la propia tarjeta, pudiendo comparar
las ondas reales con las capturadas (y emitidas) por este componente.

5. Sistemas de almacenamiento.- El registro del rendimiento de las unidades


de almacenamiento es un campo en el que podemos encontrar una enorme
cantidad de pruebas, por lo general se trata de conocer la tasa de escritura y
lectura de datos, el tiempo medio de acceso y otras pruebas menores, como
el consumo de CPU que realiza el equipo para manejar determinadas
unidades.

En este ámbito utilizaremos el HD Tune el cual nos muestra un detalle


interesante: dibuja una gráfica que muestra claramente el rendimiento a lo
largo de toda la superficie del disco. Gracias a ello podemos detectar
unidades con problemas o las grandes diferencias de comportamiento
existentes entre unidades de disco magnéticas.

Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 23


Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

6. Autonomía de la batería.-Terminamos con el cálculo de la autonomía de los


portátiles, un tema siempre complicado por las enormes diferencias que
pueden llegar a existir entre unas pruebas y otras. No es lo mismo ejecutar
tareas ofimáticas o navegar por Internet, que estar jugando o viendo una
película en DVD. En cada caso, nuestro portátil tendrá una autonomía muy
diferente según el consumo de energía que hagan elementos como la CPU, el
motor gráfico, la red WiFi o la intensidad de la retroiluminación de la pantalla.

Para nuestro caso utilizaremos Battery Eater Pro, el cual ejecuta una
animación en 3D de manera ininterrumpida que consume CPU, memoria y
disco duro de manera intensiva. Tan solo tendremos que tener cuidado para
desactivar todos los ahorros de energía de Windows, salvapantallas incluido.
Cuando la batería se agote y volvamos a arrancar el equipo, podremos acceder
a un log que nos mostrará el tiempo total de autonomía.

Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 24


Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

V. INFORME FINAL

a. Realice todos los pasos indicados en la presente práctica.


b. De las herramientas de software utilizadas en la práctica, defina
cada una de ellas.
c. Utiliza dos herramientas de software distintas de la práctica para
obtener el rendimiento del equipo de cómputo.
d. Existen distintas herramientas de software para poder medir el
rendimiento del PC, indique Usted que herramientas son realmente
fiables y ¿Cuáles podemos utilizar si queremos medir el rendimiento
de nuestro PC con precisión?
e. De 4 conclusiones más importantes del presente laboratorio
f. De 4 observaciones más importantes del presente laboratorio

Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 25


Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

PRACTICA DE LABORATORIO Nº 04
Medida del Rendimiento en Mips y Flops de un Algoritmo

I. OBJETIVOS
 Medir el rendimiento de un algoritmo computacional.
 Analizar el rendimiento de un algoritmo en diferentes equipos de cómputo.

II. MATERIALES Y EQUIPO


 1 Equipo de Cómputo.
 Programa C++

III. FUNDAMENTACIÓN TEÓRICA


El rendimiento es un parámetro que indica el nivel de computación de la máquina
y la velocidad a la que produce los resultados, la medida del rendimiento da una
idea del comportamiento de la Arquitectura.

Las computadoras se construyen para realizar un gran número de cálculos en el


menor tiempo posible. Para medir la rapidez y la potencia de cálculo se emplean:

 El tiempo de ejecución de un trabajo: cuando menos tarde, mejor


 La productividad o throughput: que es la cantidad de trabajo que es capaz de
ejeuctar en un tiempo determinado.

El tiempo que tarde en ejecutar un programa depende de varios factores: de las


operaciones de entrada/salida, del acceso a memoria, del tiempo de CPU
consumido por el sistema operativo y del tiempo de CPU del usuario.

El tiempo de ejecución hace referencia al tiempo de CPU de usuario

Métricas de Rendimiento
 MIPS: Millones de instrucciones por segundo
 MFLOPS: Millones de operaciones en coma flotante por segundo.
 Una forma de medir el rendimiento es por el tiempo de ejecución de los
programas.

Con lo que se puede decir que una máquina X es n veces más rápida que otra Y
si:

Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 26


Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

Los componentes básicos del rendimiento y la unidad de medida son:

Componentes del rendimiento Unidad de medida


Tiempo de ejecución de CPU para Segundos por programa
un programa
Numero de instrucciones Número de instrucciones
ejecutadas por el programa
Ciclos por instrucción (CPI) Número medio de ciclos por
instrucción
Tiempo de ciclo de reloj Segundos por ciclo de reloj

Cuando se quieren comparar diferentes procesadores, es necesario establecer el


criterio de medida que permita cuantificar los resultados de la comparación. En
este sentido existen dos conceptos que son: la unidad de medida y el patrón de
medida. El primero se refiere a la métrica utilizada para cuantificar la comparación.
Y el segundo a la carga de trabajo respecto a la que se realiza la comparación.

El tiempo es la unidad de medida por excelencia cuando se comparan varios


procesadores, aunque no siempre coincidan los puntos de vista de los diferentes
observadores. Así, el usuario de un procesador puede decir que el procesador A
es mejor que el procesador B cuando A ejecuta su programa en menor tiempo que
B. En cambio, el responsable de un centro de cálculo entenderá que A es mejor
que B si es capaz de ejecutar mayor número de trabajos por unidad de tiempo. El
primero estará interesado en el tiempo de respuesta del procesador mientras que
el segundo lo estará en la productividad. Pero en ambos casos la clave es el
tiempo: el procesador que realiza la misma cantidad de trabajo en el menor tiempo
posible será el más rápido, la diferencia estriba en si medimos una tarea (tiempo
de respuesta) o muchas (productividad).

El patrón de medida más significativo es el conjunto de programas reales que se


ejecutan en los procesadores. Sin embargo, aquí surge de nuevo y con más
intensidad la diversidad de puntos de vista. En efecto, el usuario de un editor de
texto querrá medir el rendimiento de un procesador respecto a la eficiencia para
ejecutar su programa, que posiblemente no coincida con el punto de vista del
usuario de un programa de diseño gráfico. Fijar de la forma más objetiva posible
los patrones o programas respecto a los cuales se mida el rendimiento de un
procesador será pues una tarea polémica y siempre cuestionada por la comunidad
de interesados en los resultados de la medida.

VI. PROCEDIMIENTO
1. Para medir el tiempo de ejecución de un algoritmo, se utilizará la siguiente
estructura en lenguaje C ++.

Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 27


Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

#include <stdio.h>
#include <time.h>
int main(int argc, char *argv[])
{
clock_t start = clock();

/* Aquí el Código */
printf("Tiempo transcurrido: %f", ((double)clock() - start) /
CLOCKS_PER_SEC);
return 0;
}

La forma de calcular el tiempo de CPU que toma una función f(x) es muy simple:
a. Tomamos el valor del reloj antes de realizar la llamada (tiempo inicial).
b. Llamamos a la rutina en cuestión.
c. Tomamos nuevamente el valor del reloj (tiempo final).

Para nuestra práctica de laboratorio utilizaremos el siguiente ejemplo para poder


calcular el tiempo de ejecución del algoritmo de 4 operaciones de dos números:

2. Procederemos a compilar y ejecutar el programa para poder conocer el tiempo de


ejecución:
El tiempo ejecución es: ………………………….
El tiempo ejecución o de la maquina vecina es: ………………………….

3. Calculamos el rendimiento de programación

Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 28


Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

1
Re n dim iento X   _________
Tejecución X
De la máquina vecino:
1
Re n dim ientoY   __________
Tejecución Y

4. Seguidamente realizaremos las comparaciones del rendimiento, de otro equipo


de cómputo.
Equipo de cómputo Tiempo transcurrido
“X”
“ Y”

5. Procederemos a calcular la aceleración del rendimiento, según la siguiente


fórmula:

Re n dim iento X Tejecucion X


An     _______
Re n dim ientoY TejecucionY

6. Que podemos decir de X con respecto a Y.


_______________________________________________________________
__
_______________________________________________________________
__

7. De acuerdo al algoritmo de 4 operaciones, completar el cuadro y calcular MIPS o


MEGAFLOPS nativos y relativos, según sea el caso:

Operación Millones de instrucciones Peso


ADD 1
SUB 1
MUL 1
DIV 4

NOTA: Considere para el caso de millones de instrucciones como una


instrucción de coma flotante

V. INFORME FINAL

a. Realice todos los pasos indicados en la presente práctica.

Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 29


Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

b. Realizar un programa computacional de decenas de líneas de código en


lenguaje C++ y en Phyton, luego realizar la comparación del rendimiento de
ambos programas. Dar y explicar los resultados obtenidos. ¿A qué se debe el
rendimiento de X mejor que el de Y?
c. Realizar un programa que pueda medir uso de la memoria en tiempo de
ejecución.
d. Investigue que otras métricas se utilizan para el análisis del rendimiento.
e. Investigue sobre los factores del rendimiento de programas y menciones
ejemplos.
f. De 3 conclusiones importantes del presente laboratorio
g. De 3 observaciones importantes del presente laboratorio

Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 30


Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

PRACTICA DE LABORATORIO Nº 05
Parpadeo Simple de un Led

I. OBJETIVOS
 Conocer sobre Microcontroladores.
 Utilizar el PIC 16F84.

II. MATERIALES Y EQUIPO


 1 PIC 16F84A
 1 Batería de 9V.
 1 Regulador de voltaje 780 s
 1 Condensador 0,33µF (Opcional)
 1 Condensador 0,01 µF (Opcional)
 1 Resistor 4,7 KΩ
 1 Resistor 560 Ω o 1 KΩ
 1 LED 3mm o 5mm (cualquier valor)
 1 Cristal de 4MHz.
 1 Protobard
 Cables de conexión
 1 Pulsador N.A. para placa opcional.

III. FUNDAMENTACIÓN TEÓRICA


Un microcontrolador es un circuito integrado digital que puede ser usado para muy
diversos propósitos debido a que es programable. Está compuesto por una unidad
central de proceso (CPU), memorias (ROM y RAM) y líneas de entrada y salida
(periféricos).Como podrás darte cuenta, un microcontrolador tiene los mismos
bloques de funcionamiento básicos de una computadora lo que nos permite
tratarlo como un pequeño dispositivo de cómputo. Un microcontrolador puede
usarse para muchas aplicaciones algunas de ellas son: manejo de sensores,
controladores, juegos, calculadoras, agendas, avisos lumínicos, secuenciador de
luces, cerrojos electrónicos, control de motores, relojes, alarmas, robots, entre
otros.
 Funcionamiento del Microcontrolador
Como el hardware ya viene integrado en un solo chip, para usar un
Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 31
Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

microcontrolador se debe especificar su funcionamiento por software a través


de programas que indiquen las instrucciones que el microcontrolador debe
realizar. En una memoria se guardan los programas y un elemento llamado
CPU se encarga de procesar paso por paso las instrucciones del programa.
Los lenguajes de programación típicos que se usan para este fin
son ensamblador y C, pero antes de grabar un programa al microcontrolador
hay que compilarlo a hexadecimal que es el formato con el que funciona el
microcontrolador.
Para diseñar programas es necesario conocer los bloques funcionales básicos
del microcontrolador, estos bloques son:

 CPU (Unidad central de proceso)


 Memoria ROM (Memoria de solo lectura)
 Memoria RAM (Memoria de acceso aleatorio)
 Líneas de entrada y salida (Periféricos)
 La forma en la que interactúan estos bloques dependerá de su arquitectura.
 La CPU posee, de manera independiente, una memoria de acceso rápido
para almacenar datos denominada registros, si estos registros son de 8 bits
se dice que el microcontrolador es de 8 bits.

Para grabar el programa en el microcontrolador, se necesita básicamente 3


cosas:

 Una computadora
 Software de programación (incluyendo un compilador).
 Un circuito programador y un microcontrolador.

La computadora, a través del software de grabación, se encarga de enviar el


programa que se desea grabar al microcontrolador por intermedio del circuito
programador.

PIC (Programmable Interrupt Controller) .- Es decir un controlador


programable de interrupciones, cuando hablamos de un Circuito Integrado
Programable que controla dispositivos de E/S, estamos hablando de un
Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 32
Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

sistema que contiene entre otras cosas una unidad arimético-lógica, unas
memorias de datos y programas, unos puertos de entrada y salida, es decir
estamos hablando de un pequeño ordenador diseñado para realizar unas
funciones específicas. Podemos encontrar microcontroladores en lavadoras,
teclados, teléfonos móviles, ratones etc. Hay multitud de microcontroladores
con más memoria, entradas y salidas, frecuencia de trabajo, coste,
subsistemas integrados y un largo etc. dependiendo de cada tipo de
microcontrolado.

El PIC 16F84.- es un microcontrolador con memoria de programa tipo FLASH


es decir nunca pierde su programación, lo que representa gran facilidad en el
desarrollo de prototipos y en su aprendizaje ya que no se requiere borrarlo con
luz ultravioleta sino que permite reprogramarlo nuevamente sin ser borrado con
anterioridad.
El PIC16F84A es un microcontrolador de gama media de 8 bits que físicamente
consta de 18 pines, su memoria de programa es de tipo flash, lo que nos
permitirá grabarlo hasta unas 10000 veces. Es realmente sencillo de manejar,
por eso será nuestro punto de partida para el estudio del lenguaje ensamblador
y microcontroladores.
Sus características principales son:
 Set de solo 35 instrucciones
 Memoria de programa de 1 KB (equivale a 1024 instrucciones)
 Máxima velocidad de operación: 20 MHz
 68 Bytes de RAM
 64 Bytes de EEPROM
 4 fuentes de interrrupción
 2 puertos de salida
 13 Líneas de I/O configurables individualmente
 25 mA de corriente por pin.
IV. PROCEDIMIENTO

Se conecta un LED a un terminal de puerto de un microcontrolador PIC. El LED


parpadea continuamente cada 1 segundo.Este proyecto es tan simple que se puede
utilizar cualquier tipo de microcontrolador PIC, para nuestro caso se escogió el
microcontrolador PIC16F84 tal como se muestra en la figura 1. El bit 0 del puerto B
Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 33
Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

(RB0) se conecta a un pequeño LED a través de un resistor que limita la corriente.


La caída de tensión en el LED es de, aproximadamente, 2 V. Asumiendo que la
corriente en el LED es de 10 mA, el valor de la resistencia se puede calcular como:
5 2
0,3
10
El valor más próximo es de 330 Ω.

Figura 1: Diagrama del Circuito

En la figura 2 se muestra el montaje del proyecto en una placa de pruebas.

Figura 2: El montaje del Proyecto


Para nuestro programa diseñaremos un diagrama de flujo, el cual consiste en
un bucle infinito dentro del cual se enciende y se apaga el LED. El diagrama de
flujo del programa se muestra en figura 3.

Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 34


Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

Figura 3: El Diagrama de Flujo del Proyecto

 PicBasic: El programa en lenguaje PicBasic se muestra en la figura 4. al comienzo


de este, se define el símbolo LED y se le asigna el valor de cero (bit 0 del puerto
B). De la misma forma, se definen las direcciones del registro de direcciones del
puerto TRISB y del puerto B. El programa principal consiste en un bucle infinito que
comienza en la etiqueta AGAIN. Dentro del programa principal, el LED se enciende
mediante la instrucción HIGH LED. Al transcurrir una espera de 1 s (PAUSE 1000)
el LED se paga y el proceso se repite de forma continuada.

PROGRAMA PARA EL PARPADEO DE UN LED

Este programa provoca el parpadeo del LED conectado al terminal RB0 del puerto B. El
LED parpadea a intervalos de 1s.

Autor: Dogan Ibrahim


Fecha: Octubre, 2005
Compilador: PicBasic
Archivo: LEDI . BAS

Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores


Modificaciones 35
Docentes: A. Cohaila B. / K.Elías Q.
SIMBOLOS

Symbol LED = 0 Definir RB0 como LED


Symbol TRISB = $86 Dirección de TRISB
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

 PicBasic Profesional.- El programa en lenguaje PicBasic Profesional se muestra


en la figura 5. Al comienzo del programa se define la variable LED de tipo bit, como
el bit 0 del puerto B (PORTB, 0). Luego, el registro de dirección del puerto TRISB
se pone a 0 configurando así todos los terminales del puerto B como salidas. El
programa principal comienza en la etiqueta AGAIN y cada 1 s se conmuta entre 0 y
1 al terminal del puerto.

PROGRAMA PARA EL PARPADEO DE UN LED

Este programa provoca el parpadeo del LED conectado al terminal RB0 del Puerto B. El LED
parpadea a intervalos de 1 s.

Autor: Dogan Ibrahim


Fecha: Octubre, 2005
Compilador: PicBasic Profesional
Archivo: LED2. BAS

MODIFICACIONES

DEFINICIONES

LED VAR PORTB. 0 Definir RB0 como LED

INICIO DEL PROGRAMA PRINCIPAL

TRISB = 0 Configurar como salida al


Puerto

AGAIN

LED = 1 Encender el LED


PAUSE 1000 Esperar 1 segundo

LED = 0 Apagar el LED


PAUSE 1000 Esperar 1 segundo

GOTO AGAIN Repetir

END Fin del programa

Figura 5: El programa en PicBasic Profesional

Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 36


Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

 Empleo de un microcontrolador diferente.- En este proyecto se utiliza al


microcontrolador PIC16F84. Recientemente, el PIC16F627 se ha convertido en
uno de los microcontroladores de bajo costo más populares. Este microcontrolador
tiene 18 terminales y es compatible con el PIC16F84, posee 16 terminales de E/S y
un oscilador integrado a 4 MHz. En este apartado se utilizara el PIC16F627 para
hacer parpadear a un LED.

En la figura 6 se muestra el circuito del proyecto con el PIC16F627. El LED se


conecta al terminal 9 del puerto B como se observa en la figura 1 y se utiliza el
oscilador interno del microcontrolador.

Figura 6:: Diagrama del Circuito con el PIC 16F627

VII. INFORME FINAL


a. Realice todos los pasos indicados en la presente práctica.
b. Diferencias entre un microprocesador y microcontrolador
c. Averiguar sobre el PIC 16F84A
d. Utilidad, aplicaciones e importancia del PIC 16F84A
e. De 4 conclusiones más importantes del presente laboratorio
f. De 4 observaciones más importantes del presente laboratorio

PRÁCTICA DE LABORATORIO Nº06


Contador con Visualizador Siete Segmentos

Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 37


Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

I. OBJETIVOS

 Utilizar el Display de siete segmentos para poder armar un contador.


 Utilizar el Pic 16F84 con el display de siete segmentos.

II. MATERIALES Y EQUIPO

 1 Display de siete segmentos


 1 PIC 16F84A
 1 Batería de 9V.
 1 Regulador de voltaje 780 s
 1 Condensador 0,33µF (Opcional)
 1 Condensador 0,01 µF (Opcional)
 1 Resistor 4,7 KΩ
 1 Resistor 560 Ω o 1 KΩ
 1 LED 3mm o 5mm (cualquier valor)
 1 Cristal de 4MHz.
 1 Protobard
 Cables de conexión
 1 Pulsador N.A. para placa opcional.

III. FUNDAMENTACIÓN TEÓRICA


Al momento de decidir cómo implementar un indicador luminoso de dígitos,
automáticamente se nos vienen a la mente los populares display de siete
segmentos que los podemos encontrar en el mercado con la cantidad de dígitos
que se nos ocurra, con una variedad de colores muy amplia y con dos
configuraciones constructivas muy definidas y que debemos atender a no
equivocarnos para evitar un arrepentimiento posterior.

Figura 5.Display de siete segmentos

Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 38


Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

El display de 7 segmentos o visualizador de 7 segmentos es un componente


que se utiliza para la representación de números en muchos dispositivos
electrónicos debido en gran medida a su simplicidad. Aunque externamente su
forma difiere considerablemente de un diodo LED (diodos emisores de luz) típico,
internamente están constituidos por una serie de diodos LED con unas
determinadas conexiones internas, estratégicamente ubicados de tal forma que
forme un número 8.

La configuración del display de 7 segmentos cuenta con un cátodo común y de


ánodo común. Esto significa que los LEDs que forman cada segmento del dígito,
se unen en un terminal común para su conexión y puede hacerse uniendo todos lo
ánodos o todos los cátodos, según el modelo que el fabricante decida. El punto
decimal que habitualmente acompaña a cada dígito, se conecta de manera
individual, tal como puedes ver en la siguiente imagen.

Figura 6. Configuración del display de 7segmentos

A cada uno de los segmentos que forman el display se les denomina a, b, c, d, e, f


y g y están ensamblados de forma que se permita activar cada segmento por
separado consiguiendo formar cualquier dígito numérico. A continuación se
muestran algunos ejemplos:

 Si se activan o encienden todos los segmentos se forma el número "8".


 Si se activan sólo los segmentos: "a, b, c, d, e, f," se forma el número "0".
 Si se activan sólo los segmentos: "a, b, g, e, d," se forma el número "2".
 Si se activan sólo los segmentos: "b, c, f, g," se forma el número "4".

En la actualidad es muy común el uso de vistosos displays gráficos, incluso con

Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 39


Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

posibilidad de colores a un bajo costo. Sin embargo el display de 7 segmentos


sigue siendo una excelente opción en ciertas situaciones en las que se requiera
mayor poder lumínico y trabajo en áreas hostiles, donde los displays podrían verse
afectado por condiciones ambientales adversas. Aún no se ha creado otro
dispositivo de señalización que reúna características como este en cuanto a: Buen
poder lumínico, claridad, sencilla implementación, bajo costo y robustez.

VIII. PROCEDIMIENTO
En este proyecto se utiliza un visualizador 7 segmentos para mostrar el valor de
un contador. Los números que aparecen en el visualizador van desde el 0 hasta el
9 de forma continua, es decir: 0, 1, 2, 3,…, 8, 9, 0, 1, 2,…con una espera de 1 s
entre cada conteo.

Los visualizadores 7 segmentos son utilizados frecuentemente como indicadores


en los circuitos electrónicos. En la figura 4 se aprecia que un visualizador de 7
segmentos consta básicamente de 7 LEDs conectados de tal manera que con
ellos se pueda mostrar los números del 0 al 9, así como algunas letras. En la
figura 5 se muestra un visualizador de 7 segmentos típico, con los nombres de
cada segmento.

Figura 7. Algunos visualizadores de 7 segmentos

Figura 8.Los nombres de los segmentos de un visualizador de 7 segmentos

En la figura 6 se muestra cómo se pueden obtener los números del 0 al 9,


iluminando los diferentes segmentos del visualizador.

Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 40


Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

Figura 9.La obtención de los números del 0 al 9

Los visualizadores de 7 segmentos están disponibles en dos configuraciones


diferentes: cátodo común y ánodo común. En la figura 7 se muestra un
visualizador de cátodo común en el cual se unen todos los cátodos de los
segmentos (LEDs) y luego este punto común se conecta a tierra. Cada
segmento se puede encender aplicando un 1 lógico en su ánodo. Aquí, el
terminal de salida del microcontrolador se encarga de suministrar la corriente
necesaria.

Figura 10.El visualizador de cátodo común

En un visualizador de ánodo común, todos los ánodos de los segmentos


(LEDs) se unen (ver la figura 8) y luego este punto común se conecta a la
tensión de alimentación +V. Cada segmento se enciende aplicando un 0 lógico
en su cátodo. Aquí, el terminal de salida del microcontrolador se encarga de
absorber la corriente.

Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 41


Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

Figura 11.El visualizador de ánodo común

En este proyecto se utiliza un visualizador de color rojo, de ánodo común,


modelo Kingbright SA52-11. Este es un visualizador de 13 mm (0,52 pulgadas)
con 10 terminales. La configuración de los terminales se muestra en la tabla 1.
Además, cuenta con un segmento (LED) para el punto decimal.
Tabla 1: Configuración de los terminales del SA52-11
Número del terminal Segmento
1 e
2 d
3 Ánodo común
4 c
5 Punto decimal
6 b
7 a
8 Ánodo común
9 f
10 g

En la figura 9 se muestra el circuito del proyecto. Se emplea el


microcontrolador PIC16F627 operando a una frecuencia de reloj de 4 MHz y
con reset interno. El visualizador se conecta al puerto B mediante resistores
limitadores de corriente de 330 Ω. En la figura 10 se muestra el montaje del
proyecto sobre una placa de pruebas.

En la tabla 2 se aprecia la relación existente entre el número visualizado y el


dato enviado al puerto B. El visualizador se conecta al microcontrolador
utilizando los terminales de los segmentos “a” al “g”. En esta tabla, “x” es un
valor opcional, que en este caso se considera igual a 0 y se utiliza para
conformar el octavo bit. Por ejemplo, para visualizar el número 2, se envía el
código hexadecimal $5B al puerto B. Asimismo, para visualizar el número 8, se
envía el código hexadecimal $7F, y así sucesivamente.

Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 42


Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

Figura 12. Circuito del proyecto

Figura 13.Montaje del proyecto


El diagrama de flujo del proyecto se muestra en la figura 10, al comienzo del
programa se especifica el sentido de los terminales de E/S cargando un 0 en el
registro TRISB, es decir, todos los terminales del puerto B se configuran como
salidas. Luego, se realiza un bucle para enviar los números del 0 al 9 hacia el
visualizador. En el interior de este bucle, se llama a la rutina CONVERT con el
objetivo de determinar el patrón de bits (dato) que será enviado al puerto B. Esta
rutina utiliza la instrucción LOOKUP para determinar los segmentos del visualizador
que deberán iluminarse para mostrar el número deseado. El dato que se envía al
puerto B debe ser complementado con anterioridad, ya que se está empleando un
visualizador de ánodo común (es decir, cada segmento del visualizador se enciende
cargando un 0 lógico en el terminal correspondiente). El proceso se repite después
de un retraso de 1 s.
Tabla 2: Número visualizado y dato enviado al puerto B
Número x g f e d c b a Datos al Puerto B (en hexadecimal)
0 0 0 1 1 1 1 1 1 S3F
1 0 0 0 0 0 1 1 0 S06
2 0 1 0 1 1 0 1 1 S5B
Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 43
Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

3 0 1 0 0 1 1 1 1 S4F
4 0 1 1 0 0 1 1 0 S66
5 0 1 1 0 1 1 0 1 S6D
6 0 1 1 1 1 1 0 1 S7D
7 0 0 0 0 0 1 1 1 S07
8 0 1 1 1 1 1 1 1 S7F
9 0 1 1 0 1 1 1 1 S6F

Nota: x es irrelevante, se
asume igual a 0

Figura 14: Diagrama de Flujo del


proyecto
 Programa PicBasic

El programa en lenguaje PicBasic se muestra en la figura 12. Al inicio del


programa se definen las direcciones del puerto B y del registro TRISB. También
se declaran las variables Cnt y Pattern. El registro TRISB se carga con 0 para
configurar a todos los terminales del puerto B, como salidas y la variable Cnt se
inicializa en 0 para luego llamar a la rutina CONVERT. Esta rutina recibe a Cnt
como variable de entrada y devuelve su equivalente en código de 7 segmentos
en la variable Pattern. Por ejemplo, si Cnt es igual a 0, a la variable Pattern se le
asigna el código hexadecimal $3F, si Cnt es igual 1, a Pattern se le asigna $06,
etc. Luego, se complementa el código de 7 segmentos ya que se utiliza un
visualizador de ánodo común (los segmentos se encienden colocando un 0 en el
terminal). Para ello se realiza una operación lógica (OR exclusivo) entre la
variable Pattern y el código hexadecimal $FF (un bit se complementa cuando se
realiza un OR exclusivo con 1). Posteriormente se incrementa la variable Cnt y
cuando alcanza el valor de 10, se inicializa en 0 para garantizar que el número se
encuentre entre 0 y 9. De lo contrario, el programa salta hasta la etiqueta NXT
para visualizar el próximo número. Después de visualizar el número, el programa
espera durante 1 s y el proceso se repite indefinidamente.
Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 44
Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

Figura 15. Programa en PicBasic del Proyecto: Rutina Convert

Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 45


Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

Figura 16. Programa en PicBasic del Proyecto


 Programa PicBasic Profesional

El programa en lenguaje PicBasic Profesional se muestra en la figura 13, al


comienzo del programa el registro TRISB se carga con 0 para configurar todos
Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 46
Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

los terminales del puerto B como salidas. Luego, se inicializa la variable Cnt en 0
y se llama a la rutina CONVERT. Esta rutina recibe a Cnt como variable de
entrada y devuelve su equivalente en código de 7 segmentos, en la variable
Pattern. Posteriormente, se complementa el código, y se envía al puerto B para
iluminar a los segmentos correspondientes, y así, visualizar al número actual. La
variable Cnt se incrementa y cuando llega al valor de 10 se inicializa a 0 para
garantizar que el número se encuentre entre 0 y 9. El valor de Cnt se envía al
visualizador durante cada segundo.

Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 47


Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

Figura 17. Programa en PicBasic Profesional del proyecto

PRÁCTICA DE LABORATORIO Nº07


Parpadeo (Blink) de un Diodo Led con Arduino
I.OBJETIVOS
 Realizar el sketch de programación en sentencias C
 Realizar el conexionado de un diodo LED correctamente en la tarjeta Arduino.
Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 48
Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

II. MATERIALES Y EQUIPO


 1 Computador con el programa Arduino ver 1.6.5 o superior
 1 cable de conexión USB
 1 tarjeta Arduino Uno o Arduino Mega
 2 diodos LED color Rojo y color Verde de 5 mm
 2 Resistencias de 270 Ω x ½ Watts
 Cables de conexionado.

III. FUNDAMENTO TEÓRICO


Hoy en día existen dos tendencias principales en el uso de microcontroladores, por
un lado tenemos a los que usan la gama de Microchip conocidos como PIC, y por
otro lado tenemos a los que usan microcontroladores AVR, populares por ser el
núcleo de procesamiento de las famosísimas tarjetas de prototipado Arduino.

Figura 18: Tarjeta de Prototipado Ardinuo

El Arduino es una placa que tiene todos los elementos necesarios para conectar
periféricos a las entradas y salidas de un microcontrolador. Es decir, es una placa
impresa con los componentes necesarios para que funcione el microcontrolador y
su comunicación con un ordenador a través de la comunicación serial.

Lenguaje de Programación:
La plataforma Arduino se programa con un lenguaje propio basado en el lenguaje
de programación de alto nivel Processing, lo que significa que es similar a C++. Se
trata de un lenguaje de programación de propósito general asociado a un sistema
operativo llamado UNIX. Este lenguaje de medio nivel, trata con objetos básicos
como caracteres, números, bits y direcciones de memoria, entre otros. Este tipo de
lenguaje posee una gran portabilidad. Gracias a ello se suele utilizar para la
programación de sistemas como la construcción de intérpretes, compiladores, y
editores de texto.

Características eléctricas:

Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 49


Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

 Microcontrolador: ATmega328
 Voltaje Operativo: 5v
 Voltaje de Entrada (Recomendado): 7 – 12 v
 Pines de Entradas/Salidas Digital: 14 (De las cuales 6 son salidas PWM)
 Pines de Entradas Análogas: 6
 Memoria Flash: 32 KB (ATmega328) de los cuales 0,5 KB es usado por
Bootloader.
 SRAM: 2 KB (ATmega328) Los pines resaltados con gusanito
 EEPROM: 1 KB (ATmega328) ~ son salidas digitales PWM
 Velocidad del Reloj: 16 MHZ. (Modulación por Ancho de Pulso) y
corresponden a:
Partes de la tarjeta Arduino:
Pin 3, 5, 6, 9, 10 y 11.

IV. PROCEDIMIENTO
4.1. “Parpadeo (Blink) de un Diodo Led”
 Conectar en serie la patilla más corta
del LED con la resistencia de 270 Ω.
Tener en cuenta que la patilla más
largo del LED es el positivo (ánodo) y
la patilla más corta es el negativo
(cátodo). No importa cuál de las
patillas de la resistencia se conecta al
LED; sin embargo, el LED debe
conectarse de modo correcto.
Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 50
Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

Figura 19: LED conectado


en serie con resistencia

 Conectar los componentes directamente a los zócalos de Arduino entre el


pin digital 7 y el pin GND. El LED tendrá una pata ligeramente más larga
que la otra. La pata más larga es la que debe conectarse al pin digital 7 y la
más corta se conecta a la resistencia.

GND

Figura 20: Esquema electrónico de un LED conectado a la placa Ardinuo

 Se muestra en la Figura 3, como debe quedar el conexionado al Arduino.


A veces ayuda doblar ligeramente el extremo del conductor de manera que
entre más firmemente en los zócalos.

Figura 21: LED conectado directamente a la placa Ardinuo


Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 51
Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

 Ahora realicemos nuestro sketch para utilizar el LED externo que


acabamos de conectar. En este primer ejemplo tomaremos los ejemplos
que el programa ya trae, para esto nos dirigimos a:
Archivo>>Ejemplos>>Basics>>Blink

 El sketch utiliza el LED interno propio de la tarjeta el cual está conectado


al pin digital 13 en este caso lo cambiamos por el pin digital 7.

 Guarde el sketch con nombre de archivo 1LED.ini

 Ahora compile (Verificar) el sketch. Si todo esta OK, cargue el sketch a


memoria dela tarjeta Arduino, haciendo clic en el botón Subir (cargar en
tarjeta de E/S). Verá como el LED rojo parpadea a velocidad de destello de 1
seg.
SUBIR, carga el archivo *.hex a memória EEPROM de
datos del Arduino

Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 52


Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

VERIFICAR

V. RETOS AL ESTUDIANTE

Usando el “Arduino Programming Language”, realice un


RETO 1: programa de blink (parpadeo) de dos LED’s (rojo y verde) de
modo que el LED Rojo se encienda 1 seg, a continuación se
apaga, y enciende el LED verde 1 seg. Repetidamente.

Sugerencia:

1ro. Conectar los LED’s Rojo y Verde en los pines7 y 8 respectivamente de la


tarjeta Arduino, use siempre Resistencia para cada LED.
2do. Declare los dos pines (7 y 8) donde se ha de conectar los LED’s en el Arduino
Solución: Remítase al archivo 2LED.ini

Mediante la sentencia for, realizar un programa que encienda 6


RETO 2: LED’s consecutivamente uno detrás del otro. Utilice LED’s de
distinto color.

Solución: Remítase al archivo 4LED.ini

VI. INFORME FINAL

Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 53


Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

a. Realice todos los pasos indicados en la presente práctica.


b. Qué diferencia encuentra Ud con el PIC 16F84 y la tarjeta Arduino
c. Realizar el programa y la simulación en Proteus de un sistema de conteo de
Automóviles de un estacionamiento. Que cuente el ingreso y salida de
vehículos.
d. De 4 conclusiones más importantes del presente laboratorio
e. De 4 observaciones más importantes del presente laboratorio
f. Realice los retos detallados en la práctica.

Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 54


Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

PRÁCTICA DE LABORATORIO Nº08


Semáforo Programable

I. OBJETIVOS
 Realizar el sketch de programación en sentencias C
 Realizar el conexionado de un diodo LED correctamente en la tarjeta Arduino.

II. MATERIALES Y EQUIPO


 1 Computador con el programa Arduino ver 1.0.5
 1 tarjeta Arduino Uno/Mega + 1 cable de conexión USb
 1 diodo LED color Rojo de 5 mm
 1 diodo LED color Amarillo (o ámbar) de 5 mm
 1 diodo LED color Verde de 5 mm
 3 Resistencia de 270 Ω x ½ Watts
 1 Resistencia de 100KΩ x ½ Watts
 1 pulsador en miniatura para conmutación
 1 sensor de temperatura LM35Z
 1potenciometro de 100K

III. FUNDAMENTO TEORICO


Conocimientos previos al proyecto: Entradas y salidas digitales
Los pines digitales 0 a 12 pueden configurarse para ser utilizados como entrada o
como salida, esta asignación la determinamos en el sketch. Puesto que vamos a
conectar componentes electrónicos en estos pines, es improbable que una vez
establecidos queramos volver a cambiarlos. Es decir, una vez que hayamos
configurado un pin como salida, no lo vamos a cambiar en mitad de un sketch
para que sea una entrada.

Por esta razón, suele ser práctica habitual fijar la dirección de un pin digital en la
función de configuración que debe definirse en cada sketch. Por ejemplo, el
siguiente código (a continuación de pinMode) establece el pin digital 10 como
salida (output) y el pin digital 11 como entrada (input).Observe cómo utilizamos
esta declaración de variables en nuestro sketch para hacer que resulte más fácil
cambiar posteriormente el pin utilizado si así nos conviene más adelante.

int ledPin=10;
int switchPin=11;
void setup()
{
pinMode(ledPin,
Manual de Guías y Prácticas de Laboratorio de Arquitectura OUTPUT );
de Computadores 55
Docentes: A. Cohaila B. / K.Elías Q.
pinMode(switchPin, INPUT);
}
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

 Ahora que ya sabemos cómo establecer un pin digital para que actúe
como entrada, pasemos a construir un proyecto de modelo de semáforo con
la utilización de LEDs rojo, amarillo y verde.

VI. PROCEDIMIENTO
Proyecto 01: “Semáforo”
 Cada vez que pulsemos el botón, la luz del semáforo cambiará al color
siguiente de la secuencia prevista. En el Reino unido, la secuencia de los
semáforos es: rojo, rojo y amarillo juntas, verde, amarillo y, a continuación,
vuelve al rojo.

 Al presionar el pulsador, las luces cambiarán solas siguiendo la secuencia


prevista, aunque con un cierto retardo entre cada paso. También haciendo un
pulso, las luces cambian.

 El esquema electrónico del proyecto se muestra en la Figura 1. Los


LEDs están conectados cada uno con su resistencia limitadora de corriente. El
pin digital 5 está puesto a masa (GND) a través de R4, y cuando pulsamos S1,
éste pasa a 5 V.

Figura 1: Diagrama de conexionado de los LED's a la placa Ardinuo

Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 56


Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

Figura 2: Diagrama de la placa de prueba protoboard

 El sketch del proyecto es bastante auto explicativo y se muestra a


continuación. Una vez por segundo, el programa comprueba si se ha
presionado el pulsador, de forma que si lo pulsamos varias veces con rapidez
no cambiará la secuencia de luces. Sin embargo, si mantenemos presionado
el pulsador, las luces harán la secuencia completa automáticamente.

Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 57


Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

/* Semaforo: Proyecto de modelo de semáforo con la utilización de LED’s rojo, amarillo y verde.*/
// Cada vez que pulsemos el botón, la luz del semáforo cambiará al color siguiente
// de la secuencia prevista. En el Reino unido, la secuencia de los semáforos es:
// rojo, rojo y amarillo juntas, verde, amarillo y, a continuación, vuelta al rojo.
// Al mantener presionado el botón, las luces cambiarán solas siguiendo la secuencia
// prevista, aunque con un cierto retardo entre cada paso.

// Declaramos las variables de los PINES a utilizar:


int rojoPin = 2; //LED rojo conectado al PIN digital 2
int amarilloPin = 3;
int verdePin = 4;
int botonPin = 5;

int estado= 0;

// Creamos una rutina que corre una vez cuando se presiona el boton RESET:
void setup()
{
pinMode(rojoPin, OUTPUT); // Inicializa el pin digital 2 como una salida
// (OUTPUT)
pinMode(amarilloPin, OUTPUT);
pinMode(verdePin, OUTPUT);
pinMode(botonPin, INPUT); // Inicializa el pin digital 5 como una entrada
}
// La rutina de lazo loop corre muchas veces siempre:
void loop()
{
if (digitalRead(botonPin))
{
if (estado==0)
{
setLuces(HIGH, LOW, LOW);
estado=1;
}
else if (estado == 1)
{
setLuces(HIGH, HIGH, LOW);
estado=2;
}
else if (estado == 2)
{
setLuces(LOW, LOW, HIGH);
estado=3;
}
else if (estado == 3)
{
setLuces(LOW, HIGH, LOW);
estado=0;
}
delay(500);
}
}

void setLuces(int rojo, int amarillo, int verde)


{
digitalWrite(rojoPin, rojo);
digitalWrite(amarilloPin, amarillo);
digitalWrite(verdePin, verde);
}

 El sketch también utiliza una función independiente, setLuces, para


establecer el estado de cada LED. Reduciendo así tres líneas de código a
una.
 Guarde el sketch con nombre de archivo Semaforo.ini
Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 58
Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

 Cargue el sketch terminado sketch a la tarjeta Arduino haciendo clic en el


botón Cargar.
 Pruebe el proyecto manteniendo pulsado el botón del pin 5 y compruebe
que todos los LED’s se van iluminando siguiendo la secuencia establecida.

Modifique el sketch del proyecto de tal modo que la secuencia de


los LED’s del semáforo sea similar a Perú. Es decir, implementar
el control de dos semáforos dispuestos conforme el gráfico
RETO 1:
siguiente.
 La secuencia de encendido de las luces verde (V), ámbar
(A) y roja (R) está indicada en los diagramas de tiempo
siguientes.

Solución: Remítase al archivo de


sketch SemaforoPeru.ini

Proyecto 02: Voltímetro

Conocimientos previos al proyecto


La placa Arduino UNO está equipada con seis pines analógicos de entrada,
numerados Analog 0 a Analog 5 (A0, A1, … A5). En ellos se mide el nivel de tensión
en la entrada, dando como resultado un número entre 0 (0 V) y 1023 (5 V).

Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 59


Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

Nivel 0 0V

Nivel 512 2.5 V

Nivel 1023 5V

Esta característica la podemos aprovechar para conocer cuál es la posición del mando
de un potenciómetro de manera que al variar su resistencia este actúe como un
divisor de tensión para nuestro pin analógico. La Figura 11 muestra la estructura
interna de un potenciómetro.

Figura 11: Funcionamiento interno de un potenciómetro

El potenciómetro es un componente electrónico que se utiliza habitualmente para el


control de volumen. Está constituido por una pista circular de una cierta resistencia
equipada con conexiones en ambos extremos. Un cursor deslizante proporciona una
tercera conexión móvil.

La resistencia ajustable del potenciómetro nos puede proporcionar un voltaje


variable al conectar uno de sus extremos a 0 V, y el otro a 5 V, con lo que el nivel de
tensión en el cursor deslizante puede variar entre 0 y 5 V, según se gire la perilla o el
mando.

La parte más interesante es la relacionada con la lectura de los valores de la


entrada analógica. En el caso de los pines analógicos no es necesario utilizar la
función pinMode, por lo que no hay que añadir nada más a la función de configuración
(setup).

Por lo tanto, si nuestra entrada analógica cambia de 0 a 1023, el cálculo que


necesitamos para determinar el valor de tensión o voltaje es:

(valor de nivel * 5 v)
Voltaje 
Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 60
Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

1023 Dónde: Valor de nivel = 0


….1023

El valor de nivel es lo que lee la entrada analógica del Arduino, por ejemplo si A0 =
512, su correspondiente nivel de voltaje es de:

(512 * 5)
Voltaje   2.5024 Voltios , que podemos aproximar a 2.5 V.
1023

El Arduino Uno posee internamente un convertidor Analógico a Digital (ADC) de 10


bits de resolución, por lo tanto el número de niveles que puede generar es:
# Niveles  2 n  1  2101  1024  1  1023

Donde:n: es la resolución del ADC, n= 10 (resolución del Arduino Uno)

Como consecuencia, un analog_value 0 (A0) daría números de valores enteros o


en punto flotante, según se programe en el sketch.

Procedimiento:

1. El esquema electrónico del proyecto se muestra en la Figura 12. El


potenciómetro está conectado su patilla del medio en A0 (entrada analógica 0)
el extremo superior a 5 V y el extremo inferior a GND (tierra) respectivamente
de la tarjeta Arduino

5V Potenciómetro de 10
KΩ

A0

Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 61


Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

Figura 12: Esquema electrónico del proyecto 6

.2. El sketch (listado) de código de este proyecto se muestra a continuación

/* LecturaVoltajeAnalógico
Lee una entrada analogical del pin 0 (A0), convierte a voltaje, e imprime el resultado en el
Monitor Serial.
Coloque el pin central del potenciómetro en el pin A0, y los pines extremos a +5V y tierra
(GND) respetivamente. */
// La rutina de configuración (setup) se ejecuta una sola vez al presionar reset:

void setup()
{
//Inicializa la comunicación serial a velocidad de 9600 bits por segundo (bps):
Serial.begin(9600);
}

void loop()
{
// Lee la entrada analogical del pin 0:
int valorSensor = analogRead(A0);
// Convierte la lectura analógica (que vas desde 0 - 1023) a un voltaje (0-5V):
float voltaje = valorSensor * (5.0 / 1023.0);

// Imprime en la salida el valor leído:


Serial.print(“Voltaje = “);
Serial.println(voltaje);
delay(250); // Retardo de 0.25 seg
}

3. Guarde el sketch con nombre de archivo Voltimetro.ini


4. Cargue el sketch terminado sketch a la tarjeta Arduino haciendo clic en el botón
Cargar.
5. Lance el monitor serial (lupa que se encuentra en la posición derecha
superior de la ventana de Arduino) y comprobará que girando el
potenciómetro en el sentido de las agujas del reloj aumentará la tensión
desde 0 hasta 5 voltios. Si lo giramos en el sentido contrario disminuirá la
tensión desde 0 a 5 voltios.

Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 62


Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

RETO 2:
Realice un programa que v i s u a l i c e e l m a y o r y e l m e n o r v a l o r d e
v o l t a j e a medida que va girando la perilla del potenciómetro.

PROYECTO 03.- Medición de Temperatura con Sensor Integrado LM335Z

Conocimientos previos al proyecto:

El LM335 es un circuito integrado que actúa como un sensor de temperatura


calibrado directamente en grados Farenteigh, que se alimenta entre 2.7V y 5.5V
y que por lo tanto es ideal para usarlo con nuestra placa Arduino.

El LM335 proporciona una salida de voltaje directamente proporcional a la


temperatura en grados F Farenteigh. Algunas características son:

 Rango de temperatura: -40°C to 150°C / -40°F to 302°F


 Factor de escala 10 mV/°C
 Precisión de ±2°C
 Linealidad de ±0.5°
 Alimentación: Entre 2.7 y 5.5V.

La salida de voltaje vs la temperatura se muestra en la figura 19.

Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 63


Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

Figura 19: Salida de voltaje a temperatura.

Del gráfico anterior, la recta b, que hace referencia al sensor TMP36, cuya respuesta
es lineal.

Procedimiento:

1. El esquema electrónico del proyecto se muestra en la Figura 16. Tendremos


que montar el siguiente circuito sobre la placa protoboard:

Figura 20: Salida de voltaje a temperatura.

2. Ya sobre la protoboard real, realice el montaje, tal como muestra la figura 21.

Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 64


Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

Sensor
LM335Z

Figura 21: Montaje en protoboard del sensor de temperatura LM335.

3. Se debe tener cuidado de poner correctamente cada cable donde corresponda, el


azul el de señal-, entre la pata del centro del sensor y el pin A0de Arduino, el
cable rojo entre la pata que queda más a la izquirda y el pin 5V del Arduino y
finalmente el cable negro entre la pata que queda más a la derecha y el pin GND
del Arduino.

Figura 22: Cables de colores del sensor de temperatura, conectados al Arduino.

4. Una vez realizado el montaje, vamos a programar el código sobre la placa


Arduino Uno. El sketch de la aplicación, a continuación se muestra en el listado.

/* TEMPERATURA:
Medición de temperatura con sensor TMP36 o LM35
*/

float temp;
Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 65
Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

int tempPin=A0; //Entrada analógica 0

void setup()
{
Serial.begin(9600);
}
void loop()
{
temp=analogRead(tempPin);
temp=(5.0*temp*100)/1024.0;
Serial.print(“Temperatura :
“);
Serial.print(temp);
Serial.println(" grados C");
delay(500);
}

5. Compilamos el código para asegurarnos que no hay errores con el botón .


Si no hay errores en la compilación veremos el siguiente mensaje en la
parte inferior del IDE de Arduino
6. Guarde el sketch con nombre de archivo TemperaturaCenti.ini

7. Luego transferimos el código al microcontrolador mediante el botón cargar


Si la transferencia al microcontrolador es exitosa veremos el siguiente mensaje:

8. Finalmente, ya podemos empezar a medir temperaturas con el botón de


Monitor Serial

Veremos una pantalla, que ya nos muestra la temperatura en grados centígrados:

9. Finalmente probar que el sensor funciona, con precaución podemos acercar una
fuente de calor al sensor y ver como efectivamente la temperatura sube, o
simplemente poniendo la mano cerca. Puede poner para este caso el sensor
cerca al ventilador de la laptop.
Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 66
Docentes: A. Cohaila B. / K.Elías Q.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Escuela Profesional de Ingeniería en Informática y Sistemas - FAIN
CURSO: ARQUITECTURA DE COMPUTADORES

RETO 3:
Modifique el programa de modo que visualice el registro de temperatura en grados
Farentheth y Kelvin.
Solución: Remítase al archivo tempereaturaF&K.ini

V. INFORME FINAL

5.1 Realice todos los pasos indicados en la presente práctica incluido los Retos
5.2 Realice la simulación en Proteus de los programas respectivos
5.3 Realizar la programación y la simulación en Proteus de un sistema de
temperatura que de una alarma (encienda un LED) a medida que la
temperatura aumenta por encima de 30 grados °C y encienda otro LED a
medida que la temperatura disminuya por debajo de 20 °C. En todo
momento los datos se debe guardar en una hoja de Excel.
5.4 Vea el siguiente link y de su opinión:
https://www.youtube.com/watch?v=NaDrt-rH5JY
5.5 Vea el siguiente link. Donde lo puede aplicar en su carrera de Ing. Inf&Sist
(de su comentario)
https://www.youtube.com/watch?v=xftEjHPU_U4
5.6 De 4 conclusiones más importantes del presente laboratorio
5.7 De 3 observaciones más importantes del presente laboratorio

Manual de Guías y Prácticas de Laboratorio de Arquitectura de Computadores 67


Docentes: A. Cohaila B. / K.Elías Q.