Anda di halaman 1dari 185

INSTITUTO POLITCNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERA MECNICA Y ELCTRICA












APUNTES DE LA MATERIA






ELECTRNICA III






Ing. Avelino Gmez Daniel










l

2


CONTENIDO

INTRODUCCIN 7

UNIDAD 1:
SISTEMAS DE NUMERACIN. .10

1.1 Sistemas de numeracin no signado
(decimal, binario, octal y hexadecimal)..11

1.2 Conversin de sistemas decimal a cualquier base..14

1.3 Conversin de cualquier base a sistema decimal.16

1.4 Relacin entre los sistemas binarios, octal y hexadecimal.17

1.4.1 Sistema binario octal y hexadecimal
1.4.2 Relacin del sistema binario con el sistema hexadecimal

1.5 Sistemas de numeracin signado
(decimal, binario, octal y hexadecimal) y sus conversiones19

1.5.1 Representacin de nmeros con signo
1.5.2 Suma en el sistema de complemento A2
1.5.3 Resta en el sistema de complemento A2
1.5.4 Multiplicacin de nmeros binarios
1.5.5 Divisin binaria

1.6 Aritmtica binaria y hexadecimal.25

1.6.1 Aritmtica binaria
1.6.2 Aritmtica hexadecimal
1.6.3 Resta Hexadecimal
1.6.4 Complemento C15
1.6.5 Complemento C16

1.7 Cdigos32

1.7.1 Cdigos numricos
1.7.2 Cdigo BCD


UNIDAD 2:
CIRCUITOS DIGITALES Y DISPOSITIVOS DE MEMORIA..38

2.1 Seales analgicas y digitales.39
IPN-ESIME Zacatenco Electrnica III

3


2.1.1 Introduccin a los sistemas
2.1.2 Seal elctrica analgica
2.1.3 Sistemas analgicos y digitales
2.1.4 Seal digital como una seal analgica compuesta
2.1.5 Ruido en seal analgica
2.1.6 Ejemplo de un sistema analgico
2.1.7 Sistemas analgicos que se han vuelto digitales
2.1.8 Sistemas que utilizan mtodos digitales y analgicos

2.2 Compuertas lgicas...45

2.3 Flip-flops..49

2.3.1 FLIP-FLOP (biestable)
2.3.2 Historia del FLIP FLOP.
2.3.4 Aplicacin
2.3.5 Tipos de FLIP FLOPS

2.4 Codificadores..56

2. 4.1 Direccin local de lugar

2.5 Decodificadores..57

2.5.1 Ejemplo decodificador
2.5.2 Aplicaciones del decodificador

2.6 Multiplexores...58

2.7 Circuitos aritmticos..59

2.7.1 Introduccin
2.7.2 Sumadores binarios de 4 bits
2.7.3 Sumadores en cascada
2.7.4 La operacin de resta con el 74LS283
2.7.5 La ALU 74LS381
2.7.6 Circuitos de comparacin binaria

2.8 Estructura y funcionamiento general de las memorias67

2.8.1 Registros

2.9 Clasificacin de las memorias..69

2.10 Conexiones de memorias...71

2.10.1 Evolucin de los CI S
2.10.2 Zona de operaciones
2.10.3 Zona de control
2.10.4 Memoria central
l

4

2.10.5 Notas practicas sobre memorias
2.10.6 Dispositivos de entrada y salida E / S
2.10.7 Operaciones de e / s
2.10.8 Lneas de conexin
2.10.9 Lneas compartidas
2.10.10 Mapa de memoria
2.10.11 Ejemplo de mapa de memoria
2.10.12 Direcciones (notacin)
2.10.13 Implementacin de un mapa de memorias


UNIDAD 3:
ARQUITECTURA GENERAL DE UNA COMPUTADORA83

Introduccin84

3.1 Diagrama general de una computadora.85

3.1.1 Registros de la unidad central de proceso

3.2 Buses88

3.2.1 Caractersticas de un bus
3.2.1.1 Nivel fsico
3.2.1.2 Lneas
3.2.1.3 Modo de operacin
3.2.2 Jerarqua de buses

3.3 Arquitectura interna de la unidad microprocesadora96

3.3.1 Que es un microprocesador
3.3.2 Arquitectura del microprocesador

3.4 Modelo de programacin..98

3.4.1 Lenguaje ensamblador
3.4.2 Caractersticas
3.4.3 Lenguaje
3.4.4 Cdigo mquina


UNIDAD 4:
PROGRAMACIN BSICA DE LA UNIDAD
MICROPROCESADORA...103

4.1 Modos de direccionamiento104

4.1.1 Cuntos modos de direccionamiento existen?
4.1.2 Resumen de modos de direccionamiento
IPN-ESIME Zacatenco Electrnica III

5


4.2 Herramientas de programacin.108

4.2.1 Diagrama de flujo
4.2.2 Pseudocdigo
4.2.3 Diagrama N-S

4.3 Instrucciones.114

4.3.1 Desarrollo
4.3.2 Bases numricas de representacin
4.3.3 Instrucciones, modos de direccionamiento y Code Warrior
4.3.3.1 Los modos de direccionamiento

4.4 Ejemplos de programas bsicos...120

UNIDAD 5:
PROGRAMACIN DE PERIFRICOS...123

5.1 Puertos Digitales..124

5.1.2 Puertos paralelo
5.1.3 Puertos serie
5.1.4 PCI
5.1.5 PCI-Express
5.1.6 Puertos de memoria
5.1.7 Puerto de rayos infrarrojos
5.1.8 Puerto USB
5.1.9 Puertos Fsicos
5.1.10 Universal Serial Bus
5.1.11 Puertos de entrada/salida

5.2 Adquisicin de seales analgicas...141

5.2.1 Introduccin
5.2.2 Definicin de seal analgica
5.2.3 Conceptos fundamentales en adquisicin de seales
5.2.4 Seales de transmisin analgicas y seales de datos digitales
5.2.5 Transmisin de datos: transmisin analgica
5.2.6 Sistema de adquisicin de datos analgicos
5.2.7 Las seales analgicas en el diseo de sistemas de adquisicin de datos
5.2.8 Conversin analgica-digital

5.3 Interrupciones...149

5.3.1 Introduccin
5.3.2 Entrada-salida e interrupcin
5.3.3 Configuracin de entrada-salida
5.3.4 Instrucciones entrada - salida
5.3.5 Interrupcin del programa
l

6

5.3.6 Tipos de interrupciones
5.3.7 Ciclo de interrupcin
5.3.8 La instruccin SWI
5.3.9 Modulo de interrupcin por teclado (KBI)
5.3.10 Registro de habilitacin de interrupciones de teclado (KBIER)
5.3.11 Inicializacin del teclado


UNIDAD 6:
APLICACIN DE MICROCONTROLADORES EN INGENIERA
ELCTRICA.....162

6.1 Planteamiento del proyecto163
6.2 Aceptacin del proyecto..164
6.3 Supervisin165
6.4 Pruebas de aceptacin167
6.5 Demostracin y exhibicin del proyecto...170

REFERENCIAS
BIBLIOGRFICAS..171

ANEXO....172
IPN-ESIME Zacatenco Electrnica III

7



INTRODUCCIN



Estos apuntes se realizaron para cubrir el temario de la asignatura Electrnica III, del
Departamento de Ingenieria Elctrica en el Instituto Politcnico Nacional que se imparte
en el sexto semestre de la Escuela Superior de Ingeniera Mecnica y Elctrica, unidad
Zacatenco.


La informacin incluida en estos apuntes se obtuvo de fuentes que se citan al final en la
bibliografia y la experiencia de varios aos de impartir esta materia, adems se hace el
uso de imgenes y tablas que ejemplifican de una mejor manera los temas
desarrollados, para su mejor entendimiento y transmisin del conocimiento. Igualmente
se mencionan problemas resueltos con los que el alumno puede guiarse y estudiar de
una mejor manera.


El curso de electrnica III tiene ciertos niveles de aprendizaje, comenzando desde los
diversos sistemas numricos, hasta la programacin de perifricos, cada uno de los
temas fue desarrollado con la informacin suficiente que se requiere para el
entendimiento del mismo. Al final del documento encontrar ejemplos de prcticas
realizadas en el laboratorio, con los cuales puede expandir el conocimiento hacia el uso
de programas virtuales y de simulacin tales como Digital Works y Code Warrior.

l

8








UNIDAD I

SISTEMAS DE NUMERACIN

IPN-ESIME Zacatenco Electrnica III

9


INTRODUCCIN

El Nmero es un ente matemtico abstracto usado para indicar cantidad y es
independiente de la forma de representarlo.

La expresin numrica, conocida como numeral o numero; es representada en diversos
sistemas diferenciados por sus bases para uso particular.
Un nmero N se expresa en un sistema as:



+

Donde: b es la base
Cualquier ; Tomando valores entre 0 y b-1
Dominio de la parte entera n a 0
Dominio de la parte fraccionaria -1 a m
En el factor posicional a
i
, el subndice (i) indica posicin relativa en que se debe colocar
cada a as:



El punto , punto raz; en particular en el sistema decimal llamado punto decimal.

La magnitud de a
i
depende de la posicin con respecto al punto y su valor mximo ser
b-1, es decir en el sistema decimal b = 10; la a
i
mxima =10-1 =9; su inexistencia se
denota con cero.

l

10


Sistema de nmeros comunes

Sistema Decimal Binario Octal Hexadecimal
Base 10 2 8 16

0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F
16 10000 20 10
17 10001 21 11
18 10010 22 12
19 10011 23 13
20 10100 24 14
30 11110 36 1E
40 101000 50 28
50 110010 62 32
60 111100 74 3C
70 1000110 106 46
80 1010000 120 50
90 1011010 132 5A
100 1100100 144 64




IPN-ESIME Zacatenco Electrnica III

11

1.1 SISTEMAS DE NUMERACION NO SIGNADO (decimal, binario, octal y
hexadecimal)

El Sistema Binario: Es el sistema de numeracin que utiliza internamente el hardware
de las computadoras actuales. Se basa en la representacin de cantidades utilizando los
dgitos 1 y 0. Por lo tanto, es base 2 (Numero de dgitos del sistema).

Cada dgito de un nmero representado en este sistema se denomina BIT (Contraccin
de Binary Digit).

Ejemplo: Suma Binaria: Es semejante a la suma decimal, con la diferencia de que se
manejan solo 2 dgitos (0 y 1), y que cuando el resultado excede de los smbolos
utilizados se agrega el exceso (acarreo) a la suma parcial siguiente hacia la izquierda.
Las tablas de sumar son:

Se observa que no se ha tenido ningn acarreo en las sumas parciales.
Sumar 11001 (25) y 10011 (19).

1 1 1 Acarreos
1 1 0 0 1..25
1 0 0 1 1+19
1 0 1 1 100. 44

El Sistema Octal: Es un sistema de numeracin cuya base es 8, es decir, utiliza
smbolos para la representacin de cantidades, estos smbolos son:

01234567

Este sistema tambin es de los llamados posicionales y la posicin de sus cifras se mide
con relacin a la coma decimal que en caso de no aparecer se supone implcitamente a
la derecha del nmero.

La aritmtica en este sistema es similar a la de los sistemas decimal y binario, por lo
tanto entraremos en su estilo.

Ejemplo:

Qu numero decimal representa el numero octal 4 701 utilizando el TFN?
l

12

4*8
3
+ 7*8
2
+1*8
0
= 2048+ 448+ 0+ 1= 2497.

El Sistema Decimal: Es uno de los denominados sistemas posicionales, utilizando un
conjunto de smbolos cuyo significado depende fundamentalmente de su posicin
relativa al smbolo coma (,), denominado coma decimal, que en caso de ausencia se
supone colocada implcitamente a la derecha.

Utiliza como base el 10, que corresponde al nmero de smbolos que comprende para la
representacin de cantidades; estos smbolos (tambin denominados dgitos) son:

123456789

Una determinada cantidad, que denominaremos nmero decimal, se puede expresar de
la siguiente forma:

N= (dgito)i X (base)i
Donde:
Base= 10
I= Posicin respecto a la coma,
D= nde dgitos a la derecha de la coma,
N= nde dgitos a la izquierda de la coma -1,
Dgito= cada uno de los que componen el nmero.

La representacin de cantidades 1992 y 3, 1416 es:

1992= 1*10
3
+ 9*10
2
+ 9*10
1
+ 2*10
0

3.1416= 3*10
0
+ 1*10
1
+ 4*10
2
+ 10
3
+ 6*10
4

Teorema Fundamental de la Numeracin. (TFN).

Se trata de u teorema que relaciona una cantidad expresada en cualquier sistema de
numeracin con la misma cantidad expresada en el sistema decimal.

Ejemplo: Supongamos la cantidad 201.1 expresada en el sistema de numeracin de
base tres que utiliza los dgitos para la representacin de cantidades0, 1 y 2, Cul ser
la representacin de la misma cantidad en el sistema decimal?

2*3
2
+ 0*3
1
+ 1*3
-1
= 18+0+1+0.333=19.333

El Sistema Hexadecimal: Es un sistema posicional de numeracin en el que su base es
16, por tanto, utilizar 16 smbolos para la representacin de cantidades. Estos smbolos
son:

0123456789ABCDEF

Se le asignan los siguientes valores absolutos a los smbolos A, B, C, D, E, F:


IPN-ESIME Zacatenco Electrnica III

13

SIMBOLO VALOR ABSOLUTO
A 10
B 11
C 12
D 13
E 14
F 15

La suma aritmtica es similar a las anteriores.

Ejemplo: Qu nmero decimal representa el nmero hexadecimal 2CA utilizando el
TNF?

1*16
2
+ C*16
1
+ A*16
0
= 1*16
2
+ 12*16
1
+10*16
0
= 512+192+10= 714
l

14


1.2 CONVERSION DE SISTEMAS DECIMAL A CUALQUIER BASE.

La conversin del sistema numrico decimal a cualquier base, realiza con los siguientes
pasos:

1.-Dividir el nmero decimal entre la base que se desea convertir

2.-Al residuo de la operacin (al numerador del quebrado que indica la parte
fraccionaria), llmese a
0
en el nuevo sistema.

3.-Tomese el cociente entero y divdase nuevamente entre la base.

4.-A este residuo (al numerador del quebrado que indica la parte fraccionaria) llmese a
1

en el nuevo sistema.

5.-Este proceso se repite hasta agotar el numeral, obtenindose el ultimo residuo (al
numerador del quebrado que indica la parte fraccionaria) a
n.
En el nuevo sistema.

Ejemplos:

27
10
= #
2






27
10
= 11011
2

Comprobacin:

|
10










Comprobacin:
IPN-ESIME Zacatenco Electrnica III

15


|
10








Comprobacin:

|
10
|
10


l

16


1.3 CONVERSION DE CUALQUIER BASE A SISTEMA DECIMAL

Conversin de un numero de base b a base 10(decimal).

Escrbase el numeral en forma expandida y evalu la polinomial en aritmtica decimal,
para obtener la conversin correspondiente. Los subndices de las expresiones
contenida en los ejemplos siguientes, nos indica la base del sistema numrico en que se
expresa el numeral.

A) |
10

|
10

|
10



B) |
10

|
10

|
10



C) |
10



D) |
10


IPN-ESIME Zacatenco Electrnica III

17


1.4 RELACION ENTRE LOS SISTEMAS BINARIOS, OCTAL Y
HEXADECIMAL

1.4.1 Sistema binario octal y hexadecimal

Sistema Octal. (Base 8)

En el sistema Octal (base 8), slo se utilizan 8 cifras (0, 1, 2, 3, 4, 5, 6,7).

Este Sistema de numeracin una vez que se llega a la cuenta 7 se pasa a 10, etc.

Cuenta hecha en octal: 0,1,2,3,4,5,6,7,10,11,12,13,14,15,16,17,20,21,.. se puede
observar que en este sistema numrico no existen los nmeros: 8 y 9.

Para pasar del un sistema binario al octal se utiliza el siguiente mtodo:

Se divide el nmero binario en grupos de 3 empezando por la derecha. Si al final queda
un grupo de 2 o 1 dgitos, se completa el grupo de 3 con ceros (0) al lado izquierdo.

Se convierte cada grupo en su equivalente en el Sistema octal y se reemplaza.
Ejemplo. 10110111
2
pasarlo a octal

Nmero en binario convertido a grupos de 3: 010 110 111
Equivalente en base
8
2 6 7

Resultado: 10110111
2
= 267
8


Sistema Hexadecimal. (Base 16)

El sistema hexadecimal, a diferencia del sistema decimal, necesita 16 cifras y/o letras
(0,1,2,3,4,5,6,7,8,9,A,B,C,D,E.F). Si se cuentan las letras y nmeros anteriores se tienen
16.

Comparacin de los nmeros superiores a 9 en hexadecimal con su equivalente en
decimal.

A B 5
16
2
16
1
16
0

Donde:

A,B,5= Multiplicador (015)

Y

16
2
,16
1
,16
0
= Potencia de 16
l

18


Entonces para formar el nmero AB5
16
: (el nmero 2741 en hexadecimal)
A x 16
2
= 10 x 1056 = 2560
B x 16
1
= 11 x 16 = 176
5 x 16
0
= 5 x 1 = 5

Equivalente decimal = 2560+176+5 = 2741

Relacin entre el Sistema Binario y el Hexadecimal

El Sistema hexadecimal es una abreviacin del Sistema Binario. Si a cada cifra de un
nmero Hexadecimal se lo reemplaza por su equivalente en binario, se habr convertido
el nmero en hexadecimal a nmero binario.

Ejemplo:

9B
16
= 1001
2
1011
2
. Donde 9
16
= 1001
2
y B
16
= 1011
2


1.4.2 Relacin del sistema binario con el sistema hexadecimal
Cuatro (4) cifras binarias se reemplazan por una (1) cifra hexadecimal. De esta manera
se puede convertir un nmero en base 16 a uno en base 2.
Tambin se puede convertir un nmero binario en uno hexadecimal de la siguiente
manera.
Se separa el nmero binario en grupos de 4 dgitos empezando por la derecha. Si al final
queda un grupo de 3 dgitos o menos, se completa el grupo de 4 con ceros (0) al lado
izquierdo. - Se busca el equivalente en base 16 de cada uno de los grupos y se
reemplaza.
Si a cada cifra de un Nmero en Hexadecimal se lo reemplaza por su equivalente
Nmero en binario, se habr convertido el nmero en hexadecimal a nmero binario.
Cuatro (4) cifras binarias se reemplazan por una (1) cifra hexadecimal.
IPN-ESIME Zacatenco Electrnica III

19


1.5 SISTEMAS DE NUMERACION SIGNADO (decimal, binario, octal y
hexadecimal) y SUS CONVERSIONES

1.5.1 Representacin de nmeros con signo

En las computadoras digitales, los nmeros binarios se representan mediante un
conjunto de dispositivos de almacenamiento binario (por ejemplo, fiip.flops). Cada
dispositivo representa un bit. Por ejemplo, un registro FF de seis bits puede almacenar
nmeros binarios que varan desde 000000 hasta 111111 (de O a 63 en decimal). Esto
representa la magnitud del nmero. Debido a que la mayora de las computadoras y
calculadoras digitales maneja nmeros tanto negativos como positivos, se requiere de
algn medio para representar el signo del nmero (+ o -). Por lo general lo que se hace
es agregar otro bit al nmero; a este bit se le llama bit de signo. En general, la
convencin comn es que un O en el signo representa a un nmero positivo y un 1 en el
bit de signo representa a un nmero negativo. Esto se ilustra en la figura 6-1. El registro
A contiene los bits 0110100. El O en el bit ms a la izquierda (A6) es el bit de signo que
representa al signo +. Los otros seis bits son la magnitud del nmero 1101002, el cual es
equivalente al 52 decimal. Entonces, el nmero almacenado en el registro A es + 52. De
manera similar, el nmero almacenado en el registro B es -52 ya que el bit de signo es 1,
que representa al (--).

El bit de signo se utiliza para indicar la naturaleza positiva o negativa del nmero binario
almacenado. Los nmeros de la figura 6-1 consisten de un bit de signo y de seis bits de
magnitud. Los bits de magnitud son el equivalente binario real del valor decimal que se
est representando. A ste se le conoce como sistema de signo-magnitud para
representar nmeros binarios con signo.

Aunque el sistema de signo-magnitud es simple, las calculadoras y computadoras no lo
utilizan de manera usual porque la implementacin del circuito es ms compleja que en
otros sistemas. El sistema ms comn que se utiliza para representar nmeros binarios
con signo es el sistema de complemento a 2.Antes de ver cmo se hace esto, primero
debemos ver cmo se forma el complemento a 1 y el complemento a 2 de un nmero
binario.
Figura 6-1 representaciones de nmeros con signo en la forma de signo magnitud.

A
6
A
5
A
4
A
3
A
2
A
1
A
0
=+52
10



Bit de signo (+) magnitud =+52
10
B
6
B
5
B
4
B
3
B
2
B
1
B
0
=-52
10



0 1 1 0 1 0 0
0 1 1 0 1 0 0
l

20

Bit de signo (-) magnitud =-52
10
Forma de complemento a 1
El complemento a 1 de un nmero binario se obtiene al cambiar cada O por un 1 y cada
1 por un O. En otras palabras, se cambia cada uno de los bits en el nmero por su
complemento. El proceso se muestra a continuacin.

1 O 1 1 O 1 nmero binario original


O 1 O O 1 O se complementa cada bit para formar el complemento a 1

Por lo tanto, decimos que el complemento a 1 de 101101 es 010010.

Forma de complemento a 2

El complemento a 2 de un nmero binario se forma al tomar el complemento a 1 de ese
nmero y sumarIe 1 a la posicin del bit menos significativo. El proceso se ilustra a
continuacin para el nmero 101101
2
= 45
10'


1 0 1 1 0 1 equivalente binario de 45
0 1 0 0 1 0 se complementa cada bit para formar el complemento a 1
+ 1 se le suma 1 para formar el complemento a 2

0 1 0 0 1 1 complemento a 2 del nmero binario original

Entonces, decimos que 010011 es la representacin en complemento a 2 de 10110l.
He aqu otro ejemplo de cmo convertir un nmero binario a su representacin en
complemento a 2:

1 0 1 1 0 0 nmero binario original
0 1 0 0 1 1 complemento a 1
+ 1 se le suma1
0 1 0 1 0 0 complemento a 2 del nmero original

Representacin de nmeros con signo mediante el complemento a 2

El sistema de complemento a 2 para representar nmeros con signo funciona as:

-Si el nmero es positivo, la magnitud se representa en su forma binaria real y se coloca
el bit de signo 0 enfrente del MSB. Esto se muestra en la figura 6-2 para el nmero +45
10


-Si el nmero es negativo, la magnitud se representa en su forma de complemento a 2 y
se coloca el bit de signo 1 enfrente del MSB. Esto se muestra en la figura 6.2 para el
nmero -45
10,

=+45
10


0 1 0 1 1 0 1
IPN-ESIME Zacatenco Electrnica III

21


Bit de signo (+) binario real


=-45
10



Bit de signo (-) complemento a 2


El sistema de complemento a 2 se utiliza para representar nmeros con signo ya que,
como veremos, nos permite realizar la operacin de la resta, a partir de una operacin
de suma. Esto es importante ya que significa que una computadora digital puede utilizar
los mismos circuitos tanto para sumar como para restar, lo cual redunda en un ahorro en
el hardware.

Extensin del signo

En el ejemplo 6-1 tuvimos que utilizar un total de cinco bits para representar los nmeros
con signo. El tamao de un registro (nmero de fIip-fIops) determina el nmero de
dgitos binarios que se almacenan para cada nmero. La mayora de los sistemas
digitales hoy en da almacenan nmeros en registros con tamaos en mltiplos pares de
cuatro bits. En otras palabras, los registros de almacenamiento estn compuestos de 4,
8, 16,32 o 64 bits. En un sistema que almacena nmeros de ocho bits, siete de ellos
representan la magnitud y el MSB representa el signo. Si necesitamos almacenar un
nmero positivo de cinco bits en un registro de ocho bits slo basta con agregar ceros a
la izquierda. El MSB (bit de signo) sigue siendo 0,lo

0000 1001


0s a la izquierda que se agregaron valor binario para el 9 cual indica un valor positivo.

Qu Ocurre si tratamos de almacenar nmeros negativos de cinco bits en un registro
de ocho bits? En la seccin anterior vimos que la representacin binaria en
10111

complemento a 2 de cinco bits para el -9 es 10111.

Si anexramos Os a la izquierda, ste ya no sera un nmero negativo en el formato de
ocho bits. La manera apropiada de extender un nmero negativo es anexando 1s a la
izquierda. As, el valor almacenado para el 9 negativo es

111 1 0111

magnitud en complemento a 2
signo en formato de 5 bits
extensin del signo al formato de 8 bits

1 0 1 0 0 1 1
l

22





Negacin

La negacin es la operacin de convertir un nmero positivo en su equivalente negativo,
o un nmero negativo en su equivalente positivo. Cuando los nmeros binarios con
signo se representan en el sistema de complemento a 2, para realizar la negacin slo
basta con realizar la operacin de complemento a 2. Para ilustrar esto empecemos con
el +9 en su forma binaria de ocho bits. Su representacin con signo es 00001001. Si
sacamos su complemento a 2 obtendremos 11110111, el cual representa al valor con
signo -9. De igual forma podemos empezar con la representacin de -9, que es
11110111, y sacar su complemento a 2 para obtener 00001001, el cual representa a +9.
A continuacin se muestran estos pasos en un diagrama.


Empezamos con complemento 00001001 +9
a 2 (se cambia el signo) 11110111 -9
se niega otra vez 00001001 +9

Por lo tanto, para cambiar el signo de un nmero binario con signo lo complementamos
a 2.

Esta negacin cambia el nmero a su equivalente con signo opuesto. En los pasos (d) y
(e) del ejemplo 6-1 utilizamos la negacin para convertir los nmeros positivos en sus
equivalentes negativos.

1.5.2 Suma en el sistema de complemento A2

Ahora investigaremos cmo se realizan las operaciones de suma y resta en los equipos
digitales que utilizan la representacin de complemento a 2 para los nmeros negativos.
En los diversos casos a considerar, es importante observar que el bit de signo de cada
nmero se opera sobre la misma forma que los bits de magnitud.
Caso 1: dos nmeros positivos. La suma de dos nmeros positivos es simple.
Considere la suma de +9 y +4:

+9 0 1001 (primer sumando)
+4 0 10100 (sumando)
0 1101 (suma =+13)


bits de signo

Observe que los bits de signo del primer sumando y del sumando son ambos 0 y que el
bit de signo de la suma es 0, lo cual indica que la suma es positiva. Observe, adems,
que el primer sumando y el sumando se ajustan para tener el mismo nmero de bits.
Esto debe hacerse siempre en el sistema de complemento a 2.
IPN-ESIME Zacatenco Electrnica III

23


Caso 2: nmero positivo y nmero negativo ms pequeo. Considere la suma de+9 y -4.
Recuerde que el -4 estar en su forma de complemento a 2. Por lo tanto, +4 (00100)
debe convertirse en -4 (11100).

bits de signo

+9 0 1001 (primer sumando)
-4 0 10100 (sumando)
1 0 1101

Este acarreo se descarta; el resultado es 00101(suma =+5)

En este caso el bit de signo del sumando es 1. Observe que los bits de signo tambin
participan en el proceso de la suma. De hecho, se genera un acarreo en la ltima
posicin de la suma. Este acarreo siempre se descarta, por lo que la suma final
es:00101, que equivale a +5.

Caso 3: nmero positivo y nmero negativo ms grande. Considere la suma de

-9 y +4:

-9 10111
+4 00100
11011 suma =-5

Bit de signo negativo


Aqu la suma tiene un bit de signo en 1, lo cual indica un resultado negativo. Como el
resultado de la suma es negativo se encuentra en su forma de complemento a 2, por lo
que los ltimos cuatro bits (1011) en realidad representan el complemento a 2 del
resultado. Para encontrar la magnitud real, debemos negar (complementar a 2) el 11011;
el resultado es 00101 = +5. De esta forma, 11011 representa a-S.

-9 10111
-4 11100
1 10011

Bit de signo

Este acarreo se descarta; el resultado es 10011(suma =-13)

Nuevamente el resultado final es negativo y est en forma de complemento a 2 con un
bit de signo de 1. Al cambiar de signo (complementar a 2) este resultado se produce
01101 = + 13.

Caso IV: dos nmeros negativos

l

24

-9 10111
-9 01001
0 1 00000


se descarta; el resultado es:00000(suma =+0)


1.5.3 Resta en el sistema de complemento A2

La operacin de resta mediante el uso del sistema de complemento a 2 en realidad
implica la operacin de la suma y no es distinta de los diversos casos para la suma del
crculo numrico en sentido de las manecillas del reloj, segn el nmero de espacios en
el sumando. Por ejemplo, para sumar 2 + 3 se empieza en 2 (0010) Y despus se
avanza en sentido de las manecillas del reloj tres espacios ms para llegar al 5(0101). El
desbordamiento ocurre cuando la suma es demasiado grande como para caber dentro
del formato con signo de cuatro bits, lo cual significa que nos hemos excedido del valor
mximo de 7. En el crculo numrico esto se indica cuando al sumar dos valores
positivos tenemos que cruzar la lnea entre 0111 (mximo positivo) y 1000 (mximo
negativo).

El crculo numrico puede ilustrar tambin cmo funciona en realidad la resta con
complemento a 2. Por ejemplo, vamos a restar S de 3. Desde luego que sabemos que la
respuesta es - 2, pero vamos a hacerlo con el crculo numrico. Primero empezamos en
el nmero 3 (0011) del crculo numrico. La manera ms aparente de restar es avanzar
en sentido contraro a las manecillas del reloj alrededor del crculo por cinco espacios,
para quedar en el nmero 1110 (- 2). La operacin menos obvia que ilustra la aritmtica
con complemento a 2 es sumar -S al nmero 3. El cinco negativo (el complemento a 2
de 0101) es 1011, que si se interpreta como nmero binario sin signo representa el valor
11 (once) en decimal. Empiece en el nmero 3 (0011) Y avance en sentido a favor de las
manecillas del reloj alrededor del crculo 11 espacios y se encontrar una vez ms en el
nmero 1110 (- 2), que es el resultado correcto.

Cualquier operacin de resta entre nmeros de cuatro bits con signos opuestos que
produzca un resultado mayor de 7 o menor de -8 es un desbordamiento del formato de
cuatro bits y produce una respuesta incorrecta. Por ejemplo, 3 menos -6 debe producir la
respuesta 9, pero si avanzamos en sentido de las manecillas del reloj seis espacios a
partir del 3, quedaremos en el nmero con signo -7: se ha producido una condicin de
desbordamiento, la cual nos proporciona una respuesta incorrecta.

1.5.4 Multiplicacin de nmeros binarios

La multiplicacin de nmeros binarios se realiza de la misma forma que la multiplicacin
de nmeros decimales. En realidad el proceso es ms simple, ya que los dgitos
multiplicadores son 0 o 1, por lo que siempre estamos multiplicando por 0 o 1 y ningn
otro dgito

Multiplicacin en el sistema de complemento a 2
IPN-ESIME Zacatenco Electrnica III

25


En las computadoras que utilizan la representacin en complemento a 2, la
multiplicacin se lleva a cabo en la manera antes descrita, siempre y cuando tanto el
multiplicando como el multiplicador se coloquen en forma binaria natural. Si los dos
nmeros a multiplicar son positivos, ya se encuentran en la forma binaria natural y se
multiplican como estn. Desde luego que el producto resultante es positivo y se le
asigna un bit de signo de 0. Cuando los dos nmeros sean negativos, debern estar en
forma de complemento a 2. Se saca el complemento a 2 de cada uno para convertirlo en
un nmero positivo y despus se multiplican esos dos nmeros. El producto se mantiene
como un nmero positivo y recibe un bit de signo de 0.

Cuando uno de los nmeros es positivo y el otro negativo, primero se convierte el
nmero negativo en una magnitud positiva, sacando su complemento a 2. El producto se
encontrar en forma de magnitud real. No obstante, el producto debe ser negativo ya
que los nmeros originales son de signos opuestos. Como consecuencia, el producto se
cambia a su forma de complemento a 2 y se le asigna un bit de signo de 1.

1.5.5 Divisin binaria

El proceso para dividir un nmero binario (el dividendo)entre otro (el divisor) es el mismo
que el que se utiliza para los nmeros decimales, al cual, por lo general, se le conoce
como "divisin larga". El proceso actual es ms simple en binario, ya que cuando
estamos comprobando cuntas veces "cabe" el divisor en el dividendo slo hay dos
posibilidades: 0 o 1.

En la mayora de los equipos digitales modernos, por lo general, las restas que son parte
de la operacin de divisin se llevan a cabo mediante el uso de la resta con
complemento a 2; es decir, se saca el complemento a 2 del sustraendo y despus se
suma.

La divisin de nmeros con signo se maneja de la misma forma que la multiplicacin.
Los nmeros negativos se convierten en positivos mediante su negacin y despus se
lleva a cabo la divisin. Si el dividendo y el divisor tienen signos opuestos, el cociente
resultante se cambia a nmero negativo, para lo cual se saca su complemento a 2 y se
le asigna un bit de signo de 1. Si el dividendo y el divisor son del mismo signo, el
cociente se deja como nmero positivo y se le asigna un bit de signo de 0.
l

