You are on page 1of 17

GUIAS ÚNICAS DE LABORATORIO

ELEMENTOS DE MICROPROGRAMACIÓN

AUTOR: ALBERTO CUERVO

SANTIAGO DE CALI
UNIVERSIDAD SANTIAGO DE CALI
DEPARTAMENTO DE LABORATORIOS

DDEEPPAARRTTAAM
MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS
GGUUIIAASS DDEE EELLEEMMENTOS DDEE M
E N T O S MIICCRROOPPRROOGGRRAAMMAACCIIÓÓNN
“ELEMENTOS DE MICROPROGRAMACION”

Introducción

La unidad de control de un computador puede parecer un circuito cuya implementación


se efectúa con relativa facilidad. Sin embargo, realizar todas las interconexiones
necesarias de los dispositivos digitales requeridos para su implementación, así como el
diseño lógico de la misma para la toma de decisiones de acuerdo a las señales de estado
provenientes del procesador de datos, el secuenciamiento y ejecución de las diferentes
microinstrucciones necesarias para ejecutar las instrucciones de máquina y la
interpretación de los códigos de operación de estas últimas puede resultar en una tarea
muy ardua.

Adicionalmente a lo anterior, la unidad de control así diseñada resulta ser muy poco
flexible ya que es muy difícil cualquier modificación que se le quiera realizar para, por
ejemplo, adicionar una nueva instrucción al computador, etc.

Una alternativa es la unidad de control microprogramada en la cual las señales de


control que inician las distintas microoperaciones están almacenadas en forma
permanente en una memoria ROM. Las señales de control son leídas una a una con cada
pulso de reloj para iniciar la secuencia de las microoperaciones del sistema. El contenido
de cada localización de la memoria de control se denomina microinstrucción y un
conjunto de microinstrucciones constituye el microprograma.

En el artículo presente se describe un control microprogramado básico para realizar el


conteo del número de 0s almacenado en un registro y se elabora el microprograma
correspondiente.

Sistema digital de procesamiento de datos.

El esquema general de un sistema digital para el procesamiento de datos se muestra en


la figura 1

DDEEPPAARRTTAAM
MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS
GGUUIIAASS DDEE EELLEEMMENTOS DDEE M
E N T O S MIICCRROOPPRROOGGRRAAMMAACCIIÓÓNN
datos de
entrada

...
señales de control

.. ...
. Procesador
señales de
Unidad de de
entrada control datos
...
.
reloj
señales de
estado
...

datos de
salida
Figura 1. Sistema digital para el procesamiento de datos

Como se muestra en esta figura, la información binaria encontrada en el sistema digital


puede estar constituída por datos o por información de control o estado. Los datos se
manipulan por microoperaciones elementales como sumar, incrementar, etc. en el
procesador de datos bajo el mando y supervisión de la unidad de control. Las señales de
control especifican la secuencia en que se deben ir ejecutando las microoperaciones en
el procesador de datos de acuerdo con un algoritmo establecido.

Las señales de estado son generadas por el procesador de datos hacia la unidad de
control para indicarle a esta última el estado en que se encuentran los datos que están
siendo procesados. La unidad de control analiza estas señales de estado y de acuerdo al
valor que tengan las mismas toma la decisión de cuál es la siguiente microoperación que
debe ordenar ejecutar. A la unidad de control también pueden llegar señales externas al
sistema que también condicionan la siguiente microoperación que debe ordenar ejecutar
en el procesador de datos la unidad de control.

De acuerdo con lo anterior, toda pregunta en el flujograma del algoritmo que debe ser
ejecutado se asocia con una señal de estado o una señal externa de entrada al sistema
digital.

Existen diversas organizaciones para implementar una unidad de control. En el artículo


presente se diseña una pequeña unidad de control microprogramada utilizando memoria
EPROM que pueda servir como proyecto de curso a estudiantes de Electrónica Digital
para enfatizar sus conocimientos sobre el tema de microprogramación.