26


1.6 ARITMTICA BINARIA Y HEXADECIMAL


1.6.1 Aritmtica binaria
SUMA BINARIA: Las operaciones de suma binaria se realizan de la siguiente forma:
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 0
Llevo
1

Ejemplo: Dado los nmeros binarios: W=111110001
2
; T=1101110101
2
; Obtener W+T
0 1 1 1 1 1 0 0 0 0 1
0 1 1 0 1 1 1 0 1 0 1
1 1 1 0 1 0 1 0 1 1 0


Suma binaria 0 + 0 = 0, 0 + 1 = 1, 1 + 0 = 1, 1 + 1 = 0 se pone 0 y se acarrea un 1 a la
posicin siguiente.

Ejemplo de suma binaria Para sumar 1010 (que en decimal es 10) y 1111 (que en
decimal es 15). 10 + 15 = 25

Resta binaria Las cuatro reglas bsicas para la resta de nmeros binarios son: 0-0=0
11=0 10=1 0 1 = 1 utilizar base (2)

Ejemplo de Resta Binaria 100100 110 011110 32 16 8 4 2 1 24 28 30

Multiplicacin binaria La multiplicacin binaria es tan sencilla como la decimal, y es
que funcionan de la misma manera. Aqu tienen un ejemplo de multiplicacin binaria.
Supongamos que multipliquemos 10110 por 1001:

Ejemplo de Multiplicacin Binaria

Divisin binaria Divisin: Se hace igual como el sistema decimal. Al igual que las
operaciones anteriores, se realiza de forma similar a la divisin decimal salvo que las
multiplicaciones y restas internas al proceso de la divisin se hacen en binario.

IPN-ESIME Zacatenco Electrnica III

27

Ejemplo de Divisin Binaria 11 101101 100000 10 11 10 1111 10000 0101 000000 11
8421 16 8 4 2 1 0 10 0 12 111 0011 14 11 00 15

1.6.2 Aritmtica hexadecimal
En el sistema hexadecimal, al igual que en el sistema decimal, binario y octal, se pueden
hacer diversas operaciones matemticas. Entre ellas se encuentra la resta entre dos
nmeros en sistema hexadecimal, la que se puede hacer con el mtodo de
complemento a 15 o tambin utilizando el complemento a 16. Adems de stas,
deberemos manejar adecuadamente la suma en sistema hexadecimal, explicada a
continuacin:
Hexadecimal Decimal
A 10
B 11
C 12
D 13
E 14
F 15
l

28


Suma La adicin de los nmeros hexadecimales se efecta de manera similar a la
adicin decimal, siempre y cuando recuerde que el mayor digito hexadecimal es (F) y no
9 para realizar esta operacin se sugiere el siguiente procedimiento:
1.-sume los dos dgitos hexadecimales en decimal, insertando mentalmente el
equivalente decimal para nmeros mayores de 9.
2.-Si la suma es 15 o menos, esta puede expresarse directamente como un digito
hexadecimal.
3.-Si la suma es mayor o igual a 16, reste 16 y acarree un 1 hacia el digito de la
siguiente posicin.
Ejemplo.
9 + 7 = 16 (16 16 = 0 y nos llevamos 1)
En este caso la respuesta obtenida, 16, no est entre el 0 y el 15, por lo que tenemos
que restarle 16. Por lo tanto, la respuesta obtenida ser 10 (sistema hexadecimal).
Hay que tener cuidado de utilizar correctamente las letras, ya que operar a la vez con
letras y nmeros puede crear confusiones.
A + 6 = 16 (16 - 16 = 0 y nos llevamos 1)
Ocurre lo mismo que en el ejemplo anterior.
A + A = 20 ( 20 16 = 4 y nos llevamos 1)
La respuesta es 20 y no est entre el 0 y el 15, por lo que tenemos que restarle 16. Por
lo tanto, la respuesta obtenida ser 14 (sistema hexadecimal).
Hay que tener cuidado de utilizar correctamente las letras, ya que operar a la vez con
letras y nmeros puede crear confusiones.
F + E = 29 ( 29 16 = D y nos llevamos 1)
La respuesta es 29 y no est entre el 0 y el 15, por lo que tenemos que restarle 16. Por
lo tanto, la respuesta obtenida ser 1D (sistema hexadecimal).
Hay que tener cuidado de utilizar correctamente las letras, ya que operar a la vez con
letras y nmeros puede crear confusiones.
A + B + C = 33 ( 33 32 = 1 y nos llevamos 2)
La respuesta es 33 y no est entre el 0 y el 15, por lo que tenemos que restarle 32. Por
lo tanto, la respuesta obtenida ser 21 (sistema hexadecimal).
IPN-ESIME Zacatenco Electrnica III

29

En esta operacin hemos tenido que restar 32, y no 16 como hacamos anteriormente.
Esto ha ocurrido porque si a 33 le restamos 16 seguiramos estando fuera del sistema
hexadecimal, con un nmero que no se encuentra entre el 0 y el 15.
Hay que tener cuidado de utilizar correctamente las letras, ya que operar a la vez con
letras y nmeros puede crear confusiones.
Ahora haremos una operacin ms complicada:
A83F
+ 24CC

CD0B
La haremos paso a paso:
F + C = 27 (27 16 = B y nos llevamos 1)
3 + C = 15 + 1 (acarreo) = 16 (16 16 = 0 y nos llevamos 1)
8 + 4 = 12 + 1 (acarreo) = 13 (13 corresponde a D)
A + 2 = 12 (12 corresponde a C)
Ten en cuenta que puedes comprobar los resultados utilizando una calculadora
cientfica.
1.6.3 Resta Hexadecimal
Antes de entrar en esta parte se recomienda aprender la suma hexadecimal, ya que ser
necesaria durante los procesos explicados a continuacin.
Las restas Hexadecimales se pueden resolver fcilmente utilizando el complemento a 15
o el complemento a 16. Estos procesos hacen que una resta se convierta en una suma
en sistema hexadecimal.
1.6.4 Complemento C15
Podemos hacer la resta de dos nmeros hexadecimales utilizando el complemento a 15.
Para ello tendremos que sumar al minuendo el complemento a quince del sustraendo, y
finalmente sumarle el bit de overflow (bit que se desborda).
Para entender la resta en complemento a 15 lo analizaremos con un ejemplo. Esta es la
resta que tenemos que resolver: Aunque no estoy muy seguro que digamos, pero algo
es algo.
A4FC9
- DE8

l

30

Primero tenemos que hacer que el minuendo y el sustraendo tengan la misma cantidad
de nmeros. Para ello, aadiremos ceros al sustraendo hasta que sean suficientes.
A4FC9
- 00DE8


Despus, crearemos un nuevo nmero con la misma cantidad de nmeros que el nuevo
sustraendo. Como en el sistema hexadecimal el mayor nmero que tenemos es el 15,
que corresponde a la letra F, tendremos que escribir la F tantas veces como nmeros
tiene el sustraendo.
FFFFF
- 00DE8

FF217
La resta se hace siguiendo las normas generales de la resta comn. La diferencia
obtenida se denomina el complemento a 15. Recuerda el valor correspondiente a cada
letra al operar. Ahora tendremos que sumar el minuendo y el complemento a 15
utilizando la suma en sistema hexadecimal, mencionada anteriormente.
A4FC9
+ FF217

1A41E0
Con la suma obtenemos el resultado 1A41E0, pero no es la respuesta final. Te habrs
dado cuenta que este nuevo nmero tiene ms cifras que los nmeros inciales que
tenamos que restar. Tenemos que quitar el nmero de la izquierda (en este caso, el 1) y
sumarlo.

A41E0
+ 1

A41E1
La respuesta es A41E1.
Ten en cuenta que puedes comprobar los resultados utilizando una calculadora
cientfica.
1.6.5 Complemento C16
Tambin podemos hacer la resta de dos nmeros hexadecimales utilizando el
complemento a 16, siguiendo un proceso similar que en el caso del complemento a 15.
Para resolver la resta, tendremos que sumar al minuendo el complemento a diecisis del
sustraendo.
IPN-ESIME Zacatenco Electrnica III

31

Para entender la resta en complemento a 16 lo analizaremos con el ejemplo anterior.
Esta es la resta que tenemos que resolver:
A4FC9
- DE8

Primero tenemos que hacer que el minuendo y el sustraendo tengan la misma cantidad
de nmeros, al igual que ocurre en el proceso del complemento a 15.
Para ello, aadiremos ceros al sustraendo hasta que sean suficientes.
A4FC9
- 00DE8

Despus, crearemos un nuevo nmero con la misma cantidad de nmeros que el nuevo
sustraendo.
Como en el sistema hexadecimal el mayor nmero que tenemos es el 15, que
corresponde a la letra F, tendremos que escribir la F tantas veces como nmeros tiene el
sustraendo.
FFFFF
- 00DE8

FF217
La resta se hace siguiendo las normas generales de la resta comn.
Ahora tenemos que sumarle 1 a la diferencia obtenida. Este paso es muy importante,
ya que es la diferencia entre hacer la resta en complemento a 15 u 16, y se suele olvidar
fcilmente. Adems, recuerda que ests sumando en sistema hexadecimal, siguiendo el
mismo proceso explicado anteriormente.
FF217
+ 1

FF218
A la diferencia obtenida y sumarle uno le denominaremos el complemento a 16.
Ahora tendremos que sumar el minuendo y el complemento a 16
A4FC9
+ FF218

1A41E1
l

32

Con la suma obtenemos el resultado 1A41E1 .
Te habrs dado cuenta que este nuevo numero tiene ms cifras que los nmeros
inciales que tenamos que restas, cosa imposible en una resta (que la diferencia sea
mayor que el minuendo y el sustraendo). Por eso, y estando en complemento a 16,
tendremos que despreciar (eliminar) el nmero de la izquierda. En este caso es el 1.
La respuesta, por lo tanto, es A41E1.
En ambos casos la respuesta obtenida deber ser la misma, ya que hemos resuelto la
misma resta en sistema hexadecimal. Por lo tanto, podremos comprobar que hemos
operado bien comparando las respuestas obtenidas en complemento a 15 y en
complemento a 16 para una misma resta.
IPN-ESIME Zacatenco Electrnica III

33


1.7 CDIGOS

1.7.1 Cdigos numricos

Los cdigos numricos sirven para representar nmeros con fines de procesamiento y
almacenamiento. Los nmeros de punto fijo y de punto flotante son ejemplos de estos
cdigos.

Nmeros de punto fijo. Se utilizan para representar tantos enteros con signo como
fracciones con signo. En ambos casos se usan los mismos sistemas de magnitud y
signos de complemento a dos o de complemento a uno para representar los valores con
signo. Los enteros de punto fijo tienen un punto binario implcito a la derecha del bit
menos significativo; las fracciones de punto fijo tienen un punto binario implcito entre el
bit de signo y el bit ms significativo.

Ejemplo 1.

Dar dos posibles interpretaciones del nmero de punto fijo de ocho bits 01101010
usando el sistema de complemento a dos.

Como el bit de signo es 0, el nmero representa el entero positivo 1101010, o bien la
fraccin positiva 0.1101010.

Ejemplo 2.

Dar dos posibles interpretaciones del nmero de punto fijo de 8 bits 11101010, usando el
sistema de complemento a dos.

El bit del signo es 1, por tanto el nmero representa a -0010110, o bien -0.0010110.

Representaciones con exceso o sesgadas. Una representacin con exceso K de un
cdigo C se forma sumando el valor K a cada palabra del cdigo C. Las
representaciones con exceso se utilizan a menudo para representar los exponentes de
los nmeros de punto flotante.

La representacin con exceso 8 de la tabla siguiente, se obtiene al sumar (1000)
2
al
cdigo de 4 bits.

Cdigo con exceso 8


Decimal

Representacin binaria

Exceso 8
7 0111 1111
6 0110 1110
l

34

5 0101 1101
4 0100 1100
3 0011 1011
2 0010 1010
1 0001 1001
0 0000 1000


Nmeros de punto flotante. Un nmero de punto flotante es un nmero N que se
escribe como, N = M r
E
donde M, la mantisa, es un nmero de punto fijo que contiene
los dgitos significativos de N y E, el exponente o caracterstica, es un entero de punto
fijo.

Al deducir la representacin de un nmero de punto flotante, la mantisa y la
caracterstica se codifican por separado. La base es implcita y no se incluye en la
representacin.
La mantisa, muchas veces, se codifica con magnitud y signo, por lo general como una
fraccin. Los ms utilizados, en circuitos digitales combinacionales son el cdigo BCD,
Exceso 3, Aiken o 2421, 5421, Biquinario, Dos de Cinco. Existen otros cdigos de tipo
secuencial cclicos, dos de ellos es son cdigo Jhonson y el cdigo Gray. En la tabla 1.6
se describen algunos de ellos con sus respectivos equivalentes decimales.
Decimal BCD Exceso 3 2421 5421 Biquinario Dos de
cinco
Gray
0 0000 0011 0000 0000 0100001 00011 0000
1 0001 0100 0001 0001 0100010 00101 0001
2 0010 0101 0010 0010 0100100 01001 0011
3 0011 0110 0011 0011 0101000 10001 0010
4 0100 0111 0100 0100 0110000 00110 0110
5 0101 1000 1011 1000 1000001 01010 0111
6 0110 1001 1100 1001 1000010 10010 0101
7 0111 1010 1101 1010 1000100 01100 0100
8 1000 1011 1110 1011 1001000 10100 1100
9 1001 1100 1111 1100 1010000 11000 1101
10 0001
0000
0100
0011
0001
0000
0001
0000
0100010
0100001
00101
00011
1111
11 0001
0001
0100
0100
0001
0001
0001
0001
0100010
0100010
00101
00101
1110
12 0001
0010
0100
0101
0001
0010
0001
0010
0100010
0100100
00101
01001
1010
IPN-ESIME Zacatenco Electrnica III

35

13 0001
0011
0100
0110
0001
0011
0001
0011
0100010
0101000
00101
10001
1011
14 0001
0100
0100
0111
0001
0100
0001
0100
0100010
0110000
00101
00110
1001
15 0001
0101
0100
1000
0001
1011
0001
1000
0100010
1000001
00101
01010
1000
Tabla de Equivalencia desde cero hasta quince de algunos cdigos numricos ms
utilizados.
1.7.2 Cdigo BCD
(Binario Codificado en Decimal): La conversin con el sistema decimal se realiza
directamente, en grupos de cuatro bits por cada dgito decimal con ponderacin 8421.
Este cdigo tiene aplicacin en visualizadores (displays) hechos con diodos led o LCD,
los cuales poseen previamente convertidores que transforman el grupo de cuatro bits
BCD en otro especial, llamado 7 segmentos.
Por ejemplo, para transformar el nmero decimal 78905
10
en cdigo BCD se toman los
equivalentes en grupos de cuatro bits cada uno; ver tabla 1.6:
7 8 9 0 5
10

0111 1000 1001 0000 0101
BCD
Resp: 78905
10
= 0111 1000 1001 0000
0101
BCD

Para realizar la equivalencia del BCD con el sistema binario se debe tomar la precaucin
de realizar primero la transformacin decimal y posteriormente la conversin al BCD.
Ejemplo: Transformar en BCD los siguientes nmeros:
a) 1011101111111
2
; b) 5F3C,B
16

Solucin (a): 1011101111111
2
= 6015
10
= 0110 0000 0001 0101
BCD

Solucin (b): 5F3C, B
16
= 24380,6875
10
= 0010 0100 0011 1000 0000, 0110 1000 0111
0101
BCD


1.7.3 Unidades de informacin; bit, byte, kilobyte, megabyte, gigabyte y
terabyte: definicin:

a. Bit: Dgito binario. Es el elemento ms pequeo de informacin del ordenador. Un
bit es un nico dgito en un nmero binario (0 o 1). Los grupos forman unidades
ms grandes de datos en los sistemas de ordenador siendo el Byte (ocho Bits)
el ms conocido de stos.

l

36

b. Byte: Se describe como la unidad bsica de almacenamiento de informacin,
generalmente equivalente a ocho bits, pero el tamao del byte del cdigo de
informacin en el que se defina. 8 bits. En espaol, a veces se le llama octeto.
Cada byte puede representar, por ejemplo, una letra.

c. Kilobyte: Es una unidad de medida utilizada en informtica que equivale a 1.024
Bytes. Se trata de una unidad de medida comn para la capacidad de memoria o
almacenamiento de las microcomputadoras.

d. Megabyte: es una unidad de medida de cantidad de datos informticos. Es un
mltiplo binario del byte, que equivale a 220 (1 048 576) Bytes, traducido e
efectos como 106 (1 000 000) bytes.

e. Gigabyte: Es la unidad de medida ms utilizada en los discos duros. Tambin es
una unidad de almacenamiento. Debemos saber que un byte es un carcter
cualquiera. Un gigabyte, en sentido amplio, son 1.000.000.000 bytes (mil millones
de bytes), tambin, cambiando de unidad, 1.000 megas (MG megabytes).
Pero con exactitud 1 GB son 1.073.741.824 bytes 1.024 MB. El Gigabyte
tambin se conoce como "Giga"

f. Terabyte: Es la unidad de medida de la capacidad de memoria y de dispositivos
de almacenamiento informtico (disquete, disco duro CD-ROM, etc). Una unidad
de almacenamiento tan desorbitada que resulta imposible imaginrsela, ya que
coincide con algo ms de un trilln de bytes (un uno seguido de dieciocho ceros).
El terabyte es una unidad de medida en informtica y su smbolo es el TB. Es
equivalente a 240 bytes.
Se destaca que todava no se han desarrollado memorias de esta capacidad aunque s
dispositivos de almacenamiento.
Conversiones entre las Unidades de Informacin:
o Cuatro bits se denominan cuarteto (ejemplo: 1001).
o Ocho bits octeto o byte (ejemplo: 10010110).
o Al conjunto de 1.024 bytes se le llama Kilobyte o simplemente K.
o 1.048.576 Bytes equivalen a un Megabyte.
o Mil millones de bytes equivalen a un Gigabyte.
o 1.024 Kilobytes forman el llamado Megabyte.
o 1.024 Megabytes se denominan Gigabyte.
Por tanto podemos establecer las siguientes igualdades relacionadas al
dgito binario (bit):
o 1 Cuarteto 4 Bits.
o 1 Byte= 8 Bits.
o 1 Kilobyte= 1.024*8 bits= 8192 Bits.
o 1 Megabyte= 1.024*1.024*8= 8388608 Bits.
o 1 Gigabyte= 1.024*1.024*1.024*8= 8589934592 Bits.
IPN-ESIME Zacatenco Electrnica III

37


EJERCICIO

2
10
=1024 =1k =400
H
=0100 0000 0000
B
+400
800

2
11
=2048 =2k =800
H
=1000 0000 0000
B
+800
1000
H

2
12
=4096 =4k =1000
H
=0001 0000 0000 0000
B

2
13
=8192 =8k =2000
H
=0010 0000 0000 0000
B


EJERCICIO: CALCULAR

RESULTADO = E000

Solucin 2

a) 8K = 2000
H
- 1
1FFF
H
l

38


b) FFFF
-1FFF
E000

RESULTADO= E000

EJERCICIO

Un Programa tiene una extensin de 1400 bytes y empieza en la direccin 1AAA
H
Dnde termina?


1400
D
= 578
H
= 8X16
0
+ 7X16
1
+ 5X16
2
8 + 112 + 1280 = 1400

A) 578
H
SE RESTA 1
588-1 = 577

B) DESPUES SE SUMAN
1AAA + 577 = 2021
H

EL PROGRAMA TERMINA EN LA DIRECION 2021
H









IPN-ESIME Zacatenco Electrnica III

39







UNIDAD II

CIRCUITOS DIGITALES Y DISPOSITIVOS DE
MEMORIA
l

40


2.1 SEALES ANALOGICAS.

2.1.1 Introduccin a los sistemas

En una primera aproximacin se puede decir que un sistema es un conjunto de
elementos que guardan algn tipo de relacin. Esta definicin es tan poco concreta que
sirve para cualquier tipo de sistema. Los elementos de un sistema pueden tener a su vez
estructura de sistema. En este caso seran subsistemas del sistema al que pertenecen.
De lo anterior se desprende que segn la escala que se emplee en la observacin de un
elemento, ste puede ser considerado como un sistema o subsistema Una primera
clasificacin de los sistemas podra ser la siguiente.

Existen sistemas naturales (los generados por la naturaleza) y sistemas artificiales
(hechos por el hombre). Est claro que los sistemas electrnicos se encuentran dentro
de los sistemas artificiales.

Un tema importante al hablar de sistemas es la comunicacin entre sistemas que se
produce por medio de una transferencia o intercambio de energa. Un ejemplo es la
radio, donde el emisor, a travs de una antena, emite energa en forma de ondas
electromagnticas que son detectadas por el receptor; en definitiva se ha producido un
intercambio energtico.

2.1.2 Seal elctrica analgica

Seal elctrica analgica es aquella en la que los valores de la tensin o voltaje varan
constantemente en forma de corriente alterna, incrementando su valor con signo
elctrico positivo durante medio ciclo y disminuyndolo a continuacin con signo
elctrico negativo en el medio ciclo siguiente. El cambio constante de polaridad de
positivo a negativo provoca que se cree un trazado en forma de onda senoidal.

2.1.3 Sistemas analgicos y digitales

Los sistemas electrnicos procesan la informacin que les llega a sus entradas. En
general, la informacin que llega a estas entradas proviene de magnitudes fsicas del
mundo real en el que vivimos.

Estas magnitudes son temperatura, presin, longitud, velocidad, tensin, intensidad, etc.
que tienen un carcter continuo o analgico. La utilizacin de alguna de estas
magnitudes depender de la aplicacin especfica para la que est diseando mi
sistema electrnico. Lo que s parece lgico pensar es que estas magnitudes fsicas
entrada deben llegar en forma de seal elctrica. Por este motivo se suelen utilizar
sensores o transductores que captan la magnitud fsica y la transforman en seal
elctrica para que pueda ser procesada en mi sistema electrnico.
IPN-ESIME Zacatenco Electrnica III

41


Fig. 2.1 Se ve un ejemplo de esta situacin en un sistema de adquisicin de datos de laboratorio.

Por tanto, podemos definir una seal elctrica como una representacin de la variacin
de una magnitud elctrica (tensin o intensidad) frente al tiempo. La magnitud ms
utilizada es la tensin. Segn la naturaleza de la informacin que lleva la seal elctrica,
esta puede clasificarse en:

2.1.4 Seal digital como una seal analgica compuesta

Basndose en el anlisis de Fourier, una seal digital es una seal analgica
compuesta. El ancho de banda es infinito, se puede llegar a este concepto si se estudia
una seal digital. Una seal digital, en el dominio del tiempo, incluye segmentos
horizontales y verticales conectados. Una lnea vertical en el dominio de tiempo significa
una frecuencia cero (no hay cambio en el tiempo). Ir de una frecuencia cero a una
frecuencia infinito (y viceversa) implica que todas las frecuencias en medio son parte del
dominio. El anlisis de Fourier se puede usar para descomponer una seal. Si la seal
digital es peridica, lo que es raro en comunicaciones, la seal descompuesta tiene una
representacin en el dominio de frecuencia con un ancho de banda infinito y frecuencias
discretas. Si la seal digital es peridica, la seal descompuesta todava tiene un ancho
de banda infinito, pero las frecuencias son continuas.

2.1.5 Ruido en seal analgica

Las seales de cualquier circuito o comunicacin electrnica son susceptibles de ser
modificadas de forma no deseada de diversas maneras mediante el ruido, lo que ocurre
siempre en mayor o menor medida. Para solucionar esto la seal suele ser
acondicionada antes de ser procesada.

La gran desventaja respecto a las seales digitales es que en las seales analgicas
cualquier variacin en la informacin es de difcil recuperacin, y esta prdida afecta en
gran medida al correcto funcionamiento y rendimiento del dispositivo analgico. Un
sistema de control no tiene capacidad alguna para trabajar con seales analgicas, de
modo que necesita convertirlas en seales digitales para poder trabajar con ellas.

2.1.6 Ejemplo de un sistema analgico
l

42


Un ejemplo de sistema electrnico analgico es el altavoz, que se emplea para
amplificar el sonido de forma que ste sea odo por una gran audiencia. Las ondas de
sonido que son analgicas en su origen, son capturadas por un micrfono y convertidas
en una pequea variacin analgica de tensin denominada seal de audio. Esta
tensin vara de manera continua a medida que cambia el volumen y la frecuencia del
sonido y se aplica a la entrada de un amplificador lineal. La salida del amplificador, que
es la tensin de entrada amplificada, se introduce en el altavoz. ste convierte, de
nuevo, la seal de audio amplificada en ondas sonoras con un volumen mucho mayor
que el sonido original captado por el micrfono.

2.1.7 Sistemas analgicos que se han vuelto digitales

FOTOGRAFAS: La mayora de las cmaras todava hacen uso de pelculas que tienen
un recubrimiento de haluros de plata para grabar imgenes. Sin embargo, el incremento
en la densidad de los microcircuitos o "chips" de memoria digital ha permitido el
desarrollo de cmaras digitales que graban una imagen como una matriz de 640 x 480, o
incluso arreglos ms extensos de pxeles donde cada pxel almacena las intensidades
de sus componentes de color rojo, verde y azul de 8 bits cada uno.

Esta gran cantidad de datos, alrededor de siete millones de bits en este ejemplo puede
ser procesada y comprimida en un formato denominado JPEG y reducirse a un tamao
tan pequeo como el equivalente al 5% del tamao original de almacenamiento
dependiendo de la cantidad de detalle de la imagen. De este modo las cmaras digitales
dependen tanto del almacenamiento como del procesamiento digital.

GRABACIONES DE VIDEO: Un disco verstil digital de mltiples usos (DVD por las
siglas de digital versatile disc) almacena video en un formato digital altamente
comprimido denominado MPEG-2. Este estndar codifica una pequea fraccin de los
cuadros individuales de video en un formato comprimido semejante al JPEG y codifica
cada uno de los otros cuadros como la diferencia entre ste y el anterior.

La capacidad de un DVD de una sola capa y un solo lado es de aproximadamente 35 mil
millones de bits suficiente para grabar casi 2 horas de video de alta calidad y un disco de
doble capa y doble lado tiene cuatro veces esta capacidad.

GRABACIONES DE AUDIO: Alguna vez se fabricaron exclusivamente mediante la
impresin de formas de onda analgicas sobre cinta magntica o un acetato (LP), las
grabaciones de audio utilizan en la actualidad de manera ordinaria discos compactos
digitales (CD. Compact Discs).

Un CD almacena la msica como una serie de nmeros de 16 bits que corresponden a
muestras de la forma de onda analgica original se realiza una muestra por canal
estereofnico cada 22.7 microsegundos.

Una grabacin en CD a toda su capacidad (73 minutos) contiene hasta seis mil millones
de bits de informacin.

IPN-ESIME Zacatenco Electrnica III

43

2.1.8 Sistemas que utilizan mtodos digitales y analgicos

Existen sistemas que utilizan mtodos digitales y analgicos, uno de ellos es el
reproductor de disco compacto (CD). La msica en forma digital se almacena en el CD.
Un sistema ptico de diodos lser lee los datos digitales del disco cuando ste gira y los
transfiere al convertidor digital-analgico (DAC).

El DAC transforma los datos digitales en una seal analgica que es la reproduccin
elctrica de la msica original. Esta seal se amplifica y se enva al altavoz. Cuando la
msica se grab en el CD se utiliz un proceso que, esencialmente, era el inverso al
descrito, y que utiliza un convertidor analgico digital (ADC, analog-to-digital converter).
SEAL ANALGICA: Una seal analgica es un tipo de seal generada por algn tipo
de fenmeno electromagntico y que es representable por una funcin matemtica
continua en la que es variable su amplitud y periodo en funcin del tiempo. En la
naturaleza, el conjunto de seales que percibimos son analgicas, as la luz, el sonido,
la energa etc. son seales que tienen una variacin continua. Incluso la descomposicin
de la luz en el arco iris vemos como se realiza de una forma suave y contina.

Una onda senoidal es una seal analgica de una sola frecuencia. Los voltajes de la voz
y del video son seales analgicas que varan de acuerdo con el sonido o variaciones de
la luz que corresponden a la informacin que se est transmitiendo. El modelo
matemtico que la describe es una funcin continua, por tanto transporta una
informacin analgica. Por lo tanto, puede tomar infinitos valores frente al tiempo. (Ver
Fig. 2.2)


Fig. 2.2 Seal analgica


SEAL DIGITAL: El modelo matemtico que la describe es una funcin que slo puede
tomar un conjunto finito de valores, por transporta una informacin digital. El tipo de
seal con la que trabajaremos en electrnica ser un caso particular de la seal digital,
la seal digital binaria, en la que slo son significativos los valores de tensin
comprendidos en dos intervalos de tensin diferentes. A todos los valores dentro de
cada uno de los intervalos se le asocia un mismo valor lgico, normalmente uno y cero
(ver Fig. 2.3)
l

44


Fig. 2.3. Seal digital binaria


Por tanto podemos concluir que:

Un sistema en el que todas sus seales son analgicas se denomina SISTEMA
ANALGICO. Un sistema en el que todas sus seales son digitales se denomina
SISTEMA DIGITAL.

Ya hemos visto que las magnitudes fsicas con las que convivimos son esencialmente
analgicas o continuas (si no entramos en el mbito de la fsica cuntica). Las variables
que modelizan estas magnitudes pueden ser analgicas o digitales dependiendo de la
codificacin o modelo matemtico de las mismas. (Ver Fig. 2.4, Reloj digital y analgico).



Fig. 2.4. Codificacin analgica y digital

El proceso que consiste en convertir una seal o variable analgica en digital se
denomina digitalizacin.

La mayora de los sistemas electrnicos construidos procesan seales digitales, pero el
mundo fsico es fundamentalmente analgico como hemos visto. En consecuencia un
sistema digital muy a menudo debe tratar con seales analgicas en su punto de
contacto con el mundo exterior (sus entradas), por lo que con frecuencia es necesario
digitalizar una seal analgica o a la inversa, transformar una seal previamente tratada
digitalmente en analgica, emplendose para ello conversores A/D y D/A.

IPN-ESIME Zacatenco Electrnica III

45


Fig. 2.5 Conversin analgica / digital

Para terminar este apartado solo queda decir que los sistemas digitales tienen infinitas
aplicaciones y se pueden encontrar, por ejemplo, en el diseo de computadores,
instrumentacin, control de procesos industriales, control de semforos, electrnica de
automviles (ABS, encendido electrnico, etc.), simuladores para pilotos de aviones,
aplicaciones en medicina, electrnica de consumo (sonido y vdeo digital, TV, PC,
telefona mvil digital, etc.),
l

46


2.2 COMPUERTAS LOGICAS

Las computadoras digitales utilizan el sistema de nmeros binarios, que tiene dos dgitos
0 y 1. Un dgito binario se denomina un bit. La informacin est representada en las
computadoras digitales en grupos de bits. Utilizando diversas tcnicas de codificacin
los grupos de bits pueden hacerse que representen no solamente nmeros binarios sino
tambin otros smbolos discretos cualesquiera, tales como dgitos decimales o letras de
alfabeto. Utilizando arreglos binarios y diversas tcnicas de codificacin, los dgitos
binarios o grupos de bits pueden utilizarse para desarrollar conjuntos completos de
instrucciones para realizar diversos tipos de clculos.

La informacin binaria se representa en un sistema digital por cantidades fsicas
denominadas seales, Las seales elctricas tales como voltajes existen a travs del
sistema digital en cualquiera de dos valores reconocibles y representan una variable
binaria igual a 1 o 0. Por ejemplo, un sistema digital particular puede emplear una seal
de 3 volts para representar el binario "1" y 0.5 volts para el binario "0". La siguiente
ilustracin muestra un ejemplo de una seal binaria.


Fig. 2.6 Seal binaria

Como se muestra en la figura, cada valor binario tiene una desviacin aceptable del
valor nominal. La regin intermedia entre las dos regiones permitidas se cruza
solamente durante la transicin de estado. Los terminales de entrada de un circuito
digital aceptan seales binarias dentro de las tolerancias permitidas y los circuitos
responden en los terminales de salida con seales binarias que caen dentro de las
tolerancias permitidas. La lgica binaria tiene que ver con variables binarias y con
operaciones que toman un sentido lgico. La manipulacin de informacin binaria se
hace por circuitos lgicos que se denominan COMPUERTAS.

Las compuertas son bloques del hardware que producen seales en binario 1 0
cuando se satisfacen los requisitos de entrada lgica. Las diversas compuertas lgicas
se encuentran comnmente en sistemas de computadoras digitales. Cada compuerta
tiene un smbolo grfico diferente y su operacin puede describirse por medio de una
funcin algebraica. Las relaciones entrada - salida de las variables binarias para cada
compuerta pueden representarse en forma tabular en una tabla de verdad. A
IPN-ESIME Zacatenco Electrnica III

47

continuacin se detallan los nombres, smbolos, grficos, funciones algebraicas, y tablas
de verdad de las compuertas ms usadas.