DDEEPPAARRTTAAM
MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS
GGUUIIAASS DDEE EELLEEMMENTOS DDEE M
E N T O S MIICCRROOPPRROOGGRRAAMMAACCIIÓÓNN
Microoperación.

Se denomina microoperación toda operación elemental que puede ser ejecutada durante
un período de los pulsos de reloj. Así por ejemplo, en el procesador de datos que se
muestra en la figura 2 se pueden ejecutar dos microoperaciones.

1. A ← A + B : Suma el contenido del registro A con el del registro B y el resultado


lo deja almacenado en A
2. A ← 0 : Borrar el contenido del registro A

La primera microoperación puede ser ejecutada en un período de reloj haciendo la señal


de control cargarA=1. En el flanco positivo del tercer pulso de reloj, se carga en el
registro A la salida del sumador que tiene la suma de A+B. Observe que esta señal de
control coloca al registro A en el modo de operación S1S0 = 11.

La segunda operación se efectúa haciéndose la señal de control borrarA=1. Esto hace


que en el 5º pulso de reloj se coloque un 0 en la entrada asincrónica de CLR´ del registro
A, colocando a este registro en 0000.

Estructura básica de un control microprogramado


La estructura básica de un control microprogramado se muestra en la figura 3. En ésta se
puede observar que se utiliza una memoria ROM en la cual está almacenado el
microprograma.

DDEEPPAARRTTAAM
MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS
GGUUIIAASS DDEE EELLEEMMENTOS DDEE M
E N T O S MIICCRROOPPRROOGGRRAAMMAACCIIÓÓNN
cargarA S1 A B C D S1 A B C D
S0 S0
SR SER
Registro A SL SER SR SER
Registro B SL SER
borrarA
CLR CLR
QA QB QC QD QA QB QC QD

3 2 1 0 3 2 1 0
CLR : entrada asincrónica
Sumador de borrado
CO CI
3 2 1 0 Modo de operación sincrónica
S1S0
00 no opera
01 desplaza a la dereecha
10 desplaza a la izquierda
11 carga en paralelo

reloj del
sistema
reloj

cargarA

borrarA

señales se hace
se borra A
de control A A+B

Figura 2. Microoperaciones A A+B y A 0

Cada contenido en una dirección de memoria constituye una microinstrucción. Las


microinstrucciones del microprograma se van obteniendo a la salida de la memoria ROM
secuencialmente con cada pulso de reloj al incrementarse el registro de direcciones del
control, excepto cuando se trate de una microinstrucción de bifurcación o salto en el
microprograma.

En el ejemplo, cada microinstrucción tiene 3 zonas o campos bien definidos: el campo


de control, el campo de selección y el campo de dirección.

DDEEPPAARRTTAAM
MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS
GGUUIIAASS DDEE EELLEEMMENTOS DDEE M
E N T O S MIICCRROOPPRROOGGRRAAMMAACCIIÓÓNN
CAR : "Control Address Register" Registro de direcciones del control

campo
ROM de
CAR
control
campo de señales
dirección
selección de
control
campo de
dirección
reloj
incr. carga

multiplexor 0
1
0 1 2 3 líneas de selección
al multiplexor

señales de entrada externas


+5v. C C´ X
o señales de estado

Figura 3. Estructura básica de un control microprogramado


1. -Campo de control: cada bit de este campo suministra las señales de control al
procesador de datos.
2.- Campo de selección: selecciona una de las entradas del multiplexor que puede
ser una señal de entrada externa o una señal de estado proveniente del procesador
de datos. Los bits del campo de selección permiten seleccionar la señal que
condiciona una bifurcación condicional en el microprograma, o una bifurcación
incondicional seleccionando la entrada 0 del multiplexor.
3.-Campo de dirección: proporciona la dirección hacia la cual se bifurca el
microprograma.

Por ejemplo, suponga que en la dirección 10 se encuentra la siguiente microinstrucción