COMPUERTA AND: Cada compuerta tiene dos variables de entrada designadas por A y
B y una salida binaria designada por x. La compuerta AND produce la multiplicacin
lgica AND: esto es: la salida es 1 si la entrada A y la entrada B estn ambas en el
binario 1: de otra manera, la salida es 0.

Estas condiciones tambin son especificadas en la tabla de verdad para la compuerta
AND. La tabla muestra que la salida x es 1 solamente cuando ambas entradas A y B
estn en 1. El smbolo de operacin algebraico de la funcin AND es el mismo que el
smbolo de la multiplicacin de la aritmtica ordinaria (*). Las compuertas AND pueden
tener ms de dos entradas y por definicin, la salida es 1 si todas las entradas son 1.


Fig. 2.7 AND

http://www.profesormolina.com.ar/electronica/componentes/int/comp_log/image004.png
COMPUERTA OR: La compuerta OR produce la funcin sumadora, esto es, la salida
es 1 si la entrada A o la entrada B o ambas entradas son 1; de otra manera, la salida es
0. El smbolo algebraico de la funcin OR (+), es igual a la operacin de aritmtica de
suma. Las compuertas OR pueden tener ms de dos entradas y por definicin la salida
es 1 si cualquier entrada es 1.


Fig. 2.8 OR


l

48

COMPUERTA NOT: El circuito NOT es un inversor que invierte el nivel lgico de una
seal binaria. Produce el NOT, o funcin complementaria. El smbolo algebraico utilizado
para el complemento es una barra sobra el smbolo de la variable binaria. Si la variable
binaria posee un valor 0, la compuerta NOT cambia su estado al valor 1 y viceversa. El
crculo pequeo en la salida de un smbolo grfico de un inversor designa un inversor
lgico. Es decir cambia los valores binarios 1 a 0 y viceversa.


Fig. 2.9 NOT

COMPUERTA SEPARADOR (YES): Un smbolo tringulo por s mismo designa un
circuito separador, el cual no produce ninguna funcin lgica particular puesto que el
valor binario de la salida es el mismo de la entrada. Este circuito se utiliza simplemente
para amplificacin de la seal. Por ejemplo, un separador que utiliza 5 volt para el
binario 1, producir una salida de 5 volt cuando la entrada es 5 volt. Sin embargo, la
corriente producida a la salida es muy superior a la corriente suministrada a la entrada
de la misma. De sta manera, un separador puede excitar muchas otras compuertas que
requieren una cantidad mayor de corriente que de otra manera no se encontrara en la
pequea cantidad de corriente aplicada a la entrada del separador.


Fig. 2.10 YES

http://www.profesormolina.com.ar/electronica/componentes/int/comp_log/image008.png
Compuerta NAND: Es el complemento de la funcin AND, como se indica por el
smbolo grfico, que consiste en una compuerta AND seguida por un pequeo crculo
(quiere decir que invierte la seal). La designacin NAND se deriva de la abreviacin
NOT - AND. Una designacin ms adecuada habra sido AND invertido puesto que es la
IPN-ESIME Zacatenco Electrnica III

49

funcin AND la que se ha invertido. Las compuertas NAND pueden tener ms de dos
entradas, y la salida es siempre el complemento de la funcin AND.


Fig. 2.11 NAND
http://www.profesormolina.com.ar/electronica/componentes/int/comp_log/image010.png
Compuerta NOR: La compuerta NOR es el complemento de la compuerta OR y utiliza el
smbolo de la compuerta OR seguido de un crculo pequeo (quiere decir que invierte la
seal). Las compuertas NOR pueden tener ms de dos entradas, y la salida es siempre
el complemento de la funcin OR.


Fig. 2.12 NOR
l

50


2.3 FLIP FLOPS.

2.3.1 FLIP-FLOP (biestable)

Los Flip-Flop o Biestable, como tambin se le conoce, son circuitos secunciales
constituidos por puertas lgicas capaces de almacenar un bit, que es la informacin
binaria ms elemental. Un flip-flop es controlado generalmente por una o dos seales de
control y/o una puerta o seal de reloj. La salida incluye a menudo el complemento as
como la salida normal. Mientras que los flip-flop se ejecutan electrnicamente, requieren
energa y las conexiones de tierra.


2.3.2 Historia del FLIP FLOP.

El primer flip-flop electrnico fue inventado en 1918 por William Eccles y FW Jordania.
Fue llamado el circuito de disparador de Eccles-Jordania constaba de dos elementos
activos (radio tubos). El nombre de flip-flop ms tarde fue derivado del sonido producido
en un altavoz conectado junto a una de las salidas de los amplificadores durante el
proceso de activacin en el circuito. Este circuito electrnico original flip flop es un
circuito biestable con doble entrada sin dedicar ningn reloj (o compuerta), la seal era
transparente, y as un dispositivo que sera etiquetado como " latch" en muchos crculos
hoy.

Los tipos de flip-flop discutidos abajo (D, RS, JK, T) primero fueron discutidos en un
curso de 1954 en la UCLA en un curso de diseo de computadora por Montgomery
Phister, y en su libro Lgica de diseo de las computadoras digitales. El autor trabajaba
en ese entonces en los aviones de Hughes bajo la direccin del Dr. Eldred Nelson, que
haba acuado el trmino JK para un flip-flop que paso cuando ambas entradas estaban
en estado encendido. Los otros nombres fueron acuados por Phister. Difieren
ligeramente de algunas de las definiciones que figuran a continuacin.

El origen del nombre para el flip-flop JK es detallado por P.L. Lindley, un ingeniero de
JPL, en una carta a EDN, una revista electrnica de diseo. La carta est fechada el 13
de junio de 1968, y fue publicada en la edicin de agosto de la revista. En la carta, el Sr.
Lindley explica que oy la historia del flip-flop JK del Dr. Nelson Eldred, quien es el
responsable de acuar el trmino mientras que trabaja en los aviones de Hughes. Los
Flip-flops que se utilizan en Hughes en el momento son todos del tipo que vino a ser
conocido como JK. En el diseo de un sistema lgico, el Dr. Nelson asign letras a las
entradas del flip-flop como sigue: #1: A & B, #2: C & D, #3: E & F, #4: G & H, #5: J & K.

2.3.4 Aplicacin

Los flip-flops pueden ser simples (transparente) o de reloj. Los flip-flop simples se
pueden construir alrededor de un par de elementos de inversin interconectados: los
tubos de vaco, transistores bipolares, transistores de efecto de campo, inversores, y la
inversin de las puertas de lgica todos han sido utilizados en circuitos prcticos. Los
IPN-ESIME Zacatenco Electrnica III

51

dispositivos registrados (o no transparentes) ms avanzados se disean especialmente
para los sistemas (tiempo-discretos) sncronos; tales dispositivos por lo tanto no hacen
caso de sus entradas excepto en la transicin de una seal de reloj dedicada (conocida
como la hora, pulsante, o strobing). Esto hace que el flip-flop, ya sea para cambiar o
conservar su seal de salida basado en los valores de las seales de entrada en la zona
de transicin. Algunos flip-flops cambio el aumento de la produccin en el borde de reloj,
otros en el borde de la cada.

Fig. 2.13 Flip Flop


2.3.5 Tipos de FLIP FLOPS
BIESTABLE RS: Dispositivo de almacenamiento temporal de dos estados (alto y bajo),
cuyas entradas principales, R y S, a las que debe el nombre, permiten al ser activadas:

R: el borrado (reset), puesta a 0 nivel bajo de la salida.
S: el grabado (set), puesta a 1 nivel alto de la salida.


Fig. 2.14 Cronograma del biestable RS


Si no se activa ninguna de las entradas, el biestable permanece en el estado que posea
tras la ltima operacin de borrado o grabado. En ningn caso deberan activarse ambas
entradas a la vez, ya que esto provoca que las salidas directa (Q) y negada (Q') queden
con el mismo valor: abajo, si la bscula est construida con puertas NO-O (NOR), o a
alto, si con puertas NO-Y (NAND).

El problema de que ambas salidas queden al mismo estado est en que al desactivar
ambas entradas no se podr determinar el estado en el que quedara la salida. Por eso,
en las tablas de verdad, la activacin de ambas entradas se contempla como caso no
deseado (N. D.).

BIESTABLE RS ASNCRONO: Slo posee las entradas R y S. Se compone
internamente de dos puertas lgicas NO-Y o NO-O, segn se muestra en la siguiente
figura:
l

52


Fig. 2.15 Biestables RS con puertas NO-O, a) NO-Y, c), y smbolos normalizados respectivos b) y d).

Su tabla de verdad es la siguiente (Q representa el estado actual de la salida y q el
estado anterior a la ltima activacin):


TABLA DE VERDAD BIESTABLE RS
R S Q (NO O) Q (NO Y)
0 0 Q N.D
0 1 1 0
1 0 0 1
1 1 N.D Q
N. D. = ESTADO NO DETERMINADO


BIESTABLE RS SNCRONO: Adems de las entradas R y S, posee una entrada C de
sincronismo cuya misin es la de permitir o no el cambio de estado del biestable. En la
siguiente figura se muestra un ejemplo de un biestable sncrono a partir de una
asncrona, junto con su esquema normalizado:


Fig. 2.16 Circuito Biestable RS sncrono a) y esquema normalizado b).
IPN-ESIME Zacatenco Electrnica III

53


Su tabla de verdad es la siguiente:

TABLA DE VERDAD
BIESTABLE RS
C R S Q (NO O)
0 X X q
1 0 0 q
1 0 1 1
1 1 0 0
1 1 1 N.D.
X= NO IMPORTA

BIESTABLE D: Dispositivo de almacenamiento temporal de dos estados (alto y bajo),
cuya salida adquiere el valor de la entrada D cuando se activa la entrada de
sincronismo, C. En funcin del modo de activacin de dicha entrada de sincronismo,
existen dos tipos de biestables D:

Activo por nivel (alto o bajo), tambin denominado registro o cerrojo (latch en
ingls).
Activo por flanco (de subida o de bajada).

La ecuacin caracterstica del biestable D que describe su comportamiento es:




Fig. 2.17 Smbolos normalizados: Biestables D a) activo por nivel alto y b) activo por flanco de subida

Su tabla de verdad:
D Q Q
SIQUIENTE

0 X 0
1 X 1
X = NO IMPORTA

BIESTABLE T: Dispositivo de almacenamiento temporal de dos estados (alto y bajo). El
biestable T cambia de estado ("toggle" en ingls) cada vez que la entrada de
sincronismo o de reloj se dispara. Si la entrada T est a nivel bajo, el biestable retiene el
nivel previo. Puede obtenerse al unir las entradas de control de un biestable JK, unin
que se corresponde a la entrada T.
l

54


Fig. 2.18 Smbolo normalizado: Biestable T activo por flanco de subida.

La ecuacin caracterstica del biestable T que describe su comportamiento es:




Su la tabla de verdad:
T Q Q
SIGUIENTE

0 0 0
0 1 1
1 0 1
1 1 0

BIESTABLE JK: Dispositivo de almacenamiento temporal de dos estados (alto y bajo),
cuyas entradas principales, J y K, a las que debe el nombre, permiten al ser activadas:

J: El grabado (set), puesta a 1 nivel alto de la salida.
K: El borrado (reset), puesta a 0 nivel bajo de la salida.

Si no se activa ninguna de las entradas, el biestable permanece en el estado que posea
tras la ltima operacin de borrado o grabado. A diferencia del biestable RS, en el caso
de activarse ambas entradas a la vez, la salida adquirir el estado contrario al que tena.


Fig. 2.19 Cronograma de la bscula JK

La ecuacin caracterstica del biestable JK que describe su comportamiento es:



Su tabla de verdad es:
IPN-ESIME Zacatenco Electrnica III

55


J K Q Q
SIGUIENTE

0 0 0 0
0 0 1 1
0 1 X 0
1 0 X 1
1 1 0 1
1 1 1 0
X = NO IMPORTA

Una forma ms compacta de la tabla de verdad es (Q representa el estado siguiente de
la salida en el prximo flanco de reloj y q el estado actual):

J K Q
0 0 q
0 1 0
1 0 1
1 1


BIESTABLE JK ACTIVO POR FLANCO: Junto con las entradas J y K existe una entrada
C de sincronismo o de reloj cuya misin es la de permitir el cambio de estado del
biestable cuando se produce un flanco de subida o de bajada, segn sea su diseo. De
acuerdo con la tabla de verdad, cuando las entradas J y K estn a nivel lgico 1, a cada
flanco activo en la entrada de reloj, la salida del biestable cambia de estado. A este
modo de funcionamiento se le denomina modo de basculacin (toggle en ingls).


Fig. 2.20 Smbolo normalizado Biestable JK

BIESTABLE JK MAESTRO-ESCLAVO: Aunque an puede encontrarse en algunos
equipos, este tipo de biestable, denominado en ingls J-K Flip-Flop Master-Slave, ha
quedado obsoleto ya que ha sido reemplazado por el tipo anterior. Su funcionamiento es
similar al JK activo por flanco: en el nivel alto (o bajo) se toman los valores de las
entradas J y K y en el flanco de bajada (o de subida) se refleja en la salida.
l

56


Fig. 2.21 Smbolo normalizado Biestable JK Maestro - Esclavo

Otra forma de expresar la tabla de verdad del biestable JK es mediante la denominada
tabla de excitacin:
q Q J K
0 0 0 X
0 1 1 X
1 0 X 1
1 1 X 0

Siendo q el estado presente y Q el estado siguiente.

Ejemplo con componentes discretos



Fig. 2.22 CIRCUITO MULTIVIBRADOR BIESTABLE




IPN-ESIME Zacatenco Electrnica III

57


2.4 CODIFICADORES

Es un circuito combinacional con 2
N
entradas y N salidas, cuya misin es presentar en la
salida el cdigo binario correspondiente a la entrada activada. Existen dos tipos
fundamentales de codificadores: codificadores sin prioridad y codificadores con
prioridad.

En el caso de codificadores sin prioridad, puede darse el caso de salidas cuya entrada
no pueda ser conocida: por ejemplo, la salida 0 podra indicar que no hay ninguna
entrada activada o que se ha activado la entrada nmero 0. Adems, ciertas entradas
pueden hacer que en la salida se presente la suma lgica de dichas entradas,
ocasionando mayor confusin. Por ello, este tipo de codificadores es usado nicamente
cuando el rango de datos de entrada est correctamente acotado y su funcionamiento
garantizado.

Fig. 2.23 Codificador binario

2.4.1 Direccin local de lugar

Para evitar los problemas anteriormente comentados, se disean los codificadores con
prioridad. En estos sistemas, cuando existe ms de una seal activa, la salida codifica la
de mayor prioridad (generalmente correspondiente al valor decimal ms alto).
Adicionalmente, se codifican dos salidas ms: una indica que ninguna entrada est
activa, y la otra que alguna entrada est activa. Esta medida permite discernir entre los
supuestos de que el circuito estuviera deshabilitado por la no activacin de la seal de
capacitacin, que el circuito no tuviera ninguna entrada activa, o que la entrada nmero
0 estuviera activada.

Tambin entendemos como codificador (cdec), un esquema que regula una serie de
transformaciones sobre una seal o informacin. Estos pueden transformar una seal a
una forma codificada usada para la transmisin o cifrado o bien obtener la seal
adecuada para la visualizacin o edicin (no necesariamente la forma original) a partir
de la forma codificada. En este caso, los codificadores son utilizados en archivos
multimedia para comprimir audio, imagen o vdeo, ya que la forma original de este tipo
de archivos es demasiado grande para ser procesada y transmitida por los sistema de
comunicacin disponibles actualmente. Se utilizan tambin en la compresin de datos
para obtener un tamao de archivo menor.

Segn esta nueva definicin, podemos dividir los codificadores en cdecs sin prdidas y
cdecs con prdidas, segn si la informacin que se recupera coincide exactamente con
la original o es una aproximacin.
l

58


2.5 DECODIFICADORES

Un decodificador o descodificador es un circuito combinacional, cuya funcin es inversa
a la del codificador, esto es, convierte un cdigo binario de entrada (natural, BCD, etc.)
de N bits de entrada y M lneas de salida (N puede ser cualquier entero y M es un entero
menor o igual a 2
N
), tales que cada lnea de salida ser activada para una sola de las
combinaciones posibles de entrada.

Estos circuitos, normalmente, se suelen encontrar como decodificador / demultiplexor.
Esto es debido a que un demultiplexor puede comportarse como un decodificador.

Si por ejemplo tenemos un decodificador de 2 entradas con 2
2
=4 salidas, en el que las
entradas, su funcionamiento sera el que se indica en la siguiente tabla, donde se ha
considerado que las salidas se activen con un "uno" lgico:


Fig. 2.24 Ejemplo decodificador

2.5.1 Ejemplo decodificador

TABLA DE VERDAD PRA EL DECODIFICADOR 2 A 4
ENTRADAS SALIDAS
A B D3 D2 D1 D0
0 0 0 0 0 1
0 1 0 1 1 0
1 0 1 0 0 0
1 1 1 0 0 0

Un tipo de decodificador muy empleado es el de siete segmentos. Este circuito
decodifica la informacin de entrada en BCD a un cdigo de siete segmentos adecuado
para que se muestre en un visualizador de siete segmentos.

2.5.2 Aplicaciones del decodificador

Su funcin principal es la de direccionar espacios de memoria. Un decodificador de N
entradas puede direccionar 2
N
espacios de memoria. Para poder direccionar 1kb de
memoria necesitara 10 bits, ya que la cantidad de salidas seria 2
10
, igual a 1024. De
esta manera: Con 20 bits => 2
20
= 1Mb; Con 30 bits => 2
30
= 1Gb, etc.
IPN-ESIME Zacatenco Electrnica III

59

2.6 MULTIPLEXORES

En el campo de las telecomunicaciones el multiplexor se utiliza como dispositivo que
puede recibir varias entradas y transmitirlas por un medio de transmisin compartido.
Para ello lo que hace es dividir el medio de transmisin en mltiples canales, para que
varios nodos puedan comunicarse al mismo tiempo. Una seal que est multiplexada
debe desmultiplexarse en el otro extremo.

Segn la forma en que se realice esta divisin del medio de transmisin, existen varias
clases de multiplexacin:

Multiplexacin por divisin de frecuencia
Multiplexacin por divisin de tiempo
Multiplexacin por divisin de cdigo
Multiplexacin por divisin de longitud de onda

2.6.1 Electrnica digital


Fig. 2.25 Esquema de un multiplexor 2 a 1. Puede ser comparado a un conmutador controlado

En electrnica digital, un multiplexor, es un circuito usado para el control de un flujo de
informacin que equivale a un conmutador. En su forma ms bsica se compone de dos
entradas de datos (A y B), una salida de datos y una entrada de control. Cuando la
entrada de control se pone a 0 lgico, la seal de datos A es conectada a la salida;
cuando la entrada de control se pone a 1 lgico, la seal de datos B es la que se
conecta a la salida. El multiplexor es una aplicacin particular de los decodificadores, tal
que existe una entrada de habilitacin (EN) por cada puerta AND y al final se hace un
OR entre todas las salidas de las puertas AND.

La funcin de un multiplexor da lugar a diversas aplicaciones:

SELECTOR DE ENTRADAS.
SERIALIZADOR: Convierte datos desde el formato paralelo al formato serie.

Transmisin multiplexada: Utilizando las mismas lneas de conexin, se transmiten
diferentes datos de distinta procedencia. Realizacin de funciones lgicas: Utilizando
inversores y conectando a 0 1 las entradas segn interese, se consigue disear
funciones complejas, de un modo ms compacto que con las tradicionales puertas
lgicas.
l

60

2.7 CIRCUITOS ARITMETICOS

2.7.1 Introduccin

Los circuitos integrados ms representativos para la realizacin de operaciones
aritmticas bsicas tales como la suma y la comparacin. Adicionalmente, se analiza
una ALU en circuito integrado con la cual se pueden llevar a cabo una variedad de
operaciones de lgica y aritmtica.

La forma ms simple de realizar una operacin aritmtica electrnicamente, es usando
un circuito llamado semi-sumado (Haft Adder). Este dispositivo permite que sean
aplicados 2 bits de entradas (A,B) para producir dos salidas: uno correspondiente a
resultado de la suma (S) y la otra correspondiente a acarreo (C) segn se muestra en la
siguiente tabla:

A B S C
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
Tabla de verdad el circuito semi-sumador

Como se puede notar, la salida S es el resultado de una EX-OR entre A y B como
entradas: por otro lado C es el resultado de una AND entre las mismas entradas. En la
figura 2.26 se muestra el circuito de semi-sumador. Este semi-sumador presenta la
limitacin de que no posee uno entrada para el acarreo de la etapa previa, en caso de
que desee sumar ms de 2 bits. Se debe recurrir entonces a sumador total b sumador
completo (Full Adder). Este tipo de circuito acepta 3 bits de entrada por separado,
llamados sumando, consumando y acarreo de entrada A, B y Cin respectivamente,
mientras que las salidas son S y Cout.


Fig. 2.26 El semisumador

2.7.2 Sumadores binarios de 4 bits

Las operaciones aritmticas se presentan con tal frecuencia que se han desarrollado un
nmero de circuitos integrados especiales para llevarlas a cabo. El 74LS283 es un buen
exponente de esta clase de dispositivos, siendo, en esencia, un sumador hexadecimal
de 4 bits, Por lo tanto, acepta como entradas dos nmeros de 4 bits de cada uno, A y B,
y un bit de acarreo previo, CO. Los 4 bits correspondientes al nmero A se conectan a
las entradas A
l,
A
2
, A
3
y A
4
. Las cuatro entradas del dato B se conecta de manera similar.
IPN-ESIME Zacatenco Electrnica III

61

El sumador genera como resultado un nmero de 4 bits correspondientes a la suma de
los dos datos, A y B, adems de un bit de acarreo, C4. En la figura 2.27 se muestra la
configuracin de pines del 74LS283.


Fig. 2.27 Configuracin de pines del 74lS283

La operacin del circuito integrado puede describirse en forma resumida de la siguiente
manera:

Si la suma de los dos datos de entrada ms el acarreo previo arroja un resultado entre O
y 15, la suma aparecer en las salidas de suma y el bit de acarreo de salida, C4 se hace
igual a cero. Si el resultado de la suma se sita entre 16 y 31, el bit de acarreo C4 se
pone en 1 y las salidas correspondientes a los bits de suma se hacen iguales al valor del
resultado menos 16. Observe que en el sumador de 4 bits, el bit de acarreo resultante
posee un peso binario igual a 16.

Ejemplo:

Suponga entradas a un sumador como el siguiente:

A
4
A
3
A
2
A
1
= 0111
2
(7
16
)
B
4
B
3
B
2
B
1
= 1010
2
(A
16
)
CO = 1

En este caso, la suma de los tres datos de entrada, 0111 + 1010 + 1 resulta ser igual 18.
De acuerdo a las reglas anteriores, se produce un bit de acarreo igual 1 y las salidas
adoptan un valor de 2 (esto es, 18 menos 16). Por lo tanto,
C4 = 1 y 4 3 2 1=0010.

2.7.3 Sumadores en cascada

Es posible implementar sumadores para palabras de tamao superiores a 4 bits si se
disponen varios 74LS283 en cascada. Para el efecto, basta simplemente con conectar la
salida C4 del sumador de menor peso a la entrada CO del sumador siguente. En la
figura N 3 se muestra como se conectaran dos 74LS283 en cascada para con formar
l

62

un sumador de 8 bits. Los dos sumadores se muestran recibiendo como datos a dos
nmeros binarios de 8 bits cada uno cuyos valores son: A=11001010, B = 11100111,
CO=0. El resultado de la operacin, mostrado tambin en la misma figura es 10110001 y
C4= 1.+


Fig. 2.28 Configuracin en cascada 74LS283

2.7.4 La operacin de resta con el 74LS283

El mismo circuito integrado descrito anteriormente puede ser utilizado para llevar a la
prctica operaciones de resta. Ms an, tanto la suma como la resta son, desde el punto
de vista digital, muy similares, por lo cual resulta fcil la implementarla de circuitos
digitales que permitan seleccionar una u otra operacin. En la figura N 4 se muestra la
forma como podra alambrarse, con la ayuda de 4 compuertas XOR auxiliares, un
circuito sumador que permita, segn la posicin de un conmutador de seleccin, ejecutar
la suma o la resta de dos datos binarios de 4 bits cada uno.


Fig. 2.29 Configuracin 74LS283 Como restador/sumador de 4 bits unidades de lgica y aritmtica, ALU

Las ALU (Arithmetic Logic Units), o unidades de lgica y aritmtica, son dispositivos muy
verstiles que pueden programarse para llevar a cabo una gran variedad de operaciones
aritmticas y lgicas entre dos palabras binarias. En la figura N 5 se muestra e!
diagrama de pines de 74LS181, una ALU de 4 bits en tecnologa TTL. Como se observa
de la figura, el positivo consta de dos grupo lneas de entrada A
3
A
2
A
1
A
0
y B
3
B
2
B
1
B
0
, un
grupo lneas neas de salida F
3
F
2
F
1
F
0
, un grupo de lneas selectoras de funcin S
3
S
2
S
1
S
0

IPN-ESIME Zacatenco Electrnica III

63

una lnea selectora de modo M, una entrada de acarreo previo Cn una salida de acarreo
resultante Cn+4, una salida de comparacin A=B y dos salidas de expansin P,G.



Fig. 2.30 Configuracin de pines de una ALU 74LS181

Programando adecuadamente las lneas de seleccin, S
3
S
2
S
1
S
0
y la de modo M junto
con la de acarreo previo, Cn, Ia ALU puede ejecutar 16 operaciones lgicas y 32
operaciones aritmticas diferentes con los datos A = A
3
A
2
A
1
A
0
B = B
3
B
2
B
1
B
0
.

Estas operaciones, con sus respectivos cdigos de seleccin, se relacionan en la tabla
de la figura N 6. Se asume que tanto las entradas como las salidas son activas en alto.
Para programar el dispositivo como generador de funciones lgicas, la entrada se-
lectora de modo, M, debe estar a nivel alto.

La operacin lgica deseada se programa mediante un cdigo de 4 bits de la forma
S3S2SISO aplicado a las entradas selectoras de funcin. El estado de la entrada de
acarreo Cn es indiferente por lo cual puede fijarse en cualquier nivel. Por ejemplo, para
realizar la operacin lgica A XOR B A=1011 y B= 000l, la lnea M debe estar en 1 lgico
y en las lneas S3S2S1S0 debe aplicarse el cdigo 0110.

Cada bit de la palabra de salida F = F
3
F
2
F
1
F
0
es el resultado de la operacin XOR de
cada bit de la palabra A con el correspondiente bit de la palabra B. Es decir, P3 =A3
XOR B3, F2 = A2 XOR B2 y as sucesivamente. Por tanto, F = 1010. Para programar la
ALU como generadora de funciones aritmticas, la lnea M debe llevarse a nivel bajo con
el fin de habilitar los acarreos internos. La suma de A y B, por ejemplo, se realiza cuando
el cdigo de las entradas de seleccin es 1001. La entrada de acarreo Cn es activa en
bajo.

Si la suma produce un acarreo de salida igual a 1, est tambin ser activo en bajo. La
ALU utiliza un sistema interno de generacin de acarreos conocido como carry look
ahead (acarreo en adelanto), que no requiere que la suma sea calculada en su totalidad
antes de establecer la naturaleza del acarreo resultante.
l

64



Fig. 2.31 Tabla de las funciones del 74LS181

2.7.5 La ALU 74LS381

Muchas de las funciones disponibles en la 74LS181 son de poco valor prctico. En
respuesta a esto, los fabricantes de ALUs han introducido al mercado el circuito
integrado 74LS381, el cual implementa a una ALU un poco ms pequea y sencilla. En
la figura N 7 se muestra su configuracin de pines, la asignacin de funciones de cada
uno de ellos y su tabla de funciones. Observe que solo se dispone de tres lneas de
seleccin y que no existe un pin de seleccin de modo, M, por lo cual este dispositivo
solo puede desollarse ocho funciones en total. Estas corresponden a las operaciones
aritmticas y lgicas de ms frecuente uso.
IPN-ESIME Zacatenco Electrnica III

65


Fig. 2.32 Configuracin de pines, asignacin de funciones y tabla de operacin de una ALU 74LS381

2.7.6 Circuitos de comparacin binaria

Un comparador de magnitud es un circuito lgico, por lo general combinacional, que
compara dos palabras binarias e informa, en lneas de salida independientes, cundo la
una es mayor, menor o igual que la otra. Un ejemplo clsico de este tipo de circuitos es
el 74LS85.

Este dispositivo compara dos cdigos binarios de 4 bits A y B aplicados en paralelo a las
entradas A
3
A
2
A
1
A
0
y B
3
B
2
B
1
B
0
respectivamente, e indica en tres lneas de salida activas
en alto sus magnitudes relativas. Es decir, cundo A es mayor, menor o igual a B. En la
figura N 8 se muestra su configuracin de pines, su diagrama funcional y su tabla de
verdad. Especficamente, la salida A>B, pin 5, se activa cuando A es mayor que B, la
salida A=B cuando A es igual a B y la salida A<B cuando A es menor que B. Las salidas
no activas permanecen en bajo. Por ejemplo, si A= 1101
2
(13
10
) y B = 0101
2
(5
10
), se
activa la Salida A>B, indicando que 13
10
(A
16
) es mayor que 5 (B
16
).
l

66


Fig. 2.32 Configuracin de pines, asignacin de funciones y tabla de operacin de 74LS85

El 74LS85 tambin cuenta con tres lneas de entrada adicionales que le permiten
conectarse en cascada a unidades similares para comparar nmeros de mayor longitud.
Las entradas son A < B, pin 2, A = B, pin 3, y A > B, pin 4. En la figura N 9 se muestra la
manera como se conectaran dos de estos.
IPN-ESIME Zacatenco Electrnica III

67


Fig. 2.33 74LS85 Conectado en cascada

Dada la importancia de las operaciones aritmticas bsicas en el diseo de circuitos
digitales, se ha realizado un recuento de los principales circuitos integrados que las
implementan. En particular, se examinaron los sumadores de 4 bits y la forma como
pueden conectarse en cascada para aumentar el tamao de los nmeros procesados.
Adicional- mente, se demostr el uso de sumadores que con una pequea cantidad de
lgica adicional permiten obtener fcilmente la operacin de resta.

Las ALUs, o unidades de lgica y aritmtica, tan interesantes como verstiles, fueron
introducidas mediante el anlisis del circuito integrado 74LS181 que las representa bien.
Sin embargo, para aplicaciones menos exigentes, se plante la posibilidad de una
implementacin alterna a travs de la 74LS381, que aunque menos poderosa que la
181, es mucho ms sencilla de utilizar.

Finalmente, el tema de los circuitos comparadores de magnitud se discuti en algn de
talle a travs de la explicacin de la operacin de un comparador de magnitud de 4 bits
tpico como es el 74LS85. La disponibilidad de pines de control adicionales en este
dispositivo hace posible extender el proceso de comparacin a nmeros binarios de
mayor tamao, mediante el artificio de la conexin en cascada de tantos comparadores
como sea necesario para alcanzar los objetivos planteados.
l

68



2.8 ESTRUCTURA Y FUNCIONAMIENTO GENERAL DE LAS MEMORIAS

La parte de la unidad central de sistema que almacena la informacin en programas y
datos, que se va a procesar seguidamente o va a servir de apoyo a las diferentes
operaciones que se van a efectuar por la computadora, es la memoria principal.

CELDA X CELDA Y
SITUACION INICIAL
CELDA X CELDA Y
PRIMER CICLO DE RELOJ

CELDA X CELDA Y
SEGUNDO CICLO DE RELOJ

*** *** ** *** ********** **********
*** *** ** *** ********** **********
*** *** ** *** ********** **********
*** *** ** *** ********** **********
CELDA X CELDA Y
SEPTIMO CICLO DE RELOJ

CELDA X CELDA Y
OCTAVO CICLO DE RELOJ


Fig. 2.34 En este esquema podemos ver la forma que tiene la memoria de almacenar los cdigos binarios e ir
pasndolos de una celda a otra segn los impulsos de reloj

IPN-ESIME Zacatenco Electrnica III

69

2.8.1 Registros

Los registros proporcionan un medio de ayuda a las operaciones realizadas por la
unidad de control y la unidad aritmtica y lgica. Permiten almacenar informacin,
temporalmente, para facilitar la manipulacin de los datos por parte de la CPU.
Los registros se dividen en tres grupos:

Registros de propsito general.
Registros de segmento de memoria.
Registros de instrucciones.

De los distintos registros que se agrupan en estos anteriores, es conveniente destacar
por sus importancias algunas de ellos.

As, el registro puntero de instrucciones o contador de programa (PC), que es uno de los
registros de instrucciones, indica el flujo de las instrucciones del proceso en realizacin,
apuntando la direccin de memoria en que se encuentra la instruccin a ejecutar.

El registro acumulador es el registro donde se almacenan los resultados obtenidos en
las operaciones realizadas por la unidad aritmtica y lgica.

El registro de estado o registro de flags (FL) se utiliza para indicar cambios de estados
y condiciones en los otros registros existentes en el sistema informtico; por ello es un
registro de instrucciones.

El registro puntero de la pila (SP) es un registro de propsito general que almacena la
direccin de la zona de la memoria donde est situada la parte superior de la pila. La pila
es una zona de los registros de segmento de memoria que la unidad aritmtica y lgica
utiliza para almacenar temporalmente los datos que este manipulando.
l

70


2.9 CLASIFICACION DE LAS MEMORIAS

Las memorias se clasifican fsicamente en tres partes:

Soporte de almacenamiento de la informacin
Elemento de escritura y lectura
Mecanismo de direccionamiento

La parte destinada al almacenamiento de la informacin es generalmente de naturaleza
magntica. Est compuesta por pequeos dipolos (elementos de dos polos) que pueden
tomar dos estados en los que la informacin toma un valor en cada uno de ellos. Cada
uno de estos estados se obtiene por medio de la aplicacin de una seal elctrica
exterior generada por el elemento de lectura y escritura.

El elemento de escritura y lectura es un dispositivo que introduce y obtienen la
informacin de la memoria. Para escribir, el dispositivo produce una corriente elctrica
local que provoca un cambio estable en el campo magntico de la celda de memoria.
Para leer, el dispositivo determina el campo magntico de la celda de memoria para
saber cul es el valor existente en esa celda de memoria. El mecanismo de
direccionamiento puede ser de dos tipos, dependiendo de que las memorias sean
estticas o dinmicas. En las memorias estticas el direccionamiento es un cableado
directo a la celda de memoria. Sin embargo, en las memorias dinmicas se utiliza una
informacin de control almacenada con los datos que configuran el circuito para
direccionar la lectura o escritura al lugar donde se almacena la informacin. La memoria
se divide en varios niveles con una estructura cuya forma puede recordarnos a una
estructura piramidal.

El vrtice de la pirmide seria una pequea cantidad de memoria, los registros, que se
caracterizan por una capacidad de almacenamiento de informacin muy pequea, pero
que poseen la ventaja de tener un tiempo de acceso muy reducido, inferior a los 10
nanosegundos. La base de esta hipottica pirmide es la memoria principal, donde
existe una mayor cantidad de espacio, pero que tiene una desventaja debido a que el
tiempo de acceso es muy superior, lo que la convierte en mucho mas lenta que los
registros. Entre ambas se situara una zona de memoria que sirve para optimizar los
tiempos de acceso a la memoria RAM por mtodos estticos.

Existen dos mtodos distintos de accesos a la memoria:

Acceso por palabras
Acceso por bloques

1.- ACCESO POR PALABRAS: Tambin se le denomina acceso aleatorio. La operacin
de acceso se realiza sobre una sola palabra de informacin. Reacurdese que la palabra
es la cantidad de bits que maneja el sistema informtico al mismo tiempo. Este tipo de
acceso nicamente se utiliza con memorias estticas (RAM).

IPN-ESIME Zacatenco Electrnica III

71

2.- ACCESO POR BLOQUES: Es el mtodo de acceso utilizado en las memorias
dinmicas. Consiste en empaquetar en un bloque un conjunto de datos al que se aade
una cabecera para identificarlo. El acceso se realizara a la cabecera del bloque y una
vez en ella se acceder a la informacin que contiene.

Memoria de acceso aleatorio (RAM).- Son memorias en las que se puede leer y escribir
informacin. Permiten el acceso a cualquier informacin que contenga con la misma
velocidad. Contrasta en ello con las memorias secunciales, por ejemplo una cinta
magntica, donde la facilidad de acceso a una informacin est condicionada por el
lugar de la cinta donde esta almacenada.
l

72


2.10 CONEXIONES DE MEMORIAS

Estructura funcional para un microprocesador



EL MICROPROCESADOR

Circuito Integrado capaz de ejecutar un programa y controlar unidades necesarias para
dicha ejecucin.

2.10.1 Evolucin de los CI S

Mayor integracin.
La aparcicion del microprocesador, EPROM, EEPROM y DRAM lleva a la
microelectronica a los productos de consumo.

C. P. U
MEMORIA DE
PROGRAMA
MEMORIA DE
DATOS
ENTRADAS Y
SALIDAS
BUS
DE
DIRECCIO
NES
B
U
S
D
E
C
O
N
T
R
O
L
B
U
S

D
E

C
O
N
T
R
O
L

CONEXIONES A CTOS
EXTERIORES
IPN-ESIME Zacatenco Electrnica III

73




2.10.2 Zona de operaciones

FUNCION:
o EJECUTAR OPERACIONES DEL PROGRAMA
ELEMENTOS:
o UNIDAD LOGICO ARITMETICA (ALU).
o REGISTROS CON CUALIDADES ESPECIALES (INCREMENTABLES, DE
DESPLAZAMIENTO).
o REGISTROS AUXILIARES (DE PROPOSITO GENERAL).


2.10.3 Zona de control

FUNCION
o COORDINAR EL FUNCIONAMIENTO DEL CPU ENVIANDO ORDENES A
TODOS LOS ELEMENTOS QUE INTERVENGAN
ELEMENTOS (BLOQUE SECUENCIAL)
o CONTROLADOR INTERNO
REGISTRO
OPERANDO A
ALU
REGISTRO
OPERANDO B
ACUMULADOR
B
U
S

D
E
D
A
T
O
S

I
N
T
E
R
N
O
S
Entradas
de
control
l

74

o REGISTRO DE ESTATUS (BITS DE ACARREO, SIGNOS,
DESBORDAMIENTO, ETC.)

REGISTRO DE INSTRUCCIN


2.10.4 Memoria central

MEMORIA CENTRAL
SOLO LECTURA: ROM (READ ONLY MEMORY).
CONTENIDO PERMANENTE.
PROGRAMABLES (PROM, EPROM, EEPROM).
TERMINALES.
BUS DE DIRECCIONES.
BUS DE DATOS (SOLO SALIDA).
HABILITACION CS (CHIP SELECT).
MEMORIA DE DATOS
LECTURA / ESCRITURA: RAM (RANDOM ACCES).
CONTENIDO VOLATIL.

1

2

3
CONTROLADOR
INTERNO


N
RELOJ
STATUS
INSTRUCCION
SALIDAS
IPN-ESIME Zacatenco Electrnica III

75

DINAMICAS: DRAM.
TERMINALES.
BUS DE DIRECCIONES.
BUS DE DATOS (BIDIRECCIONAL).
LECTURA / ESCRITURA: R/W (READ / WRITE).
HABILITACION CS (CHIP SELECT).
2.10.5 Notas practicas sobre memorias

TERMINALES BIDIRECCIONALES (DATOS):
MEMORIAS RAM (LECTURAS / ESCRITURAS)


DISTINCION ENTRE RAM Y ROM.
A TRAVES DEL TERMINAL R /W (SOLO EN RAM).
A TRAVES DE LOS TERMINALES DE DATOS (EN ROM SOLO SALIDAS).
TERMINALES
ACTIVO A NIVEL ALTO 1

ACTIVO A NIVEL BAJO 0

CS =


l

76

2.10.6 Dispositivos de entrada y salida e / s

DISPOSITIVOS DE E /S = INTERFAZ = PUERTO
FUNCION: Permitir la entrada de datos entre los circuitos externos (perifricos) y
los circuitos internos del sistema, sin intervenir en la actividad sncrona de estos
(reloj interno).
En el puerto de entrada hay latches en el perifrico (opcionalmente).







SEALES
INTERNAS
DE DATOS
SEALES
ACCESIBLES
DESDE EL
EXTERIOR
INTERIOR EXTERIOR
D
0

D
1
D
2

D
3

D
4

D
6

D
5

D
7

Q
0
Q
1

Q
2

Q
3

Q
4

Q
5

Q
6

Q
7

ORDEN DE CARGA
DE REGISTRO
HABILITACION
IPN-ESIME Zacatenco Electrnica III

77



2.10.7 Operaciones de E / S

ENTRADA DE DATOS = LECTURA DE UNA POSICION DE MEMORIA
(DIRECCION).
SALIDAD DE DATOS = ESCRITURA EN UNA POSICION DE MEMORIA
(DIRECCION).
DIRECCIONAMIENTO DE UN PUERTO
Las lneas de direcciones son las mismas que se utilizan para acceder a una
memoria
La direccin que identifica a un perifrico conectado a un puerto depende del
fabricante
l

78



2.10.8 Lneas de conexin

FUNCION
Permitir la conexin de los distintos componentes del sistema microprocesador.
Buses de datos, de direccin y de control.
BUS DE CONTROL: Lneas diversas (R /W, lneas de interrupciones, peticin
DMA, etc.)
BUS UNIDIRECCIONAL: DIRECCIONES Y CONTROL
DIRECCIONES


LOGICA
DE
SELECCI
ON


PUER
TO
EXTERIOR
A
0

A
n

E
DATOS
INTERIOR
IPN-ESIME Zacatenco Electrnica III

79



BUS UNIDIRECCIONAL: DATOS


2.10.9 Lneas compartidas

TRANSMISION POR BUS COMPARTIDO
Hay que evitar conflictos o colisiones
Control mediante buffers tri estado:
Estados: 0 y 1 alta impedancia (Z).

BUS
TRANSMISO
R
1
TRANSMISO
R
2
TRANSMISO
R
3
CONECTORES

A

B
TRANSMISOR

RECEPTOR

RECEPTOR

TRANSMISOR

A

B
TRANSMISOR RECEPTOR
l

80


RECEPCION DESDE BUS COMPARTIDO
Hay que evitar cargar el bus (fanin - fanout).
Solucin mediante buffer o bus driver.


BUFFER BIDIRECCIONAL
DATOS CPU: (DI
0
DI
1
) Y (DO
0
DO
3
).
DATOS PERIFERICO: (DB
0
DB
3
).
CONTROL: SEALES ACTIVAS A NIVEL BAJO.
DIEN # CS
#
FUNCION
0 0 DI>>>DB
1 0 DB >>>DO
0 1 ALTA IMPEDANCIA
1 1 ALTA IMPEDANCIA


BUS
TRANSMISOR
1
TRANSMISOR
2
TRANSMISOR
3
CONECTORES
IPN-ESIME Zacatenco Electrnica III

81



2.10.10 Mapa de memoria

MARGEN DE MEMORIA DIRECCIONABLE: Por el microprocesador = 2
N LINEAS DE
DIRECCION
MARGEN DE MEMORIA MEMORIA FISICA
MAPA DE MEMORIA: Distribucin de la memoria direccionable por el
microprocesador
MAPA FUNCIONAL O SOFTWARE:
Distribucin funcional de las posiciones de memoria (programas, datos, tablas E /
S).
MAPA FISICO O HARDWARE:
Distribucin fsica de las posiciones de la memoria (RAM, ROM, E / S).
2.10.11 Ejemplo de mapa de memoria

l

82



2.10.12 Direcciones (notacin)

DIRECCIONES DE MEMORIA
DECIMAL
HEXADECIMAL $
BUS DE DIRECCIONES
A
0
: BIT DE MENOR PESO
A
15
: BIT DE MAYOR PESO
CONVERSION DECIMAL A HEXADECIMAL
DIVISIONES SUCESIVAS POR 16
0000
1023
0000
03FF
VARIABLES DEL
SISTEMA
Y STACK
PASTILLA N 1
RAM TIPO X 1K
X8
1024
2047
0400
07FF
DATOS
TEMPORALES
PASTILLA N 2
RAM TIPO X 1K
X8

40960
45055
A000
AFFF
ENTRADAS
SALIDAS MEMORIA
RELACIONADA
DIVERSAS
PASTILLAS
57344
61439
E000
EFFF
TABLAS Y
DATOS
FIJOS
PASTILLA N 3
ROM TIPO Y 4K
X8

61440
65535
PASTILLA N 4
ROM TIPO Y 4K
X8

PROGRAMA F000
FFFF
DECIMAL HEXADECIMAL FUNCIONAL FISICO
Z
O
N
A

N
O

U
T
I
L
I
Z
A
D
A
IPN-ESIME Zacatenco Electrnica III

83

4
64 16
64
1024 16

( ) ( )
$400 400 1024
16 10
= =

CONVERSION HEXADECIMAL A DECIMAL
SISTEMA DE NUMERACION EN BASE 16
AFFF
(16)
= A x 16
3
+ F x 16
2
+ Fx 16
1
+ F x 16
0

=10 x 16
3
+ 15 x 16
2
+ 15 x 16
1
+ 15 x 16
0

=45055
(10)
CONVERSION HEXADECIMAL A BINARIO
GRUPOS DE 4 BITS
AFFF
(16)
= 1010 1111 1111 1111
(2)



2.10.13 Implementacin de un mapa de memorias

OBJETIVO: Diseo de un circuito combinacional que active cada pastilla cuando se
accede a alguna direccin (bus de direcciones) perteneciente a dicha pastilla.
CRITERIO REAL EN EL DISEO
SOLUCION MAS ECONOMICA: Que no tiene por que ser la solucin con menos puertas

HILOS DE DIRECCIONES C
S
1

C
S
2

C
S
3

CS
4

C
S
4

NOTAS
0 0 0 0 0 0 x x x x x x x x x x 0 1 1 1 1 PASTILLA N 1
0 0 0 0 0 1 x x x x x x x x x x 1 0 1 1 1 PASTILLA N 2
1 0 1 0 x x x x x x x x x x x x 1 1 1 1 1 PASTILLA DE E / S
1 1 1 0 x x x x x x x x x x x x 1 1 0 1 1 PASTILLA N 3
1 1 1 1 x x x x x x x x x x x x 1 1 1 0 1 PASTILLA N 4

SIN OPTIMIZAR
( )
12 13 14 15
12 13 14 15 4
12 13 14 15
3
10 11 12 13 14 15
2
10 11 12 13 14 15
1
*
* * *
* * *
A A A A CS
A A A A CS
A A A A CS
A A A A A A CS
A A A A A A CS
A
+ =
=
=
+ + + + + =
+ + + + + =

l

84








UNIDAD III

ARQUITECTURA GENERAL DE UNA
COMPUTADORA
IPN-ESIME Zacatenco Electrnica III

85


INTRODUCCIN

Las arquitecturas de las computadoras digitales simples se clasifican en arquitecturas de
0, 1, 2 o 3 direcciones, de acuerdo con los operandos que se utilizan en las operaciones
aritmticas y lgicas. En forma general, una operacin aritmtica o Lgica puede
definirse como:

Resultado = operando1 operacin operando2

Donde la operacin puede ser cualquier operacin aritmtica o lgica que realice la
computadora a nivel de instruccin de mquina. Tpicamente, todas las computadoras
digitales efectan operaciones de suma, resta y operaciones lgicas. Algunas
computadoras tienen tambin operaciones de multiplicacin y divisin como parte de su
repertorio de instrucciones de mquina.

En las arquitecturas de 0 direccin, los operandos se toman siempre de una pila y el
resultado de la operacin se deja en la pila. Por tanto, en las instrucciones aritmticas y
lgicas de estas mquinas no se especifica ninguna direccin para los operandos ni para
el resultado.

En las mquinas que tienen arquitectura de una direccin, uno de los operandos es
siempre el registro acumulador y el otro corresponde a un operando en memoria. El
resultado se deja en el registro acumulador. Estas mquinas tienen solamente un
acumulador y las instrucciones aritmticas y lgicas solamente especifican la direccin
en memoria del segundo operando.

Las mquinas que tienen una arquitectura de dos direcciones cuentan con instrucciones
aritmticas en las cuales se especifica de dnde se va a tomar cada uno de los dos
operandos de la instruccin. El resultado se deja en el lugar de donde se tom el primer
operando. Por ejemplo, en una mquina que tenga varios registros acumuladores, se
especifica como primer operando uno de estos registros acumuladores y, como segundo
operando, direccin de memoria. El resultado se deja en el acumulador de donde alguna
se tome el primer operando.

Por ltimo, en las mquinas con arquitectura de tres direcciones, se especifican tanto el
lugar de donde se tomarn los operandos como aqul donde se dejara el resultado.
Cualquiera de las direcciones corresponde a una direccin de memoria o a un registro
del procesador.

Arquitectura bsica

La computadora que se utilizar como ejemplo en esta unidad usa palabras de 8 bits. La
memoria est organizada en bytes y puede tener hasta 65,536 bytes, numerados del 0 al
65,535. Para seleccionar cualquier byte de Ia memoria se necesitan 16 bits.

l

86

En Ia figura 3.1 se presenta la arquitectura de Ia mquina utilizada en esta unidad. A
continuacin se describen algunas de sus generalidades.
IPN-ESIME Zacatenco Electrnica III

87

3.1 DIAGRAMA GENERAL DE UNA COMPUTADORA.


Fig. 3.1 Diagrama general de una computadora


Esta unidad central de procesamiento (CPU) tiene dos buses externos que se conectan
a los registros MDR y MAR. El bus conectado al registro MAR es de 16 bits, lo cual
permite que Ia memoria tenga como mximo 65,546 palabras. El bus conectado al
registro MDR es de 8 bits, que corresponden al tamao de una palabra de memoria.

La mquina tambin cuenta con instrucciones de entrada/salida y puede hacer
referencia a 256 direcciones de dispositivos perifricos, comprendidas stas de 0 a 255,
para lo cual se usan 8 bits. Sin embargo, el nmero de dispositivos perifricos que se
maneja es menor ya que cada dispositivo tpicamente utiliza cuatro direcciones para
entrada/salida.
l

88

Internamente se tienen varios buses. El BusH es de 8 bits, los cuales corresponden a los
ocho bits ms significativos del Bus16. El BusL tambin es de 8 bits y stos
corresponden a los ocho bits menos significativos del Bus16.

3.1.1 Registros de la unidad central de proceso

Los registros que contiene su unidad central de procesamiento se describen a
continuacin.

Acumulador A (A) El acumulador A (A) es un registro de propsito general de 8 bits que
se utiliza para realizar operaciones aritmticas y lgicas.

Acumulador B (B) El acumulador B (B) es un segundo registro de propsito general de
8 bits. Tambin se utiliza para realizar operaciones aritmticas y lgicas.

Registro ndice (X) El registro ndice (X) se utiliza en algunas instrucciones para
generar la direccin efectiva del operando. Tiene 16bits.

Registro apuntador a la pila (SP) La funcin del registro apuntador a la pila (SP) es
mantener la direccin del siguiente lugar de memoria disponible en la pila. Este registro
es de 16bits.

Registro contador de programa (PC) El registro contador de programa (PC) contiene
la direccin de la siguiente instruccin a ejecutar. Tiene 16 bits para seleccionar
cualquier direccin de memoria.

Registro de instruccin (IR) El registro de instruccin (IR) recibe la instruccin que se
ejecutar y tiene 8 bits.

Registro de direccin de memoria (MAR) El registro de direccin de memoria (MAR)
contiene la direccin de memoria a la cual se hace referencia durante las operaciones de
lectura o escritura a memoria o a la direccin de un dispositivo perifrico, cuando se trata
de una operacin de entrada/salida. Tiene 16 bits.

Registro de datos de memoria (MDR) En el registro de datos de memoria (MDR)
queda el dato obtenido de la unidad de memoria durante una operacin de lectura a
memoria. O bien, queda el dato obtenido de un dispositivo perifrico durante una
operacin de entrada. Dicho registro debe contener el dato que se desea guardar en la
unidad de memoria durante una operacin de escritura a memoria o, en su caso, el dato
a enviar a un perifrico durante una operacin de salida. Este registro tiene 8 bits.

Registro de banderas (FR) El registro de banderas (FR) es de 8 bits y contiene las seis
banderas que utiliza esta mquina: I (Interrupt), Z (Zero), N (Negative), C (Carry), H (Hal!
carry) y V (Overflow). El formato del registro es11IVCHNZ. Ntese que sus dos bits ms
significativos siempre tienen el valor de 1. La bandera I permite interrupciones cuando
est encendida y no se permiten interrupciones cuando est apagada. Las dems
banderas reflejan el estado de la ltima operacin que se ejecut y las modific. Una
bandera que no se haba utilizado anteriormente es el Half Carry. Esta bandera se
IPN-ESIME Zacatenco Electrnica III

89

enciende cuando se realiza alguna operacin aritmtica sobre algn acumulador y se
genera un acarreo sobre el bit 4. El bit menos significativo es el 0 y el ms significativo
es e17. La bandera H se utiliza cuando se realizan operaciones con nmeros en formato
BCD, su funcin se detallar ms adelante. En la descripcin de cada instruccin se
indica cules banderas se modifican durante su ciclo de ejecucin.

Registro auxiliar (AUX) El registro auxiliar (AUX) contiene 8 bits y es utilizado
internamente por el procesador para realizar algunas operaciones. El registro AUX no
est disponible para el programador pero s existen micro operaciones que lo utilizan en
la ejecucin de las instrucciones.

La unidad aritmtica acta sobre operandos de 8 bits que representan nmeros enteros
consigno en representacin de complementos a 2. Es posible realizar operaciones
aritmticas sobre operandos dems bits, pero se tiene que realizar mediante la
programacin de rutinas que lo efecten.

En ciertas ocasiones, los registros de 16 bytes se representarn en dos partes: los 8 bits
ms significativos, que se identificarn con la letra H, y los 8 bits menos significativos,
para los cuales se utilizar la letra L. Por ejemplo, el registro ndice (X)se identificar
como XH y XL. El registro contador de programa (PC) se denotar como PCH y PCL. Lo
mismo se tendr para el apuntador a la pila, SPH y SPL y para el registro de direccin
de memoria MARH y MARL. Cuando se haga referencia a todo el registro completo no
se usarn las letras H y L. Por ejemplo, X solamente implica XH y XL.
l

90


3.2 BUSES

El intercambio de informacin se produce de forma continua entre el procesador y la
memoria, para acceder a las instrucciones y realizar las lecturas y escrituras de los
datos. De manera adicional, el procesador tambin realiza un intercambio de informacin
con el exterior a travs de los dispositivos de E/S y los controladores de DMA acceden a
la memoria para intercambiar bloques de datos con algn controlador de forma
autnoma.

Toda esta comunicacin entre dispositivos se realiza mediante la transmisin de seales
elctricas a travs de cables o de pistas de un circuito impreso. Cada lnea es capaz de
transmitir un nivel de tensin, que representa un 'l' un '0' binario. Esta estructura forma
lo que se denomina bus, donde adems de las caractersticas elctricas y fsicas
tambin se definen un conjunto de protocolos que hacen posible la comunicacin entre
los diferentes subsistemas.

Habitualmente los buses estn compartidos por los dispositivos. Es, por tanto, necesaria
la implementacin de mecanismos que aseguren que nunca va a haber ms de un
dispositivo controlando el estado (el nivel de tensin) de las lneas del bus. Si varios
dispositivos tratan de transmitir informacin por el mismo bus en el mismo instante de
tiempo, las seales se solaparan producindose un error llamado contencin del bus.

En todas las transferencias siempre existe un elemento emisor, o dispositivo origen, que
enva informacin a uno o varios elementos receptores o dispositivos destino.

Todos los elementos conectados a un mismo bus deben ser capaces de interpretar de
manera correcta la informacin que se transmite por el bus. Para conseguir que
diferentes mdulos de distintos fabricantes puedan interactuar entre ellos sin problemas,
todos los buses deben estar estandarizados, cumpliendo una serie de requisitos
elctricos (niveles de tensin en el bus), mecnicos (tipos de conectores) y de protocolo
(cmo se enva la informacin).

Por otro lado, el principal inconveniente que plantea el uso de buses para la
interconexin de los elementos de un computador es que puede convertirse en un cuello
de botella que limite las prestaciones del sistema.

Esta situacin se produce si las necesidades que tienen los diferentes elementos
conectados a un mismo bus (CPU, memoria y E/S) de transferir informacin, supera la
capacidad de transferencia, producindose mltiples estados de espera que degradan el
rendimiento del sistema. La mxima velocidad en las comunicaciones vendr dada por el
ancho de banda del bus que indica la cantidad de datos que se pueden transferir por
unidad de tiempo (habitualmente en bytes/s). Si la velocidad del bus no es suficiente
para evitar la degradacin del rendimiento, se puede aumentar el nmero de buses del
sistema construyendo una jerarqua que permita realizar transferencias simultneas.

3.2.1 Caractersticas de un bus
IPN-ESIME Zacatenco Electrnica III

91


Las caractersticas bsicas que define el estndar del bus son el nivel fsico, nmero y
funcin de las lneas elctricas y el modo de operacin.

3.2.1.1 Nivel fsico

La primera propiedad de los buses es el soporte fsico que utiliza. Dentro de la estructura
jerrquica de los buses que tiene un sistema informtico, hay buses que conectan
dispositivos rpidos cuyas lneas son de reducida longitud y estn formadas por pistas
del circuito impreso. Estas lneas conectan directamente pines de los circuitos
integrados, ya sean del procesador, la memoria o de algn controlador. En
contraposicin, los buses que enlazan externamente con los chips perifricos se
componen a menudo de mltiples hilos, recogidos en mangueras o en los denominados
cables planos. En una zona intermedia se sitan los buses de expansin que conectan
diferentes placas de circuitos impresos. En estos casos se dispone de un circuito
impreso especial que contiene las lneas del bus y diversos conectores dispuestos de
forma regular.

A estos conectores se les denomina ranuras o slots. Los circuitos impresos normalmente
se colocan sobre una estructura metlica con guas que permite la insercin de otras
tarjetas y la colocacin de fuentes de alimentacin. La estructura recibe el nombre de
rack y todas las tarjetas conectadas a la misma estructura comparten el mismo bus.
Cada uno de los componentes del sistema ocupa una o varias ranuras de esta
estructura. Para que todas las tarjetas sean compatibles, el estndar del bus debe definir
perfectamente la forma y el tamao de los conectores, tanto de las ranuras como de las
placas que se introducen en la estructura.

La longitud de las lneas de un bus y el nmero de dispositivos que se conectan a l est
limitado. En funcin de los valores de estos parmetros el dispositivo que fija el estado
de las lneas debe suministrar ms o menos corriente al bus. Para poder conectar
cualquier dispositivo se utilizan circuitos integrados especiales llamados drivers de bus
que convierten las seales elctricas locales de los integrados en seales adecuadas al
estndar del bus. Estos integrados suministran la suficiente intensidad de corriente para
que la seal se reciba correctamente en el otro extremo.

Tambin se caracterizan por consumir poca corriente de entrada y tener mrgenes de
tensin apropiados para evitar el ruido cuando actan como receptores. Un ejemplo es
la familia BTL (Backplane Transceiver Logic) que utiliza niveles de tensin entre 1'9 y 2'1
voltios para transmitir un Ilgico y entre 0'75 y l' 10 voltios para el 0 lgico.

La longitud de las pistas individuales que forman un bus en un circuito impreso puede no
ser la misma. Este hecho no tiene importancia para bajas frecuencias, pero llega a ser
un factor crtico a medida que aumenta la frecuencia de funcionamiento del sistema. Las
pequeas diferencias en la longitud de las pistas provocan pequeas diferencias
temporales de propagacin de la seal. Este retraso de las seales se denomina skew y
puede producir la prdida de sincronizacin entre varios dispositivos. Este problema es
especialmente crtico en la seal de reloj y para evitarlo se incluyen drivers especiales,
l

92

que generan la misma seal de reloj pero con diferentes retrasos para que llegue al
mismo tiempo a todos los dispositivos.

Por ltimo, tambin es necesario especificar los niveles de tensin que acepta el bus y
los tipos de salida de los drivers de bus. Esta especificacin es necesaria, para que los
dispositivos conectados no interfieran elctricamente sobre el nivel de tensin de las
seales del bus, nicamente aquel que posea permiso en un determinado instante debe
controlar el nivel elctrico de las seales. Esto se consigue utilizando los siguientes tipos
de salida en los drivers de bus:

1. Totem-Pole: Es el tipo de salida que siempre est activa, tomando corriente
cuando est a nivel bajo y suministrando corriente en el caso contrario. Se utilizan
para las seales que slo tienen conectado un driver por lnea como son: las
seales de interrupcin o de arbitraje encadenadas daisy chan que se describirn
a continuacin.

2. OC (Colector Abierto): El driver toma corriente cuando est a nivel bajo, pero no
suministra cuando est a nivel alto. Debe incluirse en la lnea una resistencia de
pull-up para conseguir el estado alto definido cuando ningn driver est activo.
Como el estado de la lnea cambia cuando uno o ms drivers se activan
(enviando un nivel bajo) se dice que implementa una or-cableada. Se utilizan para
seales que pueden ser activadas por varios dispositivos a la vez (lneas de
peticin de interrupciones o de peticin de bus). Estas puertas se usaron mucho
en buses antiguos, pero debido a su alto consumo de corriente es preferible usar
puertas triestado.

3. TS (Triestado): Funcionan de forma similar a las totem-pole, pero se diferencian
en que se pueden desactivar pasando la lnea a un estado de alta impedancia.
Para ello tienen un transistor que habilita o deshabilita la salida, dependiendo del
estado de una entrada de control. Se utilizan para lneas que pueden ser
activadas en varios puntos diferentes del bus (lneas de direcciones o de datos)
pero nunca simultneamente.

3.2.1.2 Lneas

Una de las propiedades que describe el estndar es el nmero de lneas elctricas que
posee el bus, que pueden ser desde solamente dos hasta a varios cientos. Cada una de
las lneas tiene asignada una funcin o un significado en particular y en general se
pueden agrupar en los siguientes cuatro tipos de lneas:

1. Alimentacin: +12 V, +5 V, + 3 V Y tierra (GND).

2. Datos: Llevan informacin (pueden ser instrucciones, datos o paridad) entre los
mdulos del sistema. El nmero de lneas representa el ancho del bus de datos y
por tanto define la cantidad de informacin que se puede transmitir en paralelo en
un instante de tiempo determinado, influyendo enormemente en el rendimiento del
sistema.

IPN-ESIME Zacatenco Electrnica III

93

3. Direcciones: Se utilizan para designar el origen o el destino de los datos que hay
en el bus. Sirven para habilitar dispositivos o posiciones de memoria y su anchura
(nmero de lneas) determina la mxima capacidad de memoria fsica del sistema.

4. Control: Transmiten informacin sobre el tipo de ciclo que est teniendo lugar
(lectura, escritura...), informacin de sincronizacin (informacin temporal que
indica la validez de la informacin en las lneas del bus),interrupciones y seales
de arbitraje. Entre las distintas lneas de control tpicas estn:

Escritura y lectura de memoria.
Escritura y lectura de E/S.
Reconocimiento de una transferencia.
Peticin y concesin de bus.
Peticin y reconocimiento de interrupcin.
Reloj.
Reset.

Existen buses donde las mismas lneas fsicas se utilizan para llevar informacin tanto
de datos como de direcciones. El ciclo de bus se divide en dos, en primer lugar se
envan las direcciones y se validan.

A continuacin, por las mismas lneas se envan o se leen los datos dependiendo del
tipo de ciclo. A los buses que presentan esta caracterstica se les denomina buses
multiplexados y tienen la ventaja de utilizar menos lneas, lo que abarata su coste. Como
desventaja se tiene que el control del bus es ms complejo.

3.2.1.3 Modo de operacin

El estndar tambin regula el modo de operacin del bus que indica la forma en la que
se realiza una transferencia, incluyendo protocolo, ordenacin y temporizacin de las
seales. Se distingue entre buses sncronos, donde todas las acciones se realizan en
instantes de tiempo determinados en funcin de la seal de reloj perteneciente al bus, y
asncronos, que utilizan seales de control para indicar la realizacin de determinadas
acciones.

Dentro de los elementos conectados se pueden diferenciar los maestros y los esclavos
de bus. Un dispositivo maestro es aquel capaz de iniciar una transferencia de datos en el
bus, mientras que un esclavo slo puede enviar datos como respuesta a una peticin de
un maestro. Hay buses en los que se permite la existencia de varios maestros de bus.
Como dichos dispositivos se conectan en cualquier instante de tiempo, para evitar la
contencin del bus, slo uno de ellos puede estar seleccionado en cada momento.

3.2.2 Jerarqua de buses

Por regla general cada uno de los dispositivos conectados a un bus tendr una
determinada velocidad de funcionamiento. Tambin es habitual que la necesidad de
ancho de banda en las transferencias que realiza cada dispositivo sea diferente. Dado
l

94

que la incorporacin de elementos lentos puede retrasar las transferencias de los
elementos ms rpidos, necesitados de mayor ancho de banda, los dispositivos dentro
de un computador se suelen agrupar por sus velocidades y necesidades de ancho de
banda. Los dispositivos dentro de un grupo comparten un mismo bus y el conjunto de
todos los buses forman una jerarqua dentro del sistema. Con la separacin de los buses
se consigue reducir los retrasos de las seales, al reducir la capacidad de las lneas
debida a la conexin de mltiples elementos. Tambin se reduce el riesgo de que el bus
pueda llegar a constituirse como un cuello de botella del sistema si la demanda de
transferencia de datos alcanza el ancho de banda mximo del bus. Un esquema de la
jerarqua de buses se muestra en la figura 3.2. Normalmente en una jerarqua de buses
se encuentran los siguientes niveles:

. Bus del procesador: Se utiliza para conectar el procesador a la cache o a una serie
de dispositivos muy especficos y rpidos. Tiene poca longitud y alta velocidad, y utilizan
las propias seales del procesador, por lo que son especficos para cada sistema.