de bifurcación condicional:
10 : si C = 1 ir a 20
En esta microinstrucción, su campo de selección será el 01 para seleccionar la señal C y
su campo de dirección sería 20 el cual estaría aplicado a la entrada del CAR.
Entonces, si C=1, se coloca al CAR en el modo de carga y cuando ocurra el flanco
negativo del pulso de reloj se almacena la dirección 20 en el mismo y a la salida de la
ROM se obtiene la microinstrucción que se encuentra en esta dirección. En caso
contrario si C=0, se coloca al CAR en el modo de incremento y pasa a la dirección
siguiente en secuencia, es decir, la dirección 11.
Si por ejemplo, la microinstrucción 15 es la siguiente:
15 : ir a 32

DDEEPPAARRTTAAM
MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS
GGUUIIAASS DDEE EELLEEMMENTOS DDEE M
E N T O S MIICCRROOPPRROOGGRRAAMMAACCIIÓÓNN
Esta es una bifurcación incondicional. De acuerdo con lo anteriormente expuesto, el
campo de selección de esta microinstrucción debe ser 00 para seleccionar un 1 lógico
fijo y colocar al registro en el modo de carga. Su campo de dirección será el 32.
Si se tiene la siguiente microinstrucción en la dirección 12:

12 : A← A+B

En esta microinstrucción no se hace ninguna bifurcación. Solamente la suma planteada.


Por tanto, su campo de selección debe ser 00 para colocar al CAR en el modo de carga y
su campo de dirección el 13 para que se pase a la siguiente microinstrucción en
secuencia. El bit correspondiente del campo de control por donde se obtenga la señal
cargarA debe ser 1 lógico.

Una microinstrucción puede contener una o más microoperaciones separadas por una
coma. Por ejemplo:
18 : A← A+B, si C=1 ir a 23

Se efectúa la suma planteada y si la señal C=1 se bifurca a la microinstrucción que está


en la dirección 23. De lo contrario, se pasa a la microinstrucción siguiente en secuencia
que se encuentra en la dirección 19.

Planteamiento del problema

Hay disponibles 8 switches en un sistema. Se debe diseñar un sistema digital que cuente
el número de estos switches que se encuentren cerrados y coloque este número en un
display de 7 segmentos. Si el número de los switches cerrados es un número impar, se
debe iluminar un LED que indique error.

Una señal externa “Com” obtenida de una tecla debe comenzar la operación de conteo.
Utilice un control microprogramado similar al mostrado en la figura 3. Use memorias
EPROM 27C64 disponibles en el laboratorio de la universidad Santiago de Cali.
El diagrama funcional general se muestra en la figura 4.

DDEEPPAARRTTAAM
MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS
GGUUIIAASS DDEE EELLEEMMENTOS DDEE M
E N T O S MIICCRROOPPRROOGGRRAAMMAACCIIÓÓNN
10
Switch abierto coloca un 1 lógico
switches Kohmios
swith cerrado coloca un 0

dato
de
entrada
Com Incr +5v.
Decr
Unidad Cargar Procesador
de Limpiar de
Compl
Control datos
Despl

Generador
señales
de
de
pulsos
estado
reloj
datos
frec = 1KHz de
salida

LED
de
Error

Figura 4. Diagrama funcional


Flujograma
El primer paso en el proceso de diseño será construir el flujograma del sistema digital
como se muestra en la figura 5.

DDEEPPAARRTTAAM
MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS
GGUUIIAASS DDEE EELLEEMMENTOS DDEE M
E N T O S MIICCRROOPPRROOGGRRAAMMAACCIIÓÓNN
Inicio

A : registro de 8 bits que almacena


el dato de los switches
Com =0?

B : contador de 4 bits de
No iteraciones, el dato de entrada de
los switches es de 8 bits
Error 0
C 0 C : contador de 4 bits donde queda
A Sw el resultado, el nº de switches
B 8 cerrados

Error : registro de 1 bit, flip-flop,


que activa al LED

A0 = 1 ?

No

C C+1
error error A0: bit de menor orden del registro A

B B-1 DesplDerA, A7 0
Desplazar a la derecha el dato
contenido en el registro A entrando
un 0 por el bit de mayor orden A7

B=0?

No

DesplDerA, A7 0

Figura 5. Flujograma del sistema