. Bus local: A medida que se incrementa la velocidad de los dispositivos de E/S, sobre
todo los terminales de vdeo, se necesita un bus de alta velocidad estrechamente ligado
al sistema para permitir transferencias a gran velocidad. Este bus es independiente del
procesador, por lo que diferentes sistemas con procesadores distintos pueden usar las
mismas especificaciones. Si el sistema de memoria est conectado a este bus tambin
se le puede denominar bus de memoria.

. Bus de expansin: Conecta los controladores de E/S ms lentos con el procesador. A
este bus se conectan muchos dispositivos, por lo que suele tener un ancho de banda
variable. Normalmente suelen estar estandarizados para que se puedan acoplar
mltiples dispositivos distintos. A esta clase de buses tambin se les denomina buses de
E/S.

. Bus del sistema: Conecta las diferentes tarjetas procesadoras y perifricas que
forman un mismo sistema. Habitualmente un computador personal se caracteriza por
estar compuesto de una placa base donde se dispone de ranuras de expansin para
conectar perifricos. Estos sistemas tienen una flexibilidad limitada y no son fciles de
expandir. Otros sistemas ms complejos (como multiprocesadores) estn compuestos
por mltiples tarjetas que se conectan entre s mediante un bus nico, el bus de sistema.
Estos sistemas son ms flexibles y escalables y pueden estar compuestos por tarjetas
de distintos tipos y de diferentes fabricantes.

IPN-ESIME Zacatenco Electrnica III

95


Fig. 3.2 Esquema de la jerarqua de buses


MICROCONTROLADOR


l

96






Clasificacin
Tamao de datos:

4 bits
8 bits
16 bits
32 bits
64 bits

Segn la arquitectura interna:


IPN-ESIME Zacatenco Electrnica III

97

Segn la arquitectura del procesador:

CISC (Complex Instruction Set Computer)->>64 instrucciones
RISC (Reduced Instruction Set computer)< ->33 Instrucciones
SISC (Specific Instruction Set Computer )<<- 33 Instrucciones

Segn las unidades vendidas:






Nota: el PC siempre tiene la direccin de la instruccin a ejecutar

98


3.3 ARQUITECTURA INTERNA DE LA UNIDAD MICROPOCESADORA.

3.3.1 Que es un microprocesador

El microprocesador es la parte de la computadora diseada para llevar acabo o ejecutar
los programas. Este viene siendo el cerebro de la computadora, el motor, el corazn de
esta mquina. Este ejecuta instrucciones que se le dan a la computadora a muy bajo
nivel haciendo operaciones lgicas simples, como sumar, restar, multiplicar y dividir. El
microprocesador, o simplemente el micro, es el cerebro del ordenador. Es un chip, un
tipo de componente electrnico en cuyo interior existen miles (o millones) de elementos
llamados transistores, cuya combinacin permite realizar el trabajo que tenga
encomendado el chip.

3.3.2 Arquitectura del microprocesador

El microprocesador tiene una arquitectura parecida a la computadora digital. En otras
palabras, el microprocesador es como la computadora digital porque ambos realizan
clculos bajo un programa de control. Consiguientemente, la historia de la computadora
digital nos ayudar a entender el microprocesador.

El microprocesador hizo posible la manufactura de poderosas calculadoras y de
muchos otros productos. El microprocesador utiliza el mismo tipo de lgica que es
usado en la unidad procesadora central (CPU) de una computadora digital. El
microprocesador es algunas veces llamado unidad microprocesadora (MPU). En otras
palabras, el microprocesador es una unidad procesadora de datos.

En un microprocesador podemos diferenciar diversas partes:

1. El encapsulado: es lo que rodea a la oblea de silicio en s, para darle
consistencia, impedir su deterioro (por ejemplo, por oxidacin por el aire) y
permitir el enlace con los conectores externos que lo acoplaran a su zcalo a su
placa base.

2. La memoria cache: es una memoria ultrarrpida que emplea el micro para tener
a mano ciertos datos que prediciblemente sern utilizados en las siguientes
operaciones sin tener que acudir a la memoria RAM reduciendo el tiempo de
espera. Por ejemplo: en una biblioteca, en lugar de estar buscando cierto libro a
travs de un banco de ficheros de papel se utiliza las computadora, y gracias a la
memoria cache, obtiene de manera rpida la informacin. Todos los micros
compatibles con PC poseen la llamada cache interna de primer nivel o L1; es
decir, la que est ms cerca del micro, tanto que est encapsulada junto a l.
Los micros ms modernos (Pentium III Coppermine, Athlon Thunderbird, etc.)
incluyen tambin en su interior otro nivel de cach, ms grande aunque algo
menos rpida, la cach de segundo nivel o L2.

IPN-ESIME Zacatenco Electrnica III

99

3. Coprocesador Matemtico: o correctamente la FPU (Unidad de coma flotante).
Que es la parte del micro especializada en esa clase de clculos matemticos,
antiguamente estaba en el exterior del micro en otro chip. Esta parte est
considerada como una parte "lgica" junto con los registros, la unidad de control,
memoria y bus de datos.

4. Los registros: son bsicamente un tipo de memoria pequea con fines especiales
que el micro tiene disponible para algunos usos particulares. Hay varios grupos
de registros en cada procesador. Un grupo de registros est diseado para
control del programador y hay otros que no son diseados para ser controlados
por el procesador pero que CPU los utiliza en algunas operaciones en total son
treinta y dos registros.

5. La memoria: es el lugar donde el procesador encuentra sus instrucciones de
programa y sus datos. Tanto los datos como las instrucciones estn
almacenados en memoria, y el procesador los toma de ah. La memoria es una
parte interna de la computadora y su funcin esencial es proporcionar un espacio
de trabajo para el procesador.

6. Puertos: es la manera en que el procesador se comunica con el mundo externo.
Un puerto es parecido a una lnea de telfono. Cualquier parte de la circuitera de
la computadora con la cual el procesador necesita comunicarse, tiene asignado
un nmero de puerto que el procesador utiliza como un nmero de telfono para
llamar al circuito o a partes especiales.

Existen caractersticas fundamentales que son esenciales para identificar un
microprocesador, a parte del nombre que se le dan y marca o compaa por la que fue
fabricada. Los cuales son:

Su ancho de bus (medido en bits).

La velocidad con que trabajan (medida en hertzios): existen dos tipo de
velocidades de los micros hoy en da, velocidad interna la velocidad a la que
funciona el micro internamente (200, 333, 450... MHz); y velocidad externa o
del bus o tambin "velocidad del FSB"; la velocidad a la que se comunican el
micro y la placa base, para poder abaratar el precio de sta. Tpicamente, 33,
60, 66, 100 133 MHz.

100


3.4 MODELO DE PROGRAMACION

3.4.1 Lenguaje ensamblador
El lenguaje ensamblador es un tipo de lenguaje de bajo nivel utilizado para escribir
programas informticos, y constituye la representacin ms directa del cdigo mquina
especfico para cada arquitectura de computadoras legible por un programador.

Fue usado ampliamente en el pasado para el desarrollo de software, pero actualmente
slo se utiliza en contadas ocasiones, especialmente cuando se requiere la
manipulacin directa del hardware o se pretenden rendimientos inusuales de los
equipos.
3.4.2 Caractersticas
Programar en lenguaje ensamblador es difcil de aprender, entender, leer,
escribir, depurar y mantener, por eso surgi la necesidad de los lenguajes
compilados.

A pesar de perder rendimiento en un proceso de compilacin, en la actualidad la
mayora de las computadoras son suficientemente rpidas.

El lenguaje ensamblador no es portable.

Programar en lenguaje ensamblador lleva mucho tiempo.

Los programas hechos en lenguaje ensamblador son generalmente ms rpidos.
Al programar cuidadosamente en lenguaje ensamblador se pueden crear
programas de 5 a 100 veces ms rpidos que con lenguajes de alto nivel.

Los programas hechos en lenguaje ensamblador generalmente ocupan menos
espacio. Un buen programa en lenguaje ensamblador puede ocupar casi la mitad
de espacio que su contrapartida en lenguaje de alto nivel.

Con el lenguaje ensamblador se pueden crear segmentos de cdigo imposibles
de formar en un lenguaje de alto nivel.

Un ensamblador crea cdigo objeto traduciendo instrucciones mnemnicas a cdigos
operativos e interpretando los nombres simblicos para direcciones de memoria y otras
entidades. El uso de referencias simblicas es una caracterstica bsica de los
ensambladores, evitando tediosos clculos y direccionamiento manual despus de cada
modificacin del programa. La mayora de los ensambladores tambin incluyen
facilidades para crear macros, a fin de generar series de instrucciones cortas que se
ejecutan en tiempo real, en lugar de utilizar subrutinas.

Los ensambladores son por lo general ms fciles de programar que los compiladores
de lenguajes de alto nivel, y han estado disponibles desde la dcada de 1950. Los
IPN-ESIME Zacatenco Electrnica III

101

ensambladores modernos, especialmente para arquitecturas basadas en RISC, como
por ejemplo MIPS, SPARC y PA-RISC optimizan las instrucciones para explotar al
mximo la eficiencia de segmentacin del CPU.

3.4.3 Lenguaje

Un programa escrito en lenguaje ensamblador consiste en una serie de instrucciones
que corresponden al flujo de rdenes ejecutables que pueden ser cargadas en la
memoria de una computadora. Por ejemplo, un procesador x86 puede ejecutar la
siguiente instruccin binaria como se expresa en cdigo de mquina:
Binario: 10110000 01100001 (Hexadecimal: 0xb061)
La representacin equivalente en lenguaje ensamblador es ms fcil de recordar:
MOV al, 061h
Esta instruccin significa:
Asigna el valor hexadecimal 61 (97 decimal) al registro "al".
El mnemnico "mov" es un cdigo de operacin u "opcode", elegido por los diseadores
de la coleccin de instrucciones para abreviar "move" (mover, pero en el sentido de
copiar valores de un sitio a otro). El opcode es seguido por una lista de argumentos o
parmetros, completando una instruccin de ensamblador tpica.

La transformacin del lenguaje ensamblador en cdigo mquina la realiza un programa
ensamblador, y la traduccin inversa la puede efectuar un desensamblador. A
diferencia de los lenguajes de alto nivel, aqu hay usualmente una correspondencia 1 a
1 entre las instrucciones simples del ensamblador y el lenguaje de mquina. Sin
embargo, en algunos casos, un ensamblador puede proveer "pseudo instrucciones" que
se expanden en un cdigo de mquina ms extenso a fin de proveer la funcionalidad
necesaria. Por ejemplo, para un cdigo mquina condicional como "si X mayor o igual
que, un ensamblador puede utilizar una pseudoinstruccin al grupo "haga si menor
que, y "si = 0" sobre el resultado de la condicin anterior. Los ensambladores ms
completos tambin proveen un rico lenguaje de macros que se utiliza para generar
cdigo ms complejo y secuencias de datos.

Cada arquitectura de computadoras tiene su propio lenguaje de mquina, y en
consecuencia su propio lenguaje ensamblador. Los ordenadores difieren en el tipo y
nmero de operaciones que soportan; tambin pueden tener diferente cantidad de
registros, y distinta representacin de los tipos de datos en memoria. Aunque la
mayora de las computadoras son capaces de cumplir esencialmente las mismas
funciones, la forma en que lo hacen difiere y los respectivos lenguajes ensamblador
reflejan tal diferencia.


102

Pueden existir mltiples conjuntos de mnemnicos o sintxis de lenguaje ensamblador
para un mismo conjunto de instrucciones, instanciados tpicamente en diferentes
programas ensamblador. En estos casos, la alternativa ms popular es la provista por
los fabricantes, y usada en los manuales del programa.

3.4.4 Cdigo mquina
El cdigo mquina, o lenguaje de mquina, est formado por instrucciones sencillas,
que -dependiendo de la estructura del procesador- pueden especificar:
Registros especficos para operaciones aritmticas, direccionamiento o control
de funciones.
Posiciones de memoria especficas (offset).
Modos de direccionamiento usados para interpretar operandos.
Las operaciones ms complejas se realizan combinando estas instrucciones sencillas,
que pueden ser ejecutadas secuencialmente o mediante instrucciones de control de
flujo.
Las operaciones disponibles en la mayora de los conjuntos de instrucciones incluye:
Mover
o llenar un registro con un valor constante
o mover datos de una posicin de memoria a un registro o viceversa
o escribir y leer datos de dispositivos
Computar
o sumar, restar, multiplicar o dividir los valores de dos registros, colocando
el resultado en uno de ellos o en otro registro
o realizar operaciones binarias, incluyendo operaciones lgicas
(AND/OR/XOR/NOT).
o comparar valores entre registros (mayor, menor, igual)
Afectar el flujo del programa
o saltar a otra posicin en el programa y ejecutar instrucciones all.
o saltar si se cumplen ciertas condiciones (IF).
o saltar a otra posicin, pero guardar el punto de salida para retornar (CALL,
llamada a subrutinas).
Algunas computadoras incluyen instrucciones complejas dentro de sus capacidades.
Una sola instruccin compleja hace lo mismo que en otras computadoras puede
requerir una larga serie de instrucciones, por ejemplo:
salvar varios registros en la pila de una sola vez
mover grandes bloques de memoria
operaciones aritmticas complejas o de punto flotante (seno, coseno, raz
cuadrada)
IPN-ESIME Zacatenco Electrnica III

103

El nivel de lenguaje ensamblador tiene aspectos importantes de los niveles de micro
arquitectura, en los cuales se encuentra (ISA y sistema operativo) estos dos se utilizan
para la traduccin en lugar de la interpretacin. Algunas caractersticas del lenguaje se
describen a continuacin Los programas que sirven para traducir algn programa para
el usuario se llama traductores, el lenguaje en que est escrito el programa original se
llama lenguaje fuente, el lenguaje original que sea modificado se llama lenguaje objeto.
Se usa la traduccin cuando se cuenta con un procesador (ya sea hardware o un
intrprete) para el lenguaje objeto pero no para el lenguaje fuente, Si la traduccin se
realiza correctamente, la ejecucin del programa traducido dar exactamente los
mismos resultados que habra dado la ejecucin del programa fuente. Hay dos
diferencias entre traduccin e interpretacin, en la traduccin no se ejecuta
directamente el programa original, en el lenguaje fuente se convierte en un programa
equivalente llamado programa objeto o programa binario ejecutable y este funciona solo
cuando se ha acabado la traduccin.
El cdigo mquina, un simple patrn de bits, es hecho legible reemplazando valores
crudos por smbolos denominados mnemnicos. Se invent para facilitar la tarea de los
primeros programadores que hasta ese momento tenan que escribir directamente en
cdigo binario. Inicialmente el cdigo de ceros y unos (el programa) deba introducirse
en una tarjeta perforada. La posicin ocupada por cada punto equivala a un "1" o a un
"0" segn hubiera o no una perforacin. Lo cual supona una forma casi idntica en la
que hoy se escriben los datos binaros en soportes tales como los CDs y DVDs.
Mientras que una computadora reconoce la instruccin de mquina IA-32
10110000 01100001
para los programadores de microprocesadores x86 es mucho ms fcil reconocer dicha
instruccin empleando lenguaje ensamblador :
movb 0x61,%al
(Que significa mover el valor hexadecimal 61 (97 decimal) al registro 'al').
Cada instruccin de la mquina se transforma en una nica instruccin en cdigo
simblico.
Pero adems, para mejorar la legibilidad del programa, el cdigo simblico introduce
instrucciones adicionales, que no corresponden a ninguna instruccin de la mquina y
que proporcionan informacin. Se llaman "pseudoinstrucciones".
El cdigo simblico puede parecer de difcil acceso, pero es ms fcil de recordar e
interpretar que el binario o el hexadecimal.
Los lenguajes simblicos no resuelven definitivamente el problema de cmo programar
un ordenador de la manera ms sencilla posible. Para utilizarlos, hay que conocer a

104

fondo el microprocesador, los registros de trabajo de que dispone, la estructura de la
memoria, y muchas cosas ms.
Adems, el lenguaje ensamblador est muy ligado al microprocesador para que sea
posible escribir programas independientes de la mquina en que van a ejecutarse.

Este cdigo simblico no puede ser ejecutado directamente por un ordenador, por lo
que es preciso traducirlo previamente. Pero la traduccin es un proceso mecnico y
repetitivo, que se presta a su realizacin por un programa de ordenador.

Los programas que traducen cdigo simblico al lenguaje de mquina se llaman
ensambladores ("assembler", en ingls), porque son capaces de ensamblar el programa
traducido a partir de varias piezas, procedimientos o subrutinas a cdigo binario ("1" y
"0") que entiende el procesador.
IPN-ESIME Zacatenco Electrnica III

105






UNIDAD IV

PROGRAMACIN BSICA DE LA UNIDAD
MICROCONTROLADORA

106


4.1 MODOS DE DIRECCIONAMIENTO

Se les llama modos de direccionamiento a las distintas formas de combinar los
operandos segn el acceso que se hace a memoria. Dicho de otra manera, un modo de
direccionamiento ser una forma de parmetro para las instrucciones. Una instruccin
que lleve un parmetro, por lo tanto, usar un modo de direccionamiento, que
depender de cmo direccionar (accesar) al parmetro; una instruccin de dos
parmetros, combinar dos modos de direccionamiento.

4.1.1 Cuntos modos de direccionamiento existen?

Hay infinidad de formas de calcular la direccin de un operando. Cada procesador
implementa un subconjunto de formas posibles. Tanto los operandos involucrados en el
clculo como las diferentes formas de calcular esta direccin estn todos codificados en
la instruccin. Cuanto ms compleja sea la tarea de clculo de la direccin efectiva, o
ms operandos incluya, ms compleja ser la decodificacin y ejecucin de la
instruccin.

DIRECCIONAMIENTO IMPLCITO

Depende solamente de la instruccin, es decir, la instruccin no lleva parmetros.
Particularmente en instrucciones que no accesan memoria, o bien que tienen una forma
especfica de accesarla.

Ejemplos: PUSHF, POPF, NOP

MODO REGISTRO

Usa solamente registros como operandos. Es el ms rpido, pues minimiza los recursos
necesarios (toda la informacin fluye dentro del EU del CPU)

Ejemplo: MOV AX, BX

MODO INMEDIATO

Tiene dos operandos: un registro y una constante que se usa por su valor. El valor
constante no se tiene que buscar en memoria, pues ya se obtuvo al hacer el fetch de
la instruccin. Por tanto, es rpido aunque no tanto como el modo registro; requiere ir
al BIU por el dato.

Ejemplo: MOV AH, 9

MODO DIRECTO

IPN-ESIME Zacatenco Electrnica III

107

Uno de los operandos involucra una localidad especfica de memoria. El valor constante
se tiene que buscar en memoria, en la localidad especificada. Es ms lento que los
anteriores, pero es el ms rpido para ir a memoria, pues ya sabe la localidad, la toma
de la instruccin y no la tiene que calcular.

Ejemplos: MOV AH, [0000], MOV AH, Variable

Estas dos instrucciones seran equivalentes, si Variable est, por ejemplo, en la
localidad 0 de memoria. En la forma primitiva del lenguaje de mquina, como el primer
ejemplo, se tiene que indicar mover a AH el contenido (indicado por los corchetes), de
la localidad 0 de los datos (lo de los datos es implcito). El lenguaje Ensamblador, sin
embargo, nos permite la abstraccin del uso de variables, pero como una variable tiene
una localidad determinada en memoria, para el procesador funciona igual. La nica
diferencia consiste en que el programador no tiene que preocuparse por la direccin,
ese manejo lo hace automticamente el Ensamblador.

MODO INDIRECTO

Se usan los registros SI, DI como apuntadores. El operando indica una localidad de
memoria, cuya direccin (slo la parte desplazamiento) est en SI o DI. Es ms lento
que los anteriores, pues tiene que calcular la localidad

Ejemplos: MOV AL, [SI]

MOV BL, ES: [SI]

Aqu se dice que se usa un segment override, donde se indica que en vez de usar el
segmento de datos por defecto, se use en su lugar como referencia el segmento extra.

MODO INDEXADO DE BASE

Formato:
[
BX o BP
+ SI o DI (opcionales)
+ constante (opcional)
]

BX o BP indica una localidad base de la memoria

A partir de BX o BP, se puede tener un desplazamiento variable y uno constante. La
diferencia es el segmento sobre el que trabajan por defecto:

BX por defecto en el segmento de datos
BP por defecto en el segmento de pila.

Ejemplos:

108


MOV AX, [BX]
MOV DX, [BX+2]
MOV CX, [BX+DI]
MOV DL, [BX+SI+3]
TERMINOLOGA

Existen dos espacios posibles de direcciones de operandos:

DIRECCIN DE REGISTRO: Para aquellos operandos que estn almacenados
en registro.
DIRECCIN DE MEMORIA: Para aquellos operandos que estn almacenados
en memoria.
Nos referiremos a los diferentes campos de la instruccin como CI
1
, CI
2
, etc.
La expresin (CI
1
) significa el contenido del campo CI
1
de la instruccin, o lo que es lo
mismo, el nmero codificado en dicho campo. La expresin (R
i
), donde R
i
es el nombre
de un registro, significa el contenido del registro. La expresin dato! R significa que se
carga en el registro R el dato dato.

MODO REGISTRO

Los registros pueden almacenar operandos. La direccin de registro es diferente a la
direccin de memoria.

o Las operaciones deben de obtener sus operados, ya sea de los registros o de la
memoria.

o Para acceder a estos operndos se precisa especificar un modo de obtenerlos.

o Los procesadores permiten especificar la posicin de un operando de mltiples
maneras.

o Modo de Direccionamiento:

o Dado uno o varios campos de la instruccin, calcular la direccin efectiva de un
operando.

o La Direccin Efectiva no tiene por que ser una direccin en memoria.

4.1.2 Resumen de modos de direccionamiento

REGISTRO: Operando en registro de = (ci).

REGISTRO INDIRECTO: Operando en direccin de memoria en registro de = ((ci)).
IPN-ESIME Zacatenco Electrnica III

109


AUTOINCREMENTO: Como el Registro indirecto, pero el registro se incrementa
despus de ser usado de = ((ci)); (Ri)+ {1, 2, 4} ! Ri, donde Ri es el registro
codificado en el campo ci.

AUTODECREMENTO: Como el Registro indirecto, pero el registro se decremento
antes de ser usado. de = (Ri) {1, 2, 4}; ((ci)) {1, 2, 4} ! Ri, donde Ri es el registro
codificado en el campo ci.

ABSOLUTO: La direccin est codificada en la propia instruccin de = (ci).

MODO BASE + INDICE ESCALADO + DESPLAMIENTO: La direccin se puede
codificar hasta con cuatro operandos, permitindose todas las combinaciones
(ndice y escala se tratan como un parmetro) de = (Registro Base) + [(Registro
ndice) _ Escala] + Desplazamiento

110


4.2 HERRAMIENTAS DE PROGRAMACIN

Entre otras herramientas de programacin encontramos libreras y componentes, dados
por algunos lenguajes de programacin como son el C++ y delphi. Otras herramientas
de programacin son los lenguajes de programacin, que nos permiten crear rutinas,
programas y utilitarios. Entre algunas de estas herramientas de programacin tenemos:

o BASIC Y PASCAL: Que son herramientas de programacin, idneas para la
inicializacin de los programadores.
o C y C++: Que sirven para la programacin de sistemas.
o COBOL: Que es una herramienta de programacin orientada hacia sistemas de
gestin empresarial como nominas y contabilidad.
o FORTRAN: Que son lenguajes especficos para clculos matemticos y/o
numricos.
Herramientas de programacin para ambientes grficos como son Visual Basic, Delphi
y Visual C. Html y Java, que permiten la creacin de paginas Web para Internet.
ALGORITMO

o Mtodo que permite la resolucin de un problema en forma secuencial y
ordenada.

o Conjunto de procesos debidamente ordenados y concatenados que permite
resolver un problema de computadora.

o Conjunto de tcnicas y procedimientos debidamente organizados que posibilita la
representacin ordenada de los procesos que se siguen para resolver un
problema.
LENGUAJES DE PROGRAMACIN

IPN-ESIME Zacatenco Electrnica III

111



TRADUCTORES DE LENGUAJE



DATOS

CLASIFICACIN

INTERPRETES COMPILADORES

TIPOS
ALTO NIVEL
BAJO NIVEL
LENGUAJE
ENSAMBLADOR

LENGUAJE
MQUINA

112



EXPRESIONES
ARITMTICAS

Operador Significado Tipo de op Resultado
_,**,^ Potencia Entero o real Entero o real
+ Suma Entero o real Entero o real
- Resta Entero o real Entero o real
* Multiplicacin Entero o real Entero o real
/ Divisin Real Real
DIV Divisin Entera Entero Entero
MOD Divisin Entera Entero Entero


EXPRESIONES
BOOLEANAS DE RELACIN

OPERADOR RESULTADO
> Mayor que
< Menor que
= Igual que
Mayor o igual que
Menor o igual que
<> Diferente

EXPRESIONES
BOOLEANAS LGICAS

NUMRICOS
CADENA
ENTEROS
REALES
LGICOS
NUMRICOS

ESPECIALES
FALSO
ALFABTICO
S
VERDADERO
IPN-ESIME Zacatenco Electrnica III

113

Operador Lgico Expresin Lgica Significado
no (not) no p (not p) Negacin de p
y (and) p y q (p and q) Conjuncin de p y q
o (or) p o q (p or q) Disyuncin de p o q




FASES DE RESOLUCIN DE PROBLEMAS



RESOLUCIN DE PROBLEMAS
RESOLUCIN DEL
PROBLEMA POR
COMPUTADORA

DISEO DEL
ALGORITMO
ANALISIS DEL
PROBLEMA

114


FASE DE ANLISIS DEL PROBLEMA





FASE DE DISEO DEL ALGORITMO



DISEO DEL ALGORITMO
HERRAMIENTAS
DE
PROGRAMACIN

REFINAMIENTO
POR PASOS
DISEO
DESCENDENT
E
ANALISIS DEL PROBLEMA
ESPECIFICAC
IONES DE
SALIDA
ESPECIFICACIO
NES DE
ENTRADA
DEFINICIN
DEL
PROBLEMA
IPN-ESIME Zacatenco Electrnica III

115


FASE DE RESOLUCIN DEL PROBLEMA MEDIANTE LA COMPUTADORA



HERRAMIENTAS DE PROGRAMACIN



4.2.1 Diagrama de flujo

Tcnica de representacin de algoritmos que utiliza smbolos grficos para representar
cada uno de los procesos de la resolucin de un problema, las mismas que estn
unidas por flechas denominadas lneas de flujo. Los diagramas utilizados representan
un determinado proceso y tienen un smbolo definido para cada caso.

4.2.2 Pseudocdigo
DIAGRAMA DE FLUJO
DIAGRAMA N - S
PSEUDOCDIGO

RESOLUCIN DEL PROBLEMA
POR COMPUTADORA
COMPROBACIN
DEL PROGRAMA

EJECUCIN DEL
PROGRAMA
CODIFICACIN
DEL
PROGRAMA

116


Es un lenguaje de especificacin de algoritmos, a partir del cual se traduce
directamente a un lenguaje de programacin cada uno de las instrucciones
establecidas. Se le considera como un primer borrador, porque el programador se
puede concentrar en la lgica y las estructuras de control no siendo necesarias las
reglas de sintaxis del lenguaje a utilizar.

4.2.3 Diagrama N-S

Conocido como diagrama de Chapn, su representacin es similar a un diagrama de
flujo en el que se omiten las lneas de flujo y donde cada proceso es representado por
cajas sucesivas en las cuales se pueden escribir diferentes acciones.
IPN-ESIME Zacatenco Electrnica III

117


4.3 INSTRUCCIONES

4.3.1 Desarrollo

Un programa est constituido por un conjunto ordenado de instrucciones, que
constituyen el cuerpo principal del programa y uno o ms bloques de datos iniciales
necesarios para una correcta ejecucin. El proceso bsico de ejecucin de un programa
requiere por parte del microprocesador, la repeticin de los siguientes pasos:

o LEER DE LA MEMORIA UNA INSTRUCCIN DEL PROGRAMA.
o INTERPRETAR LA INSTRUCCIN LEDA.
o EJECUTAR DICHA INSTRUCCIN.
Debemos considerar adems que los microprocesadores trabajan solamente con
lenguaje de bajo nivel, es decir, trabajan con lenguaje mquina. Cada microprocesador
o familia de microprocesadores, posee su propio lenguaje mquina que determina las
capacidades propias de cada familia. Las instrucciones mquina son almacenadas en la
memoria en forma de bytes, es decir, en forma de unos y ceros empleando por tanto el
sistema binario de numeracin. Sin embargo este sistema es muy complejo para
trabajar directamente en l, por lo que se emplean otros sistemas como el hexadecimal,
BCD, etc. para la representacin de datos.

Para construir los programas, normalmente se emplean lenguajes de alto nivel, y luego
se transforman los programas as escritos a lenguaje mquina asequible para el
microprocesador. No obstante en nuestro caso emplearemos un lenguaje de bajo nivel
(ensamblador) que trabaja con abreviaturas alfabticas denominadas mnemnicos que
constituyen las operaciones e instrucciones que ejecutar el microprocesador. Durante
el desarrollo de este tema veremos las principales bases numricas de representacin,
as como los diferentes tipos de instrucciones, modos de direccionamiento y se
realizar un estudio de todo el repertorio de instrucciones propio del microprocesador
8085. Es conveniente leer todas y cada una de las instrucciones para ir familiarizndose
con ellas y entender su modo de funcionamiento. Todo lo tratado aqu, son aspectos
bsicos de la programacin que nos permiten crear programas ejecutables en el
sistema electrnico presentado en esta serie de artculos.

4.3.2 Bases numricas de representacin

Ya se ha comentado que es el lenguaje mquina el nico que el microprocesador es
capaz de tratar, es decir, solamente trabaja con unos y ceros. Este lenguaje resulta
inapropiado para las personas, por lo que se desarrollan otros sistemas de
representacin ms sencillos o ms cmodos de manejar. En primer lugar debemos
fijarnos en que el microprocesador trabaja con bloques de informacin normalizados.
Podemos destacar en este terreno:

118


EL BIT: Como unidad de informacin ms elemental que adopta dos nicos estados, el
uno o el cero.

EL OCTETO O BYTE: Constituido por una cadena de ocho bits.

LA PALABRA: Es el tamao de informacin que el microprocesador puede manejar en
paralelo. En funcin de la potencialidad del microprocesador tendremos palabras de 8
bits, 16 bits, 32 bits, etc.

Estableciendo ya el tipo de informacin con el que se va a trabajar, pasamos ahora a
ver las bases numricas o de representacin que emplearemos durante la
programacin. Las ms comunes son:

SISTEMA DECIMAL: Es el sistema que habitualmente empleamos en nuestra vida
diaria, y por tanto ser el sistema que se emplear normalmente para introducir datos y
sacar datos del sistema. Lgicamente este sistema de representacin numrico dispone
de diez dgitos (0, 1, 2, 3, 4, 5, 6, 7, 8 y 9).

SISTEMA BINARIO: Solo emplea dos unidades bsicas de representacin (0 y 1). Para
encontrar la expresin decimal de cualquier nmero binario, se procede de forma
similar al sistema decimal, pero empleando el 2 como base del sistema. Por ejemplo:


Para realizar el proceso contrario, es decir para transformar un nmero decimal a
binario, puede emplearse un mtodo muy sencillo que consiste en dividir
sucesivamente dicho nmero por la base binaria 2. El nmero binario se construye
tomando el ltimo cociente y poniendo a continuacin de forma consecutiva los restos
obtenidos en todas las divisiones de la ltima a la primera.

SISTEMA DECIMAL CODIFICADO EN BINARIO (BCD): Se trata de un caso particular
del binario que emplea cuatro bits para representar los nmeros decimales del 0 al 9.
Por tanto para transformar un nmero decimal, no tendremos ms que tomar cada una
de sus cifras y transformarla a binario empleando 4 bits. Por ejemplo: 279 = 0010 0111
1001

SISTEMA EXCESO A TRES: Toma como referencia el sistema BCD, sin ms que
aadir a cada digito el valor 3, es decir sumar:



SISTEMA HEXADECIMAL: Es uno de los ms empleados en programacin. Sus diez
primeros dgitos se corresponden con los del sistema decimal y los seis restantes son
las seis primeras letras maysculas del alfabeto (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E,
F). La base de este sistema es el 16 y todas sus cifras pueden ser expresadas con
IPN-ESIME Zacatenco Electrnica III

119

cuatro bits. Para convertir un nmero binario a hexadecimal, agruparemos sus dgitos o
bits de cuatro en cuatro y transformaremos cada uno de ellos de forma individual,
obteniendo as la representacin hexadecimal. Por ejemplo:

SISTEMA DE REPRESENTACION ASCII: Se trata de un sistema de representacin de
datos empleado para facilitar intercambios de informacin. Es uno de los sistemas ms
empleados en la actualidad (junto al sistema EBCDIC). La codificacin se lleva a cabo
empleando una palabra de 8 bits, es decir, un octeto para cada carcter de informacin.
Para encontrar el valor de un carcter numrico de una representacin ASCII, es
suficiente con restar el valor 48 y al contrario para encontrar la representacin ASCII de
un digito decimal habr que sumar 48.


LOS TIPOS DE INSTRUCCIONES:

Despus de haber tratado de forma superficial los sistemas de representacin, vamos a
ver los distintos tipos de instrucciones que utiliza un microprocesador. Bsicamente
puede decirse que el bloque de instrucciones debe ser completo y eficaz de modo que
podamos realizar todos los clculos necesarios de forma ms rpida y precisa posible.


Una de las principales caractersticas de todo microprocesador es disponer de un buen
conjunto de instrucciones que le den la mayor versatilidad posible. Se establecen los
siguientes grupos, tipos o conjuntos de instrucciones:

ARITMETICAS: Son las instrucciones que realizan operaciones de tipo aritmtico
como sumas, restas, incrementos, decrementos, etc. Todas las operaciones de este
tipo afectan al registro de estado, es decir a los flags.
MOVIMIENTO DE DATOS: Este tipo de instrucciones de movimiento o transferencia
de datos, permiten realizar una copia del contenido de un registro o direccin de
memoria (origen), en otro registro o direccin de memoria (destino), sin alterar el
contenido del origen.
INTRUCCIONES LOGICAS: Realizan operaciones lgicas entre los operandos.
Afectan a los flags segn sea el caso y las operaciones se realizan bit a bit entre los
datos.
INSTRUCCIONES DE COMPARACION: Son operaciones de restar o operaciones
XOR entre dos operandos. Afectan a los flags pero no se almacena el resultado.
INSTRUCCIONES DE SALTO: Son instrucciones de modificacin de secuencia que
alteran la ejecucin normal del programa, cargando el contador de programa con la

120

nueva direccin en la que deseamos contine ejecutndose el programa. Los saltos
o bifurcaciones pueden ser:
o CONDICIONALES: Cuando son controlados por el estado de un indicador o
flag, y basndose en dicho estado se decide si se salta o no.
o INCONDICIONALES: Cuando modifican el contador de programa sin
condicin previa. Dentro de cada uno de estos tipos, podemos encontrar
adems la particularidad de que al efectuar los saltos se realicen con
posibilidad de retorno o no.

INSTRUCCIONES DE ENTRADA/SALIDA: Son en realidad instrucciones de
transferencia, pero no entre registros o posiciones de memoria, sino con elementos
perifricos que permiten la comunicacin del microprocesador con el exterior.
INSTRUCCIONES DE CONTROL: Sirven para actuar internamente sobre el
microprocesador, provocando detenciones en la ejecucin del programa, etc.
INSTRUCCIONES DE BIT: Trabajan o tratan bits independientes.
INSTRUCCIONES DE DESPLAZAMIENTO: Desplazan o rotan hacia la izquierda o
hacia la derecha los bits de un registro (acumulador).
4.3.3 Instrucciones, modos de direccionamiento y Code Warrior

4.3.3.1 Los modos de direccionamiento

Los modos de direccionamiento son aquellos procedimientos empleados por el
microprocesador para poder acceder a determinados operandos, instrucciones,
posiciones de memoria, registros de entrada/salida, etc. Por tanto el objeto del
direccionamiento es un valor o dato que se encuentra en un lugar de la memoria, en
algn registro o en la propia instruccin. Los diferentes modos de direccionamiento que
pueda emplear un microprocesador le proporcionan un determinado nivel de
potencialidad, permitindole manejar datos y realizar operaciones con mayor facilidad.
En general podemos diferenciar los siguientes tipos o modos de direccionamiento:

DIRECCIONAMIENTO INMEDIATO: En este caso el objeto (un operando) se
encuentra incluido en la instruccin, es decir, a continuacin del cdigo de la
instruccin se aade el operando propiamente dicho. Las instrucciones que
emplean este direccionamiento pueden ser de dos o tres bytes y son
instrucciones de ejecucin rpida y sencilla.
DIRECCIONAMIENTO IMPLICITO: Las instrucciones que emplean este modo de
direccionamiento tienen un solo byte y es la propia instruccin la que indica qu
registro o direccin de memoria se va a utilizar en la operacin.
DIRECCIONAMIENTO ABSOLUTO: En este caso las instrucciones incluyen la
direccin de memoria donde se encuentra el dato con el que se va a operar. En
este tipo de direccionamiento pueden darse tres supuestos:
IPN-ESIME Zacatenco Electrnica III

121

La instruccin apunta a un registro que contiene la informacin deseada
(direccionamiento tambin llamado de registro).
La instruccin contiene la direccin completa en la que se encuentra el dato,
empleando para ello tres bytes.
Cuando la instruccin se refiere solo a una parte de la memoria (pgina). En este
caso el byte ms alto lo suministra el contador de programa y el byte ms bajo se
expresa a continuacin del cdigo de instruccin, por tanto solo se emplean dos
bytes (Este direccionamiento tambin se llama de pgina base).
o DIRECCIONAMIENTO DIRECTO RELATIVO: La instruccin en este caso
contiene un valor determinado al que podemos llamar V. La direccin total se
calcula sumando a V el valor que est almacenado en un registro alq ue haga
referencia la instruccin. El valor de V puede ser tanto positivo como negativo.

o DIRECCIONAMIENTO INDIRECTO: La instruccin contiene una direccin a la
que llamaremos D1. El contenido de D1 no es el objeto directo de nuestra
instruccin, sino que contiene otra direccin que llamaremos D2. Esta nueva
direccin D2 es la que contiene el dato que s es objeto de la instruccin.
Expresados ya los modos de direccionamiento con carcter general, pasamos
ahora a ver los modos de direccionamiento que utiliza el microprocesador 8085
en particular, que son los cuatro siguientes:
o DIRECCIONAMIENTO DIRECTO ABSOLUTO: La instruccin contiene la
direccin exacta y completa donde se encuentra el dato. Por ejemplo:
o LHLD A716H
o DIRECCIONAMIENTO POR REGISTRO: La instruccin lleva el registro en el
que est el dato que va a ser tratado. Como por ejemplo:
o MOV A, B
o MOV B, C

o DIRECCIONAMIENTO POR REGISTRO INDIRECTO: En la instruccin se
especifica un registro cuyo contenido apunta a una direccin de memoria en la
que se encuentra el dato. Por ejemplo:
o MOV A, M
o M: Es una referencia simblica a una direccin apuntada o sealada por el par
de registros HL.

o DIRECCIONAMIENTO INMEDIATO: La instruccin contiene el dato con el que
se desea operar, pudiendo ser el dato de uno o dos bytes:

122

LXI H, A0B7H
ADI 3AH


D A B DIRECCION
IX
IY
PC
SP
CCR


INSTRUCCIONES BASICAS:

DECIMAL HEXADECIMAL
LDDAA # 10 INMEDIATO A

LDAB # $ 10 HEXADECIMAL INMEDIATO B

CLRA INHERENTE O IMPLICITO A

LDAA # %0001000 IMEDIATO A

ABA INHERENTE O EXPLICITO A

STAA $0800 EXTENDIDO 0800

SWI
IPN-ESIME Zacatenco Electrnica III

123


4.4 EJEMPLOS DE PROGRAMAS BSICOS

SUMA
LDAA $0800
ADDA $0801
STAA $0802
SWI

RESTA
LDAA $0800
SUBA $0801
STAA $0802
SWI

MULTIPLICACIN
LDAA $0800
LDAB $0801
MUL
STAA $0802
STAB $0803
SWI

DIVISION
LDAA $0800
LDAB $0801
LDX $0802
IDIV
STX $0804
STD $0806
SWI

RAIZ CUADRADA
MOVB #1,$0801
CLR $0802
LDAA $0800
REPITE: CMPA $0801
BMI FIN
SUBA $0801
INC $0802
INC $0801
INC $0801
BRA REPITE
FIN: STAA $0803
SWI

124



RETARDO

LDAA #$03
VAGO: DECA
BNE VAGO
SWI

NUMERO PAR O IMPAR

LDAA $0800
ANDA #1
BEQ PAR
MOVB #1,0801
BRA FIN
PAR: CLR $0801
FIN: SWI


SERIE DE FIBONACCI
LDAB $0800
BEQ FIN
LDX #$0804
MOVB #1,$0801
MOVB #1,$0802
REPITE: LDAA $0801
STAA 0,X
ADDA $0802
MOVB $0802,$0801
STAA $0802
NX
DECB
BNE REPITE
FIN: SWI

METODO DE LA BURBUJA

LDX #$0808
LDY #$0809
MOVB #$9,$0800
DNUEVO: MOVB $0800,$0801
REPITE: LDAA X
LDAB Y
CBA
BMI SALTA
INY
IPN-ESIME Zacatenco Electrnica III

125

DEC $0801
BNE REPITE
BEQ SIGUE
SALTA: MOVB Y,X
STAA Y
INY
DEC $0801
BNE REPITE
BEQ SIGUE
SIGUE: INX
LEAY 1,X
DEC $0800
BNE DNUEVO
SWI

ENTRADA DE UN DATO

CLR COPCTL
CLR DDRB
OTRO: LDAA PORTB
BRA OTRO
SWI

SALIDA DE UN DATO

CLR CPOCTL
MOVB #$FF, DDRB
LDAA #$55
STAA PORTB
SWI




126






UNIDAD V

PROGRAMACIN DE PERIFRICOS
IPN-ESIME Zacatenco Electrnica III

127


5.1 PUERTOS DIGITALES

La forma de realizar la transferencia hace referencia al nmero de seales binarias
utilizadas para transferir la informacin. Segn la forma de realizar la transferencia los
circuitos de interfaz se pueden clasificar en dos grandes grupos:

Transferencia de informacin en paralelo

Como su nombre indica se caracteriza por recibir la informacin en paralelo (perifricos
de salida) o proporcionarla en paralelo (perifricos de entrada) a travs del bus de datos
del procesador. Se utiliza cuando el perifrico est situado cerca del procesador y se
quier hacer la transferencia a la mxima velocidad posible. En este caso el circuito de
interfaz recibe el nombre de puerto paralelo (Parallel port).

Transferencia de informacin en serie

Como su nombre indica se caracteriza porque la informacin se transfiere a travs de
un nico canal de comunicacin. Para ello el interfaz debe realizar la tarea de
comunicar en serie el procesador con el perifrico y por ello se le suele denominar
puerto serie (Serial port). Se utiliza cuando el perifrico est situado a una distancia
elevada del procesador y tambin cuando se quiere simplificar la conexin entre el
perifrico y el procesador de lo que es un ejemplo la conexin o bus USB.

Tanto los puertos paralelo como los puertos serie bsicos poseen un esquema de
bloques como el representado en la siguiente figura, y se divide en dos partes:

Figura 5.1 Esquema de bloques de circuito de interfaz entre un procesador y un perifrico

Un circuito de seleccin de perifrico, que detecta la combinacin binaria que lo
identifica. Mediante este circuito el procesador decide con cul de las diferentes
interfaces conectadas al bus de datos ejecuta la transferencia de informacin. La
salida del circuito de seleccin solo se activa cuando a su entrada se aplica la

128

combinacin binaria correspondiente al perifrico. Se puede realizar de
diferentes formas, una de las cuales es la representada en la figura siguiente que
consiste en un decodificador que genera la seal de transferencia de los
diferentes circuitos de interfaz conectados al procesador. La seal de control de
la transferencia o impulso de disparo (trigger), generada por este ltimo se aplica
a la entrada de inhibicin G del decodificador para que solo aparezca en la salida
correspondiente a la direccin aplicada a sus entradas.



Figura 5.2 Esquema de bloques del interfaz de la figura 1 en el que el circuito de seleccin esta implementado con un
decodificador


Un circuito de interfaz, propiamente dicho, que ejecuta las acciones adecuadas
para que se lleve a cabo la transferencia as como el proceso necesario para que
la interfaz realice un conjunto de tareas que minimizan el tiempo que el
procesador debe dedicar al acoplamiento con el perifrico. La complejidad de
este circuito depende del tipo de perifrico y del tiempo de que dispone el
procesador para realizar tareas de acoplamiento, pero hay unos recursos
mnimos, que todos los interfaces deben tener, que se conocen bajo la
denominacin antes citada de puertos paralelo y serie se describen
posteriormente.

5.1.2 Puertos paralelo

Los puertos paralelo pueden ser de entrada (input port) o de salida (output port). Un
puerto de entrada en paralelo es un circuito electrnico que contiene los elementos
necesarios para que las informaciones generadas por un perifrico de entrada
(interruptores, teclados, etc.) se transfieren en paralelo a la memoria del procesador
digital.

Un puerto de salida en paralelo es un circuito electrnico que contiene los elementos
necesarios para que los resultados del proceso llevado a cabo por el procesador digital
se transfieren en paralelo a los perifricos de salida (visualizadores, impresoras, etc).
En la figura 5.3 se representa el hardware mnimo de un puerto de salida en paralelo.

El circuito de seleccin de perifrico esta realizado mediante un decodificador que
genera las seales de transferencia de los distintos circuitos de interfaz conectados al
IPN-ESIME Zacatenco Electrnica III

129

procesador. EL circuito de interfaz mnimo es un registro (buffer) de entrada y salida en
paralelo cuya entrada C de control o disparo por nivel (match) se conecta a la salida del
decodificador asignada al perifrico. Este circuito memoriza temporalmente la
informacin que se transfiere al perifrico. En la figura 5.4 se representa un ejemplo de
aplicacin de un puerto de salida en paralelo que conecta un procesador digital a un
visualizador (display) esttico.


Figura 5.3 Esquema de bloques de un puerto de salida en paralelo



































130


Figura 5.4 Ejemplo de aplicacin de un puerto de salida en paralelo que conecta un procesador



IPN-ESIME Zacatenco Electrnica III

131


Figura 5.5 Ejemplo de aplicacin de un puerto de entrada en paralelo que conecta un procesador digital y un conjunto
de interruptores


5.1.3 Puertos serie

Un puerto serie es una interfaz que realiza la tarea de comunicar en serie el procesador
y el perifrico a travs de un canal d comunicaciones. En la figura 6 se representa el
esquema de bloques en el que se puede observar que un puerto serie combina un
puerto paralelo con un procesador de comunicaciones que realiza dos tareas
principales:

Convierte la informacin del formato paralelo al serie.

A la informacin se le aade una informacin adicional para establecer un
protocolo de comunicacin de acuerdo con alguna de las normas establecidas,
como ejemplo los buses de campo y CAN o las normas de comunicacin serie
RS-232 (UART) y USB, a fin de asegurar que otro procesador se
comunicaciones situado prximo al perifrico es capaz de interpretarla.

La interfaz entre el RS-232 y el microprocesador generalmente se realiza mediante el
integrado 82C50. El RS-232 original tena un conector tipo D de 25 pines, sin embargo
la mayora de dichos pines no se utilizaban, por lo que IBM incorpor desde su PS/2 un
conector ms pequeo de solamente 9 pines que es el que actualmente se utiliza. En
Europa la norma RS-422 de origen alemn es tambin un estndar muy usado en el
mbito industrial.


132

Uno de los defectos de los puertos serie iniciales era su lentitud en comparacin con los
puertos paralelos, sin embargo, con el paso del tiempo, estn apareciendo multitud de
puertos serie con una alta velocidad que los hace muy interesantes ya que tienen la
ventaja de un menor cableado y solucionan el problema de la velocidad con un mayor
apantallamiento; son ms baratos ya que usan la tcnica del par trenzado; por ello, el
puerto RS-232 e incluso multitud de puertos paralelos estn siendo reemplazados por
nuevos puertos serie como el USB, el Firewire o el Serial ATA. Los puertos serie sirven
para comunicar al ordenador con la impresora, el ratn o el mdem; Sin embargo,
especficamente, el puerto USB sirve para todo tipo de perifricos, desde ratones,
discos duros externos, hasta conexin bluetooth.

Los puertos SATA (Serial ATA): tienen la misma funcin que los IDE, (a stos se
conecta, la disquetera, el disco duro, lector/grabador de CD y DVD) pero los SATA
cuentan con mayor velocidad. Un puerto de red puede ser puerto serie o puerto
paralelo.



Figura 5.6 Esquema de bloques de un puerto serie de un procesador digital




Figura 5.7 Acoplamiento en paralelo por paro o por consulta de un perifrico a un procesador
IPN-ESIME Zacatenco Electrnica III

133


Figura 5.8 a) La transmisin paralela utiliza una lnea por bit, y todos se transmiten en forma simultnea. b) la
transmisin serial emplea solo una lnea de seal, cada bit se transmite en forma consecutiva (uno por uno).

5.1.4 PCI

Puertos PCI (Peripheral Component Interconnect): son ranuras de expansin en las que
se puede conectar tarjetas de sonido, de vdeo, de red etc. El slot PCI se sigue usando
hoy en da y podemos encontrar bastantes componentes (la mayora) en el formato
PCI. Dentro de los slots PCI est el PCI-Express. Los componentes que suelen estar
disponibles en este tipo de slot son:

1. Capturadoras de televisin

2. Controladoras RAID


134

3. Tarjetas de red, inalmbricas o no.

4. Tarjetas de sonido

5.1.5 PCI-Express

PCI-Express (anteriormente conocido por las siglas 3GIO, 3rd Generation I/O) es un
nuevo desarrollo del bus PCI que usa los conceptos de programacin y los estndares
de comunicacin existentes, pero se basa en un sistema de comunicacin serie mucho
ms rpido que PCI y AGP. Este sistema es apoyado principalmente por Intel, que
empez a desarrollar el estndar con nombre de proyecto Arapahoe despus de
retirarse del sistema Infiniband. Tiene velocidad de 16x (8GB/s) y es utilizado en
tarjetas grficas. Adems de todo esto el 501 se pueden poner las tarjetas graficas.

5.1.6 Puertos de memoria

A estos puertos se conectan las tarjetas de memoria RAM. Los puertos de memoria,
son aquellos puertos en donde se puede agrandar o extender la memoria de la
computadora. Existen diversas capacidades de memorias RAM, por ejemplo, aquellas
de 256MB (Megabytes) o algunas de hasta 4GB (Gigabytes), entre ms grande, ms
almacenamiento tiene la computadora.

El almacenamiento de la memoria RAM, es para que el sistema tenga rpidamente
datos solicitados o programas. la RAM no se debe confundir con el disco duro, el disco
duro una vez apagada la computadora no pierde los datos, mientras que la RAM al
apagar la computadora stos se borran completamente; la RAM fue diseada por que el
acceso a ella es ms rpido que el disco duro lo que hace que la computadora sea ms
rpida pudiendo ejecutar una mayor cantidad de procesos.

5.1.7 Puerto de rayos infrarrojos

En este tipo de puertos, puede haber de alta velocidad, los infrarrojos sirven para
conectarse con otros dispositivos que cuenten con infrarrojos sin la necesidad de
cables, los infrarrojos son como el Bluetooth. La principal diferencia es que la
comunicacin de Infrarrojos usa como medio la luz, en cambio el Bluetooth utiliza ondas
de radio frecuencia.

Especificaciones: para pasar la informacin por medio de infrarrojos se necesita colocar
los infrarrojos pegados uno con el otro y as mantenerlos hasta que todos los datos se
pasen de un puerto infrarrojo al otro, esto lleva un poco ms de tiempo que si lo
hiciramos con el bluetooth.

Muchas computadoras cuentan con un puerto de rayos infrarrojos de alta velocidad,
que agiliza que los archivos, datos, imgenes, etc. se pasen ms rpido.

5.1.8 Puerto USB
IPN-ESIME Zacatenco Electrnica III

135


Permite conectar hasta 127 dispositivos y ya es un estndar en los ordenadores de
ltima generacin, que incluyen al menos dos puertos USB 1.1, o puertos USB 2.0 en
los ms modernos. Es totalmente Plug & Play, es decir, con slo conectar el dispositivo
y en caliente (con el ordenador encendido), el dispositivo es reconocido e instalado de
manera inmediata. Slo es necesario que el Sistema Operativo lleve incluido el
correspondiente controlador o driver, hecho ya posible para la mayora de ellos sobre
todo si se dispone de un Sistema Operativo como por ejemplo Windows XP, de lo
contrario el driver le ser solicitado al usuario.

Posee una alta velocidad en comparacin con otro tipo de puertos, USB 1.1 alcanza los
12 Mb/s y hasta los 480 Mb/s (60 MB/s) para USB 2.0, mientras un puerto serie o
paralelo tiene una velocidad de transferencia inferior a 1 Mb/s. El puerto USB 2.0 es
compatible con los dispositivos USB 1.1

El cable USB permite tambin alimentar dispositivos externos a travs de l, el
consumo mximo de este controlador es de 5 voltios. Los dispositivos se pueden dividir
en dispositivos de bajo consumo (hasta 100 mA) y dispositivos de alto consumo (hasta
500 mA) para dispositivos de ms de 500 mA ser necesario alimentacin externa.
Debemos tener en cuenta tambin que si utilizamos un concentrador y ste est
alimentado, no ser necesario realizar consumo del bus. Hay que tener en cuenta que
la longitud del cable no debe superar los 5 m y que ste debe cumplir las
especificaciones del Standard USB iguales para la 1.1 y la 2.0

5.1.9 Puertos Fsicos

Los puertos fsicos, son aquellos como el puerto "paralelo" de una computadora. En
este tipo de puertos, se puede llegar a conectar: un monitor, la impresora, el escaner,
etc. Ya que estos artculos cuentan con un puerto paralelo para la computadora, con el
cual se puede conectar y empezar su labor. En si el puerto paralelo es una conexin
ms para la impresora.

5.1.10 Universal Serial Bus

El Universal Serial Bus (bus universal en serie) o Conductor Universal en Serie,
abreviado comnmente USB, es un puerto que sirve para conectar perifricos a una
computadora. Fue creado en 1996 por siete empresas: IBM, Intel, Northern Telecom,
Compaq, Microsoft, Digital Equipment Corporation y NEC.

El estndar incluye la transmisin de energa elctrica al dispositivo conectado. Algunos
dispositivos requieren una potencia mnima, as que se pueden conectar varios sin
necesitar fuentes de alimentacin extra. La gran mayora de los concentradores
incluyen fuentes de alimentacin que brindan energa a los dispositivos conectados a
ellos, pero algunos dispositivos consumen tanta energa que necesitan su propia fuente
de alimentacin. Los concentradores con fuente de alimentacin pueden proporcionarle
corriente elctrica a otros dispositivos sin quitarle corriente al resto de la conexin
(dentro de ciertos lmites).

136


El diseo del USB tena en mente eliminar la necesidad de adquirir tarjetas separadas
para poner en los puertos bus ISA o PCI, y mejorar las capacidades plug-and-play
permitiendo a esos dispositivos ser conectados o desconectados al sistema sin
necesidad de reiniciar. Cuando se conecta un nuevo dispositivo, el servidor lo enumera
y agrega el software necesario para que pueda funcionar.

El USB puede conectar los perifricos como ratones, teclados, escneres, cmaras
digitales, telfonos mviles, reproductores multimedia, impresoras, discos duros
externos, tarjetas de sonido, sistemas de adquisicin de datos y componentes de red.
Para dispositivos multimedia como escneres y cmaras digitales, el USB se ha
convertido en el mtodo estndar de conexin. Para impresoras, el USB ha crecido
tanto en popularidad que ha desplazado a un segundo plano a los puertos paralelos
porque el USB hace mucho ms sencillo el poder agregar ms de una impresora a una
computadora personal.

En el caso de los discos duros, es poco probable que el USB reemplace completamente
a los buses (el ATA (IDE) y el SCSI), pues el USB tiene un rendimiento ms lento que
esos otros estndares. Sin embargo, el USB tiene una importante ventaja en su
habilidad de poder instalar y desinstalar dispositivos sin tener que abrir el sistema, lo
cual es til para dispositivos de almacenamiento externo. Hoy en da, una gran parte de
los fabricantes ofrece dispositivos USB porttiles que ofrecen un rendimiento casi
indistinguible en comparacin con los ATA (IDE). Por el contrario, el nuevo estndar
Serial ATA permite tasas de transferencia de hasta aproximadamente 150/300 MB por
segundo, y existe tambin la posibilidad de extraccin en caliente e incluso una
especificacin para discos externos llamada eSATA.
IPN-ESIME Zacatenco Electrnica III

137


5.1.11 Puertos de entrada/salida

Introduccin

Los puertos del microcontrolador son el punto de comunicacin entre el
microcontrolador y el mundo exterior; a travs de ellos se puede efectuar procesos de
control electrnico sobre dispositivos de potencia, instrumentacin, telemetra, etc.
Adems, permiten tambin recibir seales del mundo exterior como, por ejemplo,
seales provenientes de transductores, amplificadores, transmisores, actuadores, etc.

En otras palabras, los puertos del microcontrolador se pueden ver como los brazos con
los que interacta el microcontrolador con otros sistemas electrnicos.

En el microcontrolador, 23 pines pueden ser configurados de manera bidireccional (I/O)
a travs de tres puertos paralelos. Todos los pines pueden ser configurados como
entrada o salida.

Se debe tener en cuenta que en la gran mayora de familias de microcontroladores los
puertos de entrada/ salida no solamente cumplen funciones de envo y recepcin de
seales digitales, sino que adems comparten recursos internos con el
microcontrolador; es decir, que si por un pin en especial se pueden manipular datos
digitales ("1" y "O"), segn la estructura interna, tambin podra cumplir, por ejemplo,
funciones de conversin A/D o funciones de PWM, o funciones de comparacin
analgica, entre otras funciones adicionales propias de cada familia de
microcontroladores a utilizar.

Estos mdulos alternos o compartidos presentes en el microcontrolador se pueden
conocer para cualquier familia de microcontroladores en el manual de referencia propio
de cada uno; para el caso del JK1/JK3/JL3, se puede observar en el captulo 2 del
presente libro.

Nota: Antes de comenzar con la descripcin de cada uno de los puertos existentes en la
familia JK1/JK3/JL3, se recomienda el montaje del siguiente circuito, el cual no
solamente le ayudar a la verificacin de los ejercicios resueltos sino que adems
podr servirle de gua para desarrollar otros programas sencillos y visualizar posibles
resultados que al procesarse internamente en el microcontrolador sera imposible
visualizarlos a simple vista, pero con la ayuda de este circuito podr visualizar el
resultado, por ejemplo, de una operacin matemtica, lgica o el resultado de algn
proceso en particular, gracias al banco de LEDS presentes en el esquema.

A continuacin se ilustra cada uno de los registros correspondientes al uso y
configuracin de cada uno de los puertos existentes en esta familia especial de
microcontroladores.


138


REGISTRO PORT A (PTA)

Direccin $0000

Bit 7 Bit 6 Bit5 Bit 4 Bit3 Bit 2 Bit1 BitO
Leer 0
Escribir
PTA 6 PTA 5 PTA 4 PTA 3 PTA 2 PTA1 PTAO

Este registro posee sus 8 bits, de los cuales slo 7 pueden ser configurados como pines
de entrada o salida de manera independiente a travs del registro DDRA. Adems de
permitir manejar independientemente las salidas de cada uno de sus bits, tiene la
funcin especial de interrupcin por teclado, efectundose esta configuracin mediante
el registro KBI, lo cual se explicar en detalle ms adelante. Una de las principales
caractersticas de este puerto es que cada pin del puerto A posee configuracin por
software de las resistencias de Pull-Up a travs del registro PTAPUE. Estas resistencias
tienen un valor de 30 k.




Fig. 5.9 Circuito recomendado para la verificacin de rutinas, ejemplos resueltos y propuestos
IPN-ESIME Zacatenco Electrnica III

139


Una resistencia de Pull-Up consiste en una resistencia que se encuentra conectada
internamente entre un pin en particular del puerto A y el terminal positivo de
alimentacin o VDD, que en nuestro caso sera +5 V.

Para comprender mucho mejor este concepto, supongamos que se desea conocer
cmo estara conectada la resistencia del Pull-Up presente en el pin O del puerto A
(PTAO). En la grfica siguiente se ilustra este concepto con gran detalle.



Fig.5.10 Conexin interna de una resistencia de Pull-Up a travs de pin PTA0.

REGISTRO DE CONFIGURACIN DEL PORT A (DDRA)

Direccin $0004

Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Leer 0
Escribir

DDRA 6 DDRA 5 DDRA 4 DDRA 3 DDRA 2 DDRA1 DDRA 0

Mediante este registro de 8 bits, de los cuales slo se puede acceder a 7 bits, se
efecta la configuracin de los bits del registro PORT A, ya sea como entradas o como
salidas. Tal como se mencion en el captulo 2, el registro PORTA permite visualizar el
estado actual de los diferentes niveles presentes en el puerto; sin embargo, el registro
DDRA sera el encargado de realizar la configuracin del puerto A, en donde se
establece inicialmente qu pines se configurarn para recibir seales de fuentes

140

externas y qu pines funcionarn como salidas del microcontrolador hacia el mundo
real.
A continuacin se describe qu valores deben establecerse en el registro DDRA para
configurar un pin como entrada o como salida.

DDRA[6:0]: bits de configuracin del PORT A

1: El pin correspondiente del PORT A es configurado como salida
0: El pin correspondiente del PORT A es configurado como entrada


REGISTRO PTAPUE

Direccin $OOOD

Bit 7 Bit 6 Bit5 Bit 4 Bit3 Bit 2 Bit 1 Bit 0
Leer
Escribir
PTA6E
N
PTAPU
E6
PTAPU
E5
PTAPUE
4
PTAPU
E3
PTAPU
E2
PTAPU
E1
PTAPUE
0

Este registro es el que permite habilitar o deshabilitar las resistencias de Pull-Up para
cada uno de los pines del puerto A. Se debe tener en cuenta que cuando se habilitan
las resistencias de Pull-Up, estas resistencias sern vlidas solamente cuando el pin
correspondiente es configurado como entrada y dinmicamente deshabilitado cuando
este pin es configurado como salida.

A continuacin se explica en detalle el significado de cada bit \5ertetvecietvte al registro
PTAPUE y la funcin que desempea cada uno.

PTA6EN: Habilitar el pin PTA6 como OSC2.

La funcin del OSC2 se configura cuando se escoge la opcin de oscilador RC.

1: El OSC2 es configurado para utilizar el pin PTA6 como un pin de I/O, con las
funciones de interrupcin y configuracin de resistencias de Pull-Up.

0: El OSC2 es configurado como oscilador de tipo RC.

PTAPUE[6:0]: Habilitacin de resistencias de Pull-Up

1: Habilita las resistencia de Pull-Up correspondiente al pin del puerto A,
siempre y cuando este pin est configurado como entrada.

0: Deshabilita la resistencia de Pull-Up correspondiente al pin del puerto A.

IPN-ESIME Zacatenco Electrnica III

141


Ejemplo

Supongamos que se desea configurar en el puerto A los 4 bits de menos peso como
entradas y los 4 pines ms peso como salidas; adicionalmente, habilitar las resistencias
de Pull-Up para los 4 pines configurac como entrada en el puerto A.

Solucin

MOV #$FO,DDRA
MOV #$8F,PTAPUE

Explicacin

En la primera instruccin se almacen en el registro DDRA el valor $FO (F0h) que
corresponde al val 11110000 expresado en binario, provocando con ello que los bits en
donde se encuentran con valor "O" se configurados como entrada y los bits donde se
encuentran "1" sean configurados como salida.

En la segunda instruccin se almacen en el registro PTAPUE el valor $8F (8Fh) que
corresponde al val 10001111 expresado en binario, provocando con ello que los bits en
donde se encuetan con valor "O" deshabilite el uso de resistencias de Pull-Up y los bits
donde se encuentran "1" sean habilitadas; sin embargo en el bit 7 del registro PTAPUE
se estableci el valor "1", el cual en este caso no corresponde a la habilitad' de una
resistencia de Pull-Up, sino habilitando la opcin de ser utilizado este pin como pin de
I/O y no con entrada para un oscilador de tipo RC.

Con las instrucciones anteriores se da solucin al problema, configurando como primera
medida los 4 bits de menos peso del puerto A como entradas y los 4 bits de ms peso
como salidas; adems se habilit internamente el uso de 4 resistencias de Pull-Up en
los pines correspondientes a los 4 bits de menos peso del puerto A.

REGISTRO PORT B (PTB]

Direccin $0001

Bit 7 Bit 6 Bit5 Bit 4 Bit 3 Bit 2 Bit l Bit O
Leer
Escribir
PTB7 PTB6 PTB5 PTB4 PTB3 PTB2 PTB1 PTBO

Bit 7 Bit 6 Bit5 Bit 4 Bit 3 Bit 2 Bit1 BitO

ADC7 ADC6 ADC5 ADC4 ADC3 ADC2 ADC1 ADCO


142

El registro PORTB permite la manipulacin de seales digitales entre sus terminales, tal
como ocurre o el registro PORTA; sin embargo, este puerto comparte adicionalmente
recursos con el mdulo de conversin analgico-digital incluido internamente en el
microcontrolador, en donde cada pin del puerto corresponde] a un canal de conversin
A/D. Cada uno de estos pines puede ser configurado como entrada o como salida de
manera independiente a travs del registro DDRB.

REGISTRO DE CONFIGURACIN DEL PORT B (DDRB)

Direccin $0005

Bit 7 Bit 6 Bt5 Bit 4 Bit 3 Bit 2 Bit1 BitO
Leer
Escribir DDRB7 DDRB6 DDRB5 DDRB4 DDRB3 DDRB2 DDRB1 DDRBO