El sistema se encuentra esperando que la señal de la tecla Com se haga 1. Cuando esto
ocurre comienza el proceso de conteo donde inicialmente se limpia el flip-flop de error
y el contador C donde quedará el resultado. También se almacena el dato de los
switches en el registro A y se coloca el nº 8 en el contador B para analizar cada uno de
los bits almacenados en el registro A y saber cuando termina el proceso de conteo.

El sistema se mantiene comprobando el bit A0 donde van quedando los bits del registro A
después de efectuar un desplazamiento a la derecha en el mismo. Cada vez que

DDEEPPAARRTTAAM
MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS
GGUUIIAASS DDEE EELLEEMMENTOS DDEE M
E N T O S MIICCRROOPPRROOGGRRAAMMAACCIIÓÓNN
encuentre un 0 incrementa el contador C y complementa al flip-flop de error para que
de esta forma éste quede en el estado 1 si hay un número impar de switches cerrados.

Procesador de datos

De acuerdo con la explicación anterior, el procesador de datos quedará como se muestra


en la figura 6.

Al procesador de datos entran las siguientes


señales de la salida de la EPROM de control: Cargar, Limpiar, Despl, Incr, Decr y Compl.
“Cargar”: Coloca al registro A en el modo de carga en paralelo (S1S0 = 11) para que
almacene el dato en su entrada con el pulso de reloj. También almacena el dato que hay
a la entrada del contador B, el número 8, al aplicar un 0 a su entrada de LOAD´.
“Incr”: Cuando Incr=1, se aplica un pulso de reloj a la entrada Up del contador C
incrementándolo.

“Decr”: Cuando Decr=1, se aplica un pulso de reloj a la entrada Down del contador B
decrementándolo.
“Despl”: Cuando Despl =1 (Carga=0), se coloca al registro A en el modo de
desplazamiento a la derecha (S1S0=01) para que haya un desplazamiento una posición
hacia la derecha con la ocurrencia de un pulso de reloj.
“Compl”: Cuando Compl=1, coloca las entradas JK del flip-flop de error en 1
complementándolo.

“Limpiar”: Cuando Limpiar=1 y ocurra un pulso de reloj se aplica un 1 a la entrada de


CLR del contador C y un 0 a la entrada de CLR´ del flip-flop de error borrando a ambos.
En el flujograma se pregunta si A0 es 1 y también si el contenido del contador B es 0.
Por tanto Ao y Bz serán señales de estado hacia el control para responder a estas
preguntas. Observe que Bz=1 indica que el contenido de B=0.

DDEEPPAARRTTAAM
MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS
GGUUIIAASS DDEE EELLEEMMENTOS DDEE M
E N T O S MIICCRROOPPRROOGGRRAAMMAACCIIÓÓNN
de los switches
Compuertas OR : 74LS32
Compuertas AND : 74LS08 Registro A
Inversores : 74LS04
limpiar
cargar

carga
S1 A B C D S1 A B C D
Despl Despl Der S0 S0
borrado SR SER SL SER SR SER SL SER
reloj CLR CLR
74LS194A 74LS194A
QA QB QC QD QA QB QC QD
A7 A6 A5 A4 A3 A2 A1 A0

A0
Contador C 1 4.7 Kohmios +5v.
Contador B

D C B A D C B A
Incr CLR CLR
up 74LS193 up 74LS193
down CO down CO
Decr C B
LOAD BO LOAD BO
QD QC QB QA QD QC QB QA

Bz

74LS112A PRE
J Q
Compl error
K Q
CLR

LED

220 ohmios

dato de salida +5v.


al display

Figura 6. Procesador de datos


Finalmente cuando el flip-flop de error se coloque en el estado 1, error´=0, por lo que
se ilumina el LED.

DDEEPPAARRTTAAM
MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS
GGUUIIAASS DDEE EELLEEMMENTOS DDEE M
E N T O S MIICCRROOPPRROOGGRRAAMMAACCIIÓÓNN
Observe que las entradas CLR´del registro A, down y Load´del contador C, y up del
contador B se encuentran inactivas conectadas a un 1 fijo (+5v. a través de una
resistencia) pués no se utilizan.

También se encuentra inactiva pués tampoco se utiliza la entrada CLR del contador B la
cual tiene un 0 fijo aplicado al estar conectada a tierra.
El inversor a la entrada del reloj del flip-flop de error tiene como objetivo que éste se
complemente con el flanco positivo de los pulsos de reloj del sistema, quedando con una
diferencia de fase de 180º con respecto a estos últimos.

Microprograma
Del flujograma que se muestra en la figura 5, se puede escribir fácilmente el
microprograma simbólico que se muestra a continuación:
Dirección Microinstrucción Comentarios
0 : Si Com=0 ir a 0; Espera que se presione la tecla
1 : Error←0, C←0, A←Sw, B←8 ; Se inicializa el sistema
2 : Si A0=1 ir a 4; Si A0=0 se incrementa C
3 : C←C+1, Error←Error´; Se encontró un 0 en A0
4 : B←B-1, si Bz=1 ir a 0; Si contenido de B=0 se termina
5 : DesplazarDerA, A7←0,ir a 2 Se va a probar siguiente bit de
A
Como se puede observar, éste es un microprograma sencillo que requiere solamente de
una memoria de 6 localizaciones para almacenarlo. Este dispositivo tan pequeño no
existe comercialmente, se utilizarán EPROM 27C64 por su disponibilidad.

Circuito del control.


Como nada más son necesarias 6 localizaciones de memoria se utiliza un contador
binario de 4 bits para el registro de direcciones del control, CAR, que suministra las
direcciones a la EPROM.

Los bits de cada microinstrucción estarán formados por 6 bits para las señales de
control, 2 bits para el campo de selección y 4 bits para el campo de dirección, dando un
total de 12 bits.

Como la pastilla 27C64 solamente tiene 8 bits, harán falta 2 pastillas para formar la
EPROM del control como se muestra en la figura 7.

DDEEPPAARRTTAAM
MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS
GGUUIIAASS DDEE EELLEEMMENTOS DDEE M
E N T O S MIICCRROOPPRROOGGRRAAMMAACCIIÓÓNN
R: 47 Kohmios C: 10 microfaradios

+5v.
a la señales
energía 74LS163A A0 Vcc Vpp PGM bits de
+5v. de los D QA A1 control
circuitos A2 1 Incr
C QB A3 O7
on/off R B QC A4 27C64
CAR A5 O6
2 Decr
A QD A6 EPROM1
C 3 Cargar
A7 O5
CLR A8 4 Limpiar
1/6 74LS04 RCO A9 O4
CLK A10 5 Compl
reloj A11 O3
ENPENTLOAD
del generador A12 6 Despl
de pulsos O2
7
O1
8
CE O0
1/6 74LS04
OE
Multiplexor

G Y +5v.
A
74LS153 B
C0 C1 C2 C3 A0 Vcc Vpp PGM
A1
10K A2
B: bit de mayor orden de 27C64 9
A3 O7
selección del multiplexor A4 10
G :entradade activación A5 EPROM2 O6
A6 11
+5v. A0 Bz Com A7 O5
74LS163A: A8 12
contador binario sincrónico A9 O4
ENP,ENT = 11: habilita conteo A10
A11 O3
LOAD : entrada sincrónica de carga A12
O2
CLR: entrada asincrónica de borrado
O1

CE O0
Y=1: coloca al CAR en el modo de carga
Y=0: coloca al CAR en el modo de conteo OE
D: bit de mayor orden del CAR
A: bit de menor orden del CAR

Figura 7. Circuito del control microprogramado

DDEEPPAARRTTAAM
MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS
GGUUIIAASS DDEE EELLEEMMENTOS DDEE M
E N T O S MIICCRROOPPRROOGGRRAAMMAACCIIÓÓNN
Como se puede observar, las señales de estado A0 y Bz provenientes del procesador de
datos van al multiplexor. Igualmente va a este multiplexor la señal externa de la tecla
Com. Se lleva esta señal negada pués en el microprograma se pregunta si esta señal =0.
La red RC que alimenta la entrada de CLR´ del registro de direcciones del control tiene
como objetivo colocar a éste en la dirección 0 cuando se conecte la energía.