Mediante este registro de 8 bits se efecta la configuracin de los bits del registro
PORT B, ya sea con entradas o salidas, tal como ocurra con el registro de
configuracin DDRA.

DDRB [7:0]: bits de configuracin del PORT B

1: El pin correspondiente del PORT B es configurado como salida.
0: El pin correspondiente del PORT B es configurado como entrada.


REGISTRO PORT D
Direccin $0003

Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit l Bit O
Leer
PTD7 PTD6 PTD5 PTD4 PTD3 PTD2 PTD1 PTDO
Escribir
















Bit 7 Bit 6 Bit5 Bit 4 Bit3 Bit 2 Bit1 Bit O
Funcin 1 LED LED TCH1 TCHO LED LED
Funcin 2 25MA 25MA ADC8 ADC9 ADC10 ADCI1

El registro PORTD posee dos pines destinados para uso del mdulo TIM, 4 pines
destinados para canales de conversin A/D (los mdulos TIM y ADC sern tratados en
captulos posteriores) y dos pines (PTD6 y PTD7) que poseen drivers de corriente
superior a 25 mA y resistencias de Pull-Up programables de 5 k.

Cada uno de estos pines puede ser configurado como entrada o como salida de
manera independiente a travs del registro DDRD.

IPN-ESIME Zacatenco Electrnica III

143

REGISTRO DE CONFIGURACIN DEL PORT D

Direccin $0007

Bit 7 Bit 6 Bit5 Bit 4 Bit3 Bit 2 Bit 1 Bit O
Leer
Escribir
DDRD7 DDRD6 DDRD5 DDRD4 DDRD3 DDRD2 DDRD1 DDRDO

Mediante este registro de 8 bits se efecta la configuracin de los bits del registro
PORT D, ya sea como entradas o como salidas.

DDRD[7:0]: bits de configuracin del PORT D

1: El pin correspondiente del PORT D es configurado como salida.
0: El pin correspondiente del PORT D es configurado como entrada.

REGISTRO DE CONTROL DEL PORT D (PDCR]

Direccin $OOOA

Bit 7 Bit 6 Bit5 Bit 4 Bit3 Bit 2 Bit1 BitO
Leer 0 0 0 0
Escribir
SLOWD
7
SLOWD
6
PTDPU7 PTDPU6

Este registro cumple funciones muy semejantes a las del registro PTAPUE explicado
anteriormente, permitiendo habilitar y deshabilitar las resistencias de Pull-Up, y manejo
del driver de corriente para los pines PTD7 y PTD6. A continuacin se explica el modo
de configuracin de este registro y las funciones que realiza segn los valores
establecidos en cada uno de sus bits.

SLOWDx: los bits SLOWD6 Y SLOWD7 permiten habilitar drenador abierto y driver de
corriente.
1: El pin est configurado como salida de drenador abierto.
0: El pin est configurado con Push-Pull.

PTDPUx: bits para habilitar resistencias de Pull-Up.
1: Habilitar resistencia de Pull-Up de 5 K.
0: Deshabilitar resistencia de Pull-Up de 5 K.








144


5.2 ADQUISICIN DE SEALES ANALGICAS
5.2.1 Introduccin
Una seal analgica es un tipo de seal generada por algn tipo de fenmeno
electromagntico y que es representable por una funcin matemtica continua en la que
es variable su amplitud y periodo (representando un dato de informacin) en funcin del
tiempo. Algunas magnitudes fsicas comnmente portadoras de una seal de este tipo
son elctricas como la intensidad, la tensin y la potencia, pero tambin pueden ser
hidrulicas como la presin, trmicas como la temperatura, mecnicas, etc. La
magnitud tambin puede ser cualquier objeto medible como los beneficios o prdidas
de un negocio.

Una onda senoidal es una seal analgica de una sola frecuencia. Los voltajes de la
voz y del video son seales analgicas que varan de acuerdo con el sonido o
variaciones de la luz que corresponden a la informacin que se est transmitiendo.
Basndose en el analisis de Fourier, una seal digital es una seal analgica
compuesta. El ancho de banda es infinito, como se podra adivinar. Se puede llegar a
este concepto si se estudia una seal digital. Una seal digital, en el dominio del
tiempo, incluye segmentos horizontales y verticales conectados. Una lnea vertical en el
dominio de tiempo significa una frecuencia cero (no hay cambio en el tiempo). Ir de una
frecuencia cero a una frecuencia infinito (y viceversa) implica que todas las frecuencias
en medio son parte del dominio. El anlisis de Fourier se puede usar para descomponer
una seal. Si la seal digital es peridica, lo que es raro en comunicaciones, la seal
descompuesta tiene una representacin en el dominio de frecuencia con un ancho de
banda infinito y frecuencias discretas. Si la seal digital es aperidica, la seal
descompuesta todava tiene un ancho de banda infinito, pero las frecuencias son
contnuas.

Aunque existen mltiples versiones del bus de campo digital, en los sistemas de control
industrial se siguen empleando seales analgicas estndar para transmitir datos entre
los procesos y los equipos de control. Los transmisores de proceso de una planta de
productos, por ejemplo, convierten seales de bajo nivel de presin y temperatura en
robustas seales de corriente de 4 a 20 mA que pueden transmitirse con facilidad a lo
largo de varios kilmetros.

5.2.2 Definicin de seal analgica

La seal analgica es aquella que presenta una variacin continua con el tiempo, es
decir, que a una variacin suficientemente significativa del tiempo le corresponder una
variacin igualmente significativa del valor de la seal (la seal es continua).

Toda seal variable en el tiempo, por complicada que sta sea, se representa en el
mbito de sus valores (espectro) de frecuencia. De este modo, cualquier seal es
IPN-ESIME Zacatenco Electrnica III

145

susceptible de ser representada descompuesta en su frecuencia fundamental y sus
armnicos. El proceso matemtico que permite esta descomposicin se denomina
anlisis de Fourier.

Un ejemplo de seal analgica es la generada por un usuario en el micrfono de su
telfono y que despus de sucesivos procesos, es recibida por otro abonado en el
altavoz del suyo.

Es preciso indicar que la seal analgica, es un sistema de comunicaciones de las
mismas caractersticas, mantiene dicho carcter y deber ser reflejo de la generada por
el usuario. Esta necesaria circunstancia obliga a la utilizacin de canales lineales, es
decir canales de comunicacin que no introduzcan deformacin en la seal original.


Fig. 5.11 Seal analgica

Las seales analgicas predominan en nuestro entorno (variaciones de temperatura,
presin, velocidad, distancia, sonido etc.) y son transformadas en seales elctricas,
mediante el adecuado transductor, para su tratamiento electrnico.

La utilizacin de seales analgicas en comunicaciones todava se mantiene en la
transmisin de radio y televisin tanto privada como comercial. Los parmetros que
definen un canal de comunicaciones analgicas son el ancho de banda (diferencia entre
la mxima y la mnima frecuencia a transmitir) y su potencia media y de cresta.

5.2.3 Conceptos fundamentales en adquisicin de seales
El acondicionamiento de las seales de entrada las prepara para la etapa siguiente, que
suele ser un procesador digital. Las seales analgicas son continuas en el tiempo y en
la amplitud, mientras que los procesadores digitales requieren seales con slo dos
niveles de tensin, que representan un cdigo determinado. La conversin analgico-
digital se encarga de convertir un tipo de seales en otro, y debe hacerlo conservando
la informacin. Es decir, idealmente debiera ser posible, a partir de la salida digital,
reconstruir fielmente la seal analgica de entrada.
La conversin A/D se puede analizar considerando tres procesos distintos: el muestreo,
la cuantificacin y la codificacin. El muestreo obtiene, a partir de la seal continua de
entrada, una seal discreta e el tiempo y continua en el dominio de las amplitudes, es
decir, una serie temporal. El muestreo es un proceso lineal, no exclusivo de la
conversin A/D sino presente tambin, por ejemplo, en sistemas de multiplexado por

146

divisin de tiempo (TDM, time-division multiplexing) y en la comunicacin por impulsos
modulados en amplitud (PAM, pulse-amplitude modulation).
La cuantificacin es una operacin no lineal que convierte una seal de amplitud
continua en otra de amplitud discreta, es decir, con un nmero finito de valores o
niveles de amplitud. La codificacin es el proceso de asignar una palabra (o
combinacin) de un cdigo digital a cada uno de una serie de niveles de tensin
discretos.
La informacin adquirida, directamente o tras el procesamiento de las seales, se
emplea a veces para actuar sobre el proceso o sistema de donde provienen; adems,
es frecuente presentarla, almacenarla, o ambas cosas a la vez. Dichas funciones se
suelen realizar directamente con las seales digitales, sin convertirlas de nuevo en
analgicas.
5.2.4 Seales de transmisin analgicas y seales de datos digitales

Dentro de este caso la situacin ms conocida es la transmisin de datos digitales a
travs de la red telefnica. Esta red se diseo originalmente para recibir, conmutar y
transmitir seales analgicas en el rango de frecuencias de vos (300 a 3400Hz). Por lo
tanto esta red no era del todo adecuada para la transmisin de seales digitales. No
obstante se pueden conectar dispositivos digitales mediante el uso de mdems
(modulador-demodulador), los cuales convierten los datos digitales en seales
analgicas y viceversa.

Los mdems telefnicos, se utilizan en la red telefnica para producir seales en el
rango de frecuencias de voz, los mdems de banda ancha, por ejemplo los mdems
ADSL y los mdems de cable o cablemodems, utilizan las mismas tcnicas pero a
frecuencias ms altas que las de la voz humana.

Dentro del grupo de transmisiones con seales de transmisin analgicas y datos
digitales tenemos los siguientes casos de tcnicas de modulacin o codificacin
dependiendo del parmetro de la seal portadora que es afectado.

Desplazamiento de amplitud ASK (Amplitudes-shift keying)
Desplazamiento de frecuencia FSK (Frequency-shift keying)
Desplazamiento de fase PSK (Phase-shift keying)

5.2.5 Transmisin de datos: transmisin analgica

Los principios de la transmisin analgica

La transmisin analgica que datos consiste en el envo de informacin en forma de
ondas, a travs de un medio de transmisin fsico. Los datos se transmiten a travs de
una onda portadora: una onda simple cuyo nico objetivo es transportar datos
modificando una de sus caractersticas (amplitud, frecuencia o fase). Por este motivo, la
transmisin analgica es generalmente denominada transmisin de modulacin de la
IPN-ESIME Zacatenco Electrnica III

147

onda portadora. Se definen tres tipos de transmisin analgica, segn cul sea el
parmetro de la onda portadora que vara:

Transmisin por modulacin de la amplitud de la onda portadora
Transmisin a travs de la modulacin de frecuencia de la onda portadora
Transmisin por modulacin de la fase de la onda portadora
Transmisin analgica de datos analgicos

Este tipo de transmisin se refiere a un esquema en el que los datos que sern
transmitidos ya estn en formato analgico. Por eso, para transmitir esta seal, el
DCTE (Equipo de Terminacin de Circuito de Datos) debe combinar continuamente la
seal que ser transmitida y la onda portadora, de manera que la onda que transmitir
ser una combinacin de la onda portadora y la seal transmitida. En el caso de la
transmisin por modulacin de la amplitud, por ejemplo, la transmisin se llevar a cabo
de la siguiente forma:



Fig. 5.12 Transmisin analgica de datos digitales

Cuando aparecieron los datos digitales, los sistemas de transmisin todava eran
analgicos. Por eso fue necesario encontrar la forma de transmitir datos digitales en
forma analgica.

La solucin a este problema fue el mdem. Su funcin es:

En el momento de la transmisin: debe convertir los datos digitales (una
secuencia de 0 y 1) en seales analgicas (variacin continua de un fenmeno
fsico). Este proceso se denomina modulacin.

Cuando recibe la transmisin: debe convertir la seal analgica en datos
digitales. Este proceso se denomina demodulacin.

De hecho, la palabra mdem es un acrnimo para MOdulador/DEModulador...

5.2.6 Sistema de adquisicin de datos analgicos


148

Un sistema de adquisicin de datos analgico consta de algunos o todos los elementos
siguientes:

a) Transductores: Para la transformacin de parmetros fsicos en seales
elctricas.

b) Acondicionadores de seales Para la amplificacin, modificacin o seleccin de
ciertas partes de estas seales.

c) Dispositivos de presentacin visual Para monitoreo continuo de las seales de
entrada. Estos dispositivos pueden incluir osciloscopio de varios canales o de un
solo canal, osciloscopio de almacenamiento, panel de medidores, desplegados
numricos, etctera.

d) Instrumentos de registro de grficas Para obtener un registro permanente de los
datos de entrada. Estos incluyen registradores de tinta y plumilla para
proporcionar registros continuos en cortes de papel, sistemas de registro ptico
como los registradores de galvanmetro de espejo y los registradores
ultravioleta. Instrumentacin de cinta magntica para guardar los datos de
entrada, conservar su forma elctrica original y reproducirlos posteriormente para
un ms detallado.

Los sistemas de adquisicin de datos se utilizan en un gran nmero de aplicaciones (en
constante aumento), en una variedad de reas industriales y cientficas, como la
industria biomdica, aeroespacial y telemetra. El tipo de sistema de adquisicin de
datos, analgica o digital, depende del uso de los datos registrados.

En general, los sistemas de datos analgicos se utilizan cuando se requiere un amplio
ancho de banda o cuando se puede tolerar poca exactitud. Los sistemas digitales se
aplican cuando el proceso fsico que en estudio vara poco (ancho de banda angosto) y
cuando se necesita una exactitud alta y bajo costo por canal.

5.2.7 Las seales analgicas en el diseo de sistemas de adquisicin de
datos

Un nuevo artculo dedicado a la que consideramos la mejor estrategia de
automatizacin para conseguir aumentar la productividad industrial de una forma
sencilla. Nos referimos, a la adquisicin de datos. En este artculo abordamos en detalle
las especificaciones de diseo que deben tenerse en cuenta al tratar seales
analgicas en los sistemas de adquisicin de datos. Un conocimiento detallado de las
seales analgicas y los efectos en la conversin de datos que pueden producirse en
un ambiente industrial nos ayudar a conocer con antelacin los problemas que pueden
producirse en el proyecto.

El equipamiento de adquisicin analgica es el corazn de cualquier sistema de
adquisicin de datos. Microprocesadores, procesadores de seales digitales, memoria,
programas originales, drivers de software, sistemas operativos, y aplicaciones de
IPN-ESIME Zacatenco Electrnica III

149

software puede formar el cerebro de un sistema, pero su eficiencia no es mayor que la
de los circuitos analgicos. Para construir un sistema que tenga la velocidad necesaria,
resolucin, y exactitud para una aplicacin dada, es necesario encontrar la combinacin
correcta de convertidores de datos analgicos, amplificadores operacionales,
multiplexores, y referencias de voltaje.

En un circuito de un sistema de adquisicin de datos, la trayectoria de una seal
comienza en los conectores de entrada. La mayora de los sistemas de adquisicin de
datos tienen alguna forma de proteccin colocada antes de los circuitos analgicos.
Para ello se utilizan componentes tales como fusibles o diodos de bloqueo limitan el
voltaje o corriente que entra en un sistema, protegiendo de esta forma a los
componentes de posibles daos.

Los sistemas convencionales de adquisicin de datos raramente se disean con un
nico canal de medicin. Los multmetros digitales (DMMs), por ejemplo, disponen
tpicamente de un solo canal, pero es posible combinar un DMM con un rel e
incrementar el recuento de canales. Cualquiera de los sistema de adquisicin de datos,
ya sea placa de conexin, mdulos USB, o sistemas autnomos, pueden tener un ADC
(convertidor analgico-digital) dedicado por canal, o pueden tener un simple ADCcon un
multiplexor (mux) conectado a canales mltiples. El uso de un ADC dedicado para cada
canal permite al sistema muestrear simultneamente en todos los canales.

Despus del multiplexor (si est incluido en el sistema), se utiliza un amplificador de
ganancia programable (PGA). El PGA amplifica o atena el voltaje de entrada de las
fuentes de seales, como por ejemplo los sensores, y de esta forma se consigue un
mejor acoplamiento en el rango de voltajes de entrada del ADC. En algunos sistemas
de adquisicin de datos se incluye un segundo amplificador operacional que aade
voltaje de compensacin, u offset, DC a la seal de entrada. El voltaje de
compensacin se utiliza para cambiar la seal de forma que se centre en el rango de
entrada admitido por el ADC. El rango del voltaje de entrada del ADC, por lo tanto, tiene
una influencia destacable en la eleccin del PGA.

Otra opcin posible es el uso de circuitos de bloqueo para proteger el ADC. Justamente
antes del ADCE, la mayora de los diseadores de sistemas de adquisicin de datos
aaden un filtro anti-solapamiento de paso bajo. Con este filtro conseguimos limitar el
ancho de banda de la trayectoria de la seal y es la ltima opcin para conseguir
minimizar el solapamiento antes de que el ADC digitalice la seal.

Para conseguir digitalizar con xito las seales analgicas, los ADC necesitan un
voltaje de referencia, Vref. Algunos convertidores ADCs, utilizan referencia interna y
otros referencia interna. Algunos ingenieros defienden la utilizacin de referencias de
voltaje externas argumentando que son ms estables que las internas. Otra ventaja de
las referencias externas es que puede ajustarse la ganancia de la trayectoria de entrada
mediante el control del voltaje de la referencia ADC. Si el voltaje es demasiado alto, la
solucin es proporcionar Vref mayor.


150

Respecto a la forma de la salida digital de un ADC, sta puede tener forma serie o
paralelo. El bus serie proporciona un rendimiento mejorado debido a que son menos las
lneas que cambiarn de estado en un momento dado, lo cual minimiza el rebote en las
lneas de energa y de tierra y reduce el ruido del sistema. Tambin debemos tener en
cuenta que las interfaces serie funcionan con velocidades de reloj ms elevadas que los
buses paralelos para el mismo nmero de bits, es necesario direccionar las seales
para mantener bajo el ruido.

Eleccin de un ADC

Los procesos industriales difieren mucho entre s: seales, velocidades, condiciones
ambientales, etc. Es consecuentemente importante analizar en detalle el proceso para
optar por la eleccin correcta del ADC ms adecuado para nuestra aplicacin. La
eleccin de ADC lleva a que deban tenerse en cuenta numerosos sacrificios de diseo,
y es necesario incluso tener en cuenta en detalle la arquitectura del sistema. Por
ejemplo, los sistemas de adquisicin de datos utilizan registro de aproximacin sucesiva
(SAR) o arquitectura delta-sigma (). Comparativamente, los sistemas SAR generan
ms velocidad que los ADCs (), pero las arquitecturas () producen resoluciones
ms finas. Consecuentemente, si la resolucin que necesitamos es mayor de 18-bit,
necesitaremos un convertidor . Los niveles de muestreo que requieren nuestro
proceso y los voltajes de suministro de energa del ADC determinarn el tipo de
circuitos de soportes que podemos usar. Consideremos, por ejemplo, el voltaje de
alimentacin. La mayora de los ADCs estn fabricados con procesos CMOS, en vez de
con procesos bipolares, y es conocido que los procesos CMOS operan con unos
requerimientos de potencia considerablemente menores que los dispositivos bipolares.

Aunque los bajos voltajes reducen el consumo de potencia, tambin comprimen el
rango dinmico del ADC. Un ADC que opera a 12 voltios tiene seis veces el rango
dinmico de un dispositivo de 0-4 voltios. Consecuentemente, la misma cantidad de
ruido impactar en el sistema de 12 voltios mucho menos que un sistema de 4 V. El
ruido que entra en un ADC debe mantenerse menor de 1 el bit menos significativo
(LSB). Es por ello necesario utilizar un amplificador operacional con un nivel de ruido
consistente con el rango dinmico de un LSB en frente del ADC. Eso significa que ser
necesario un menor nivel de ruido en un ADC de 24 voltios que en un ADC de 16 bits.
Para conseguir el mejor rango dinmico, las seales de nivel alto se extendern en el
canal analgico tan lejos como sea posible. El DMMs de Keithley, por ejemplo,
proporciona la mejor exactitud en el rango de los 10 voltios, donde no se necesita ni
amplificacin ni atenuacin de la seal entrante.

5.2.8 Conversin analgica-digital

Una seal digital vara de forma discreta o discontinua a lo largo del tiempo. Parece
como si la seal digital fuera variando a saltos entre un valor mximo y un valor
mnimo.

Por otra parte, una seal analgica es una seal que vara de forma continua a lo largo
del tiempo. La mayora de las seales que representan una magnitud fsica
IPN-ESIME Zacatenco Electrnica III

151

(temperatura, luminosidad, humedad, etc.) son seales analgicas. Las seales
analgicas pueden tomar todos los valores posibles de un intervalo; y las digitales solo
pueden tomar dos valores posibles.

Digitalizacin

Un ordenador o cualquier sistema de control basado en un microprocesador no pueden
interpretar seales analgicas, ya que solo utiliza seales digitales. Es necesario
traducir, o transformar en seales binarias, lo que se denomina proceso de
digitalizacin o conversin de seales analgicas a digitales.

En la grfica inferior se observa una seal analgica, que para ser interpretada en un
ordenador ha de modificarse mediante digitalizacin. Un medio simple es el muestreado
o sampleado. Cada cierto tiempo se lee el valor de la seal analgica. Si el valor de la
seal en ese instante est por debajo de un determinado umbral, la seal digital toma
un valor mnimo (0).

Cuando la seal analgica se encuentra por encima del valor umbral, la seal digital
toma un valor mximo (1).

Imagen:


Fig. 5.13 Digitalizacin por muestreado de una seal analgica

El momento en que se realiza cada lectura es ordenado por un sistema de
sincronizacin que emite una seal de reloj con un perodo constante. Estas
conversiones analgico-digitales son habituales en adquisicin de datos por parte de un
ordenador y en la modulacin digital para transmisiones y comunicaciones por radio.

152


5.3 INTERRUPCIONES

(SISTEMA DE INTEGRACION MODULAR)

5.3.1 Introduccin

En esta seccin se explicar el sistema de integracin modular, el cual soporta hasta 24
interrupciones internas y externas, junto con la CPU, los controles SIM y todas las
actividades de la MCU. A continuacin se ilustra un diagrama que muestra un resumen
de los registros de I/O existentes en la SIM. La SIM es un sistema de control de estados
que coordina a la CPU, y es responsable de:

Generacin del reloj de bus, control de la CPU y perifricos
Arranque, parada, espera y ruptura de entrada y recuperacin.
Control del reloj interno.
Control maestro del reset, incluyendo el Power - on- Reset y el tiempo de
rebosamiento del COP.
Control de interrupciones.
Habilitacin y deshabilitacin de tiempos en la CPU.


IPN-ESIME Zacatenco Electrnica III

153


Fig. 5.14 Diagrama del SIM
5.3.2 Entrada-salida e interrupcin

Una computadora no puede tener un propsito til a menos que se comunique con un
ambiente externo. Las instrucciones y los datos almacenados en la memoria deben
provenir de algn dispositivo de entrada. Los resultados computacionales deben
transmitirse al usuario mediante algn dispositivo de salida. Las computadoras
comerciales incluyen muchos tipos de dispositivos de entrada y salida. Para mostrar la
mayor parte de los requerimientos bsicos para comunicacin de entrada y salida,
utilizaremos como ejemplo una unidad terminal con un teclado e impresora.

5.3.3 Configuracin de entrada-salida

La terminal enva y recibe informacin serial. Cada cantidad de informacin tiene ocho
bits de un cdigo alfanumrico. La informacin serial del teclado se cambi dentro del
registro de entrada INPR. La informacin serial para la impresora se almacena en el
registro de salida OUTR. Estos dos registros comunican en forma serial con una
interfaz de comunicacin y con el AC en paralelo. La configuracin de entrada-salida se
muestra en la figura 5-12. La interfaz que transmite recibe informacin serial del teclado
y la transmite a INPR. La interfaz que recibe acepta informacin de OUTR y la enva en
forma serial a la impresora.

El registro de entrada INPR consta de ocho bits y contiene informacin de entrada
alfanumrica. La bandera de entrada de 1 bit FGI es un flip-flop de control. El bit de la
bandera se activa en 1 cuando hay disponible informacin nueva en el dispositivo de
entrada y se desactiva a O cuando la computadora acepta la informacin. La bandera
es necesaria para sincronizar la diferencia de la velocidad de temporizacin entre el
dispositivo de

entrada y la computadora. El proceso de transferencia de informacin e
como sigue. Al principio, la bandera de entrada FG se desactiva a 0. Cuando se oprime
una tecla en el teclado, se ejecuta un corrimiento sobre un cdigo alfanumrico de 8
bits dentro de INPR y la bandera de entrada FGI se inicia en 1.



154


Fig. 5.15 Configuracin de entrada salida

Mientras la bandera est en uno, no puede cambiarse la informacin en INPR al oprimir
otra tecla. La computadora comprueba el bit de la bandera; si es 1, la informacin de
INPR se transfiere en paralelo dentro de AC y FGI se reinicia a 0. Una vez que se
desactiva la bandera, puede introducirse informacin nueva dentro de INPR al oprimir
otra tecla.

El registro de salida OUTR funciona en forma similar pero la direccin del flujo de
informacin est invertida. Al principio la bandera de salida FGO se activa en 1. La
computadora comprueba el bit de la bandera; si es 1, la informacin de AC se transfiere
en paralelo a OUTR y FGO se desactiva a 0. El dispositivo de salida acepta la
informacin codificada, imprime el carcter correspondiente, y cuando se termina la
operacin activa FGO en 1. La computadora no carga un nuevo carcter en OUTR
cuando FGO es O porque esta condicin indica que el dispositivo de salida se
encuentra en el proceso de imprimir el carcter.

5.3.4 Instrucciones entrada - salida

Se necesitan instrucciones de entrada y salida para transferir informacin hacia y desde
el registro AC, para comprobar los bits de bandera, y para controlar la opcin de
interrupcin. Las instrucciones de entrada-salida tienen un cdigo de operacin 1111
que reconoce el control cuando D
7
= 1 e / = 1. Los bits restantes de la instruccin
especifican la operacin particular. Las funciones de control y las microoperaciones
para las instrucciones de entrad a-sal da se listan en la tabla 5-5. Estas instrucciones
se ejecutan con la transicin de reloj asociada con la seal de temporizacin T
3
. Cada
funcin de control necesita una relacin booleana D
7
IT
3
, que nosotros representamos
por conveniencia con el smbolo p. La funcin de control se diferencia por uno de los
bits en IR (6-11). Al asignar el smbolo Bi, al bit i de IR, todas las funciones de control
pueden representarse mediante pB para = 6 a 11. El contador secuencial SC se borra
a O cuando p = D
7
IT
3
= 1.

La instruccin INP transfiere la informacin de entrada de NPR a los ocho bits de orden
menor de AC y tambin desactiva la bandera de entrada a 0. La instruccin OUT
transfiere los ocho bits menos significativos de AC al registro de salida de OUTR y
desactiva la bandera de salida a 0. Las siguientes dos instrucciones de la tabla 5-5
comprueban el estado de las banderas y producen un salto de la siguiente instruccin si
la bandera es 1.

La instruccin que se salta por lo general ser una instruccin de transferencia o brinco
para retomar y comprobar una vez ms la bandera. La instruccin de transferencia no
se salta si la bandera es 0. Si la bandera es 1, la instruccin de transferencia se salta y
se ejecuta una instruccin de entrada o salida. Las ltimas dos instrucciones activan y
desactivan un flip-flop de habilitacin de interrupcin /EN. El propsito de IEN se explica
junto con la operacin de interrupcin.

IPN-ESIME Zacatenco Electrnica III

155

5.3.5 Interrupcin del programa

El concepto de interrupcin de programa se utiliza para manejar diversos problemas
que surgen de la secuencia de programa normal. La interrupcin de programa se refiere
a la transferencia del control de programa de un programa que corre en cierto momento
a otro programa de servicio, como resultado de una solicitud generada en forma externa
o interna. El control retorna al programa original despus de que se ejecuta el programa
de servicio.

El procedimiento de interrupcin es, en principio, muy similar a una solicitud de
subrutina, excepto por tres diferencias: 1) por lo general la interrupcin se inicia
mediante una seal externa o interna ms que por la ejecucin de una instruccin
(excepto para una interrupcin de programa, como se explica ms adelante); 2) la
direccin del programa de servicio de interrupcin la determina la circuitera y no el
campo de direccin de una instruccin; y 3) un procedimiento de interrupcin por lo
general almacena toda la informacin necesaria para definir el estado de la CPU en
lugar de slo almacenar el contador de programa. Estos tres conceptos de procedi-
miento se detallan en seguida.

Despus de que se ha interrumpido un programa y se ha ejecutado la rutina de servicio,
la CPU retorna al mismo estado exacto que tena cuando ocurri la interrupcin. Slo
de esta manera el programa interrumpido podr reanudar exactamente como si nada
hubiera ocurrido. El estado de la CPU al final del ciclo de ejecucin (cuando se
reconoce la interrupcin) est determinado por:

1. El contenido del contador del programa.
2. El contenido de todos los registros del procesador.
3. El contenido de ciertas condiciones de estado.

El conjunto de todas las condiciones de bit de estado en la CPU se denomina en
ocasiones una palabra de estado de programa o PSW (program status word). La PSW
se almacena en un registro de hardware separado y contiene la informacin de estado
que caracteriza a la CPU. Normalmente, incluye los bits de estado de la ltima
operacin de la ALU y especifica las interrupciones que se han permitido ocurran y si la
CPU est operando en un modo supervisor o de usuario. Muchas computadoras tienen
un sistema operativo residente que controla y supervisa todos los otros programas en la
computadora. Cuando la CPU ejecuta un programa que es parte del sistema operativo,
se dice que est en modo de supervisor o de sistema. Ciertas instrucciones tienen
privilegios y slo pueden ejecutarse en este modo. Por lo general la CPU est en el
modo usuario cuando ejecuta programas de usuario. El modo en el cual est operando
la CPU en cualquier momento dado lo determinan los bits de estado especiales en la
PSW.

Algunas computadoras slo almacenan el contador de programa cuando responden a
una interrupcin. El programa de servicio debe entonces incluir instrucciones para
almacenar el contenido de estado y registro antes de que se utilicen estos recursos.
Slo unas cuantas computadoras almacenan el contador de programa y todo el

156

contenido de los registros y del registro de estado en respuesta a una interrupcin. La
mayora de las computadoras slo almacenan el contador de programa y la PSW. En
algunos casos, existen dos conjuntos de registros de procesador dentro de la
computadora, uno para cada modo CPU. De esta manera, cuando el programa cambia
del modo usuario al supervisor (o viceversa) en respuesta a una interrupcin, no es
necesario almacenar el contenido de los registros de procesador porque cada modo
utiliza su propio conjunto de registros.

El procedimiento de hardware para procesar una interrupcin es muy similar a la
ejecucin de una instruccin de solicitud de subrutina. El estado de la CPU se salva a
una pila de memoria y la direccin inicial de la rutina de servicio se transfiere al
contador de programa. La direccin inicial de la rutina de servicio la determina la
circuitera en lugar de un campo de direccin de una instruccin. Algunas computadoras
asignan una localidad de memoria en donde se transfieren siempre las interrupciones.
La rutina de servicio debe determinar despus qu fue lo que produjo la interrupcin y
proceder a darle servicio. Algunas computadoras asignan una localidad de memoria
para cada interrupcin posible. En ocasiones, la interrupcin de hardware proporciona
su propia direccin, la cual dirige a la CPU a la rutina de servicio deseada. En cualquier
caso, la CPU debe poseer alguna forma de procedimiento de hardware para
seleccionar una direccin de transferencia del control para dar servicio a la interrupcin.
La CPU no responde a una interrupcin hasta el final de una ejecucin de instruccin.
Justo antes de pasar a la siguiente fase de recuperacin, el control comprueba
cualquier seal de interrupcin. Si est pendiente una, el control va a un ciclo de
interrupcin de hardware. Durante este ciclo el contenido de PC y PSW se salva dentro
de la pila. Despus se carga la direccin de transferencia para la interrupcin particular
al PC y se carga una nueva PSW dentro del registro de estado. El programa de servicio
puede ejecutarse ahora, comenzando de la direccin de transferencia y con un modo
CPU segn lo especifica la nueva PSW.

La ltima instruccin en el programa de servicio es una instruccin de retorno de
interrupcin. Cuando se ejecuta esta instruccin, se hace leer la pila para recuperar la
PSW anterior y la direccin de retorno. La PSW se transfiere al registro de estado y la
direccin de retorno al contador de programa. Por lo tanto, se restablece el estado de la
CPU y el programa original puede continuar su ejecucin.

5.3.6 Tipos de interrupciones

Existen tres tipos principales de interrupciones que producen una detencin en la
ejecucin normal de un programa. Se clasifican de la manera siguiente:

1. Interrupciones externas
2. Interrupciones internas
3. Interrupciones de programa

Las interrupciones externas provienen de dispositivos de entrada y salida (E/S), de un
dispositivo de temporizacin, de un circuito que monitorea la fuente de alimentacin o
de cualquier otra fuente externa. Algunos ejemplos de lo que produce interrupciones
IPN-ESIME Zacatenco Electrnica III