Para grabar los dispositivos de memoria EPROM con el programador universal Xeltek del
laboratorio de la universidad Santiago de Cali, en la tabla 1 se muestra el microprograma
binario encontrado fácilmente a partir del microprograma simbólico y de las conexiones
efectuadas en el circuito del control que se muestra en la figura 7.

Bits de la microinstrucción
Direc. EPROM 1 EPROM 2
1 2 3 4 5 6 7 8 9 10 11 12
0 0 0 0 0 0 0 1 1 0 0 0 0
1 0 0 1 1 0 0 0 0 0 0 1 0
2 0 0 0 0 0 0 0 1 0 1 0 0
3 1 0 0 0 1 0 0 0 0 1 0 0
4 0 1 0 0 0 0 1 0 0 0 0 0
5 0 0 0 0 0 1 0 0 0 0 1 0

Tabla 1. Microprograma binario


Por ejemplo, en la microinstrucción que se encuentra en la dirección 4, el bit 2 es igual
a 1 para hacer la señal de control Decr=1 y decrementar el contador B. Su campo de
selección, los bits 7 y 8, es igual a 10 para seleccionar la señal Bz en el multiplexor y su
campo de dirección tiene 0000, la cual es la dirección a la cual tiene que bifurcarse el
microprograma si Bz=1.

Como los cuatro bits de menor orden de la EPROM2 no se están utilizando se pueden
grabar los mismos con 0000.

Para la grabación de los datos en los dispositivos de memoria EPROM se utilizará un


programador universal marca XELTEK disponible en el laboratorio de la universidad
Santiago de Cali conectado al puerto paralelo de la impresora de un computador
personal habilitado para este objetivo.

Después de conectar la energía eléctrica al programador, abra el programa SuperPro


Lx(L+), asegurándose de no tener colocado todavía ningún circuito integrado al
programador universal. Si no aparece ningún error en la pantalla del computador, haga
click en Select para seleccionar la memoria 27C64. Inserte su dispositivo en la base
disponible en el programador y haga click en Edit para introducir los datos que deben ser
grabados en cada dirección de memoria.

Las direcciones de memoria en la EPROM 27C64 van de 0000hex a 1FFFhex. Una vez
introducidos los datos, la ventana de Buffer Edit aparecerá como se muestra en la tabla
2 para el caso de la EPROM1.
DDEEPPAARRTTAAM
MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS
GGUUIIAASS DDEE EELLEEMMENTOS DDEE M
E N T O S MIICCRROOPPRROOGGRRAAMMAACCIIÓÓNN
DIRECCIÓN HEX
00000000 03 30 01 88 42 04 FF FF FF FF FF
FF FF FF FF FF
00000010 FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF
00000020 FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF etc.

Tabla 2. Ventana de Buffer Edit del programa SuperPro Lx(L+)

Las direcciones y los datos en esta tabla se encuentran en hexadecimal. En cada fila hay
16 localizaciones, correspondiendo la dirección que aparece en la columna de la
izquierda a la dirección de la primera localización de la fila. Cuando en una localización
no se graba ningún dato aparece FF.

Todas las localizaciones de todas las filas comenzando en la dirección 0010 contendrán
FF por lo que haga click en Fill.

Coloque 0010 en Fill Start Adress, 1FFF en Fill End Adress y FF en Fill Data.
Luego de esta operación haga click en OK para llenar toda la tabla.
Una vez terminado de introducir los datos, haga click en Prog para que su memoria
quede grabada con los datos introducidos.

Igualmente se graba la EPROM2 sabiendo que los datos a introducir, a partir del
microprograma binario, son 00, 20,40,40,00,20hex a partir de la dirección 0000.

Tecla Com y Display


Los circuitos de la Tecla Com y del display se muestran en la figura 8.

DDEEPPAARRTTAAM
MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS
GGUUIIAASS DDEE EELLEEMMENTOS DDEE M
E N T O S MIICCRROOPPRROOGGRRAAMMAACCIIÓÓNN
Del contador C del
QD QC QB QA
procesador de datos
1/4 74LS00 al
control

Com
RBI D C B A
BI/RBO 74LS47
Com LT
tecla Com 1/4 74LS00 a b c d e f g
10 Kohmios
220
+5v. ohmios
dp a b c d e f g
Tecla Com: 1 polo-2 posiciones NTE3050
a
f b
NTE3050: display de ánodo común g

74LS00: 4 compuertas NAND e c


d
74LS47: decodificador BCD/7 segmentos común

+5v.

Figura 8. Tecla Com y display

En el circuito de la tecla se han utilizado dos compuertas NAND con una interconexión
cruzada para formar un latch que elimine el ruido de rebote.

Igualmente se utiliza el circuito integrado 74LS47 el cual consiste de un decodificador de


colector abierto BCD/7 segmentos cuyas salidas se activan con 0 para alimentar al
display NTE 3050 de ánodo común. Las resistencias de 220 ohmios tienen como objetivo
limitar las corrientes que circulan por los LEDs.

Generador de pulsos.
Para obtener los pulsos de reloj del sistema se utiliza el circuito integrado LM555. Este
circuito opera como un Timer, el cual, con los valores de resistencias y capacitores
utilizados genera una señal de pulsos en su salida de frecuencia ≈ 1 KHz. Este circuito se
muestra en la figura 9. En la misma se ha utilizado una configuración para que el circuito
se comporte como oscilador con un ciclo útil (duty cycle) de aproximadamente un 50%.

DDEEPPAARRTTAAM
MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS
GGUUIIAASS DDEE EELLEEMMENTOS DDEE M
E N T O S MIICCRROOPPRROOGGRRAAMMAACCIIÓÓNN
+5v.

T1 = 0.693R A.C
51 Kohmios
RA
RA . R B 2RA-RB
8 4 T2 = C . Ln
RB RA+RB RA-2RB
Vcc reset
discharge trigger
7 2
22 Kohmios
LM555
T1 T2
threshold
6
control
5 3
voltage output
GND reloj
C
15000 1
picofaradios 0.01
microfaradios

Figura 9. Generador de pulsos

Consideraciones finales
En el artículo presente se ha descrito una estructura básica de lo que constituye un
control microprogramado. Se sugiere al lector interesado en el tema explorar otras
arquitecturas más evolucionadas con otros formatos para las microinstrucciones, como
por ejemplo, microinstrucciones que poseen dos campos de dirección, etc.
Las aplicaciones de la microprogramación cada vez son más variadas y están más
extendidas, entre las que se pueden mencionar: la implementación de computadores, la
emulación o técnica de usar un microprograma en una máquina para ejecutar programas
escritos originalmente para otra ayudando a los usuarios al cambio de un computador a
otro, en microdiagnósticos o técnica de detección, aislamiento y corrección de errores
en el sistema permitiendo al mismo reconfigurarse cuando se detecta una falla, en la
implementación de dispositivos de control de uso específico o dispositivos que se pueden
incorporar a un computador como por ejemplo una tarjeta de comunicaciones de datos,
etc.

Bibliografía.
1. M. Morris Mano, “Logic and Computer Design Fundamentals”,Prentice-Hall, 1997
2. William Stallings, “Organización y Arquitectura de Computadores”, 5ª ed, Prentice-
Hal, 2000
3. J.F.Wakerly, “Digital Design Principles and Practices”,2ª ed., Prentice-Hall, 1984
4. B. Segee y J. Field, “Microprogramming and Computer Architecture”, New York :
Wiley, 1991
5. Texas Instrument, www.ti.com
6. Alberto Cuervo, “Lógica de Control”, Revista INGENIUM, nº 1, Universidad Santiago
de Cali.
DDEEPPAARRTTAAM
MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS
GGUUIIAASS DDEE EELLEEMMENTOS DDEE M
E N T O S MIICCRROOPPRROOGGRRAAMMAACCIIÓÓNN

You might also like