157

externas son dispositivos de E/S que solicitan transferencia de datos, dispositivos de
E/S que terminan transferencia de datos, tiempo transcurrido de un evento o una falla
de energa. Puede ocurrir una interrupcin por tiempo transcurrido de un programa que
est en un ciclo que no termina y que, por lo tanto, excede su tiempo asignado. Una
interrupcin por falla de energa puede tener como su rutina de servicio a un programa
que transfiere el estado completo de la CPU a una memoria no voltil en los pocos
segundos anteriores a una falla de energa.

Las interrupciones internas surgen debido a la utilizacin ilegal o errnea de una
instruccin o datos. Las interrupciones internas tambin se llaman trampas. Algunos
ejemplos de las interrupciones provocadas por condiciones de error internas son los
sobreflujos de registro, intentar dividir entre cero, un cdigo de operacin no vlido,
desbordamiento de pila, y violacin de la proteccin. Por lo general, estas condiciones
de error ocurren como resultado de una terminacin prematura de la ejecucin de una
instruccin. El programa de servicio que procesa la interrupcin interna determina la
medida correctiva que se debe tomar.

La diferencia entre las interrupciones interna y externa es que la interna se inicia por
alguna condicin excepcional causada por el programa mismo, ms bien que por un
evento externo. Las interrupciones internas son sncronas con el programa en tanto que
las externas no lo son. Si el programa se vuelve a ejecutar, las interrupciones internas
ocurrirn en el mismo lugar cada vez. Las interrupciones externas dependen de
condiciones independientes al programa que se ejecuta en ese momento.

Las interrupciones internas y externas se inician a partir de seales que ocurren en la
circuitera de la CPU. Una interrupcin de programa se inicia al ejecutar una instruccin.
La interrupcin de programa es una instruccin de solicitud especial que se comporta
como una interrupcin ms que como una solicitud de subrutina. El programador puede
utilizarla para iniciar un procedimiento de interrupcin en cualquier punto que se desee
del programa. El uso ms comn de la interrupcin de programa se asocia con una
instruccin de llamada de supervisor. Esta instruccin proporciona medios para cambiar
el modo de usuario de CPU al modo supervisor. Slo ciertas operaciones pueden
asignarse al modo supervisor en la computadora, por ejemplo, un procedimiento de
transferencia de entrada o salida complejo. Un programa escrito por un usuario debe
correr en el modo usuario. Cuando se necesita una transferencia de entrada o salida,
se solicita el modo supervisor mediante una instruccin de solicitud de supervisor. Esta
instruccin produce una interrupcin de programa que almacena el estado anterior de la
CPU y trae una nueva PSW que pertenece al modo supervisor. El programa que I
solicita debe pasar la informacin al sistema operativo con el fin de especificar la tarea
particular solicitada.

El proceso de comunicacin que se acaba de describir se refiere a una transferencia de
control programada. La computadora comprueba continuamente el bit de bandera, y
cuando lo encuentra activo en uno, inicia una transferencia de informacin. La
diferencia de la velocidad del flujo de informacin de la computadora y el del dispositivo
de entrada-salida hace ineficiente este tipo de transferencia. Para apreciar por qu es
ineficiente, pensemos en una computadora que puede recorrer un ciclo de instruccin

158

en un microsegundo. Consideremos que el dispositivo de entrada-salida puede
transferir informacin a una velocidad mxima de 10 caracteres por segundo. Esto es
equivalente a un carcter cada 100 000 microsegundos. Se ejecutan dos instrucciones
cuando la computadora comprueba el bit de bandera y decide no transferir la
informacin. Esto significa que a una velocidad mxima la computadora comprobar la
bandera 50 000 veces entre cada transferencia. La computadora gasta tiempo en
comprobar la bandera en lugar de hacer otra tarea de procesamiento til.

Una alternativa al procedimiento controlado que se programa es permitir que el
dispositivo externo informe a la computadora cuando est listo para la transferencia.
Mientras tanto, la computadora puede ocuparse con otras tareas. Este tipo de
transferencia utiliza la opcin de interrupcin. Mientras la computadora corre un
programa, no comprueba las banderas. Sin embargo, cuando se activa una bandera, la
computadora interrumpe momentneamente su procedimiento con el programa actual y
se le informa que se ha activado una bandera. La computadora deja momentneamente
lo que est haciendo para ocuparse de la transferencia de entrada o salida. Despus
regresa al programa actual a continuar lo que estaba haciendo antes de la interrupcin.
El flip-flop de habilitacin de interrupcin IEN puede habilitarse o deshabilitarse con dos
instrucciones. Cuando IEN se borra a O (con la instruccin IOF), las banderas no
pueden interrumpir a la computadora. Cuando IEN se activa en 1 (con la instruccin
ION), la computadora puede ser interrumpida. Estas dos instrucciones le proporcionan
al programador la opcin de decidir si utiliza o no la opcin de interrupcin.

La manera en que la computadora maneja la interrupcin puede explicarse mediante el
diagrama de flujo de la figura 5-13. Se incluye un flip-flop de interrupcin R en la
computadora. Cuando R = O, la computadora ejecuta un ciclo de instruccin. Durante la
fase de ejecucin de la instruccin, el control comprueba el estado de IEN. Si es O,
indica que el programador no desea usar la interrupcin, por lo que el control contina
con el siguiente ciclo de instruccin. Si IEN es 1, el control comprueba los bits de
bandera. Si ambas banderas son O, significa que tanto el registro de entrada como de
salida no estn listos para una transferencia de informacin. En este caso el control
contina con el siguiente ciclo de instruccin. Si alguna bandera est en 1 mientras IEN
= 1, el flip-flop R se inicia en 1. Al final de la fase de ejecucin, el control comprueba el
valor de R, y si es igual a 1, va a un ciclo de interrupcin en lugar de un ciclo de
instruccin;

El ciclo de interrupcin es una implementacin de hardware de una transferencia de
programa y salva la direccin de retorno de la siguiente instruccin. La direccin de
retorno disponible en el PC se almacena en una localidad especfica donde pueda
encontrarse despus, cuando el programa retorne a la instruccin en la cual fue
interrumpido. Esta localidad puede ser un registro de procesador, una pila de memoria,
o una posicin de memoria especfica. Aqu escogemos la localidad de memoria en la
direccin O como el lugar para almacenar la direccin de retorno. Despus el control
inserta la localidad 1 dentro del PC y deshabilita IEN y R para que no puedan ocurrir
ms interrupciones hasta que se haya atendido la solicitud de interrupcin de la
bandera.

IPN-ESIME Zacatenco Electrnica III

159

Un ejemplo que muestra lo que sucede durante el ciclo de interrupcin aparece en la
figura 5.16. Supongamos que ocurre una interrupcin y R se inicia en 1 mientras el
control est ejecutando la instruccin en la direccin 255. En este momento, la direccin
de retorno 256 est en PC. El programador ha colocado previamente un programa de
servicio de entrada-salida en la memoria comenzando en la direccin 1120, y una
instruccin BUN 1120 en la direccin 1. Esto se muestra en la figura 5.17(a).

Cuando el control alcanza la seal de temporizacin T
0
y encuentra que R = 1, procede
con el ciclo de interrupcin. El contenido del PC (256) se almacena en la localidad de
memoria O, PC se inicia en 1, y R se reinicia a 0.





Fig. 5.16 Diagrama de flujo para el ciclo de interrupcin

160


Fig. 5.17 Ejemplo de ciclo de interrupcin

Al comienzo del siguiente ciclo de instruccin, la instruccin que se lee de la memoria
est en la direccin 1 porque ste es el contenido de PC. La instruccin de brinco en la
direccin 1 hace que el programa se transfiera al programa de servicio de entrada-
salida en la direccin 1120. Este programa comprueba las banderas, determina cul
bandera est en uno y despus transfiere la informacin de entrada o salida requerida.
Una vez que hace esto, se ejecuta la instruccin ION para activar IEN en 1 (para
habilitar interrupciones posteriores), y el programa regresa a la posicin en la cual fue
interrumpido. Esto se muestra en la figura 5.17 (b).

La instruccin que regresa a la computadora al lugar original en el programa principal
es una instruccin de brinco indirecto, con una parte de direccin de 0. Esta instruccin
se coloca al final del programa de servicio de entrada-salida. Despus de que esta
instruccin se lee de la memoria durante la fase de bsqueda, el control va a la fase
indirecta (porque / = 1) para leer la direccin efectiva. La direccin efectiva est en la
posicin y es la direccin de retorno que se almacen ah durante el ciclo de interrup-
cin previo. La ejecucin de la instruccin BUN indirecta da como resultado la
colocacin dentro de PC de la direccin de retorno en la localidad 0.

5.3.7 Ciclo de interrupcin

Ahora estamos preparados para listar los enunciados de transferencia de registros para
el ciclo de interrupcin. El ciclo de interrupcin se inicia despus de la ltima fase de
ejecucin si el flip-flop R de interrupcin es igual a 1. Este flip-flop se activa en 1 si IEN
= 1 y si FGI o FGO son iguales a 1. Esto puede suceder con cualquier transicin de
reloj excepto cuando las seales de temporizacin TQ, T
l,
o T
2
estn activas. La
condicin para activar el flip-flop R en 1 puede expresarse con el siguiente enunciado
de transferencia de registro:

IPN-ESIME Zacatenco Electrnica III

161

T
0
T
1
T
2
(IEN)(FGI + FGO): R -1

El smbolo + entre FGI y FGO en la funcin de control representa una funcin OR
lgica. A esto se aplica la funcin AND con IEN y T
0
T
1
T
2
.

Ahora modificaremos las fases de bsqueda y decodificacin del ciclo de instruccin.
En lugar de slo usar las seales de temporizacin T
O
, T
I
, y T
2
) aplicaremos la funcin
AND con R' a las tres seales de temporizacin para que las fases de bsqueda y de
decodificacin se reconozcan de las tres funciones de control R'TQ, R'Ti y R'T
2
. La razn
para hacer esto es que el tiempo en que se ejecuta la instruccin y SC se borra a O, el
control recorre una fase de bsqueda slo si R = 0. De otra manera si R = I, el control
recorrer un ciclo de instruccin.

El ciclo de interrupcin almacena la direccin de retorno (disponible en PC) dentro de la
posicin de memoria O, modifica a la posicin de memoria 1, y desactiva IEN, R y SC a
0. Esto puede hacerse con la siguiente secuencia de microoperaciones:

RT
0
: AR 0, TRPC
RT
1:
M[AR]TR, PC-0
RT
2
: PCPC + 1, IEN 0, R0, SC-0

Durante la primera seal de temporizacin se borra AR a O, y el contenido de PC se
transfiere al registro temporal TR. Con la segunda seal de temporizacin, la direccin
de retorno se almacena en la memoria en la posicin O y PC se carga a 0. La tercera
seal de temporizacin incrementa PC a 1, desactiva IEN y R, y el control regresa a T
0

a borrar SC a 0. El inicio del siguiente ciclo de instruccin tiene la condicin R'T
0
y el
contenido de PC es igual a 1. Despus el control recorre un ciclo de instruccin que
busca y ejecuta la instruccin BUN en la localidad 1.






Fuentes de Interrupcin


162


Direcciones de interrupciones Avanzadas

5.3.8 La instruccin SWI

La SWI es una instruccin no enmascarable que causa una interrupcin indiferente del
estado que posea el bit I (bit bandera de interrupcin), en la condicin de registro de
cdigo.

Una interrupcin por software enva el PC (contador de programa) al stack. Una
interrupcin por software no aplica al PC=PC - 1, cosa que s hace una interrupcin por
hardware.

RESET

Todas las fuentes de reset son las que tienen igual o mayor prioridad sobre las dems y
no pueden ser omitidas de ninguna forma. El reset obliga a que el bit I tome el valor "I"
lgico y en "O" lgico todos los bits que permiten la habilitacin de interrupciones
locales a fin de prevenir interrupciones durante el proceso de inicializacin. Cuando el
bit I est en uno, ninguna interrupcin (excepto SWI) es reconocida. Aunque pueda
registrarse a la fuente de interrupcin, su pedido no ser atendido hasta que el bit I se
ponga en cero.

IPN-ESIME Zacatenco Electrnica III

163

Se debe tener en cuenta que si se produce una interrupcin mientras la CPU est
ejecutando una instruccin, la instruccin ser completada antes de que la CPU
responda al pedido de interrupcin. Las interrupciones pueden ser deshabilitadas en
conjunto colocando el bit I del CCR en "1" lgico, o colocando en ceros los bits de
control de habilitacin de cada fuente de interrupcin.

5.3.9 Modulo de interrupcin por teclado (KBI)

En muchas aplicaciones es comn el uso de dispositivos para introducir informacin,
caso particular del teclado, el cual se hace presente en desarrollos como los controles
de bandas transportadoras, programacin de tareas, horarios, control de acceso, etc.

El mdulo de interrupcin por teclado tiene siete (7) interrupciones externas
manipuladas de manera independiente cada una de ellas, y se encuentran disponibles
entre los pines PTA[0:6].

Entre las caractersticas del mdulo de interrupcin por teclado podemos mencionar las
siguientes:

Siete pines de interrupcin por teclado habilitadas por separado cada una y un solo bit
indicador de la interrupcin.

Configuracin de resistencias de Pull-Up.
Interrupcin programable por flanco o flanco/ nivel.
Salida en modo de bajo consumo.

Direccion $001A

Los bits del 7 al 4 no son utilizados, y siempre son ledos como 0 lgico.

KEYF: bit de bandera de teclado

Este bit es de slo lectura y toma el valor 1 lgico cuando la interrupcin por teclado ha
ocurrido y se encuentra pendiente por atender.

1: Interrupcin de teclado pendiente
0: Interrupcin de teclado no pendiente
ACKK: bit de reconocimiento de teclado

Este bit es ledo siempre como 0 lgico, pero cuando se escribe en l un 1 lgico se
est indicando que la interrupcin por teclado ya fue atendida y, por ende, el bit KEYF
retorna a 0 lgico.

IMASKK: bit de habilitacin de interrupcin por teclado

164


1: Deshabilita la interrupcin por teclado
0: Habilita la interrupcin por teclado

MODEK: Configuracin de sensibilidad de activacin del teclado

1: Interrupcin activada por flanco descendente y nivel lgico bajo
0: Interrupcin activada por flanco descendente solamente

5.3.10 Registro de habilitacin de interrupciones de teclado (KBIER)

Direccin $001B


Este registro habilita o deshabilita independientemente los pines del puerto A para
utilizar la interrupcin por teclado.

1: El bit KBIx es habilitado para interrupcin por teclado
0: El bit KBIx es deshabilitado para interrupcin por teclado

Cuando se habilita la interrupcin en un pin especfico, la resistencia de Pull-Up es
habilitada tambin en el pin correspondiente.

5.3.11 Inicializacin del teclado

Cuando un pin de interrupcin por teclado es habilitado, le toma un tiempo interno a la
resistencia de Pull-Up alcanzar un 1 lgico. Por tanto, una interrupcin falsa puede
ocurrir tan pronto como el pin es habilitado. Para prevenir una falsa interrupcin en la
inicializacin del teclado se debe efectuar lo siguiente:

IMASKK = 1
Asignar los valores a cada uno de los KBIx.
ACKK = 0
IMASKK = 0

Otra forma de evitar una interrupcin falsa es la siguiente:

Configurar todo el puerto A como salida, esto se hace colocando cada uno de los
bits del registro DDRA en 1 lgico.
Escribir un 1 lgico en cada uno de los bits correspondientes al puerto A.
Asignar los valores a cada uno de los KBIx.

IPN-ESIME Zacatenco Electrnica III

165

Los teclados pueden tener varias configuraciones, unos pueden ser matriciales y otros
lineales.

Los teclados lineales son los que poseen tantos pines como teclas presenten y dos
pines ms para alimentacin. Cada vez que se pulse una tecla, esta enviar a su
respectivo pin un nivel bajo, identificando con ello la tecla pulsada.

Los teclados matriciales, los cuales son los ms utilizados en la gran mayora de
aplicaciones electrnicas se encuentran configurados, como su nombre lo indica, como
una matriz.

Para identificar una tecla, sta se encuentra direccionada por una fila y una columna, y
la interseccin de ellas encasilla la tecla. En nuestro caso se explicar un ejemplo de
interrupcin por teclado, mediante un teclado matricial de 12 teclas (teclado de
telfono), el cual enviar el valor de la tecla pulsada a una pantalla de cristal liquido.
Segn el circuito, la tecla que sea pulsada presentar tanto en la fila como en la
columna que la direcciona un O lgico, este cero ser rotado por las columnas del
teclado y cuando la tecla sea pulsada, ste ser enviado directamente a la fila que la
preside provocando con ello la interrupcin por teclado.

La forma de configurar el teclado es la siguiente:

Configuramos los pines para el manejo del teclado, en nuestro caso los bits de PTA[6:3]
sern entradas (filas) y los bits PTA[2:0] sern salidas (columnas).

MOV #$FF,PORTA
MOV #%10000111,DDRA

Configuramos las resistencias de Pull-Up para los pines PTA[6:3] y habilitamos el pin
PTA6 como un pin de I/O y no como una funcin del oscilador de tipo RC, colocando en
1 lgico en bit 7 del registro PTAPUE.

MOV #%11111000,PTAPUE

Para evitar una interrupcin falsa, efectuamos lo siguiente:

IMASKK = 1
Asignar los valores a cada uno de los KBIx.
ACKK = 0
IMASKK = 0

Y el resultado es:

BSET IMASKK,KBSCR
MOV #%01111000,KBIER
BCLR ACKK,KBSR
BCLR IMASKK,KBSCR

166






UNIDAD VI

APLICACIN DE MICROCONTROLADORES
EN INGENIERA ELCTRICA
IPN-ESIME Zacatenco Electrnica III

167


Nombre del proyecto:
Control Automtico de Nivel de Agua para Enfriamiento Tipo
OW de Transformadores Sumergidos en Aceite utilizando el
microcontrolador HC12

6.1 PLANTEAMIENTO DEL PROYECTO

En ingeniera elctrica se necesitan de procesos que se efecten de manera
automtica, uno de estos procesos tiene que ver con el enfriamiento de los
transformadores, ya que stos estn propensos a sufrir fallas elctricas si presentan
transmisin de calor a travs de sus devanados, lo que provoca que el material aislante
se deteriore, existen diversos factores que pueden hacer que el transformador falle
debido al calor producido en el mismo:

La masa volumtrica.
El coeficiente de dilatacin trmica.
La viscosidad.
El calor especific.
La conductividad trmica.

El calor producido por las prdidas se transmite a travs de un medio al exterior, este
medio puede ser aire o bien lquido.

Transformadores con enfriamiento tipo OW: Los transformadores sumergidos en aceite,
con enfriamiento por aguar estn equipados con un cambiador de calor tubular
colocado fuera del tanque, el agua de enfriamiento circula en el interior de los tubos y
se drena por gravedad o por medio de una bomba independiente.

El aceite fluye, estando en contacto con la superficie exterior de los tubos.

El agua que circula a travs de los tubos es drenada a un depsito donde se almacena
y se vuelve a enfriar, de manera tal que despus de ser enfriada vuelve a circular por
medio de los mismos tubos para enfriar nuevamente el transformador, este proceso se
hace de manera constante y no se debe interrumpir.

Objetivo

Controlar en forma automtica el nivel de agua en los depsitos destinados a los
transformadores con enfriamiento tipo OW, para el constante proceso de intercambio de
calor. Obtener un ptimo proceso de enfriamiento que permita manipular el intercambio

168

de agua en los serpentines del transformador de manera constante mediante un
proceso, utilizando el microcontrolador HC12.

6.2 ACEPTACIN DEL PROYECTO

En el tipo de enfriamiento OW (Oil Water) El transformador se encuentra sumergido en
aceite, cuyo enfriamiento se realiza en un intercambiador semejante al del tipo anterior,
solo que el movimiento del aceite es por conveccin natural y el drenaje del agua es por
gravedad.


Fig. 6.1 Transformador sumergido en aceite con enfriamiento tipo OW

La aplicacin de microcontroladores para manipular procesos de control es importante
en la ingeniera elctrica, es este caso se implementar un programa con el
microcontrolador del HC12 para controlar el suministro de agua en los depsitos
destinados al enfriamiento del transformador sumergido en aceite.

El microcontrolador ser utilizado para detectar estados de 0 y 1 que indicarn el inicio
del proceso de reabastecimiento del lquido a travs de los tubos, por medio de niveles
en los que permita el enfriamiento de agua.


El proceso es el siguiente:

1. El agua drenada por el transformador ser depositada en un contenedor o
cisterna de enfriamiento de agua.

2. Los sensores detectarn cuando el contenedor se encuentre lleno y darn paso
al llenado de un segundo nivel de agua.

3. Una vez que se ha llenado el segundo nivel, se cerrar el sistema y el lquido frio
circular nuevamente por medio de serpentines en el transformador para el
enfriamiento del mismo.

4. Una vez que el segundo depsito se vace, se dar paso a drenar nuevamente el
agua para el contenedor o cisterna de enfriamiento de agua.
IPN-ESIME Zacatenco Electrnica III

169


5. El proceso ser constante.

6.3 SUPERVISIN

SENSORES: Los sensores de nivel consisten en 3 simples conductores para cada
depsito sumergidos el agua y un conductor extra conectado a 5V del circuito. El agua
se encarga de hacer la conexin elctrica entre los sensores y el conductor de 5V. As,
cuando el agua llegu al primer nivel el nivel lgico cambiar de 0 a 1 indicando que ya
hay agua en ese nivel. Para los otros sensores es lo mismo, de modo que cuando el
depsito este lleno el microcontrolador leer todas las entradas de sensores de ese
depsito como "1", Cuando est vaco los leer como 0. Para ms estabilidad en los
estados ledos por el micro se recomienda usar resistencia PULL-DOWN conectadas a
las entradas del micro.


Fig. 6.2 Diagrama pictrico del sistema controlado

Como se ve en la figura 6.2, hay dos LEDs que indican la falta de agua o una cisterna
llena.

Los sensores de la cisterna se conectan a los pines 6, 5 y 4 del puerto A, los sensores
del tinaco se conectan a los pines A0, A1 y A2 del mismo puerto A. La bomba de agua y

170

la electrovlvula que controla el llenado de la cisterna son controladas por pines del
puerto B.


Fig. 6.3 Diagrama de conexin elctrica

Arriba aparece el diagrama de conexin elctrica. El motor de la bomba y la vlvula
electromecnica son activadas por medio de transistores con su respectivo diodo de
"marcha libre" para evitar sobrecalentamientos en el transistor. El pin B2 del puerto B
controla al motor y al indicador de cisterna vaca por lo que habr poner atencin en los
niveles de voltaje, tal vez sea necesario no conectar el LED al mismo pin.


6.4 PRUEBAS DE ACEPTACIN

La tabla 6.4 presenta la lgica de control. Con poca agua no se activa el motor de
llenado del nivel dos y se abre la vlvula de llenado de cisterna. Con nivel medio de
agua se puede llenar el nivel dos, etc.

El microcontrolador usado es el HC12 en una tarjeta de evaluacin de la empresa
RACOM. Como compilador se usa el UTIL12 en ambiente MS-DOS. Se programa en
lenguaje ensamblador. El programa se corre en lnea, es decir, el cdigo corriendo en la
memoria RAM del microcontrolador.
IPN-ESIME Zacatenco Electrnica III

171


A7 A6 A5 A4 A3 A2 A1 A0 B2 B1 B0 Pines del microcontrolador HC12
0 0 0 0 0 0 0 0 Caso1 1 0 0 Cisterna vacia, bomba no enciende
0 0 0 0 0 0 0 1 Caso1 1 0 0
0 0 0 0 0 0 1 1 Caso1 1 0 0
0 0 0 0 0 1 1 1 Caso1 1 0 0
0 0 0 1 0 0 1 1 Caso1 1 0 0
0 0 0 1 0 1 1 1 Caso1 1 0 0

0 0 0 1 0 0 0 0 Caso2 1 0 1
Cisterna con poco liquido pero puede
abastecer nivel 2
0 0 0 1 0 0 0 1 caso2 1 0 1

0 0 1 1 0 0 0 0 Caso 3 0 0 1 cisterna con nivel de agua suficiente
0 0 1 1 0 0 0 1 Caso 3 0 0 1

0 0 1 1 0 0 1 1 Caso 4 0 0 0 Cisterna y nivel 2 con agua suficiente
0 0 1 1 0 1 1 1 Caso 4 0 0 0

0 1 1 1 0 0 0 0 Caso 5 0 1 1 Cisterna llena, motor funcionando
0 1 1 1 0 0 0 1 Caso 5 0 1 1

0 1 1 1 0 0 1 1 Caso 6 0 1 0 cisterna llena, bomba apagada
0 1 1 1 0 1 1 1 caso 6 0 1 0

Tabla 6.4 Lgica de control

A continuacin se presenta el programa en lenguaje ensamblador para el
funcionamiento del microcontrolador HC12

;*****************************************************************************
;Este programa controla el nivel de agua en una cisterna alimentada por una ;vlvula electromecnica y
en un nivel 2 alimentado por una bomba de agua para ;el suministro de lquido a los serpentines de un
transformador con ;enfriamiento tipo OW
;El nivel de agua se mide por medio de tres sensores en cada deposito ;conectados al Puerto A
;El control se realiza abriendo o cerrando la vlvula y activando o apagando ;la bomba de agua.
;*****************************************************************************

INCLUDE "EQUHC12.ASM"
CLR COPCTL
ORG $800
MOVB #$00,DDRA ;PUERT A COMO ENTRADAS
MOVB #$07,DDRB ;PUERTO B CON TRES SALIDAS
INICIO: LDAA PORTA ;LEEE DATOS EN PUERTO A
LDAB #$00
CBA ;CISTERNA VACIA Y TODOS LOS CASOS POSIBLES
BEQ CASO1 ;EN EL NIVEL 2
LDAB #$01
CBA
BEQ CASO1
LDAB #$03

172

CBA
BEQ CASO1
LDAB #$07
CBA
BEQ CASO1
LDAB #$10 ;CISTERNA EN EL NIVEL MAS BAJO, NECESITA AGUA
CBA ;PERO PUEDE FUNCIONAR LA BOMBA
BEQ CASO2
LDAB #$11
CBA
BEQ CASO2
LDAB #$13
CBA
BEQ CASO1
LDAB #$17
CBA
BEQ CASO1
LDAB #$30 ;CISTERNA CON EL NIVEL >= QUE LA MITAD, NO ES
CBA ;NECESARIO ABRIR LLAVE PARA LLENAR LA CISTERNA
BEQ CASO3
LDAB #$31
CBA
BEQ CASO3
LDAB #$33
CBA
BEQ CASO4
LDAB #$37
CBA
BEQ CASO4
LDAB #$70 ;CISTERNA LLENA, ENCIENDE LED VERDE, ES DECIR
CBA ;EL NIVEL DEL AGUA ESTA EN SU MAXIMO NIVEL Y ES
BEQ CASO5 ;NECESARIO DETENER EL PASO DEL AGUA PARA EVITAR
LDAB #$71 ;QUE EL AGUA SE DERRAME.
CBA
BEQ CASO5
LDAB #$73
CBA
BEQ CASO6
LDAB #$77
CBA
BEQ CASO6
INICIO1: BRA INICIO
CASO1: MOVB #$04,PORTB ;INDICA CISTERNA VACIA, LA BOMBA NO ENCENDERA
BRA INICIO1
CASO2: MOVB #$05,PORTB ;INDICA CISTERNA CON POCO LIQUIDO PERO PUEDE
BRA INICIO1 ;ABASTECER EL NIVEL 2
CASO3: MOVB #$01,PORTB ;CISTERNA CON NIVEL DE AGUA SUFICIENTE
BRA INICIO1
CASO4: MOVB #$00,PORTB ;EL NIVEL 2 Y CISTERNA TIENEN AGUA SUFICIENTE
BRA INICIO1
CASO5: MOVB #$03,PORTB ;CISTERNA LLENA MOTOR FUNCIONANDO
BRA INICIO1
CASO6: MOVB #$02,PORTB ;CISTERNA LLENA BOMBA APAGADA
BRA INICIO1
SWI
IPN-ESIME Zacatenco Electrnica III

173


6.5 DEMOSTRACIN Y EXHIBICIN DEL PROYECTO

Debido a que la demostracin de este proyecto requiere de elementos tales como
transformadores y equipos sofisticados, se puede comprobar el funcionamiento
implementando una simulacin con materiales accesibles.

Se puede utilizar un motor de pecera para simular la bomba.

La vlvula electromecnica se puede representar mediante un LED que indique
su activacin.

Los sensores pueden ser pequeos trozos de cable con la punta descubierta.

Los depsitos de agua pueden ser contenedores tales como cubetas o
recipientes que contengan la cantidad indispensable de agua para el suministro.

Se puede simular el enfriamiento del transformador mediante tubos de cobre en
forma de serpentn, siendo calentado con ayuda de mecheros en la parte central
del tubo.





174

REFERENCIAS BIBLIOGRFICAS

Rodrguez, Luis (1999). Electrnica digital Moderna. Compaa Editorial Tecnolgica
CEKIT.

TOCCI, Ronald. (1995). Sistemas digitales principios y aplicaciones. Mxico: Prentice
Hall. Quinta edicin.

Digital systems principles and applications. Traducido por: Edmundo G. Urbina M.

WARKELY, John F. (1997). Diseo digital principios y prcticas. Mxico: Prentice Hall.

Digital design principles and practices. Traducido por: Gutirrez R. Raymundo H.

BENVENUTO, Omar (1998). Manual prctico de Circuitos Digitales. Barquisimeto
Estado Lara.

Arquitectura de computadoras. Tercera edicin. M. Morris Mano. Universidad estatal de
California en los ngeles

Microcontroladores (MOTOROLA-FREESCALE)

Programacin, familias y sus distintas aplicaciones en la industria. JUAN CARLOS
VESGA FERREIRA. EDITORIALALFAOMEGA.

Aula siglo XXI: "Computacin y Tecnologa", curso de orientacin escolar; edicin 2002.
Cultural, S.A. Impreso en Madrid - Espaa

Tocci, Ronald j. Sistemas digitales: principios y aplicaciones. 8va edicin Pearson
education, Mxico 2003

Stephen Brown Zvonko Vranesic. Fundamentos de lgica digital. 2 edicin Mac
Graw Hill

Http://es.geocities.com/nihonmex2000/Controlautomatico.htm
Http://www.monografias.com/trabajos3/sistnumer/sistnumer.shtml

IPN-ESIME Zacatenco Electrnica III

175







ANEXO

176


ANEXO

Prcticas realizadas en laboratorio usando el programa de simulacin
Digital Works

Decodificadores





IPN-ESIME Zacatenco Electrnica III

177



Habilitadores


178



IPN-ESIME Zacatenco Electrnica III

179


Decodificador de 7 segmentos


180


IPN-ESIME Zacatenco Electrnica III

181

Circuitos secuenciales









182

Memoria ROM RAM

IPN-ESIME Zacatenco Electrnica III

183


Prcticas realizadas en laboratorio usando el programa Code Warrior en
leguaje ensamblador


SUMA
LDAA $0800
ADDA $0801
STAA $0802
SWI

RESTA
LDAA $0800
SUBA $0801
STAA $0802
SWI

MULTIPLICACION

LDAA $0800
LDAB $0801
MUL
STAA $0802
STAB $0803
SWI

DIVISION
LDAA $0800
LDAB $0801
LDX $0802
IDIV
STX $0804
STD $0806
SWI

RAIZ CUADRADA

MOVB #1, $0801
CLR $0802
LDAA $0800
REPITE: CMPA $0801
BMI FIN
SUBA $0801
INC $0802
INC $0801

184

INC $0801
BRA REPITE
FIN: STAA $0803
SWI

RETARDO

LDAA #$03
VAGO: DECA
BNE VAGO
SWI

NUMERO PAR O IMPAR

LDAA $0800
ANDA #1
BEQ PAR
MOVB #1,0801
BRA FIN
PAR: CLR $0801
FIN: SWI


SERIE DE FIBONACCI

LDAB $0800
BEQ FIN
LDX #$0804
MOVB #1,$0801
MOVB #1,$0802
REPITE: LDAA $0801
STAA 0, X
ADDA $0802
MOVB $0802, $0801
STAA $0802
NX
DECB
BNE REPITE
FIN: SWI

METODO DE LA BURBUJA

LDX #$0808
LDY #$0809
MOVB #$9, $0800
DNUEVO: MOVB $0800, $0801
REPITE: LDAA X
IPN-ESIME Zacatenco Electrnica III

185

LDAB Y
CBA
BMI SALTA
INY
DEC $0801
BNE REPITE
BEQ SIGUE
SALTA: MOVB Y, X
STAA Y
INY
DEC $0801
BNE REPITE
BEQ SIGUE
SIGUE: INX
LEAY 1, X
DEC $0800
BNE DNUEVO
SWI

ENTRADA DE UN DATO

CLR COPCTL
CLR DDRB
OTRO: LDAA PORTB
BRA OTRO
SWI

SALIDA DE UN DATO

CLR CPOCTL
MOVB #$FF, DDRB
LDAA #$55
STAA PORTB
SWI

Anda mungkin juga menyukai