Vous êtes sur la page 1sur 155

Problemas de Electrnica Digital

para los Ciclos Formativos de Electricidad-Electrnica

Profesor :
J. Javier Quintana Peir
Registro Legal de propiedad de autor :
AB-482-2002
CDU: 621.3 (076)

Indice :
6.1.1 Problemas de monoestables con puertas lgicas y 74121 74221 74122 y 74123......................57
6.1.2 Problemas con 555......................................................................................................................58
6.1.3 Problemas con trigers y retardadores ........................................................................................59
6.3.1 Soluciones monoestables con puertas lgicas y 74121 74221 74122 y 74123...........................61
6.3.2 Soluciones a los problemas con el 555.......................................................................................62
6.3.3 Soluciones a los problemas con trigerr y retardadores...............................................................63
8.8.1 Ejercicios manejo funciones generales.......................................................................................81
8.8.1 Ejercicios manejo funciones especficas.....................................................................................82
8.8.3 Ejercicios globales funciones generales+funciones especiales GF+SF tericos........................83
8.8.4 Ejercicios GF+Sf casos prcticos................................................................................................89
8.9.1 Soluciones a los ejercicios de funciones generales GF...............................................................91
8.9.2 Soluciones a los ejercicios LOGO funciones especiales ...........................................................93
8.9.3 Soluciones a los ejercicios GF+SF tericos................................................................................94
8.9.4 Soluciones a los ejercicios GF+SF casos prcticos....................................................................97
8.10.1 Pulsador de Confort................................................................................................................100
8.10.2.-Puerta automtica..................................................................................................................101
8.10.3.- Instalacin de ventilacin ................................................................................................102
8.10.4.- Portn corredizo...................................................................................................................103
8.10.5.- Cadenas luminosas...............................................................................................................104
8.10.6.- Bomba de aguas residuales...................................................................................................105
1.1 Tipos de PIC................................................................................................................................116
1.2 Caractersticas del PIC 16X84.....................................................................................................116
1.3 Herramientas para la compilacin...............................................................................................117
1.4 Cmo se hace con lenguaje ensamblador?.................................................................................118
1.5 Cmo se hace con Basic?...........................................................................................................118
1.6 Cmo se hace en C?...................................................................................................................118
1.7 Simulacin SIMUPIC..................................................................................................................119
1.8 Cmo se programa el PIC?........................................................................................................120
1.9 Placa TE20...................................................................................................................................121
3.1 Enunciados...................................................................................................................................123
3.2 Soluciones....................................................................................................................................124
1.1.- El 8085 dentro de los tipos de microprocesadores que hay.......................................................127
1.2 En resumen
........................................................................................................................129
3.1.- Instrucciones de transferencia de datos....................................................................................132
3.2.- Instrucciones aritmticas..........................................................................................................133
3.3.- Instrucciones lgicas.................................................................................................................133
3.4 Instrucciones de desplazamiento.................................................................................................134
3.5 Instrucciones de salto..................................................................................................................134
3.6 Instrucciones para las subrutinas................................................................................................134
3.7.-Instrucciones de control.............................................................................................................134
4.1 EJERCICIOS CON EL SIMULADOR 8085..............................................................................136
9.3.1.1.-Ejercicios de transferencia de datos..................................................................................136
9.3.1.2 Ejercicios de operaciones aritmticas................................................................................136
9.3.1.3 Ejercicios de bucles............................................................................................................136
9.3.1.4. Ejercicios con subrutinas y puertos...................................................................................136
4.2 Soluciones ejercicios sim8085.....................................................................................................137
5.1 Prcticas para el manejo del entrenador.......................................................................................139
5.2.- Cmo grabar y ejecutar el programa en el entrenador?...........................................................140
5.3 Hardware y Mapa de memoria en el entrenador ........................................................................140
5.4.- Subrutinas prediseadas de fbrica
......................................................................................141
5.5 Interrupciones..............................................................................................................................142
5.6.- Entrada y salida ........................................................................................................................143
9.4.6.1.-Perifricos del entrenador 8085........................................................................................143
9.4.6.2.-Cmo programar los puertos?.........................................................................................143
5.7 EJERCICIOS CON EL P 8085 .................................................................................................145
9.4.7.1 EJERCICIOS DE RUTINAS DE CONSOLA..................................................................145

9.3.7.2 EJERCICIOS DE PUERTOS............................................................................................145


5.8 EJERCICIOS CON EL P8085...................................................................................................146
Soluciones..........................................................................................................................................152

1 Problemas puertas lgicas, karnaugh ...


1.1 ENUNCIADOS
1. Pasar el circuito formado por puertas lgicas o circuito combinacional a funcin lgica o Booleana

2. Pasar a puertas lgicas las funciones booleanas siguientes :


a) F= (((AB)'(C'+D'))+(A+B'))'
b) F = (((A+B)'+(C'D'))')+(A'+B')'(C(A+B)')'
3.- Pasa la funcin lgica de los circuitos combinacionales siguientes a tabla lgica o tabla de verdad
a) F = A'BC'+A'BC+AB'C'+ABC'
b)

4. Realizar la tabla de verdad de los circuitos del ejercicio 1


5. Convierte las siguientes tablas a funciones lgicas utilizando el mtodo de los MINitrminos y
MAXitrminos
Tabla a)
a
b
c
F
0
0
0
0
0
0
1
1
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
0

Tabla b)
n
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

a
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

b
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

c
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

d
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

6. Simplificar por el mtodo de lgebra de Boole


a) F = a + ba + a
b) F =abc +abc +abcd
c) F =a b( a bc +a bc )
d) F = a + b + c + a
e) F =abc +abc
f) F =abc +a
7.- Pasar a puertas NAND de 2 puertas 7400
a) F = a + bc + ( a + b)
b) F = ab + ab( c + d ) + ac d
c) F = ( a + b)( c + da ) + cd + ( c + d )( a + b( c + d ))
8. Pasar las siguientes funciones a puertas NOR7402
a) F = abc + b( c + d )
b) ( a + b)( c + d )b(b + c( c + ( d + e))
c) F = a bc + (b + c )( a + b( c + d ) )
9. Supongamos un sistema de alarma de tres interruptores a b y c, cuando esten los tres en Off, o slo el b
On tiene que activarse la alarma, el caso contrario tambin, es decir cuando esten los tres On o slo el b
Off. Realizar el circuito en puertas NAND.
10. Supongamos una alarma de tres interruptores que se tiene que activar cuando est slo b en Off o slo
el b en On. Si slo esta el interruptor c en On o slo esta en Off es indiferente la activacin del sistema.
Tambin si estn todos en Off es indiferente.
11. Teniendo en cuenta slo las entradas I1 I2 I3 e I4 realizar un programa que Q1=1 si el nmero de
interruptores activados superan o igualan al nmero de interruptores desactivados. Realizarlo con puertas
NAND de dos entradas 7400.
12. Teniendo en cuenta slo las entradas I1 I2 I3 e I4, hacer un programa que si hay dos interruptores
contguos activados, entonces Q1=1. Si I1=0 e I4 =0 entonces la salida Q1 es indiferente. Realizarlo con
puertas NAND de dos entradas 7400.

13. Disear un circuito de apertura de un garaje de coches, existen 4


entradas, mirando la figura:
a = detector de coche en la entrada
b = llave de entrada
c = detector de coche que quiere salir
d = llave de abrir dentro del garaje
Se tienen 5 salidas en el circuito :
M = Motor de la puerta. 0 = cierra. 1 = abrir.
R1 V1 = Luces roja y verde a la entrada del garaje
R2 V2 = Luces roja y verde dentro del garaje.
Se tiene que abri si se hay coche en la entrada y acciona la llave de entrada y no hay nadie dentro o si
hay alguien dentro y acciona la llave de abrir.
La luz roja R1 se tiene que encender si hay alguien dentro que quiere salir. La luz V1 se tiene que
encender si hay alguen fuera, y dentro no hay nadie.
La luz roja R2 se tiene que encender si hay alquien fuera que quiere entrar, y la luz V2 se tiene que
encender si hay alguien dentro y fuera no hay nadie.
Si hay dos coches en la entrada y dentro y los dos accionan la llave a la vez, las luces deben de indicar
que tiene preferencia el de dentro, la puerta se abre.
Disear el circuito con el mnimo de circuitos integrados. No disear los finales de carrera, sistemas de
seguridad y el sistema automtico de cierre de la puerta. Realizarlo con puertas NAND de 2 ent
14. Disear un circuito lgico de un sistema de alarma de 3 interruptores a b y c, que se active si hay
slo dos interruptores encendidos, si slo esta el b tiene que estar apagado, y el resto de combinaciones es
indiferente la salida. Realizarlo con puertas NAND de 2 ent 7400
15. Disear un circuito lgico de un sistema de alarma de 4 interruptores a b c y d , que se active si hay 3
o 4 interruptores activados, se desactive si hay uno o ninguno activado y es indiferente si hay 2 activados.
Realizarlo con puertas NOR 7402
16. Realizar un circuito lgico de 4 interruptores a b c y d de tal manera que se active si b y c estan en
slos en "on" o a y c estan en slos en "on" o b y a estan en slos en "on" o slo c esta en "off".
Si esta slo c en "on" o el a slo en "on" o el d slo en "off" o todos en "on" entonces la activacin del
sistema es indiferente. El resto de estados 0. Utilizar el mnimo de puertas lgicas.
17. Disear un circuito lgico de un sistema de alarma de 4 interruptores a b c y d , que se desactive si
hay 3 o 4 interruptores activados, se active si hay uno o ninguno activado y es indiferente si hay 2
activados. Realizarlo con puertas NAND

1.2

SOLUCIN A LOS
KARNAUGH ...

1.

a) ( ab) + ( c + d )

PROBLEMAS

DE

PUERTAS

LGICAS,

b) F = (( a + b) + (( a + b)(bc )))((( bc ) + ( cd ))

2.

a) La funcin lgica que responde a la ecuacin (((AB)'(C'+D'))+(A+B'))' es

b) ) La funcin lgica que responde a la ecuacin (((A+B)'+(C'D'))')+(A'+B')'(C(A+B)')'

3 a) Se realiza operando en cada una de las combinaciones resultando :


a
b
c
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1

F
0
0
1
1
1
0
1
0

b) Se realiza operando en cada una de las combinaciones resultando :


a
b
c
F
0
0
0
1
0
0
1
1
0
1
0
0
0
1
1
1
1
0
0
1
1
0
1
0
1
1
0
0
1
1
1
0
4.- a) El primer ejercicio, tiene de tabla de verdad la siguiente, que se puede hacer calculandolos de uno
en uno, o viendo que al ser una puerta OR saldr los unos de cada puerta, que en un caso en cuando A y B
sean a la vez 0 y 0 y en el otro caso ser cuando c y d sean a la vez 0 y 0
n
a
b
c
d
F
0
0
0
0
0
1
1
0
0
0
1
1
2
0
0
1
0
1
3
0
0
1
1
1
4
0
1
0
0
1
5
0
1
0
1
0
6
0
1
1
0
0
7
0
1
1
1
0
8
1
0
0
0
1
9
1
0
0
1
0
10
1
0
1
0
0
11
1
0
1
1
0
12
1
1
0
0
1
13
1
1
0
1
0
14
1
1
1
0
0
15
1
1
1
1
0
b) En este ejercicio tan
complejo, lo mejor es hacer
combinaciones pero de cada uno de
los subcircuiotos
n
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

a
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

b
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

c
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

d
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

1 (a+b)'
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0

2 a+b
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1

3 bc
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0

4 nand 1 3

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

5 or 2 4
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

6 cd'
1
1
1
0
1
1
1
0
1
1
1
0
1
1
1
0

7nor 6 3
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1

F nand 5 7
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
0

5. a)

b)

En MINitrminos tenemos : F =abc +abc +abc +abc


F = ( a + b + c )( a + b + c )( a + b + c )( a + b + c )
En MAXitrminos :
En MINitrminos

F =abcd +abcd +abcd +abcd +abcd +abcd +abcd +abcd +abcd +ab

En MAXitrminos

F = ( a + b + c + d )(a + b + c + d )( a + b + c + d )( a + b + c + d )( a + b + c + d )( a + b + c + d )

6.

7.

a) F = a + ba + a = a + a =1
b) F = abc + abc + abcd = ac + ac + abc = ac + abc = ac
c) F =ab( abc +abc ) =ab( ab +ab) =abab =ab
d) F = a + b + c + a = 1 + b + c = 1
e) F =abc +abc =a(bc ) +a(bc ) =a
f) F = abc + a = (Teorema 2 => llamando ab = B ) = aB + a = a + B = a + bc
Haciendo MORGAN
a) F = a + bc + ( a + b) = a + bc + ( a + b) = abc( a + b) = abc( ab)

b ) Este ya es ms complejo ...


F = ab + ab( c + d ) + ac d = ab + ab( c + d ) + ac d =
ab * ab( c + d ) * ac d = ab * ab( c + d ) * ac d = ab * ab( c * d ) * ac d

c) Bueno, y este mucho ms ....


F = ( a + b)( c + da ) + cd + ( c + d )( a + b( c + d )) =
( a + b)( c + da ) + cd + ( c + d )( a + b( c + d )) =
( a + b)( c + da ) * cd * ( c + d )( a + b( c + d )) =
( a * b)( c * da ) * cd * ( c * d )( a * b( c + d )) =
( a * b)( c * da ) * cd * ( c * d )( a * b( c * d ))

Y el dibujo sera de la siguiente forma ...


8.

a) F = abc + b( c + d ) = abc + b( c + d ) = abc + b( c + d ) = a + b + c + b + ( c + d )


El dibujo sera :

10

( a + b)( c + d )b(b + c ( c + ( d + e )) = ( a + b)( c + d )b(b + c ( c + ( d + e)) =

b) ( a + b) + ( c + d ) + b + (b + c( c + ( d + e)) = ( a + b) + ( c + d ) + b + (b + c ( c + ( d + e))) =
( a + b) + ( c + d ) + b + (b + c + ( c + ( d + e )))

c)
F = a bc + ( b + c )( a + b( c + d )) = a bc + (b + c )( a + b( c + d )) =
a + b + c + (b + c ) + ( a + b( c + d )) = a + b + c + (b + c ) + ( a + b( c + d ) ) =
a + b + c + (b + c ) + ( a + b + ( c + d ) )

9. La tabla de verdad, karnaugh y pasar a puertas NAND :

10. La solucin del problema pasa por considerar algunos como unos

11

11. Aqu lo que hay que hacer es una tabla de verdad con su correspondiente tabla de karnaugh :
I1I2 I3 I4
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111

Q1
0
0
0
1
0
1
1
1
0
1
1
1
1
1
1
1

I1 I2\I3 I4
00
01
00
0
0
01
0
1
11
1
1
10
0
1
La funcin es simplificando
F=I3I4+I1I2+I2I3+I2I4+I1I3+I1I4

11
1
1
1
1

10
0
1
1
1

12 Aqu lo que hay que hacer es una tabla de verdad con su correspondiente tabla de karnaugh :
I1I2 I3 I4
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111

Q1
x
0
x
1
0
0
1
1
x
0
x
1
1
1
1
1
I1 I2\I3 I4
00
01
00
X
0
01
0
0
11
1
1
10
X
0
La funcin es simplificando
Q1=I3 + I1I2

11
1
1
1
1

10
X
1
1
X

12

13. La tabla de verdad y las funciones de karnaugh ya simplificadas y pasadas a puertas NAND es

14. La tabla de verdad y el circuito pasado a puertas nand de dos entradas es

15. La funcin simplificada queda F=ab+cd pero para pasarla a puertas NOR hay que hacer Morgan :
F = ab + cd = a + b + c + d como podemos ver, las variables de entrada estn negadas, luego podemos
utilizar en vez de lgica positiva que nos obligara a unilizar puertas NOT para negarlas, utilizar lgica
negativa y as ahorarnos las puertas NOT 7404 de las variables de entrada :

16. En este caso la simplificacin por karnaugh da F = ab + c d = ab + c d = ab * c d


si utilizamos la lgica positiva nos sale el circuito de la izquierda, pero con la lgica negativa aplicada
slo en d el circuito de la derecha, sin una puerta NOT.

13

17. El circuito tiene como solucin F = a * c + b * d que al pasar en puertas NAND queda el circuito de
la derecha, pero usando la lgica negativa, nos ahorramos 4 puertas NOT con el circuito de la derecha.

14

2 Problemas de cdigos y circuitos msi.


2.1 ENUNCIADOS DE PROBLEMAS DE CDIGOS
1.- Rellena la siguiente tabla :
BINARIO

DECIMAL
35

HEXADECIMAL

BCD
100100011

BC
11111011
74
101000111
2748
110110100100
5D
101000000
2.- Pasar a decimales
BINARIO
0.1
DECIMAL

0.1111
0.808

0.0101
0.616

0.587

0.1

2.2 ENUNCIADOS DE PROBLEMAS CIRCUITOS MSI


3.- Dibujar la salida del los siguientes chips 74148 7442 :

4.- Dibujar la salida de los siguientes chips 74138 74139

15

5. Dibuja el estado de los leds y el valor del display: (la salidas del 7447 son a nivel bajo, por eso se han
negado cada entrada del display) Chips 74148 7447

6.- Dibujar el estado de los leds 74151 74150


7.

Mostrar el estado de los leds de la figura (E=Entrada de datos) Chipis 7442 7485

8. Supongamos un sistema de alarma de tres interruptores a b y c, cuando esten los tres en Off, o slo el b
On tiene que activarse la alarma, el caso contrario tambin, es decir cuando esten los tres On o slo el b
Off.
a) Realizar el circuito con el Decodificador 74138 y puertas NAND n entradas libre.
b) Realizar el circuito con el Decodificador 7442 y puertas NAND de 2 entradas
c) Realizar el circuito con el MUX 74151
d) Con un MUX genrico de 4 canales a 1
9. Teniendo en cuenta slo las entradas a b c y d realizar un programa que F=0 si el nmero de
interruptores activados superan o igualan al nmero de interruptores desactivados. F=1 en caso contrario.
a) Realizar el circuito con el Decodificador 74159 y puertas NAND n entradas libre.
b) Realizar el circuito con el Decodificador 7442 y puertas NAND de 2 entradas
c) Realizar el circuito con el MUX 74150
d) Realizar el circuito con el MUX 74151

16

10 Disear un circuito de apertura de un garaje de coches, existen 4 entradas, mirando la figura:


a = detector de coche en la entrada
b = llave de entrada
c = detector de coche que quiere salir
d = llave de abrir dentro del garaje
Se tienen 5 salidas en el circuito :
M = Motor de la puerta. 0 = cierra. 1 = abrir.
Se tiene que abrir si se hay coche en la entrada y acciona la llave de entrada y no hay nadie dentro o si
hay alguien dentro y acciona la llave de abrir. Si son los dos, se abre, existir una luz de aviso para este
caso.
Disear de apertura del motor el circuito con el mnimo de circuitos integrados. No disear los finales de
carrera, sistemas de seguridad y el sistema automtico de cierre de la puerta. Realizarlo con 74151.
11. Deducir la tabla de verdad del siguiente circuito combinacional msi

12. Deducir la tabla de verdad del circuito combinacional msi de la figura (fijarse bien) :
13. Deducir la tabla de verdad del

Problema 12

Problema 13
circuito combinacional msi de la
figura
14 A qu equivale este circuito?
15. Con varios MUX de 4 canales,
realiza un MUX de 16 canales

Problema 14

Problema 15

17

2.3 ESQUEMA DE LOS DECODIFICADORES

Decodificador 74138 de 3 a 8

Decodificador 74159 de 4 a 16

Decodificador 74139 2x de 2 a 4

Decodificador BCD 7442 de 4 a 10

18

2.4 SOLUCIONES A LOS PROBLEMAS DE CDIGOS


1.- Rellena la siguiente tabla :
BINARIO
100011
1111011
1011100
11111011
1001010
10010011
101010111100
110110100100
1011101
10001100

DECIMAL
35
123
188
251
74
147
2748
13492
93
140

HEXADECIMAL
23
7B
BC
FB
4A
93
ABC
DA4
5D
8C

BCD
0011 0101
0001 0010 0011
0001 1000 1000
0010 0101 0001
0111 0100
101000111
0010 0111 0100 1000
1 0011 0100 1001 0010
1001 0011
101000000

Hay que recordar el siguiente esquema :


2.Pasar
decimales
BINARIO
DECIMAL

0.1
0.5

0.1100
0.808

0.1111
0.9375

0.1001
0.616

0.0101
0.3125

0.1001
0.587

0.0011
0.1

2.5 SOLUCIONES A LOS PROBLEMAS DE CIRCUITOS MSI


3.- El primer chip es un decodificador 74148, que si vemos las entradas, la ms alta activada es el 4 (las
entradas son activas a nivel bajo del 74148) leugo el nmero a salir ser el 4 = 100 pero como las salidas
son tambin a nivel bajo, sale 001
El 7442 decodificador tiene en su entrada DCBA=1001 = 9 luego la salida 9 estar activa (como es a
nivel bajo, todos estan encendidos y slo el 9 apagado)

4.- El 74138 es un codificador que vemos que la entrada es CBA=110 = 6 luego la salida 6 es la que esta
activa.El 74139 son 2 DEC 2 a 4, el primero tiene el n 3 (1B1A=11) y el segundo el n 1 (2B2A=01).
(Como las salidas son a nivel bajo, todos estan encendidos exceptos las salidas activas).

19

5.- El bit ms alto activo en la entrada del codificador 74148 es el 3 = 011, que
negado es el 100=4 este nmero lo recibe el decodificador a displays 7447 que
visualizar el n4.

6. El 74151 es un MUX de 8 canales, y como se puede ver la seleccin esta con el estado CBA=100 = 4
es decir que la salida Y ser el canal D4 que como esta a '0' entonces esta apagado, w como es y negada,
entonces encendido.
El 74150 es un MUX de 16 canales, el estado de seleccin es DCBA=1110=14 luego la salida es el canal
E14 que es '0' como W es la salida negada, esta encendido.

7. El 7442 funcionando como DEMUX la entrada de datos lo tiene por el pin 'D' luego como en la
seleccin CBA=001=1 slo el pin 1 mostrar el estado de la entrada, como el interruptor esta bajado,
mostar un '0'
El Comparador 7485 tiene de entradas A=1101=13 y en B=0100=4 luego B<A.

20

8. Las soluciones a los ejercicios son

9. a) Para hacerlo con el Decodificador 74159 tenemos que poner en las entradas la tabla de verdad del
problema, y los pines de selecccin ponerlo segn el orden que hemos elegido en la tabla de verdad, si 'd'
es el de menor peso, entonces, le corresponde el pin 'A0' del 74159 como vemos en el dibujo. La salidas
son negadas, luego puerta NAND.

b) Con el

7442,
a
pesar de ser
un

problema, pues las salidas


utilizan, con slo que uno de
distinto en la tabla de verdad
utilizarse.

Decodificador
BCD y slo
tiene
10
salidas, desde
la 0 hasta la 9,
se
puede
utilizar en este
10 al 15 no se
ellos
fuese
ya no puede

21

c) Con el 74150 es un MUX de 16 canales, luego lo que hay que poner es la tabla de verdad en todos los
canales, y en la seleccin, como en la tabla de verdad el 'd' es el de menor peso, le corresponde el pin 'A'
de seleccin :

La salida es negada, por eso se ha aadido una puerta NOT en la entrada, si se quiere ahorar esa puerta
NOT se puede pero poniendo la tabla de verdad al revs :

d) Con el 74151 al ser un MUX de 8 canales, en cada canal hay que poner la relacin que tiene la funcin
F con la variable de menor peso, en este caso, si vemos la tabla de verdad, con la variable 'D', si vemos la
tabla, hay que poner los '0' '1' 'D' o 'Dnegada' donde corresponda.

10. Hay que realizar la tabla de verdad, y como el 74151 es un MUX de 8 canales, la funcin se tiene que
construir segn la relacin con la variable de menor peso de la tabla de verdad ('D'), y ponerlo en los
canales de entrada, las variables de seleccin se ponen segn el peso de la tabla, si vemos 'A' es el de
mayor peso, por lo tanto se coloca en el 'C' de mayor peso del 74151:

22

11. Como podemos ver, lo que hay que hacer es poner las combinaciones de los canales contando slo las
variables 'a' 'b' y 'c', en este orden, pues el 'a' esta puesto en el pin de mayor peso del 74151. Como el
74151 es un MUX la tabla de verdad refleja lo puesto en los canales, ya sea '0' '1' 'd' o ' d '

12. El resultado est en ver cmo la entradas 'A' 'B' 'C' y 'D' estan puestos en distinto orden de peso en el
mux 74150 luego a pesar que el 'A' esta puesto en el 'A' lo convierte en la variable de menor peso, y si 'D'
esta puesto en el 'D' lo combierte en la variable de mayor peso, por esto la tabla de verdad esta cambiado
el orden de las variables.
Por ltimo, como la salida W del 74150 esta negado, los canales saldrn invertidos, por eso se ensea la
columna F negada que es la de los canales de entrada y F sin negar, que es la negacin de sta ltima.

13 En este caso es un decodificador dcadas, como las salidas estan negadas, y la puerta lgica es una
puerta NAND la tabla de verdad ser un '1'
donde esta conectado, el resto '0' incluso los
pines que no existen (del 10 al 15)
14 Se trata de una ampliacin de
Decodificadores, con decodificador de 2 a 4 se
ha ampliado a Dedodificador de 8 a 16, el
primero tiene la seleccin ms alta, y habilita
cual de los 4 decodificadores de abajo funciona
y realiza la decodificacin.
15 Para realizar una ampliacin de MUX el de abajo (que tiene la parte alta de la seleccin) seleccina el
canal de salida de los
MUX de arriba que
tienen la seleccin ms
baja.

23

3. Problemas de aritmtica binaria


3.1 ENUNCIADOS DE EJERCICIOS DE SUMA BINARIA
1. Realiza la siguiente suma de forma binaria : 6+8+10+9+14+3 = 50
2. Realiza la siguiente suma de forma binaria : 725 + 60 = 785
3. Cmo realizarias con puertas lgicas un semisumador?

4. Cmo realizaras un sumador de 3 bits con el sumador completo ?


5 Realiza un circuito capaz de sumar nmeros de 1 byte (8 bits) con el
7483 y seala con '1' y '0' los pines para el caso concreto de la suma
101101 + 11100110

3.2 ENUNCIADOS DE EJERCICIOS DE RESTA BINARIA


6. Realiza la resta 725-60=665 en forma binaria representando los nmeros negativos en C1
7. Realiza la resta 60-725=-665 en forma binaria representando los nmeros negativos en C1
8 Realiza la resta 725-60=665 en forma binaria representando los nmeros negativos en C2
9. Realiza la resta 60-725=-665 en forma binaria representando los nmeros negativos en C2

3.3 ENUNCIADOS DE EJERCICIOS DE SUMA Y RESTA BCD


10. Realiza la suma siguiente en forma BCD 1725 + 8860 = 10585
11.Realiza la siguiente resta en forma BCD: 14 - 4 = +10
12 Realiza la siguiente resta en forma BCD: 4 - 14 = -10
13.Realiza la siguiente resta en forma BCD: 6257 - 5356 = +901
14.Realiza la siguiente resta en forma BCD: 5356 - 6257 = - 901

3.4 ENUNCIADOS DE EJERCICIOS DE SUMA Y RESTA EN HEX


15 Realiza la siguiente suma 19AC + FB8
16. Realiza la siguiente resta 4AFC - 4ACF
17 Realiza la siguiente resta 68 - FB8

24

3.5 SOLUCIONES EJERCICIOS SUMA BINARIA


1. Pasamos los sumandos a binario, se suma, y se comprueba el resultado :
111
1111
6
0110
8
1000
10
1010
9
1001
14
1110
+
3
0011
50
110010
2 Pasamos los sumandos a binario, se suma, y se comprueba el resultado :
111111
725
1011010101
60
0000111100
785
1100010001
3. Es muy fcil, se realiza la tabla de verdad de la suma, y se pasa a puertas lgicas, sto es lo que tiene
un semisumador :

4. Se conectan los acarreos de salida con los de la entrada del bit


siguiente de ms peso. Con 4 semisumadores completos se tendra
un 7483
5 La suma 101101 + 11100110 da 100010011 un acarreo entre el
bit 4 y 5 y un acarreo el el bit 8
Nmero A = 0010 1101 = 45 Nmero B = 1110 0110 = 230
Resultado = 1 0001 0011 = 275

3.6 SOLUCIONES EJERCICIOS RESTA BINARIA


6. Hay que fijarse en aadir 0 en el nmero ms pequeo para igualarse con el ms grande, poner los bits
de signo y pasar el nmero negativo a complemento uno
111
111
725
1011010101
01011010101
-60
0000111100
11111000011
665
1 01010011000
1
01010011001

25

7. Hay que fijarse en aadir 0 en el nmero ms pequeo para igualarse con el ms grande, poner los bits
de signo y pasar el nmero negativo a complemento uno
111
60
0000111100
00000111100
725
1011010101
10100101010
-665
1 10101100110
0
10101100110
pasandolo a C1 =>
- 1010011001 = - 665
8. Hay que fijarse en aadir 0 en el nmero ms pequeo para igualarse con el ms grande, poner los bits
de signo y pasar el nmero negativo a complemento uno y despues sumarle un uno, el acarreo del final se
desprecia.
1111
1
725
1011010101
01011010101
-60
0000111100
1111000011
11111000100
665
1 01010011001 = 665
9. Hay que fijarse en aadir 0 en el nmero ms pequeo para igualarse con el ms grande, poner los bits
de signo y pasar el nmero negativo a complemento uno y despues sumarle un uno
60
725
-665

0000111100
1011010101

0100101010

pasandolo a C1 ===>>
y sumndole 1=>

00000111100
10100101011
0 10101100111
-1010011000
1010011001 = - 665

3.7 SOLUCIONES EJERCICIOS SUMA Y RESTA EN BCD


10.- Se pasa el nmero a BCD y se suma cifra a cifra teniendo en cuenta que si es 1010 o mayor hay que
hacer la correccin (+0110) :
1
1
1725
0001 0111 0010 0101
8860
1000 1000 0110 0000
10585
1010 1111 1000 0101
0110 0110
1 0000 0101
=> 1085
11.- Hay que pasar los nmeros a BCD y el nmero negativo hacer el C9 con el bit de signo
correspondiente :
1
14
14
0 0001 0100
- 04 => C9 => - 95
1 1001 0101
10
1 0 1010 1001
0110
0000
+1
0 0001 1010
0110
0000
= +10
12. Hay que pasar los nmeros a BCD y el nmero negativo hacer el C9 con el bit de signo
correspondiente :
1
04
04
0 0000 0100
- 14 => C9 => - 85
1 1000 0101
-10
0 1 1000 1001
0
1 1000 1001
= 89 =>C9 => -10

26

13. Hay que pasar los nmeros a BCD y el nmero negativo hacer el C9 con el bit de signo
correspondiente:
1 1
11 1 11 111
6257
6257
0 0110 0010 0101 0111
- 5356
=> C9 => 4643
1 0100 0110 0100 0011
0901
1 0 1010 1001 1010 1010
0110
0110 0110
0000
0000 0000
1
0 0000 1001 0000 0001 = + 0901
14. Hay que pasar los nmeros a BCD y el nmero negativo hacer el C9 con el bit de signo
correspondiente:
1111 111 1
11
5356
5356
0 0101 0011 0101 0110
- 6257
=> C9 => 3742
1 0011 0111 0100 0010
-901
0 1 1001 1010 1001 1000
0110
0000
0
1 1001 0000 1001 1000 = -9098 =>C9=> - 0901

3.8 SOLCIONES EJERCICIOS SUMA Y RESTA EN HEX


15.- Lo mejor es pasarlo a binario, y realizar la suma en binario:
19AC
0FB8
2964

=>
=>
<=

0001 1001 1010 1100


0000 1111 1011 1000
0010 1001 0110 0100

16 - Lo mejor es pasarlo a binario, y realizar la resta en binario, elegimos hacer en C2 aunque se puede
hacer en C1
4AFC
- 4ACF
+ 002D

=>
=>
<=

0 0100 1010 1111 1100


0100 1010 1100 1111 =>C2=> 1 1011 0101 0011 0001
<=
<=
0 0000 0000 0010 1101

17 - Lo mejor es pasarlo a binario, y realizar la resta en binario, elegimos hacer en C2 aunque se puede
hacer en C1
068
- FB8
- F50

=>
=>
<=

1111 1011 1000


1111 0101 0000

=>C2=>
<=C2<=

0 0000 0110 1000


1 0000 0100 1000
1 0000 1011 0000

27

4 Problemas de biestables y registros


4.1 RESUMEN DE BIESTABLES Y REGISTROS
BIESTABLES
R

Qn

Qn

Qn-1

Qn-1

0
1

1
0

1
0

Qn

Qn

Qn

REGISTROS

28

4.2

ENUNCIADOS DE
BIESTABLES

PROBLEMAS

DE

CRONOGRAMAS

DE

1 Dibujar la forma de onda de salida del siguiente Biestable RS asncrono

2.- Dibujar la forma de onda de salida del siguiente Biestable RS sncrono por nivel

3.- Dibujar la forma de onda de salida del siguiente Biestable RS sncrono por flanco de bajada.

4.- Dibujar la forma de onda de salida del siguiente Biestable JK sincrono por nivel

5.- Dibuja la forma de onda de salida del siguiente biestable JK Snclono por flanco de subida

6.- Dibuja la forma de onda de salida del siguiente biestable JK sncrono por flanco de bajada (el reloj
est negado, por eso es por flanco de bajada)

7.- Dibuja la forma de onda de salida del siguiente biestable JK sncrono por los dos flancos (masterslave)

8.- Dibuja la forma de onda de salida del siguiente biestable T sncrono por flanco de subida

9. Dibuja la forma de salida del siguiente biestable D sncrono por nivel

29

10 Dibuja la forma de salida del siguiente biestable D sncrono por flanco de subida

11 A partir de puertas lgicas:


a) Cmo se construye un biestable RS ?
b) Y un biestable RS con las entradas negadas?
12. A partir de un biestable RS y puertas lgicas Cmo se construye un biestable JK?
13 A partir los biestables construidos en los anteriores ejercicios
a) Como construyes un biestable T?
b) Cmo construyes un biestable D?

4.3 ENUNCIADOS DE PROBLEMAS DE REGISTROS


14 Dibuja el cronograma de salida del registro 7475 de la figura

15 Dibuja el cronograma de salida de los siguientes registros

16. Dibuja el cronograma de salida de un 7491 con esta entrada

30

17.- Rellenar la siguiente tabla de un 7494


ENTRADAS
CL
1
0
0
0
0
0
0
0
0
0
0
0
0
0

PE1
0
1
0
0
0
0
0
0
0
0
0
0
0
0

PE2 P1A P1B P1C P1D


1
0111
0
0101
0
0101
0
1111
0
0101
0
1101
0
0011
0
0011
0
0000
1
0000
0
0000
0
0110
0
0101
0
0000

P2A P2B P2C P2D

1110
1101
1100
0010
1101
1111
1100
0011
0000
1001
0000
1111
1111
0000

SI
1
0
1
0
1
0
0
1
0
1
0
1
0
0

clk

estado interno

salida

QA QB QC QD

Out

18 Rellena la siguiente tabla de funcionamiento de un 74166


entrada
cl' clk
1 X
1
1
1
1
1
1
0
0
1
1

S/L' S.I.
0
1
1
0
1
0
1
1
1
1
1
0
1
0
1
0
0
1
1
1

ABCDEFGH
01000101
01011100
11010101
00110011
00001100
01001100
01100001
00110101
00110011
00001100

estado interno

out

QA QB QC QD QE QF QG QH

comentarios

S.I. = Serial Input = SER

31

19 Rellena la siguiente tabla de funcionamiento de un 7495


entrada
MC
SI
1
0

CLK1
1

CLK2

ABCD
0101

0100

0100

1011

1010

1110

1111

Qb Qc Qd 0

Qb Qc Qd 0

0000

Qb Qc Qd 1

Qb Qc Qd 1

0010

salida
QA QB QC QD

comentarios

20 Rellenar la siguiente tabla de funcionamiento de un 74194


cl'
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1

CLK

S0 S1
01
11
01
01
10
10
10
10
10
01
00
11
10
11
01
01

SR
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1

A B C D SL
0111
1
0010
0
0100
0
0101
0
0101
1
0101
1
0101
0
0101
0
0101
0
0101
0
0101
0
0111
1
0101
1
0101
1
1111
1
1111
1

QA QB QC QD

comentario

21 Cmo haras un juego de luces con el 74194 de tal manera que un 1 siempre circulase?

32

4.4

SOLUCIONES A LOS
BIESTABLES

PROBLEMAS

DE

CRONOGRAMAS

DE

1. Hay que tener en cuenta que cuando R=S=1 no esta definido, esto se representar por 'x' la salida Q
negada no se ha dibujado, es la misma que la Q pero inversa.

2. Aqu slo tiene que hacer caso al nivle del reloj, si R=S=1 no esta definido, se ha representado en vaco
por simplicidad.

3.- Igualmente la solucin es como el ejercicio anterior, pero ahora hay estados que son ms pequeos
que el reloj, luego durante el nivel alto, pueden haber variaciones.

4.- En un biestable JK por nivel hay que tener en cuenta que cuando J=K=1 entonces el biestable se
'vuelve loco' cambiando constantemente de '0' a '1' luego el estado final que sale despues del nivel del
reloj no se sabe cual es, 'x' :

5.- Evidentemente, si no nos dijeran nada, el biestable es por flanco de subida pues el reloj no esta
negado, ahora como es activo por flanco, el biestable no puede dar indeterminacin nunca:

6.- Ahora es por flanco de bajada:

7.- Ahora por los dos

8. Este es el dibujo, hay que recordar que si T=0 no cambia, y si T=1 cambia

9.- El biestable D su salida es igual que la entrada slo cuando lo permite el reloj

33

10 La salida es ya diferente respecto al otro ejercicio :

11 12 y 13 las soluciones son :

4.5 SOLUCIONES A LOS PROBLEMAS DE BIESTABLES


14 La solucin del cronograma es :

15 Los biestables JK puestos en cascada tal y como esta en el problema, se convierten en un registro
SIPO por lo que los estados siguen a la entrada desfasados un lugar, segn las rdenes del reloj en flanco
de bajada pues la entrada CLK de cada biestables esta negado :

16 La solucin es :

34

17 La solucin es :
ENTRADAS
CL PE1 PE2 P1A P1B P1C P1D
1
0
1
0111
0
1
0
0101
0
0
0
0101
0
0
0
1111
0
0
0
0101
0
0
0
1101
0
0
0
0011
0
0
0
0011
0
0
0
0000
0
0
1
0000
0
0
0
0000
0
0
0
0110
0
0
0
0101
0
0
0
0000
18 La solucin es :
Entrada
cl' clk
1 X
1
1
1
1
1
1
0
0
1
1

S/L' S.I.
0
1
1
0
1
0
1
1
1
1
1
0
1
0
1
0
0
1
1
1

ABCDEFGH
01000101
01011100
11010101
00110011
00001100
01001100
01100001
00110101
00110011
00001100

P2A P2B P2C P2D

1110
1101
1100
0010
1101
1111
1100
0011
0000
1001
0000
1111
1111
0000

SI
1
0
1
0
1
0
0
1
0
1
0
1
0
0

clk

estado interno

salida

QA QB QC QD
0000
0101
1010
0101
0101
0010
0001
0001
0000
1001
0100
1010
1010
0101

Out
0
1
0
1
1
0
1
1
0
1
0
0
0
1

estado interno

out

QA QB QC QD QE QF QG QH
01000101
00100010
00010001
00010001
10001000
01000100
00100010
00000000
00110011
10011001

Q
1
0
1
1
0
0
0
0
1
1

comentarios
carga

quieto

quieto
clear
carga

19 La solucin es :
entrada
MC
SI
1
0

ABCD
0101

Salida
QA QB QC QD
0101

comentarios
carga

CLK1
1

CLK2

0100

0010

0100

1001

1011

0100

1010

0100

quieto

1110

0010

1111

0010

quieto

Qb Qc Qd 0

0100

Qb Qc Qd 0

1000

0000

0100

Qb Qc Qd 1

1001

Qb Qc Qd 1

1001

quieto

0010

0010

carga

35

20 La solucin es
cl'
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1

CLK

S0 S1
01
11
01
01
10
10
10
10
10
01
00
11
10
11
01
01

SR
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1

A B C D SL
0111
1
0010
0
0100
0
0101
0
0101
1
0101
1
0101
0
0101
0
0101
0
0101
0
0101
0
0111
1
0101
1
0101
1
1111
1
1111
1

QA QB QC QD
0000
0010
0001
0000
0001
0011
0110
0110
1100
1110
1110
0000
1101
0101
0101
1010

comentario
clear
carga

quieto

quieto
clear

carga
quieto

21 La solucin est en que primero carge un 1000 y que luego circule ese '1', para cargar S1S0 tiene que
estar a 11 y para que circule tiene que estar en '01' luego cuando se active el interruptor 'c' empezar a
circular, para que circule indefinidamente la salida 'Qd' se ha conectado con la entrada 'SR' y as vuelve a
entrar.

36

5 Problemas de contadores
5.1 ENUNCIADOS DE EJERCICIOS DE CONTADORES
1 Disea un contador Down con JK mdulo 8 (de 7 a 0)
2 Disea un contador Up con JK mdulo 32 (de 0 a 31)
3 Disea un contador Up con JK mdulo 10 (de 0 a 9)
4 Disea un contador Up con JK mdulo 6 (de 0 a 5)
5 Disea un contador Down con JK (de 15 a 3)
6 Disea un contador Down con JK (de 7 a 2)
7 Disea un contador Up con JK (de 2 a 12)
8 Disea un contador Down con JK (de 14 a 3)
9 Disea un contador Up con JK (de 7 a 10)
10 Disea un contador Up con JK (de 7 a 17)
11 Disea un contador mod9 con el 7490
12 Disea un contador mod3 con el 7490
13 Disea un divisor por 7 con el 7490
14 Disea un contador BCD mod 20 es decir de 00 a 19 con el 7490
15 Disea un contador BCD mod50 (00 a 49) con el 7490
16 Disea un contador BCD mod80 (00 a 79) con el 7490
17 Disea un contador BCD mod100 (00 a 99) con el 7490
18 Disea un contador BCD mod100 (00 a 99) con el 7493
19 Disea un divisor 13 con el 7493
20 Disea un divisor 12 con el 7493
21 Disea un divisor 72 con el 7493
22 Disea un divisor 80 con el 7493
23 Disea un divisor 30 con el 7493
24 Disea un divisor 35 con el 7493
25 Disea un contador Up 3 a 6 con el 74190/1
26 Disea un contador Down 6 a 3 con el 74190/1
27 Disea un contador Up 5 a 12 con el 74190/1
28 Disea un contador Up 5 a 15 con el 74190/1
29 Disea un contador Down 8 a 0 con el 74190/1
30 Disea un contador Up 2 a 17 con el 74190/1 binario
31 Disea un contador Up 2 a 17 con el 74190/1 BCD
32 Disea un contador Down 18 a 11 con el 74190/1 BCD
33 Disea un contador Up 13 a 79 con el 74190/1 BCD
34 Disea un contador Up modulo 50 con el 74192 (en BCD)
35 Disea un contador Up 13 a 73 con el 74192 (en BCD)
36 Disea un contador Up 27 a 39 con el 74192 (en BCD)
37 Disea un contador Up modulo 40 con el 74192 (en BCD)
38 Disea un contador Down modulo 40 con el 74192 (en BCD)
39 Disea un contador Down 45 a 25 con el 74192 (en BCD)
40 Disea un contador que cuente o descuente segn se accione al pulsador A o B
respectivamente, el contador puede llegar como mximo a 999, existir un pulsador C
de puesta a 0 y un pulsador D que si se pulsa carga el n 500

37

5.2 SOLUCIONES A LOS PROBLEMAS DE CONTADORES1


1 Seran 3 biestables JK
Biestable
J
K
CLK
1
1
1
Clock externo
2
1
1
Q0neg
3
1
1
Q1neg

Q
Salida Q0
Salida Q1
Salida Q2

QNEG
A clk 2
A clock 3
n.c.

PRneg
1
1
1

CLneg
Aut
Aut
Aut

Aut = Resistencia a Vcc de 10k Condensador a masa de 1 por ejemplo


2 Seran 5 biestables JK
Biestable
J
K
CLK
Q
QNEG PRneg
1
1
1
Clock externo
Salida Q0 y clk 2
n.c.
1
2
1
1
Q0
Salida Q1 y clk 3
n.c.
1
3
1
1
Q1
Salida Q2 y clk 4
n.c.
1
4
1
1
Q2
Salida Q3 y clk 5
n.c.
1
5
1
1
Q3
Salida Q4
n.c
1
Aut = Resistencia a Vcc de 10k Condensador a masa de 1 por ejemplo

3 Seran 4 biestables JK
J
K
CLK
1 1
1
Clock ext

Q
Salida Q0 y clk 2

QNEG
n.c.

PRneg
1

CLneg
Aut
Aut
Aut
Aut
Aut

CLneg
Salida pta

Todas las salidas Q3 Q2 Q1 Q0 pueden conectarse a un 7448 y a un display para poder visualizar los
nmeros
38

2 1
1
Q0
Salida Q1 y clk 3
3 1
1
Q1
Salida Q2 y clk 4
4 1
1
Q2
Salida Q3
Salida pta= Puerta NAND entrada Q3 y Q1
Detecta el 10 =1010 y carga el 0=0000

4 Seran 3 biestables JK
J
K
CLK
Q
1 1
1
Clock ext
Salida Q0 y clk 2
2 1
1
Q0
Salida Q1 y clk 3
3 1
1
Q1
Salida Q2
Salida pta= Puerta NAND entrada Q2 y Q1
Detecta el 6 =110 y carga el 0=0000

5 Seran 4 biestables JK
J
K
CLK
Q
1 1
1
Clock ext
Salida Q0
2 1
1
Q0neg
Salida Q1
3 1
1
Q1neg
Salida Q2
4 1
1
Q2neg
Salida Q3
Salida pta= Puerta OR entrada Q3 Q2 y Q0
Detecta el 2 =0010 y carga el 15=1111

n.c.
n.c.
n.c.

1
1
1

Salida pta
Salida pta
Salida pta

QNEG
n.c.
n.c.
n.c.

PRneg
1
1
1

CLneg
Salida pta
Salida pta
Salida pta

QNEG
Clk 2
Clk 3
Clk 4
n.c.

PRneg
Salida pta
Salida pta
Salida pta
Salida pta

CLneg
1
1
1
1

39

6 Seran 3 biestables JK
J
K
CLK
Q
1 1
1
Clock ext
Salida Q0
2 1
1
Q0neg
Salida Q1
3 1
1
Q1neg
Salida Q2
Salida pta= Puerta OR entrada Q2 y Q1
Detecta el 1 =001 y carga el 7=111

7 Seran 4 biestables JK
J
K
CLK
Q
1 1
1
Clock ext
Salida Q0 y clk 2
2 1
1
Q0
Salida Q1 y clk 3
3 1
1
Q1
Salida Q2 y clk 4
4 1
1
Q2
Salida Q3
Salida pta= Puerta NAND entrada Q3 y Q2 y Q0
Detecta el 13 =1010 y carga el 2=0010

QNEG
Clk 2
Clk 3
n.c.

PRneg
Salida pta
Salida pta
Salida pta

CLneg
1
1
1

QNEG
n.c.
n.c.
n.c.
n.c.

PRneg
1
Salida pta
1
1

CLneg
Salida pta
1
Salida pta
Salida pta

40

8 Seran 4 biestables JK
J
K
CLK
Q
1 1
1
Clock ext
Salida Q0
2 1
1
Q0neg
Salida Q1
3 1
1
Q1neg
Salida Q2
4 1
1
Q2neg
Salida Q3
Salida pta= Puerta OR entrada Q3 Q2 y Q0
Detecta el 2 =0010 y carga el 14=1110
9 Seran 4 biestables JK
J
K
CLK
Q
1 1
1
Clock ext
Salida Q0 y clk 2
2 1
1
Q0
Salida Q1 y clk 3
3 1
1
Q1
Salida Q2 y clk 4
4 1
1
Q2
Salida Q3
Salida pta= Puerta NAND entrada Q3 Q1 y Q0
Detecta el 11 =1011 y carga el 7=0111
10 Seran 5 biestables JK
J
K
CLK
Q
1 1
1
Clock ext
Salida Q0 y clk 2
2 1
1
Q0
Salida Q1 y clk 3
3 1
1
Q1
Salida Q2 y clk 4
4 1
1
Q2
Salida Q3 y clk 5
5 1
1
Q4
Salida Q4
Salida pta= Puerta NAND entrada Q3 Q1 y Q0
Detecta el 17 =10001 y carga el 7=00111

QNEG
Clk 2
Clk 3
Clk 4
n.c.

PRneg
1
Salida pta
Salida pta
Salida pta

CLneg
Salida pta
1
1
1

QNEG
n.c.
n.c.
n.c.
n.c.

PRneg
Salida pta
Salida pta
Salida pta
1

CLneg
1
1
1
Salida pta

QNEG
n.c.
n.c.
n.c.
n.c.
n.c.

PRneg
Salida pta
Salida pta
Salida pta
1
1

CLneg
1
1
1
Salida pta
Salida pta

11 En este caso tenemos que resetear en 9=1001


Clk A
Clk B
Qa
Qb
Qc
Qd
Clk externo Qa
Salida Q0 Salida Q1 Salida Q2 Salida Q3
y clkB

Resets
Q3 y Q0

41

12 En este caso tenemos que resetear en 3=0011


Clk A
Clk B
Qa
Qb
Qc
Qd
Clk externo Qa
Salida Q0 Salida Q1 Salida Q2 Salida Q3
y clkB

Tambin se podra haber hecho utilizando slo 3 bits :


Clk A
Clk B
Qa
Qb
Qc

n.c.

Clk externo

n.c.

Qd

Salida Q0 Salida Q1 Salida Q2

Resets
Q1 y Q0

Resets

Q1y Q0

13 Hay que hacer simplemente un contador mod7 y tomar como salida el bit de mayor
peso : Hay que resetar en el 7=0111
Clk A
Clk B
Qa
Qb
Qc
Qd
Resets
Clk externo Qa
clkB
N.C.
Salida
N.C.
puerta
Puerta = AND con entrada a Q2, Q1 y Q0

42

14 Hay que utilizar dos 7490 uno para las unidades y otro para las decenas
7490 Clk A
Clk B
Qa
Qb
Qc
Qd
Unid Clk
Qa
Salida Q0 Salida
Salida
Salida
ades externo
unidades
unidades y Q1uni
Q2
Q3
clkB uni
unidades unidades
Dece Qd
de Qa
Salida Q0 Salida
Salida
Salida
nas unidades
decenas
decenas y Q1
Q2
Q3
Clk B dec Decenas decenas decenas
Hay que detectar el 20=0010 0000 Puerta = Q1decenas (ninguna puerta)

Resets
Salida
puerta
Salida
puerta

En los resets del 7490 unidades se podran poner a 0 pues realmente l solo se pone a 0

15 Hay que utilizar dos 7490 uno para las unidades y otro para las decenas
7490 Clk A
Clk B
Qa
Qb
Qc
Qd
Resets
Unid Clk
Qa
Salida Q0 Salida
Salida
Salida
Salida
ades externo
unidades
unidades y Q1uni
Q2
Q3
puerta
clkB uni
unidades unidades
Dece Qd
de Qa
Salida Q0 Salida
Salida
Salida
Salida
nas unidades
decenas
decenas y Q1
Q2
Q3
puerta
Clk B dec Decenas decenas decenas
Hay que detectar el 50=0101 0000 Puerta = AND entrada Q2decenas y Q0decenas2
En los resets del 7490 unidades se podran poner a 0 pues realmente l solo se pone a 0 cuando pasa de 9

Tambin sin puerta, poniendo Q2 a R91 y R01 y Q0 a R92 y R02, pues dentro del 7490 hay una puerta
AND
43

16 Hay que utilizar dos 7490 uno para las unidades y otro para las decenas
7490 Clk A
Clk B
Qa
Qb
Qc
Qd
Unid Clk
Qa
Salida Q0 Salida
Salida
Salida
ades externo
unidades
unidades y Q1uni
Q2
Q3
clkB uni
unidades unidades
Dece Qd
de Qa
Salida Q0 Salida
Salida
Salida
nas unidades
decenas
decenas y Q1
Q2
Q3
Clk B dec Decenas decenas decenas
Hay que detectar el 80=1000 0000 Puerta = Q3decenas

Resets
Salida
puerta
Salida
puerta

En los resets del 7490 unidades se podran poner a 0 pues realmente l solo se pone a 0 cuando pasa de 9

17 Hay que utilizar dos 7490 uno para las unidades y otro para las decenas
7490 Clk A
Clk B
Qa
Qb
Qc
Qd
Unid Clk
Qa
Salida Q0 Salida
Salida
Salida
ades externo
unidades
unidades y Q1uni
Q2
Q3
clkB uni
unidades unidades
Dece Qd
de Qa
Salida Q0 Salida
Salida
Salida
nas unidades
decenas
decenas y Q1
Q2
Q3
Clk B dec Decenas decenas decenas
En este caso no hay que resetear, l slo pasa a 00 despus del 99

Resets
Salida
puerta
Salida
puerta

18 Hay que utilizar dos 7493 uno para las unidades y otro para las decenas
7493 Clk A
Clk B
Qa
Qb
Qc
Qd
Resets
Unid Clk
Qa
Salida Q0 Salida
Salida
Salida
Salida
ades externo
unidades
unidades y Q1uni
Q2
Q3
puerta1
clkB uni
unidades unidades
Dece Qd
de Qa
Salida Q0 Salida
Salida
Salida
Salida
nas unidades
decenas
decenas y Q1
Q2
Q3
puerta2
Clk B dec Decenas decenas decenas
Aqu si que hay que resetear, pues l solo no pasa a 00
Puerta1=AND de Q0unidades y Q3unidades(9=1001) o sin puerta Q0 a R01 y Q3 a R02
Puerta2=AND de Q0decenas y Q3decenas (9=1001) o sin puerta Q0 a R01 y Q3 a R02

44

19 Como el 13 entra dentro del rango del mod16 que es el 7493, con slo uno se puede
hacer :
7493 Clk A
Clk B
Qa
Qb
Qc
Qd
R01
R02
Clk
Qa
Salida
Salida
Salida
Salida
Salida
Q3
externo
Q0
y Q1
Q2
Q3
puerta
clkB
El 13=1011 luego la puerta es AND con entrada Q1 y Q0 (Q3 no es necesario pues hace AND con R02
internamente)

20 Como el 12 entra dentro del rango del mod16 que es el 7493, con slo uno se puede
hacer :
7493 Clk A
Clk B
Qa
Qb
Qc
Qd
R01
R02
Clk
Qa
Salida
Salida
Salida
Salida
Q2
Q3
externo
Q0
y Q1
Q2
Q3
clkB
El 12=1100 luego no es necesario puerta, se hace con la puerta AND interna

21 Como 72=8*9 luego hay que montar dos 7493: 8 y 9


7493 Clk A
Clk B
Qa
Qb
Qc
Qd
ClkA
Clk
Qa
clkB
n.c.
R02
83
externo
del 9
Qc del
9
Qa
ClkB
n.c.
n.c.
Salida
8
Para el 8=1000 luego hay que resetear con Qd

R01

R02

Qd

Qa

Qd

Para el 9=1001 luego hay que resetear con Qd y Qa

Tambin hay otra forma de hacer el 8 y es no utilizar el biestable A, reloj externo en B y clkA=n.c.
Qa=n.c y R02=n.c.
3

45

46

22 Como 80=8*10 luego hay que montar dos 7493: 8 y 10


7493 Clk A
Clk B
Qa
Qb
Qc
Qd
ClkA
Clk
Qa
clkB
n.c.
n.c.
82
externo
del 10
Qc del
10
Qa
ClkB
n.c.
n.c.
Salida
8

R01

R02

Qd

Qb

Qd

Para el 8=1000 luego hay que resetear con Qd


Para el 10=1010 luego hay que resetear con Qd y Qb
Observar que el reloj de un divisor a otro es el bit ms alto que sale, por ejem en un divisor de 8 los
nmeros que salen son del 0 al 7, luego el bit ms alto que sale es el Qc (Qd no aparece pues el 8
aparece)

23 Como 30=3*10 luego hay que montar dos 7493: 3 y 10


7493 Clk A
Clk B
Qa
Qb
Qc
Qd
ClkA
Clk
Qa
clkB
n.c.
n.c.
3
externo
del 10
Qd del
10
Qa
ClkB
n.c.
n.c.
Salida
3

R01

R02

Qa

Qb

Qb

Qd

Qd

R01

R02

n.c.

Qa

Qc

n.c.

Qa

Salida
puerta

Para el 3=0011 luego hay que resetear con Qa y Qb


Para el 10=1010 luego hay que resetear con Qd y Qb

24 Como 35=5*7 luego hay que montar dos 7493: 5 y 7


7493 Clk A
Clk B
Qa
Qb
Qc
ClkA
Clk
5
Qa
clkB
n.c.
externo
del 7
Qd del
Qa
ClkB
n.c.
Salida
7
5

Para el 5=0101 luego hay que resetear con Qa y Qc


Para el 7=0111 luego hay que resetear con Qa Qb y Qc luego una puerta AND a Qb y Qc

25 Puede ser el 74190 como el 74191


Hay que detectar el 7=0111 y cargar el 3=0011
Qa

Qb

Qc

Qd

Rco

CLK

D/U

Load

Max/
Min

Sal
Q0

Sal
Q1

Sal
Q2

Sal
Q3

n.c.

Clk
ext

Ent
pta

n.c

Entrada pta NAND= Q2 Q1 Q0

47

26 Puede ser el 74190 como el 74191


Hay que detectar el 2=0010 y cargar el 6=0110
Qa

Qb

Qc

Qd

Rco

CLK

D/U

Load

Max/
Min

Sal
Q0

Sal
Q1

Sal
Q2

Sal
Q3

n.c.

Clk
ext

Ent
pta

n.c

Entrada pta OR= Q3 Q2 Q0

27 Esta vez tiene que ser el 74191


Hay que detectar el 13=1101 y cargar el 5=0101
Qa

Qb

Qc

Qd

Rco

CLK

D/U

Load

Max/
Min

Sal
Q0

Sal
Q1

Sal
Q2

Sal
Q3

n.c.

Clk
ext

Ent
pta

n.c

Entrada pta NAND= Q3 Q2 Q0


28 Esta vez tiene que ser el 74191
48

Hay que detectar el final y cargar el 5=0101


Qa

Qb

Qc

Qd

Rco

CLK

D/U

Load

Max/
Min

Sal
Q0

Sal
Q1

Sal
Q2

Sal
Q3

Load

Clk
ext

Rco

n.c

Tambin se puede conectar el Load a la salida de una puerta NOT de Max/Min

49

29 Puede ser el 74190 como el 74191


Hay que detectar el final y cargar el 8=1000
Qa

Qb

Qc

Qd

Rco

CLK

D/U

Load

Max/
Min

Sal
Q0

Sal
Q1

Sal
Q2

Sal
Q3

Load

Clk
ext

Rco

n.c

Tambin se puede conectar el Load a la salida de una puerta NOT de Max/Min


30 Tienen que ser dos 74191
Hay que detectar el 18=00010010 y cargar el 2=00000010
Chip
1
2

Qa

Qb

Qc

Qd

Sal
Q0
Sal
Q4

Sal
Q1
Sal
Q5

Sal
Q2
Sal
Q6

Sal
Q3
Sal
Q7

Rco

CLK

D/U

n.c.

Clk
ext

n.c.

Q3

Load
Sal
pta
Sal
pta

Max/
Min
n.c
n.c.

Pta= NAND Q1 y Q4 CLK del 2 puede ser el RCO del 1


31 Tienen que ser dos 74190
Hay que detectar el 18=0001 1000 y cargar el 2=00000010 (en BCD)
Chip
1
2

Qa

Qb

Qc

Qd

Sal
Q0
Sal
Q4

Sal
Q1
Sal
Q5

Sal
Q2
Sal
Q6

Sal
Q3
Sal
Q7

Rco

CLK

D/U

n.c.

Clk
ext

n.c.

Q3

Load
Sal
pta
Sal
pta

Pta= NAND Q3 y Q4 CLK del 2 puede ser el RCO del 1

50

Max/
Min
n.c
n.c.

32 Tienen que ser dos 74190


Hay que detectar el 10=0001 0000 y cargar el 18=0001 1000 (en BCD)
Chip
1
2

Qa

Qb

Qc

Qd

Sal
Q0
Sal
Q4

Sal
Q1
Sal
Q5

Sal
Q2
Sal
Q6

Sal
Q3
Sal
Q7

Rco

CLK

D/U

n.c.

Clk
ext

n.c.

Q3

Load
Sal
pta
Sal
pta

Max/
Min
n.c
n.c.

Pta= OR de Q7 Q6 y Q5 (no es necesario hacer OR de Q3 Q2 Q1 Q0 pues del 18 al 10


no hay nadie que tenga Q7 Q6 y Q5 = 0 0 0, pero si se hace no pasa nada)
CLK del 2 puede ser el RCO del 1

33 Tienen que ser dos 74190


Hay que detectar el 80=1000 0000 y cargar el 13=0001 0011 (en BCD)
Chip
1
2

Qa

Qb

Qc

Qd

Sal
Q0
Sal
Q4

Sal
Q1
Sal
Q5

Sal
Q2
Sal
Q6

Sal
Q3
Sal
Q7

Rco

CLK

D/U

n.c.

Clk
ext

n.c.

Q3

Load
Sal
pta
Sal
pta

Pta = NOT que tiene de entrada Q7 ( desde el 13 al 79 no hay nadie que tenga Q7=1)

51

Max/
Min
n.c
n.c.

34 Son dos chips, 1 el de unidades y el 2 el de decenas


Tiene que detectar el 50=0101 0000 y resetear
Chip

Qa

Qb

Qc

Qd

UP

DW

Q0

Q1

Q2

Q3

n.c.

n.c.

n.c.

n.c.

Clk

n.c.

Q4

Q5

Q6

Q7

n.c.

n.c.

n.c.

n.c.

Co
1

n.c.

CO
Up
2

BO
n.c.

n.c.

n.c.

CO
Up
2

BO

Load Clear
Sal
n.c.
pta
Sal
n.c.
pta

Pta = NAND Q4 y Q6
El reloj UP del 2 chip se podra hacer con la salida Q3

35 Son dos chips, 1 el de unidades y el 2 el de decenas


Tiene que detectar el 74=0111 0100 y cargar el 13=0001 0011
Chip

Qa

Qb

Qc

Qd

UP

DW

Q0

Q1

Q2

Q3

Clk

n.c.

Q4

Q5

Q6

Q7

CO
1

n.c.

n.c.

n.c.
n.c.

Load Clear
Sal
0
pta
Sal
0
pta

Pta = NAND Q2 Q4 Q5 y Q6
El reloj UP del 2 chip se podra hacer con la salida Q3

52

36 Son dos chips, 1 el de unidades y el 2 el de decenas


Tiene que detectar el 40=0100 0000 y cargar el 27=0010 0111
Chip

Qa

Qb

Qc

Qd

UP

DW

Q0

Q1

Q2

Q3

Clk

n.c.

Q4

Q5

Q6

Q7

CO
1

n.c.

CO
Up
2
n.c.

BO
n.c.
n.c.

Load Clear
Sal
0
pta
Sal
0
pta

Pta = NOT de Q6
El reloj UP del 2 chip se podra hacer con la salida Q3
37 Son dos chips, 1 el de unidades y el 2 el de decenas
Tiene que detectar el 40=0100 0000 y resetear
Chip

Qa

Qb

Qc

Qd

UP

DW

Q0

Q1

Q2

Q3

n.c.

n.c.

n.c.

n.c.

clk

Q4

Q5

Q6

Q7

n.c.

n.c.

n.c.

n.c.

CO1 n.c

n.c.

CO
Up
2
n.c.

BO

Load Clear

n.c.

n.c.

n.c.

n.c.

Q6
Q6

Aqu no hace falta realizar ninguna funcin lgica


El reloj UP del 2 chip se podra hacer con la salida Q3
38 Son dos chips, 1 el de unidades y el 2 el de decenas
Tiene que llegar a 0 y cargar el 40 = 0100 0000
Chip

Qa

Qb

Qc

Qd

UP

DW

Q0

Q1

Q2

Q3

n.c.

Clk

Q4

Q5

Q6

Q7

n.c.

BO
1

CO
n.c.
n.c.

BO Load Clear
Dwn BO
0
2 2
BO
n.c.
0
2

Aqu no hace falta realizar ninguna funcin lgica, se podra hacer con una puerta OR
de los 0 del 40 pero cuando las decenas llegan a 0, BO hace un flanco de bajada que
sirve para cargar de nuevo al 40
El reloj DOWN del 2 chip se podra hacer con la salida Q3

39 Son dos chips, 1 el de unidades y el 2 el de decenas


Tiene que detectar el 24=0010 0100 y cargar el 45=0100 0101
Chip

Qa

Qb

Qc

Qd

UP

DW

Q0

Q1

Q2

Q3

n.c.

Clk

Q4

Q5

Q6

Q7

n.c.

BO
1

CO
n.c.
n.c.

BO Load Clear
Dwn Sal
0
2 pta
Sal
n.c.
0
pta

Pta = OR Q7 Q6 Q4 Q3 Q1 y Q0
El reloj UP del 2 chip se podra hacer con la salida Q3
53

40 Son tres chips, 1 el de unidades y el 2 el de decenas 3 centenas


Todos conectados en cascada
Tiene cargar el 500= 0101 0000 0000
Chip
1
2
3

Qa
Q0
Q4
Q8

Qb
Q1
Q5
Q9

Qc
Q2
Q6
Q10

Qd
Q3
Q7
Q11

D
0
0
0

C
0
0
1

B
0
0
0

A
0
0
1

UP DW CO
A
B Up 2
CO1 BO 1 CO3

CO2 BO2 n.c.

BO
Load
Dwn 2 D
BO3 D

n.c.

Clear
C
C

54

6 Problemas de astables, retardadores y


monoestables digitales
6.1 ENUNCIADOS DE PROBLEMAS
6.1.1 Problemas de monoestables con puertas lgicas y 74121 74221 74122 y 74123
1 Disea un monoestable con puertas NAND con un tiempo de activacin de 3 seg. Elegir C=1F
2 Disea un monoestable con el 74121 para un tiempo 0.1mseg y R=10k usando frmulas.
3 Disea un monoestable con el 74121 para un tiempo 0.1mseg y R=10k usando bacos.
4 Disea un monoestable con el 74121 para un tiempo 3seg y C=1nF usando frmulas.
5 Disea un monoestable con el 74121 para un tiempo 3seg y C=1nF usando bacos.
6 disea un detector de impulsos superior a 3seg C=F
7 disea un detector de impulsos inferiores a 2mseg C=100n
8 Disea un retardador de impulso con el 74121 de la siguiente forma :
9 Disea un detector de impulsos mltiples en 4 segundos R=600k
10 Disea un monestable de temporizacin 1ms y R=50k con el 74122
11 Disea un monestable de temporizacin 1s y R=50k con el 74122
12 Disea un astable con el 74123 con un tiempo bajo de 7seg y un tiempo alto de 0.4seg. Utilizar
resistencias de 50k

55
Abaco 74122

6.1.2 Problemas con 555


13 Disea un monoestable con 555 que responda al siguiente esquema del osciloscopio, R=1M, por cierto
Cul sera la tensin Vcc? Intenta hacerlo en el EWB

14 Supongamos que R = 1M y C=3F Dibuja en el osciloscopio anterior cual sera la forma de onda.
15 Dibuja la forma de onda del siguiente osciloscopio :

16 Supongamos que queremos conseguir la siguiente onda, disalo con un 555 C=3F

56

6.1.3 Problemas con trigers y retardadores


17 Calcular la frecuencia de la onda del siguiente circuito 7414

18 Disea un astable con el 7414 que responda a la siguiente seal de osciloscopio C=1nF

19 Calcula el tiempo de retardo de la siguiente circuito retardador

20 Disea un circuito retardador de 5seg con un C=6F

57

6.2 BACOS Y FRMULAS 74122 74123 74121 Y 555

74122 y 74123
Si C1nF usar el baco
Si C>1nF usar frmula :
T = 0.28RC(1+700/R)
(0.32 con diodo)

74121 y 74221 con baco o con la frmula T=0.69RC

Monoestable con 555 T=RCln3

Astable con 555

TH=(R1+R2) ln2
TL = R1 ln2

58

6.3 SOLUCIONES A LOS PROBLEMAS


6.3.1 Soluciones monoestables con puertas lgicas y 74121 74221 74122 y 74123
1 Si T=RCln3 => R = T/Cln3 = 3/1*1.1 = 2.7M
2 T=RCln2 => C=T/Rln2 = 0.1m/10k*0.69=14.5nF
3 Para T=0.1ms=100s y R=10K tenemos C=15nF

Problema 1

Problema 3
Problema 5

Tenemos

que

R=3/1n*0.69=4.3k

5 En el baco nos sale 4k


6 Con la frmula, pues es ms cmodo :
Problema 6
R=3/3*0.69=1.4M

7 Igualmente
Problema 7

R=2m/100n*0.69=29k

8 El primer monoestable
hace un retardo a la
conexin de 3seg y el
segundo monoestable hace
que dure el impulso 2seg
para que juntos sean los 5
segundos que pide el
enunciado
R1=3/300n*0.69 = 14M
R2 = 2/300n*0.69 = 9.6M
Los condensadores sera
de 300n

Problema 8

59

9 En este caso tenemos que despejar la despejar el


condensador pues nos dan la resistencia :
C=4/0.69*600k=9.6F

Problema 9
10 Usando la frmula:
T=0.32RC(1+700/R) despejando C tenemos C=T/R(1+700/R) = 1m/(0.32*50k(1+700/50k))=61nF
Como sale ms grande 1nF no tenemos por qu usar baco.
11 Igualmente tenemos C=T/R(1+700/R) = 1m/(0.32*50k(1+700/50k))=61pF como
sale ms pequeo que 1nF tenemos que usar el baco : C=40pF
12 Tenemos que usar los dos
monoestables del 74123 en cascada
y realimentados, de esta
forma uno dispara al otro
resultando un astable. El
tiempo bajo lo regula el
primer monoestable, el
de la derecha, y el
tiempo alto el de la
izquierda.
El primer condensador: C =
T/R(1+700/R = 7/0.32*50k(1+700/50k) = 431pF =>Como
sale <1nF tenemos que usar el baco y sale C=400pF
(Se puede observar que prcticamente para tiempos mayores
de 5000nseg la frmula y el baco dan el mismo resultado.
Para el otro condensador C = T/R(1+700/R =
0.4/0.32*50k(1+700/50k) = 24pF =>Como sale <1nF
tenemos que usar el baco y sale C=4pF
(Aqu ya no sale igual)

6.3.2 Soluciones a los problemas con el 555


13 Observando el osciloscopio, tenemos 2.2DIV*1SEG/DIV = 2.2seg luego para una R=1M tenemos
C=T/1.1*R=2. La Vcc=2.4Div*5V/Div=12V
14 Tenemos que T=1.1*R*C=1.1*1M*3=.3seg el osciloscopio
sera con 3.3Div
Verticalmente Vcc=12V/5V/Div=2.4Div
Y la forma de onda del condensador tiene que llegar a 2/3 de
Vcc es decir 12*2/3=8V=1.6Div

60

15 Calculando tenemos
Tl=0.69*R2*C=0.69*80k*2=0.11seg = 2.2Div
(dividiendo por 0.05seg/Div)
Th=0.69*C*(R1+R2)=0.69*2*(80k+50k)=0.18se=3.5Div
La tensin Vcc=12=2.4Div Vcc/3=4V=0.8div

Vcc2/3=8=1.6Div

16 Primero lo diseamos con el tiempo bajo


Tl=3.5Div*0.05seg/Div=0.175seg
Luego R2=Tl/0.69*C=0.175/0.69*3=84k
Con esta resistencia podemos calcular R1
Th=3.8Div*0.05Div=0.19seg
R1+R2= Tl/0.69*C=0.19/0.69*3=91k luego R1=7k. El dibujo sera igual que el del ejercicio anterior
6.3.3 Soluciones a los problemas con trigerr y retardadores
17 El tiempo bajo ser Th=RCln(Vcc-Vt-)/(Vcc-Vt+)=300*0.01ln(5-0.9)/(5-1.7)=630nseg
y el tiempo alto ser Tl=RClnVt+/Vt-=300*0.01ln1.7/0.9=1.89seg
La suma de los dos T=Th+Tl=2.52seg que en frecuencia es 400kHz
18 Observando el osciloscopio, los tiempos bajo y alto son aproximdamente de
Tl=Th=0.02seg=20nseg luego
R=Tl/ClnVt+/Vt-=20n/1nln(1.7/0.9)=31
O con la otra frmula
R=Th/Cln(Vcc-Vt-)/(Vcc-Vt+)=20n/1nln(5-1.7)/(5-0.9)=95
Elegimos un valor aproximado medio de 60

19 El tiempo de retardo ser T=1.1RC=.1*1*2.7M=3seg


6.20 Despejando de la anterior frmula tenemos : R=T/1.1*C=5/6*1.1=757k

61

7 ALARMA AIN 302

62

63

64

65

66

67

68

69

8. Autmatas programables
8.1.- QU ES UN AUTMATA PROGRAMABLE?
Hasta no hace mucho tiempo el control de procesos industriales se venia haciendo de forma cableada
por medio de contactores y rels. Al operario que se encontraba a cargo de este tipo de instalaciones, se le
exiga tener altos conocimientos tcnicos para poder realizarlas y posteriormente mantenerlas. Adems
cualquier variacin en el proceso supona modificar fsicamente gran parte de las conexiones de los
montajes, siendo necesario para ello un gran esfuerzo tcnico y un mayor desembolso econmico.
En la actualidad no se puede entender un proceso complejo de alto nivel desarrollado por tcnicas
cableadas. El ordenador y los autmatas programables ha intervenido de forma considerable para que este
tipo de instalaciones se hayan visto sustituidas por otras controladas de forma programada. El Autmata
Programable Industrial (API) naci como solucin al control de circuitos complejos de automatizacin.
Por lo tanto se puede decir que un API no es ms que un aparato electrnico que sustituye los circuitos
auxiliares o de mando de los sistemas automticos. A l se conectan los captadores (finales de carrera,
pulsadores,...) por una parte, y los actuadores (bobinas de contactores, lmparas, peque os receptores,...)

por otra.
Veamos un tpico circuito de automatismos. Un arrancador Estrella/Tringulo con temporizador.
La figura 1 muestra como es la tcnica cableada. Por una parte tenemos el circuito de fuerza, que
alimenta el motor, y por otra el circuito auxiliar o de mando, que realiza la maniobra de arranque de
dicho motor.

70

La figura 2 muestra como se realiza el mismo montaje de forma programada. El circuito de fuerza es
exactamente el mismo que en la tcnica cableada. Sin embargo, el de mando ser sustituido por un
autmata programable, al cual se unen elctricamente los pulsadores y las bobinas de los contactores. La
maniobra de arranque la realizara el programa que previamente se ha transferido al autmata.

Contactor
lnea

Contactor
tringulo

Fusible trmico

Contactor
estrella

Interruptores
de paro y
marcha
fusible trmico

8.2 PARTES DE UN AUTMATA PROGRAMABLE


La estructura bsica de cualquier autmata es la siguiente:
Fuente de alimentacin
CPU
Mdulo de entrada
Mdulo de salida
Terminal de programacin
Perifricos.
Respecto a su disposicin externa, los autmatas pueden contener varias de estas secciones en un mismo
mdulo o cada una de ellas separadas por diferentes mdulos. As se pueden distinguir autmatas
Compactos y Modulares.
8.2.1 Fuente de alimentacin
Es la encargada de convertir la tensin de la red, 220v c.a., a baja tensin de c.c, normalmente 24 v.
Siendo esta la tensin de trabajo en los circuitos electrnicos que forma el Autmata.
8.2.2 CPU
La Unidad Central de Procesos es el autntico cerebro del sistema. Se encarga de recibir las ordenes,
del operario por medio de la consola de programacin y el modulo de entradas. Posteriormente las
procesa para enviar respuestas al mdulo de salidas. En su memoria se encuentra residente el programa
destinado a controlar el proceso.
8.2.3 Modulo de entradas
A este mdulo se unen elctricamente los captadores (interruptores, finales de carrera, pulsadores,...).
La informacin recibida en l, es enviada a la CPU para ser procesada de acuerdo la programacin
residente.
Se pueden diferenciar dos tipos de captadores conectables al mdulo de entradas: los Pasivos y los
Activos.
Los Captadores Pasivos son aquellos que cambian su estado lgico, activado - no activado, por medio
de una accin mecnica. Estos son los Interruptores, pulsadores, finales de carrera, etc.
Los Captadores Activos son dispositivos electrnicos que necesitan ser alimentados por una tensin
para que varen su estado lgico. Este es el caso de los diferentes tipos de detectores (Inductivos,
Capacitivos, Fotoelctricos). Muchos de estos aparatos pueden ser alimentados por la propia fuente de
alimentacin del autmata.

71

8.2.4 Modulo de salidas


El modulo de salidas del autmata es el encargado de activar y desactivar los actuadores (bobinas de
contactores, lmparas, motores peque os, etc).
La informacin enviada por las entradas a la CPU, una vez procesada, se enva al mdulo de salidas
para que estas sean activadas y a la vez los actuadores que en ellas estn conectados.
Segn el tipo de proceso a controlar por el autmata, podemos utilizar diferentes mdulos de salidas.
Existen tres tipo bien diferenciados:
- A rels.
- A triac.
- A transistores.
8.2.4.1 Mdulos de salidas a rels.
Son usados en circuitos de corriente continua y alterna. Estn basados en la conmutacin mecnica, por
la bobina del rel, de un contacto elctrico normalmente abierto .

.
.
Un rel es un componente elctrico formado por un electroimn y varios interruptores. Cuando es
recorrido por la corriente elctrica, el electroimn genera un campo magntico que abre o cierra los
interruptores dependiendo de su estructura interna. En el sistema de control digital como es el caso
de los autmatas es de una utilidad alta ya que nos permite interpretar que el interruptor cerrado
indica paso de corriente (bit 1) y el interruptor abierto indica ausencia de corriente (bit 0), con lo
que a travs de aperturas y cierres de interruptores podemos obtener un cdigo binario que puede
ser entendido por cualquier microprocesador.
Su accin puede ser directa o a travs de algn elemento interpuesto. Lo ms habitual es que el rel abra o
cierre un circuito elctrico.
Las caractersticas de la carga que ha de soportar (tensin, corriente, etc.) influyen sobre el tiempo de vida
til de los rels.
Por todo ello para alargar la vida de los rels y proporcionar una mejor seal de salida se interponen
circuitos de proteccin de rel interno que permiten suprimir el ruido elctrico.
Circuitos con rel conectado y no conectado.

Estos circuitos nos muestras que cuando conectamos el interruptor del circuito donde se encuentra la pila
pasa una corriente a travs que es capaz de disparar la accin del rel que se encargar de cerrar el
circuito para conectar la bombilla. El rel se conectar cuando la corriente que pas a travs del primer
circuito sea la necesaria (viene determinada segn las caractersticas del rel).

72

De esta forma se puede apreciar que un circuito por donde pasa muy poca corriente como son 12 V, es
capaz de activar otro circuito que trabaje a mucha ms corriente como 220 V. Esto es lo que hace el
autmata con los motores que es capaz de conectar.
8.2.4.2 Mdulos de salidas a Triacs
Se utilizan en circuitos de corriente continua y corriente alterna que necesiten maniobras de
conmutacin muy rpidas.

8.2.4.3 Mdulos de salidas a Transistores a colector abierto.


El uso del este tipo de mdulos es exclusivo de los circuitos de c.c.
Igualmente que en los de Triacs, es utilizado en circuitos que necesiten maniobras de
conexin/desconexin muy rpidas.

8.2.5 Terminal de programacin


El terminal o consola de programacin es el que permite comunicar al operario con el sistema.
Las funciones bsicas de ste son las siguientes:
- Transferencia y modificacin de programas.
- Verificacin de la programacin.
- Informacin del funcionamiento de los procesos.
Como consolas de programacin pueden ser utilizadas las construidas especficamente para el
autmata, tipo calculadora o bien un ordenador personal, PC, que soporte un software especialmente
diseado para resolver los problemas de programacin y control.

Terminal de programacin compatible PC


Terminal de programacin porttil

73

8.2.6 PERIFRICOS
Los perifricos no intervienen directamente en el funcionamiento del autmata, pero sin embargo
facilitan la labor del operario. Los ms utilizados son: - Grabadoras a cassettes. - Impresoras. Cartuchos de memoria EEPROM. - Visualizadores y paneles de operacin OP

Panel de Operacin

Conexin de un visualizador a un autmata

8.3.- LENGUAJES DE PROGRAMACIN


Cuando surgieron los autmatas programables, lo hicieron con la necesidad de sustituir a los enormes
cuadros de maniobra construidos con contactores y rels. Por lo tanto, la comunicacin hombre-maquina
debera ser similar a la utilizada hasta ese momento. El lenguaje usado, debera ser interpretado, con
facilidad, por los mismos tcnicos electricistas que anteriormente estaban en contacto con la instalacin.
Estos lenguajes han evolucionado, en los ltimos tiempos, de tal forma que algunos de ellos ya no tienen
nada que ver con el tpico plano elctrico a rels..
Los lenguajes ms significativos son:

8.3.1 Lenguaje a contactos. (LD)


Es el que ms similitudes tiene con el utilizado por un electricista al elaborar cuadros de automatismos.
Muchos autmatas incluyen mdulos especiales de software para poder programar grficamente de esta
forma.

8.3.2 Lenguaje por Lista de Instrucciones. (IL)


En los autmatas de gama baja, es el nico modo de programacin. Consiste en elaborar una lista de
instrucciones o nemnicos que se asocian a los smbolos y su combinacin en un circuito elctrico a
contactos. Tambin decir, que este tipo de lenguaje es, en algunos los casos, la forma ms rpida de
programacin e incluso la ms potente.

74

8.3.3 Grafcet. (SFC)


Es el llamado Grfico de Orden Etapa Transicin. Ha sido especialmente diseado para resolver
problemas de automatismos secuenciales. Las acciones son asociadas a las
etapas y las condiciones a cumplir a las transiciones. Este lenguaje resulta
enormemente sencillo de interpretar por operarios sin conocimientos de
automatismos elctricos.
Muchos de los autmatas que existen en el mercado permiten la
programacin en GRAFCET, tanto en modo grfico o como por lista de
instrucciones.
Tambin podemos utilizarlo para resolver problemas de automatizacin de
forma terica y posteriormente convertirlo a plano de contactos.

8.3.4 Plano de funciones (FBD)


El plano de funciones lgicas, resulta especialmente cmodo de utilizar, a tcnicos habituados a
trabajar con circuitos de puertas lgicas, ya que la simbologa usada en ambos es equivalente.

Qu diferencia hay entre un autmata y un ordenador?


AUTMATAS

Trabajan con instrucciones especficas


de entradas y salidas

ORDENADORES

Trabaja con instrucciones especficas


del campo de la informtica
(ficheros...)

Sistemas programables

Segn este diagrama podemos ver la gran similitud entre ordenadores y autmatas, la
gran diferencia entre ambos radica en el tipo y caractersticas de la informacin con la
que trabaja cada uno.
En el primer caso de los autmatas las entradas responden a seales recibidas del
exterior para lo cual se hace necesario el uso de sensores y transductores, mientras que
las salidas van dirigidas a reguladores y actuadores como puedan ser los motores.
En el segundo caso de los ordenadores la informacin viene en forma de ficheros
incluidos en soportes como disquetes, discos compactos, etc.

75

8.4 CASO PRCTICO AUTMATA LOGO! 230RC


Aqu tienes un esquema de la conexin del logo, en este dibujo puedes observar tres cosas:

Tensin de alimentacin L1, N


AC 115V/230V 50/60Hz: esto lo hace muy verstil para poder utilizarlo en muchos
pases donde las estructuras elctricas sean diferentes.
L1 = 85 ...264V AC: es la tensin que puede llevar la lnea L1, necesaria para que
funcionen los interruptores de las entradas.
6 Entradas
I1, I2, I3, I4, I5, I6: son los cdigos que vamos a asignar a cada entrada y a las que
llegarn las seales del exterior, bien por sensores, transductores, motores, etc.
Estado de la seal 1 con > 79 V AC
Estado de la seal 0 con 40 V AC
4 Salidas
Q1, Q2, Q3, Q4 son salidas de interruptor., luego necesitan una lnea de fuerza
L1, que es la que le suministra la fuerza para conectarse y desconectarse.
La mxima potencia que aguantan los rels internos son de 2000W, suficientes para
hacer funcionar motores de muchas mquinas, pero hay veces que la potencia
requerida es mayor y se hace necesario el uso de contactores.
Qu son los contactores? son unos dispositivos que tienen la estructura de un rel.
Su funcin aqu consiste en poner en contacto dos circuitos que trabajan a potencia
diferentes sin que se dae ninguno de ellos.

ENTRADAS

Pantalla donde se van viendo


las rdenes introducidas o los
parmetros introducidos.

Teclado para introducir


rdenes o modificar las
existentes

SALIDAS
(Tipo Rel)
Seal de salida en forma de
luces que simulan la
conexin a un motor

76

8.5 PROGRAMACIN DEL LOGO!


El LOGO se programa con lenguaje FPB es decir, que su lenguaje es grfico es decir mediante
logigramas, por lo que no necesita grandes conocimientos de programacin, y no se borran al
suspender la alimentacin Qu tipo de memoria tendr interna?

Segn el tipo de salida que tiene el autmata, puede ser analgica?


CO CONECTORES
Los conectores que puedes usar en las entradas de los bloques son:
Nada conectado = x
Entradas
= I1 I2 I3 I4 I5 I6
Salidas
= Q1 Q2 Q3 Q4
Fijas 1/ 0
= hi lo (high= alto=1, low=bajo=0).
GF FUNCIONES BSICAS INTEGRADAS
OR

NOR

AND

NAND

XOR
(diferentes = 1 )
NOT
SF FUNCIONES ESPECIALES
Retardo a la
conexin
Retardo a la
desconexin

Telerruptor

Interruptor
horario, (Reloj
no disponible
en el modelo
230R)
Rel con
autorretencin
(Biestable RS)

Cuando se pulsa la entrada hay un tiempo


de retardo T en que se conecte la salida. La
salida termina cuando termina la accin de
la entrada.(interruptor).
Cuando se pulsa la entrada, se conecta la
salida que tardar un tiempo en
desconectarse tomado desde que la entrada
se desconecta. (pulsador). Existe el reset.
Esta funcin tiene una entrada que cuando
se activa inmediatamente se activa la salida
que estar activada hasta que vuelva a
aparecer una nueva entrada.
Existe la funcin reset que anula la
informacin previa.
Esta funcin tiene tres entradas en las que
se puede programar tres franjas horarias
diferentes, siendo la salida la suma de
todas ellas.
La salida actuar a la primera entrada que
le diga algo.
Esta funcin hace uso de la entrada set que
hace que la salida se accione, estando as
hasta que acte el reset.

77

Generador de
pulsos

Ante una entrada (En) que estar activada


durante un tiempo T, la salida generada
ser en forma de impulsos.

Es un retardo a la conexin igual que en la


Retardo a la
primera funcin pero al ser memorizado,
conexin
esta funcin no se desconecta, y adems la
memorizado
entrada es en forma de conector y no de
interruptor.
Es una funcin que tiene la propiedad de
contar (Cnt) y actuar cuando se llega a un
determinado nmero (Par) o superior a
Contador
este. La funcin puede ir en la direccin de
adelante/atrs
aumentar el nmero disminuir (Dir).
Dispone de reset (R ). La salida ser 1
cuando lleguemos al nmero del par o
superior y 0 cuando sea menor.
EJERCICIO: Rellena la 3 columna dibujo explicativo, en forma de diagrama de
estados:
Retardo a la
conexin
Retardo a la
desconexin
Telerruptor

Interruptor horario

Rel con
autorretencin
(Biestable RS)
Generador de
pulsos
Retardo a la
conexin
memorizado
Contador
adelante/atrs

78

8.8 EJERCICIOS CON EL LOGO!


8.8.1 Ejercicios manejo funciones generales

1 Realizar un programa en el LOGO que cuando los interruptores I1 I2 e I3 estn


activados, Q1 se active (activarse = 1)
2 Realizar un programa en el LOGO que cuando alguno de los interruptores I1 I2 e I3
estn activados, Q1 se active (activarse = 1)
3 Si I1 e I2 son diferentes entonces Q1=1
4 Si I1 e I2 son iguales entonces Q1=1
5 Si I1=1 I2=1 e I3 =0 entonces Q1=1 ser 0 en otro caso
6 Si I1=1 I2=1 e I3 =0 entonces Q1=1 ser 0 en otro caso
Si I1=1 I2=0 e I3 =0 entonces Q2=1 ser 0 en otro caso
Q3=1 si ocurre alguno de los anteriores casos
7 Si I1=1 I2=1 e I3 =0 o I1=0 I2=1 e I3 =0 entonces Q1=1 ser 0 en otro caso
Si I1=1 I2=0 e I3 =0 entonces Q2=1 ser 0 en otro caso
Q3=1 si ocurre alguno de los anteriores casos
Q4 = 1 si ocurren los dos anteriores casos a la vez (Q2 y Q3)
8 Si I1=1 I2=1 I3 =0 I4=1 I5=0 I6=1 entonces Q1=1 ser 0 en otro caso
Los siguientes 4 problemas hacerlos slo si os sobra tiempo, si no pasar al 13:
9 Teniendo en cuenta slo las entradas I1 I2 I3 e I4 realizar un programa que Q1=1 si el
nmero de interruptores activados superan o igualan al nmero de interruptores
desactivados.
10 Teniendo en cuenta slo las entradas I1 I2 I3 e I4, hacer un programa que si el
nmero de interruptores activados de I1 I2 I3 e I4 son impares entonces Q1=1
11 Teniendo en cuenta slo las entradas I1 I2 I3 e I4, hacer un programa que si hay dos
interruptores contguos activados, entonces Q1=1.
12 Teniendo en cuenta slo las entradas I1 I2 I3 e I4, hacer un programa que si hay dos
interruptores contguos activados, entonces Q1=1. Si I2=0 e I4 =0 entonces la salida Q1
es indiferente.

79

8.8.1 Ejercicios manejo funciones especficas

13 Realizar un programa con el LOGO que sirva como temporizador de una luz de
escalera, es decir si se pulsa la entrada I1, entonces Q1 se encuentra encendido digamos
40 seg.
14 Si observamos cmo se enciende un telfono mvil, podemos ver que es un
interruptor de pulsacin prolongada, es decir, que hay que hacer una pulsacin larga en
la tecla correspondiente y entonces se conecta el movil. Realizar un programa con el
LOGO de manera que con una pulsacin prolongada en I1 de 6 segundos entonces la
mquina conectada en Q1 se active.
15 En una habitacin con dos interruptores y una luz, para que desde cualquier
interruptor se pueda encender y apagar la luz hace falta un interruptor de cruze, pero en
el caso de ms de 2 la solucin es muy tediosa, por ejemplo una gran nave. Realizar un
programa en LOGO que solucione este problema, donde hay cientos de pulsadores (en
vez de interruptores) que cada uno de ellos pueden encender o apagar la luz conectada
en Q1
16 Supongamos una puerta elctrica, que con un pulsador o clula fotoelctrica se abre
la puerta. Realizar un programa que con un pulso en I1 se active Q1 Cundo se
desactivar? Para ello tiene que existir un fin de carrera, I2, es decir, un pulsador que
cuando la puerta llegue hasta el final, estos pulsadores son NC (normalmente cerrados)
cmo seguridad. Para simplificar el problema supondremos que no es NC (normalmente
cerrado) sino NA (normalmente abierto).
17 Vamos a aadir a la puerta del ejerccio anterior un cierre automtico, de tal manera
que exista un pulso en I1, despus de 10 segundos tiene que activar el sentido de giro de
cerrar Q2 hasta llegar al final de carrera I3 que por simplificacin ser NA. En un
problema posterior se tratar ms profundamente del cambio de sentido de giro de un
motor.
18 Para completar ms an la puerta automtica, se pide en este ejercicio aadir un
aviso intermitente por Q3 de 0.5 segundos cuando se este cerrando la puerta Q2
19 En una cinta de transporte de una panaderia, se encuentra una clula fotoelctrica I1
que emite pulsos cada vez que pasa por delante de ella un pastelito. Realizar un
programa que cuando cuente 16 empaquete el pastelito. La mquina de empaquetar est
en Q1. Una vez concluida la empaquetacin, por I2 se le envia un pulso para que
empieze a contar.
20 Supongamos una oficina, que desea que la calefaccin Q1 se conecte Lunes a
Viernes de 9:00 hasta las 13:00 y de 16:00 hasta las 19:00, excepto los viernes conectar
a las 8:00 en vez de las 9:00 y que de desconectar a las 18:00 en vez de las 19:00 pues
se entra ms pronto y se sale ms pronto. Los Sabados slo se trabaja por la maana y
habra que conectar la calefaccin de 9:00 a 13:00.
21 Supongamos una mquina taladradora Q1 que tiene dos pulsadores. Uno para On I1
y otro para Off I2. Realizar el programa que permita su funcionamiento.
22 Realizar el mismo ejercicio anterior pero que slo sea un solo pulsador I1

80

8.8.3 Ejercicios globales funciones generales+funciones especiales GF+SF tericos

23.- Cuando se active I1 o I2, que se encienda la lampara Q1 tardando 7 segundos


en desconectarse. I1e I2 pulsadores.

24.- Cuando se active I1 e I2, que se encienda la lampara Q1 tardando 10 segundos


en desconectarse.

25.- Hacer una intermitencia cuando se pulse I1 e I2, la intermitencia que sea de 1
segundo cada periodo (0.5 segundos encendido y 0.5 segundos apagado), siendo I1
e I2 interruptores.

26.- Hacer una intermitencia cuando se pulsa I1, y que esa intermitencia se apague
cuando se vuelva a pulsar. La intermitencia que sea de 1 segundo de periodo.

2- Hacer una intermitencia durante 10 segundos cuando se encienda I1 e I2 que son


pulsadores.

81

28.- Hacer un programa que cuando se active I1 se encienda Q1 durante 5


segundos, y si se activa I2 que haga una intermitencia de 1 segundo cada periodo,
siendo I1 un pulsador e I2 un interruptor.

29.- Hacer un programa que cuando se active I1 se encienda Q1 durante 5 seg. Y si


se activa I2 que durante 5 seg haya una intermitencia de 0.5seg. cada periodo
siendo I1 e I2 pulsadores. I3 pulsador como Reset

30.- Que Q1 realice una intermitencia de 5 segundos con 1 segundo cada periodo
cuando se apague I1, siendo I1 un pulsador. I3 pulsador como Reset

31.- Al pulsar 1x I1 se enciende Q1, al pulsar 2 x I1 se enciende Q1 y Q2, al pulsar


3 x I1 se enciende Q1 Q2 Q3, y al pulsar 4 x I1 se apagan todos
32.- Que se encienda Q1 5 segundos cuando se active I1, siendo I1 interruptor.

33.- Al accionar I1, Q1 se acciona 2 segundos despus de que se apague I1 y


funciona durante 1 segundo, siendo I1 un pulsador.

34 Cuando se accione I1, despus de 10 segundos, que Q1 haga una intermitencia


durante 5 segundos (1 segundo cada periodo), siendo I1 pulsador.

82

35.- Realizar un secuenciamiento de luces, en bucle.


Q1 => Q2 => Q3 => Q4 => Q1 => Q2 => .....
8.8.4 Ejercicios GF+Sf casos prcticos
36 Realizar un programa que simule un semforo. Q1=Rojo Q2=Amarillo Q3=Verde de tal manera
que este 8 seg. en Rojo, 2 seg. en Amarillo y 10 seg. en verde. Se comenzar con un pulso en I1.
37 El mismo ejercicio que 36, pero que la luz amarilla haga intermitencia
38 Se desea abrir una puerta con dos pulsadores I1=Abrir, (fin de carrera I2) I3=Cerrar (fin de
carrera I4). Para abrir se utilizar la salida Q1, y para cerrar Q2. Para invertir el giro se utilizan 4
rels emparejados segn el esquema de la figura:
Q1
0
0
1
1

Q2

Motor
0
1
0
1

Parado
Cerrar
Abrir
CORTO

Podemos observar que si Q1 y Q2 se


activan se producira un corto.
Realizar el programa en LOGO
tomando en cuenta esta
consideracin. Los finales de carrera
son NC como en la realidad.
Consejo : Ver 16.
39 Para completar ms an la puerta
automtica, se le puede dotar de un
dispositivo de cierre automtico con
slo un pulsador I1 para abrir, que a
los 10seg. automticamente se cierre. I3 puede tomar ahora el significado de Paro de emergencia
que como todos los interruptores de seguridad son NC.
40 La puerta de los ascensores se diferencian de las puertas automticas en que se pueden cerrar
automticamente, o bien porque se acciona algun botn interior de subir/bajar pisos.
Supongamos un ascensor, la entrada I1 acciona la apertura de puertas (que puede ser la salida de una
puerta AND con el pulsador de llamada junto con el de posicionamiento del ascensor) con el pulso
se abren las puertas Q1 (fin de carrera I2) espera 10 segundos, y se cierran las puertas Q2 (fin de
carrera I3) pero se puede adelantar el cierre de la puerta del ascensor si se da un pulso en cualquiera
de los pisos I4 I5 I6.

83

41 En una serrera, tenemos una cortadora de tablones de manera que si se acciona I1 La cuchilla
baja (Q1) hasta el final de carrera I3 NC y entonces se pone a girar la cuchilla (Q3) y el tabln se
mueve hacia l (Q4) hasta el fin de carrera I4 NC entonces la cuchilla se para y sube (Q2) hasta el
final de carrera I2 NC. Existe un interruptor NC I5 de seguridad para parar todo el sistema. Q4 slo
funciona si adems esta activo un interruptor de mover tabln I6

42 En una panificadora se cuenta con una cmara de fermentacin que de forma


automtica se conecta y desconecta. Con lo que sabes del logo programa la
siguiente propuesta: La cmara problema debe estar conectada de lunes a viernes de
9:00 a 14:00 y de 16:00 a 20:00, y los sbados y domingos debe estar de 10:00 a
13:00 y de 20:00 a 22:00.
43.- Imagina el caso del problema anterior pero que un dia fuese festivo y
tuvisemos que considerarlo como fin de semana, propn un programa para este
caso, que sea facil la alteracin del programa, con slo entrar en la parametrizacin
del logo, y no en la edicin del programa.

84

8.9 SOLUCIONES EJERCICIOS DEL LOGO


8.9.1 Soluciones a los ejercicios de funciones generales GF

1
2

3
4

5 En este caso tenemos que hacer una combinacin para


que resulte el propsito del enunciado
6 En este caso Q1 = I1 * I2 * I3neg
(igual que en
ejercicio anterior 5)
Q2 = I1 * I2neg * I3neg
Q3 = (I1 * I2 * I3neg) + ( I1 * I2neg * I3neg) o ms fcil Q3 = Q1 + Q2
7 En este caso Q1 = ( I1 * I2 * I3neg ) + ( I1neg * I2 * I3neg )
Q2 = I1 * I2neg * I3neg
Q3 = Q1 + Q2
Q4 = Q3 * Q2
8 En este caso lo que hay que hacer es : Q1 = I1 * I2 * I3neg * I4 * I5neg * I6
9 Aqu lo que hay que hacer es una tabla de verdad con su correspondiente tabla de
karnaugh :
I1I2 I3 I4
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100

Q1
0
0
0
1
0
1
1
1
0
1
1
1
1

I1 I2\I3 I4
00
01
11
10

00
0
0
1
0

01
0
1
1
1

11
1
1
1
1

10
0
1
1
1

La funcin es simplificando
Q1=I3I4+I1I2+I2I3+I2I4+I1I3+I1I4

85

1101
1110
1111

1
1
1

10 En este caso podramos optar por hacer una solucin como la anterior,
camibando la tabla de verdad, o de una manera ms intuitiva y perspicaz
fijndonos en la puerta XOR, que si son diferentes (impar) sale 1 y si son
iguales (par) sale 0

11 Aqu lo que hay que hacer es una tabla de verdad con su


correspondiente tabla de karnaugh :
I1I2 I3 I4
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111

Q1
0
0
0
1
0
0
1
1
0
0
0
1
1
1
1
1

I1 I2\I3 I4
00
01
11
10

00
0
0
1
0

01
0
0
1
0

11
1
1
1
1

10
0
1
1
0

La funcin es simplificando
Q1=I3I4+I1I2+I2I3

7.12 La tabla de karnaugh queda modificda con los estados indiferentes X de la forma :
I1 I2\I3 I4
00
01
11
10

00
X
0
1
X

01
0
0
1
0

11
1
1
1
1

10
X
1
1
X

La funcin es simplificando
Q1=I3 + I1I2

86

8.9.2 Soluciones a los ejercicios LOGO funciones especiales


7.13 Ser un retardo a la desconexin T=40seg. La entrada Trg ser I1, la salida Q1 y R puede
estar desconectada X

14 Prubalo y vers que si no mantienes el pulsador I1 6 seg entonces no


hay un pulso en Q1. Si quieres que ese pulso no se desactive, se puede
poner un biestable RS a la salida
15 Todos los pulsadores estaran conectados en paralelo en la misma
entrada I1. La entrada R puede estar desconectada (x)
16 La solucin es un biestable RS, donde en Set estara I1 y en Reset estara I2, la
salida Q1 (motor).

Si I2 fuese un pulsador NC tendramos que intercalar una puerta NOT


17 En este caso ser un retardo a la conexin memorizado, Ser
memorizado porque el motor tiene que estar activo hasta que lo ordene el
fin de carrera I3.
En el caso que I3 fuese NC habra que interponer una puerta NOT
18 Slo es aadir un intermitente por Q3
19 En este caso sera un contador, el pulso por I2 producira el Reset. Dir
tiene que estar a nivel bajo LO.
Si se quisiera un reset automtico despues de empaquetar, en vez de I2
habra que poner un retraso a la desconexin de Q1.
20 Ser un programador horario con las siguientes programaciones :

No1 = Mo-Sa
On=9:00
Off=13:00
No2=Mo-Fri
On=16:00
Off=19:00
No3=Fri
On=8:00
Off=18:00
21 La solucin es un biestable
22 La solucin es un telerruptor, en R puede estar suelto (x) u otro pulsador

87

8.9.3 Soluciones a los ejercicios GF+SF tericos

23

24

25

26

27

28

29

30

88

31 Una solucin podra ser esta, donde I2


hace de reset al contador que cuenta 4 (que
es el que hace de reset a los dems) En
este ejercicio hay que tener cuidado cmo
se conectan, el primer bloque Par=1 es
B01, el de Par=4 es B02 el de Par=2 es
B03 y el de Par=3 es B04.

Otra solucin para no tener que utilizar el


Reset del I2 y utilizar otros mdulos que
no sean el contador, es el esquema de la
figura de la derecha. Se utiilzan RS que
recuerdan, y el siguiente biestable hace Set
si se ha activado el anterior. Q4 hace el
papel de resetear a todos. Los mdulos de
retardo de conexin se utilizan para no
coincidir I1 con el estado, si no se ponen,
simultneamente se ponen a uno todos.

32 A pesar que el enunciado parece fcil, la solucin


de este problema no lo es.
El retardo a la conexin negada produce un impulso
positivo de 5 segundos, que haciendo AND con I1
slo queda ese impulso

33 La solucin es parecida al anterior,

89

o de otra forma mucho ms fcil, los tiempos son el primero 3 seg y el segundo 2
segundo

34 Es aadir a la solucin del ejercicio anterior, un generador de intermitencias. Se


puede hacer con las dos soluciones:
La fcil

La dificil :

35 La solucin se basa en que si unimos dos bloques uno retardador a la desconexin y


otro retardador a la conexin, ese bloque que aqu llamamos Blq es un retardador como
en el ejercicio 33, ese bloque es puesto en cascada a traves de todos los estados y ya
tenemos el secuenciamiento en bucle, el primero se puede activar por Q4 o por I1 que
dar el impulso inicial. Los tiempos pueden ser todos iguales T=seg.

90

8.9.4 Soluciones a los ejercicios GF+SF casos prcticos

36 Es muy parecido al anterior, pero programando adecuademente los tiempos :


T1=8 T1=10 T2=2 T2=8 T3=10 T3=2 el primer bloque de I1 tiene T=10seg.

37 La solucin es una versin modificada del anterior

38 El problema es parecido al 16
pero con la pecularidad de utilizar
fines de carrera NC por eso I2 e I4
se niegan primero. Tambin para
evitar que nunca Q2 se active
estando Q1 activado se utiliza la
puerta NOT y la puerta AND del
final.
39 Ahora hay que contar con el paro de emergencia, I3 y el set de Q2 se tiene que
accionar con un pulso retardado de 10seg de I1

91

40 En este caso hay que aadir la accin de los pulsadores I4 I5 I6, se ha optado por un
retardo a la conexin memorizado

41 Para esta solucin hay que jugar con los biestables RS, y los finales de carrera.

42 Se necesitan varias programaciones, luego hay que utilizar varios progamadores


horarios y unirlos mediante una puerta OR

Programas :

Mo-Fri
Mo-Fri
Sa-Su:
Sa-Su:

On:9:00
On:16:00
On:10:00
On:20:00

Off:14:00
Off:20:00
Off:13:00
Off:22:00

92

43 En este caso lo mejor es poner tantos programas como dias tiene la semana, y as
slo habra que entrar en la parametrizacin:
Mo
On:9:00
Off:14:00
Mo
On:16:00
Off:20:00
Tu
On:9:00
Off:14:00
Tu
On:16:00
Off:20:00
We
On:9:00
Off:14:00
We
On:16:00
Off:20:00
Th
On:9:00
Off:14:00
Th
On:16:00
Off:20:00
Fri
On:9:00
Off:14:00
Fri
On:16:00
Off:20:00
Sa-Su:
On:10:00
Off:13:00
Sa-Su:
On:20:00
Off:22:00
Es decir, un programador ms que el ejercicio anterior.

BIBLIOGRAFA

Tecnologa industrial II, Manuel Murgui Izquierdo, Juan Jos Vela Rozaln.
Editorial Edeb, 1999.
Curso Completo de Automatizacin Industrial Moderna, Victoriano Angel
Martnez Snchez, Editorial Ra-ma, 1992.
Tecnologa Industrial II, Sonia Val, Jose Luis Huertas, Editorial McGraw-Hill,
1996.
Manual de instrucciones del autmata Logo de Siemens.
Autmatas programables, A. Porrs, A.P. Montanero. Editorial McGraw-Hill,
1990.

Internet
http://www.siemens.es/ps/logo.htm De Siemens Espaa.
En ella puedes encontrar informacin sobre los diferentes modelos de LOGO!, adems del software
LogoSoft con 14 ejemplos de programacin en castellano.
http://www.ad.siemens.de/logo/index_78.htm De Siemens Alemania.
Pgina distinta a la espaola disponible en varios idiomas, entre ellos el espaol.

93

8.10 EJEMPLOS PRCTICOS DEL LOGO


8.10.1 Pulsador de Confort
Se desea realizar en la luz de la escalera de una finca un circuito que sea capaz de cumplir los siguientes
requisitos:
-

Al pulsar cualquier pulsador que la luz


se mantenga encendida 6m

Si en alguna ocasin se desea


mantenerla siempre encendida, (por
ejemplo en operaciones de limpieza)
que pulsando dos veces cualquier
pulsador se mantenga encendida, y
que para apagarla se mantenga
pulsado el pulsador durante al menos
2 seg.
Solucin : El esquema de conexiones de
LOGO y el programa
-

Reto:

1.- Que exista un interruptor general de encendido y otro de apagado


2.-Antes de apagarse la luz, que parpadee 3 veces

94

8.10.2.-Puerta automtica
Se desea hacer una puerta autontica que abra la puerta cuando algun sensor detecte presencia, y lo cierre
al cabo de 10 minutos

Solucin de montaje con el LOGO:

Programa a realizar :

Reto:
1.- Que exista un horario de
entrada por ejemplo 9:00 a
21:00 y un horario de salida de
8:00 a 22:00
2.- Que exista dos interruptores
de cerra y de abrir.

95

8.10.3.- Instalacin de ventilacin


Se desea mantener un recinto con ventilacin mantenida, hay dos ventiladores, uno de evacuacin, y otro
de insuflacin, cada ventilador es supervisado or un controlador de corriente, en el recinto nunca debe
producirse sobrepresin, y solo se puede activar el ventilador de insuflacin cuando se notifique el
correcto funcionamiento del ventilador de evacuacin. una lmpara indica si falla alguno de los dos

ventiladores.
Solucin:

Esquema de conexiones con el LOGO y programa

96

8.10.4.- Portn corredizo


Se desea hacer un portn que se abra automticamente al accionar el pulsador I1 ABRIR y que se cierre
con el pulsador I2 CERRAR, tiene un pulsador NC de emergencia I3 de paro , un pulsador NC de presin
de seguridad I5, un conmutador de posicin ABIERTO I3 y otro de CERRADO I4.

Solucin con el LOGO

Programa
Reto:
1.- Que se cierre
automticamente a los 10
segundos
2.- I2 sobra

97

8.10.5.- Cadenas luminosas


Las distintas cadenas luminosas se activan dirctamente en el recinto, cuando sea suficiente la luz natural,
las cadenas que esten cercanas a las ventanas se desconectan automticamente, la luz se apagar
automticamente a las 8 de la tarde, siempre se podrn conectar a mano en el recinto

Solucin
I1 a I4 sern los pulsadores e I5 el sensor de luminosidad, Q1 y Q2 las cadenas luminosas de las ventanas,
y Q3 y Q4 la de los pasillos.
Programa

98

8.10.6.- Bomba de aguas residuales


El agua de lluvia se deposita en un depsito que puede servir para lavar la ropa, regar jardines, regar
flores, limpiar automviles, enjuagar el WC.... desde sta puede tomarse el agua de lluvia igual que
sucede con el agua potable, Si llegara a vaciarse el depsito, es posible rellenarlo con agua potable.
Para controlar la bomba se requiere un interruptor de presin I1, los interuptores de flotador I2, I3, I4. Q1
es el contactor que acciona la bomba y Q2 la vlvula magntica para suministrar el agua potable.
Esquema

Solucin programa LOGO

99

9 Problemas de memorias.
9.1 ENUNCIADOS EJERCICIOS DE MEMORIAS
1.- Calcular el Bus de datos, Bus de direcciones, n de clulas de memoria, estructura de la matriz y
dibujo de la estructura interna de las siguientes memorias :
a) Memoria 128x8
b) Memoria 64x8
c) Memoria 4096x8
d) Memoria 16284x8
2.- Que tipo de memora es cada uno de los chips siguientes, Bus de datos, Bus de direcciones, n de
clulas de memoria, dibujo de la estructura de la matriz.

CHIP
C

CHIP B

CHIP A

3.- En el circuito de la figura, rellena los siguientes campos: Qu pasa en el pulso A?


Pulso
qu dato se escribe
en qu direccin
B
C
D
E
y ahora estos:
Pulso
direccin
salida
F
G
H

100

Ejercicios de apliacin de memorias, no se darn en clase, slo son para propio aprendizaje
4.- Partiendo del AB de un microprocesador de 16 bits AB, realizar el circuito de seleccin de un chip de
memoria EPROM de 2kx8 situado entre las direcciones F800 y FFFF.CS a nivel alto.
5.- Partiendo del AB de un micro de 16 bits AB, realizar el circuito de seleccin de un chip de memoria
RAM de 2kx8 situada en las direcciones ms bajas. CS a nivel bajo.
6.- Realizar una memoria 1kx12 con RAM 2114 1kx4 con controles CS a nivel bajo.
7.- Realizar una memoria 2kx4 con RAM 2114 1kx4 para un micro de 12 bits AB y 4 de DB. Indicar las
direcciones que corresponden a cada circuito integrado.
8.- Realizar una memoria 4kx8 con RAM 2114 1kx4 para un micro de 16 bits AB ocupando las
direcciones ms bajas. Utilizar decodificadores y puertas lgicas. Indicar las direcciones que
corresponden a cada circuito integrado.
9.- Implementar el siguiente mapa de memoria con puertas lgicas y decodificadores:
Direcciones
Funcin
Mapa de memoria fsico
0000 a 03FF
VARIABLES DEL SISTEMA Y STACK
RAM 1Kx4 A B
0400 a 07FF
DATOS TEMPORALES
RAM 1Kx4 C D
A000 a AFFF
INTERFACE
CIRCUITOS E/S E
E000 a EFFF
TABLAS Y DATOS FIJOS
ROM 2kx8 F
F000 a FFFF
PROGRAMA
ROM 2kX8 G
10.- Implementar el siguiente mapa de memoria para un micro de 8 bits, utiliza decodificadores 3 a 8
74LS138 y decodificadores 2 a 4 74LS139 entrada E y salidas a nivel bajo.
DIRECCION
CHIP
DIRECCIN
CHIP
FFFF F800
ROM 2Kx8 A
9FFF 9000
RAM 2Kx8 D
F7FF F000
ROM 1Kx8 B
0FFF 0800
RAM 2Kx8 E
AFFF A000
E/S C
07FF 0000
RAM 2Kx4 F G
11.- Implementa el siguiente mapa de memoria para un micro de 8 bits
DIRECCIN
CHIP
FFFF F000
EPROM MCM2716 2Kx8
A00F A000
PUERTOS E/S VIA 6522
03FF 0000
RAM MCM2114 1Kx4
12. Implementar el siguiente mapa de memoria para un micro de 8 bits, utiliza decodificadores 3 a 8
74LS138 ,decodificadores 2 a 4 74LS139 entrada E y salidas a nivel bajo y puertas lgicas
DIRECCION

CHIP

DIRECCIN

CHIP

101

0000
03FF
0400
07FF

A
RAM
B
RAM

0800
0BFF
0C00
0FFF

C
ROM
D
ROM

102

9.2 SOLUCIONES EJERCICIOS DE


MEMORIAS
1 a) Memoria 128x8

DB=8 D7 a D0
Como 128=27 luego AB=7 A6 a A0
Nmero de clulas 128*8=1024
Estructura de la matriz 1024=32 luego
32x32 matriz cuadrada
Dibujo
1b) Memoria 64x8
DB=8 D7 a D0
Como 64=26 luego AB=6 A5 a A0
Nmero de clulas 64*8=512
Estructura de la matriz 512=no es exacta
luego matriz rectangular
512=64x8=26x23=29=25x24=32x16
Dibujo

1
c) Memoria 4096x8

DB=8 D7 a D0
Como 4096=4k=22210 =212 luego AB=12
A11 a A0
Nmero de clulas 4096*8=32768
Estructura de la matriz 32768=no es
exacta
luego matriz rectangular
32768=4096x8=212x23=215=27x28=128x256

Dibujo

1 d) Memoria 16284x16

DB=16 D15 a D0
Como 16284 no es multiplo de potencias de
2, el ms cercano superandose es
16k=16x1024=16384 Dnde estn el resto
de las 100 palabras? O estn reservadas, o
daadas, nosotros lo consideraremos 16k
=24210 =214 luego AB=13 A12 a A0
Nmero de clulas 16384*16=262144
Estructura de la matriz 262144=512 es
exacta
matriz cuadrada =512x512
Dibujo

103

2.- El chip A tiene seal WR en el pin W/R luego es RAM y por las seales RAS y CAS es
inequvocamente una DRAM pues necesita refresco y el AB esta multiplexado, es decir, que hay que
contar con el doble A0-A5 se convierten en A0-A11 luego 12 lneas de AB = 2 12=22210=4K, y como slo
hay una lnea de datos DIN y DOUT parecen dos, pero son la misma, slo que una de entrada y otra de
salida, luego lnea de datos =1 entonces: DRAM 4Kx1
El chip B no vemos ninguna seal WR luego es ROM, tampoco vemos ningn pin Program luego el
nico chip ROM que no se programa es la MASKROM programada de fbrica. Tamao A0-A9 y D0-D7
luego 210x8 = MASKROM 1Kx8
El chip C no tiene ninguna seal de WR luego es ROM, tiene una seal de Program (Pin 18) luego es
Programable, puede ser PROM EPROM EEPROM, como no tiene ningn pin de Erasable, descartamos
EEPROM y entre PROM y EPROM lo nico que las diferencia es la ventana de cuarzo, como no se le ve,
es PROM Tamao A0-A9 y D0-D7 luego 210x8 = PROM 1Kx8
3.-En el pulso A no se selecciona el chip, luego no hace caso del bus de direcciones ni el de datos
Pulso
qu dato se escribe
en qu direccin
B
1111
0000
C
1110
0001
D
1101
0010
E
1100
0011
y ahora estos:
Pulso
direccin
salida
F
0000
1111
G
0001
1110
H
0010
1101

1111

????

4.- Una memoria 2Kx8 tiene 11 pines el resto


seleccionan al chip:
Direcciones de memoria :
A15A12

A11 A8

A7 A4

A3 A0

1111 1111 1111 1111


1111 1000 0000 0000
Como vemos las lneas A15 a A11 tienen que
seleccionar a la memoria, y como CS es a nivel
bajo, entonces es una puerta NAND (Con 11 sale
0 en otro caso 1)

Problema 4

104

5.- Una memoria 2Kx8 tiene 11 pines el resto seleccionan


al chip:
Direcciones de memoria ms bajas:
A15A12

A11 A8

A7 A4

A3 A0

0000 0111 1111 1111


0000 0000 0000 0000
Como vemos las lneas A15 a A11 tienen que seleccionar
a la memoria, y como CS es a nivel bajo, entonces es una
puerta OR (con 00 sale 0 en otro caso 1)
6.- En el dibujo se puede ver 3 memorias 1kx4
conectadas en paralelo en el AB, de tal forma que
comparten las mismas direcciones de memoria pero
en el DB estn conectadas en serie, de tal forma
que las 3 forman palabras de 12 bits, en el dibujo
falta conectar todos los CS a uno slo que sera la
seleccin de los tres a la vez.

Problema 5

Problema 6

7.- Las direcciones de memoria de los dos chips


sern :
A11 A8

A7 A4

A3 A0

CHIP A 0 1 1 1
0100
CHIP B 0 0 1 1
0000
El chip A ser

1111
0000
1111
0000

1111
0000
1111
0000
Problema 7

CS = A11 * A10

El chip B se seleccionar con


CS = A11 * A10 = A11 + A10

8.-El dibujo sera el siguiente

105
Problema 8

Sera una ampliacin del nmero de bits de la palabra, y de la direcciones. El CS habra que activarlo
segn las direcciones de memoria que tuviera cada uno:
chip
direccin
chip
direccin
0000 0000 0000 0000
0000 0100 0000 0000
AB
CD
0000 0011 1111 1111
0000 0111 1111 1111
0000 1000 0000 0000
0000 1100 0000 0000
EF
GH
0000 1011 1111 1111
0000 1111 1111 1111
Los bits A15 a A12 son
siempre los mismos, luego
pueden seleccionar al circuito
decodificador, y el circuito
decodificador
segn
las
rdenes de A10 y A11
deciden qu chip de memoria
tiene que activarse.

Problema 8

9.- Pasando los nmeros hexadecimales a binario tenemos (A y B junto con C y D van a pares pues slo
tienen 4 bits de datos, para formar 8 de datos tienen que compartir las mismas direcciones de memoria).
chip
A15 A12
A11 A8
A7
A4
A3 A0
0000
0000
0000
0000
AB
0000
0011
1111
1111
0000
0100
0000
0000
CD
0000
0111
1111
1111
1010
0000
0000
0000
E
1010
1111
1111
1111
1110
0000
0000
0000
F
1110
1111
1111
1111
1111
0000
0000
0000
G
1111
1111
1111
1111
Los bits A15 a A12 son siempre los mismos, luego pueden seleccionar al circuito decodificador, y el
circuito decodificador segn las rdenes de A10 y A11 deciden qu chip de memoria tiene que activarse.

Problema 9

106

10.- Pasando los nmeros hexadecimales a binario tenemos .


chip
A15 A12
A11 A8
1111
1111
A
1111
1000
1111
0111
B
1111
0000
1010
1111
C
1010
0000
1001
1111
D
1001
0000
0000
1111
E
0000
1000
0000
0111
FG
0000
0000
Los chips F y G van en paralelo para formar palabras de 8 bits

11.- Pasando los nmeros hexadecimales a binario tenemos .


chip
A15 A12
A11 A8
1111
1111
A
1111
0000
1010
0000
B
1010
0000
0000
0011
CD
0000
0000

A7
A4
1111
0000
1111
0000
1111
0000
1111
0000
1111
0000
1111
0000

A3 A0
1111
0000
1111
0000
1111
0000
1111
0000
1111
0000
1111
0000

A7
A4
1111
0000
0000
0000
1111
0000

A3 A0
1111
0000
1111
0000
1111
0000

Los chips C y D estn conectados en


paralelo para conseguir palabras de 8
bits
Para su seleccin se han utilizado
dos 74138
Los otros se ha optado por puertas
lgicas

107

12.- Pasando los nmeros hexadecimales a binario tenemos .


chip
A
B
C
D

A15 A12
0000
0000
0000
0000
0000
0000
0000
0000

A11 A8
0000
0011
0100
0111
10 00
10 11
1100
1111

A7
A4
0000
1111
0000
1111
0000
1111
0000
1111

A3 A0
0000
1111
0000
1111
0000
1111

0000
1111

Los bits A15 a A12 son siempre los mismos, luego pueden seleccionar al circuito decodificador, y el
circuito decodificador segn las rdenes de A10 y A11 deciden qu chip de memoria tiene que activarse.

108

10 Microcontroladores CPIC16F84
1 INTRODUCCIN A LOS MICROCONTROLADORES
Los microcontroladores estn presentes en muchos electrodomsticos y aparatos
electrnicos comunes: Telfonos, teclados de ordenadores, electrodomsticos, hornos
microondas, cmaras, videos, TV, impresoras, modem... cualquier dispositivo
electrnico que tenga que controlar un proceso. Antes se realizaba con lgica
combinacional, discreta, hoy en da se realiza todo en un solo chip, que tiene los
elementos indispensables para decir que se trata de un ordenador integrado en un solo
circuito integrado.
Automocin
Tiene integrado las siguientes partes :
Perifricos de
PC
33%

10%

Unidad Central de Proceso UCP


Memoria RAM para contener los datos
Memoria ROM para contener el programa
Reloj que sincroniza la velocidad del
sistema.
Perifricos de Entrada y Salida: lneas
E/S, puertas serie/paralelo, A/D D/A...

Industria
16%

Telecom
16%

Electrodom
25%

Se puede decir que es una verdadera computadora, no es slo un microprocesador, sino


sus perifricos ya integrados, esta versatilidad, y su reducido coste le ha aumentado su
popularidad, se puede decir que por cada P que se vende se venden cientos de C.
Memoria ROM.- Existen C con memorias Mscara (CR), OTM o PROM,
EPROM, EEPROM ( C ) y FLASH (F), estas dos ltimas son muy tiles si el C se
tiene que programar varias veces, incluso en el mismo circuito, por eso es utilizado
tambin como autmatas.
Las memorias Mscara son utilizados en C grabados en fbrica que no se
volvern a programar, por lo que se encuentran en bastantes dispositivos de consumo.
WatchDog tambin llamado Perro Guardin se trata de un contador que vigila
el programa, su fundamento es un contado que se va decrementando, si llega a 0 y se
encuentra dentro del mismo bucle donde ha empezado provoca un reset del C, as se
evita que el C se cuelgue en un bucle sin fin. El programador tiene que ir
refrescndolo en los bucles grandes.
BrownOut fallo ante la falta de alimentacin, cuando la alimentacin baja de la
tensin BrownOut el C se mantiene reseteado.
Sleep es frecuente que el C se encuentre sin hacer nada esperando que alguna
entrada se accione, entonces se pone en bajo consumo junto con sus perifricos
asociados hasta que la entradas lo despierten.
A/D D/A a veces integran convertidores preparados para leer una seal
analgica que el lo procesar en digital (A/D) y al revs, una salida analgica para algn
actuador (D/A).
Existen muchas otras caractersticas que os podis encontrar en los C pero se
escapan de esta breve introduccin.

109

1.1 Tipos de PIC

Los PIC son C fabricados por Microchip (www.microchip.com) se clasifican por su


anchura de palabra, los hay de 4, 8, 16, 32 bits, los ms comunes por su versatilidad en
multitud de aplicaciones son los de 8 bits.
Dentro de la familia de PIC de 8 bits podemos encontrar 4 familias:
Familia Enana PIC12C(F)XXX de tan slo 8 pines, slo 33 instrucciones y una
alimentacin entre 2.5V y 5V consumen muy poco (2mA) y tienen 6 lineas E/S !!

Familia Baja PIC 16C5X con 18 y 28 pines, ms prestaciones que la enana.

Familia Media PIC16C(F)XXX esta es la familia ms variada de PICs dentro de


esta familia se encuentra el 16X84 que ser objeto de estudio. Los encapsulados van
desde 18 hasta 68 pines, el repertorio de instrucciones es de 34 de 14 bits cada una

Familia Alta PIC17CXXX con 58 instrucciones de 16 bits cada una, 8k palabras de


memoria para el programa y 454 para datos, lo ms destacable de estos pics son su
estructura abierta, por lo que se parecen ms a los P.

1.2 Caractersticas del PIC 16X84

Los microcontroladores estn diseados con arquitectura tipo Harvard que separa
fsicamente la memoria de datos y la del programa:

Las caractersticas de los PIC16X84 son las siguientes


Modelo

Memoria Programa

PIC16C84
PIC16F84

1KX14 EEPROM
1KX14 FLASH

Memoria Datos
RAM
EEPROM
36
64
68
64

Registros
especficos
11
11

E/S

Vcc

Pines

13
13

2-6
2-6

18
18

Y aqu esta el esquema del conexionado del PIC16X84 para cualquier tipo de aplicacin:

110

Para osciladores tipo RC ms baratos pero ms inestables, se varia el anterior esquema


de acuerdo con la siguiente figura:
Ejemplos de frecuencias
625kHz R=10k
C=20pF
80kHz
R=10k
C=220pF
80Hz
R=10k
C=0.1F

Como se puede ver dispone de 2 puertos de E/S :


Puerto A
= 5 pines = A0A1A2A3A4
Puerto B
= 8 pines = B0B1B2B3B4B5B6B7
1.3 Herramientas para la compilacin

Los PIC se suelen programar en lenguaje ensamblador, existen numerosos textos


sobre el tema, por ejemplo Microcontroladores PIC Jose M Angulo Mc Grawn Hill.
Una vez escrito se ensambla para convertirlo en lenguaje mquina con el programa
ensamblador MPASM de Microchip.
Otra forma de programar el PIC es con un lenguaje de alto nivel, puede ser con BASIC
y compilarlo para convertirlo a lenguaje mquina con el PICBASIC.
Otro lenguaje de alto nivel para programar el PIC es con C y compilarlo con el
compilador PICCLITE. Todos estos programas puedes conseguirlos utilizando la
pgina del Departamento http://centros4.pntic.mec.es/ies.de.caudete/DepElect.htm
Un pequeo ejemplo
Vamos a ver un ejemplo de un programa escrito en lenguaje ensamblador. El objetivo es
realizar un intermitente por B0

111

1.4 Cmo se hace con lenguaje ensamblador?

Primero realizamos el programa en un editor de


textos, puede ser el EDIT de MSDOS o el Bloc de
Notas de Windows. Lo grabamos por ejemplo en
Mis Documentos en una carpeta nueva llamada Pic
y lo grabamos como Prueba.asm.
Luego compilamos el programa con el MPASM tal
y como ensea la figura :

list p=16f84A
#include p16f84a.inc
Tiempo EQU 22h
Vueltas EQU 23h
org 0
CONFIGURAR
BSF STATUS,RP0
BCF
TRISB,0
BCF
STATUS,RP0
COMIENZO
BSF PORTB,0
CALL RETARDO
BCF PORTB,0
CALL RETARDO
CALL RETARDO
GOTO COMIENZO
RETARDO
MAS

MOVLW b'11001000'
MOVWF Vueltas
DECFSZ Tiempo
GOTO MAS
MOVLW b'11111111'
MOVWF Tiempo
DECFSZ Vueltas
GOTO MAS
RETURN
END

Hay que tener cuidado de indicar correctamente el procesador a utilizar. Generar un


fichero en formato hexadecimal llamado Prueba.hex preparado para grabarlo en el PIC.
Puedes leer el fichero en un editor de textos, quedar de la siguiente forma :
:020000040000FA
:100000008316061083120614092006100920092001
:100010000328C830A300A20B0B28FF30A200A30BBB
:040020000B280800A1
:00000001FF
1.5 Cmo se hace con Basic?

En PicBasic se tecleara el siguiente programa:


Al compilarlo el resultado seria parecido al Prueba.hex
1.6 Cmo se hace en C?

Bucle:

High 0
Pause 500
Low 0
Pause 500
GoTo bucle
End

En PICCLITE se teclea el siguiente programa


#include <pic.h>
main(){
int i;
TRISB=0b00000000;
for(;;){
PORTB=0b00000000;
for(i=1;i<10;i++) continue;
PORTB=0b00000001;
for(i=1;i<10;i++) continue;
}
}

112

Una vez tecleado se pulsa Compile->Compile and Link o F3 (ms rpido) te pedir que
elijas el C a utilizar:
+- Select Midrange processor... ---------------------------------+

|
( ) 16C84
|
( ) 16F84
|
(*) 16F84A

[ OK - Enter ]
< Cancel - Esc >
< Help - F1 >
|
+----------------------------------------------------------------+

Las dems opciones pulsar OK son


correctas las que seala por defecto.
Si abres el fichero Prueba.hex generado
tendr la siguiente pinta:
No tendra que ser igual al hecho en
ensamblador? Por qu?

:0C000000830100308A0004288301B52B26
:10076A0083168601831286018C018C0A8D010D087D
:10077A00803A8E0080300E020A3003190C02031CE4
:10078A00C72BC82BC92BDA2BCA2B8C0A03198D0A43
:10079A000D08803A83128E0080300E020A30031947
:1007AA000C02031CD92BDA2BC92B013083128600C9
:1007BA008C018C0A8D010D08803A8E0080300E0261
:1007CA000A3003190C02031CEB2BEC2BED2BFE2B2E
:1007DA00EE2B8C0A03198D0A0D08803A83128E00BB
:1007EA0080300E020A3003190C02031CFD2BFE2B6B
:0607FA00ED2BB72B0428D3
:00000001FF

1.7 Simulacin SIMUPIC

Lo correcto sera pasar a la simulacin del fichero antes de pasarlo al PIC real.
Entramos en el programa SIMUPIC

Entramos en 1. Asignar nombre => Pulsamos Intro y buscamos nuestro Prueba.hex


Luego en
4. Cargar fichero Hex
Y por fin en 6. Ejecutar
Veremos como el pin B0 va haciendo un intermitente.
Podemos alterar las entradas de A0..A4 pulsando F1..F5
(si las B0..B7 fueran entradas es con <Shift>F1..F8)
Si queremos simular otro programa, o otra versin del mismo, tenemos que salir
obligatoriamente para borrar el anterior programa cargado.

113

1.8 Cmo se programa el PIC?

Antes de nada hay que subir el tiempo de nuestro programa, pues el PIC va muchsimo
ms rpido que el simulador SIMUPIC, para ello entramos de nuevo en PICLITE y
subimos el tiempo aproximadamente 1000 veces :
#include <pic.h>
main(){
int i;
TRISB=0b00000000;
for(;;){
PORTB=0b00000000;
for(i=1;i<10000;i++) continue;
PORTB=0b00000001;
for(i=1;i<10000;i++) continue;
}
}

Una vez hecho esto, se vuelve a compilar F3, salir del programa y entrar en
IcProg, la primera vez que se ejecuta hay que decir que programador se usa, en
nuestro caso se llama JDM Programer en COM1 o COM2
Conectamos nuestra placa TE20 , pulsar el botn de abrir
Y buscamos nuestro Prueba.hex
Una vez cargado apretamos al botn de programar
:
El aspecto de nuestro programa ser el siguiente:
(antes
desactivar
WatchDog: WDT)

el

Una vez programado, sacaremos nuestro PIC del programador, y montaremos el circuito
ATENCION: IC-PROG EN WIN-XP :Se debe de tener en la misma carpeta que el
ejecutable IcProg.exe el archivo icprog.sys. Este fichero se puede descargar de www.icprog.com . Adems hay que habilitar el Driver NT/2000/XP en Ajustes->Opciones>Miscelanea.

114

1.9 Placa TE20

Aqu tienes un esquema del programador TE20, lo puedes construir t mismo, o


comprarlo (18)

Como podemos ver en la serigrafa, el


TE20 tambin sirve para programar la
EEPROM 24CXX y (zcalo pequeo) y el
PIC 16F876 adems del 16F84.
Nota, el puente p es mejor sustituirlo por
una R=1k

2 BREVE REPASO AL LENGUAJE C


Generalidades
En nuestros programas tenemos que incluir la siguiente librera #include <pic.h> que
da definicin a los puertos y registros de estado.
Despus de main(){ podemos declarar las variables que nos interesen en el programa, se
puede utilizar int (para n desde -32600 a 32600), unsigned int (para n desde 0 a
32600) variables tipo char para variables de 8 bits muy tiles para los puertos.
Sentencias condicionales
Con la sentencia
if(condicin){....}
podemos ejecutar algunas instrucciones si la condicin ha sido verdadera.
Si queremos que segn la condicin ejecute unas instrucciones, y si es falsa la condicin
que ejecute otras, tenemos que utilizar:
if(condicin){..instrucciones si es verdad..}
else{ ..... instrucciones si es falsa la condicin.... }
Son tiles las operaciones and && y or ||
Una condicin es verdadera si tiene un valor distinto de cero.
Operadores relacionales son : igual == distinto = . por ejem if (x==1){...}
y las comparativas < > <= >= por ejemplo if (x<=10) {...}

115

Operadores
Una variable se puede incrementar con el operador ++ y decrementar con --
por ejemplo x++ ; y--; equivale a hacer =x+1; y=y-1;
Operadores binarios que nos pueden ser de utilidad son:
And & Or | Not ~ (Alt+126) no hay que confundirlas con las anteriores.
Operadores de desplazamiento que nos son de utilidad son << y >> .
Por ejemplo : char x,y,z,u,v,t;
x=0b00100010; y=0b01010011; z=x&y; u=x|y; v=~x; t=y>>2; x=x<<1;
Qu valores tienen z, u , v, t, x?
Sentencias de bucles
Si quiero sentencias repetitivas, utilizo la sentencia for(inicio;final;incremento)
Por ejemplo, si quiero hacer una cosa 10 veces : for(i=1;i<=10;i++){.......} o de forma
decremental for(i=100;i>=1;i--){....}
si se quiere que se repita siempre, es til hacer for(;;){......}
Tambin se puede utilizar las sentencias do{...}while(condicin) y while(condicin){..}
Es muy til utilizar la sentencia goto etiqueta para saltarnos a algn lugar del programa.
Con la sentencia continue el programa continua a la siguiente iteracin, y con la
sentencia break el programa rompe el bucle y sale de l.
Configurar puertos
El puerto A (5bits) se configura con el registro TRISA, y el B (8bits) con TRISB.
El 0 para Output y el 1 para Input. (0b... = n en binario, 0x... n en hexadecimal)
ejem.- Cmo queda el puerto A con la instruccin TRISA=0b00111;?
Y el puerto B con TRISB=0b01100000;?
Escribir en los puertos
Para cargar el nmero que queramos al puerto se hace de forma muy sencilla:
TRISA=0b00011; PORTA=0b01010; Qu leds se encenderan?
TRISB=0b01001101; PORTB=0b11111110; Qu leds se encenderan?
Tambin podemos cargarlo a travs de una variable :
Ejem: char x; TRISB=0x00; x=0x01; PORTB=x; x++; PORTB=x;
Qu leds se encienden en el primero?
Y despus?
Leer puertos
Para leer un puerto, se lee a travs de una variable, ejemplo:
char x,y; TRISA=0b11111; x=PORTA; TRISB=0xff; y=PORTB;
No esta permitido hacer TRISA=0x00; TRISB=0xff; PORTA=PORTB;
pero s esta permitido hacer TRISA=0x00; TRISB=0xff; x=PORTB; PORTA=x;
Si queremos que se realice alguna instruccin si el interruptor A3 esta en on se realiza
con la sentencia if y el adecuado operador binario:
x=PORTA;
if ( (x&01000)!=0) {..instrucciones ....}

116

3 EJERCICIOS
3.1 Enunciados

1.- Realizar un intermitente por todo el puerto A.


2.- Realizar un programa que el Puerto B sea la lectura del puerto A
3.- Realizar un programa que el Puerto B sea la inversa de la lectura del puerto A
4.- Realizar un programa que el puerto B sea la inversa del puerto A, los leds que sobran
(B5..B7) que hagan intermitencia.
5.- Realizar un programa de manera que si se acciona A1 entonces se encienden todas
los leds del puerto B
6.- Realizar un programa que sea un secuenciamiento de luces hacia la izquierda del
puerto B, es decir: PB=00000001 00000010 00000100 00001000...10000000 00000001
7.- Realizar un programa de tal manera que si A0=0 hay un intermitente por B0 su
A0=1 hay intermitente por B1
8.- Realizar un programa de manera que si no se acciona A2 el puerto B hace un
secuenciamiento de luces hacia la derecha, si se acciona A2 se para.
9.- Realizar un programa que sea alarma de coche, el led B0 indica que esta en
funcionamiento, hay dos sensores en A0 y en A1, si alguno de los dos se pone a 1,
entonces se dispara la alarma , la alarma es un intermitente en todos los B, la alarma se
apaga poniendo A2=1
10.- Realizar un programa que visualice por el display conectado en el puerto B de
forma hexadecimal el nmero que se proporciona en el puerto A. El display ser de
nodo comn. (puedes hacerlo de ctodo comn) Es decir, se trata de convertir el PIC
en un decodificador a display 7447
11.- Realizar un programa que pilles la luz . El puerto A ser entrada, y el puerto B
ser salida, que realizar la siguiente secuencia:
00000001 00000010 00000100.... 100000000 00000001
y si el interruptor que acciones en A es igual a la luz que se visualiza por B, entonces se
iluminan todas las luces del puerto B
12.- Realizar un programa de dado electrnico, en el puerto B ser la salida de un
nmero del 1 al 6 de forma rpida, estar conectado a un display (podra hacerse de
forma directa, como en el problema 10, pero por simplicidad, lo haremos a travs de un
7447, es decir, slo utilizaremos el puerto B las salidas B3B2B1B0 codificadas en
binario.
Cuando en A1 sea =1 el dado se parar dando un nmero al azar entre 1 y 6. Cuando
A1=0 volver a empezar.
13.-Realizar un pitido por el pin B0

117

3.2 Soluciones
/**********************************
*
Ejer1 intermitente por el puerto A
*
**********************************/
#include
<pic.h>
main(void)
{
unsigned int
i;
TRISA = 0b00000;
for(;;) {
PORTA = 0b00000;
for(i = 0;i<10;i++) continue;
PORTA = 0b11111;
for(i = 0;i<10;i++) continue;
}
}
/**********************************
*
Ejer2 PB=PA
**********************************/
#include <pic.h>
main(){
char i;
TRISA=0b11111;
TRISB=0b00000000;
for(;;){
i=PORTA;
PORTB=i;
}
}
/*************************
Ejer3
PORTB que sea la ~PORTA
**************************/
#include <pic.h>
main(){
char x,y;
TRISA=0b11111;
TRISB=0b00000000;
for(;;){
x=PORTA;
y=~x;
PORTB=y;
}
}
/*************************
Ejer4
PORTB que sea la ~PORTA
B5 B6 y B7 intermitentes
**************************/
#include <pic.h>
main(){
int i;
char x,y,z;
TRISA=0b11111;
TRISB=0b00000000;
for(;;){

x=PORTA;
y=~x;
z=y&0b00011111;
PORTB=z;
for (i=0;i<10;i++) continue;
z=y|0b11100000;
PORTB=z;
for (i=0;i<10;i++) continue;
}
}
/*********** Ejer5*******************
*si A1=1 entonces que se encienda todo PB
***********************************/
#include <pic.h>
main(){
char i;
TRISA=0b11111;
TRISB=0b00000000;
for(;;){
i=PORTA;
if((i&0b00010)!=0)
PORTB=0xff;
}
}
/************Ejer6**********************
*Secuenciamiento de luces por PB
*************************************/
#include <pic.h>
main(){
char i;
int j;
TRISB=0b00000000;
i=0b00000001;
for(;;){
PORTB=i;
i=i<<1;
if (i==0) i=1;
for (j=0;j<=10;j++) continue;
}
}
/* ********************
Ejer7
si A0=0 intermitente B0
si A0=1 intermitente B1
**********************/
#include <pic.h>
main(){
int i;
TRISA=0b11111;
TRISB=0b00000000;
luzB0: for(;;){
if
((PORTA&0b00001)!=0)
goto luzB1;
PORTB=0b00000000;
for (i=0;i<10;i++) continue;
PORTB=0b00000001;
for (i=0;i<10;i++) continue;
}

Problemas electrnica Digital

Profesor Javier Quintana

luzB1: for(;;){

alarma: for(;;){
if ((PORTA&0b00001)==0)
goto luzB0;
PORTB=0b00000000;
for (i=0;i<10;i++) continue;
PORTB=0b00000010;
for (i=0;i<10;i++) continue;

}
}
/******************************
Ejer 8
que haga juego de luces
si A2=0
si A2=1 que pare
******************************/
#include <pic.h>
main(){
int i;
char x,y;
TRISA=0b11111;
TRISB=0b00000000;
y=0b10000000;
mueve: for(;;){
x=PORTA;
if ((x&0b00100)!=0) goto
para;
y=y>>1;
if (y==0) y=0b10000000;
PORTB=y;
for(i=0;i<10;i++) continue;
}
para:
for(;;){
x=PORTA;
if ((x&0b00100)==0) goto
mueve;
PORTB=y;
}
}
/*************************************
***** Ejer9 Alarma de coche el led B0 indica
que esta en funcionamiento si A0 o A1 entonces
se dispara la alarma la alarma es un intermitente
en todos los B la alarma se apaga con A2
*************************************/
#include <pic.h>
main(){
char i;
int j;
TRISB=0b00000000;
TRISA=0b11111;
PORTA=0b00000;
inicio: for(;;){
i=PORTA;
if
(
(i&0b00010)
|
(i&00001) ) goto alarma;
PORTB=0b00000001;
for (j=0;j<=10;j++) continue;
PORTB=0b00000000;
for (j=0;j<=10;j++) continue;
}

i=PORTA;
if (i&0b00100) goto inicio;
PORTB=0b11111111;
for (j=0;j<=10;j++) continue;
PORTB=0b00000000;
for (j=0;j<=10;j++) continue;
}
}
/******************
Ejer 10 visualizar el PORTA en el display
PORTB=a b c d e f g pt
*****************/
#include <pic.h>
main(){
char x;
TRISA=0b11111;
TRISB=0b00000000;
for(;;){
x=PORTA;
if (x==0) PORTB=0b11111100;
if (x==1) PORTB=0b01100000;
if (x==2) PORTB=0b11011010;
if (x==3) PORTB=0b11110010;
if (x==4) PORTB=0b01100110;
if (x==5) PORTB=0b10110110;
if (x==6) PORTB=0b10111110;
if (x==7) PORTB=0b11100000;
if (x==8) PORTB=0b11111110;
if (x==9) PORTB=0b11100110;
if (x==10) PORTB=0b11101110;
if (x==11) PORTB=0b00111110;
if (x==12) PORTB=0b10011100;
if (x==13) PORTB=0b01111010;
if (x==14) PORTB=0b10011110;
if (x==15) PORTB=0b10001110;
}
}
/********************************
Ejer 11
Pillar la luz
********************************/
#include<pic.h>
main(){
char x,y;
int i;
x=0b00000001;
TRISA=0b;11111
TRISB=0b00000000;
for(;;){
PORTB=x;
x=x<<1;
if (x==0) x=0b00000001;
y=PORTA;
if (y==x) goto fin;
for(i=0;i<10;i++) continue;
}
fin:
for(;;){
PORTB=0b11111111;
}
Pgina 119

Problemas electrnica Digital

Profesor Javier Quintana

}
/****************************
Ejer12
B0_B3 sea un dado electronico hasta
para cuando A1=1
hay que quitar el Watch Dog
*****************************/
#include <pic.h>
main(){
unsigned char i,j;
TRISA=0b11111;
TRISB=0b00000000;
PORTA=0b00000;
inicio: for(;;){
for (j=1;j<=6;j++){
PORTB=j;
i=PORTA;
if ((i&0b00010)!=0) goto para;
}
}
para:
for(;;){
i=PORTA;
if ((i&0b00010)==0) goto inicio;
}
}

/****************************
Ejer13
B1 un pitido
*****************************/
#include <pic.h>
main(){
unsigned char i;
TRISB=0b00000000;
for(;;){
PORTB=0b00000001;
for (i=1;i<=10;i++) continue;
PORTB=0b00000001;
}
}

Si no se
quiere utilizar transistores, hay que conectar un
altavoz de poca potencia, pues el PIC no tiene
mucha corriente de salida, por ejemplo, el
altavoz pequeo de un ordenador:

4 TARJETAS PIC
Las tarjetas PIC son muy usadas tanto para abrir puertas automticas como para descodificacin de
canales privados de televisin. Aqu podemos ver una foto de cmo han ido evolucionando, las tres llevan
un PIC 16F84A y una EEPROM 24XX (grabables con el TE-20):
En el caso de que sirvan para puertas automticas, se pueden copiar con nuestro IC-Prog, en el caso de la
decodificacin, a travs del codificador, peridicamente se van cambiando los cdigos para evitar el
pirateo es lo que se denomina ataque, por
Internet existen numerosos programas para
grabar estas tarjetas, y en las mismas pginas se
pueden descargar los cdigos para salvar los
ataques, con el inconveniente de que hay que
hacerlo peridicamente.
En la figura se muestra la pantalla del programa
FunCard donde hay que suministrarle los
ficheros .hex que se deben de bajar de Internet
en cada ataque, sobre para la memoria Flash
interna del 16F84A y la Eeprom externa 24XX.

Pgina 120

11 Microprocesador P 8085
1.- INTRODUCCIN MICROPROCESADOR 8085

Microfotograf
ia de
PentiumMver
el espacio de
L2

1.1.- El 8085 dentro de los tipos de microprocesadores que hay


En esta tabla tienes un resumen de los tipos de microprocesadores que existen
Fab Tipo

Nombre
PPS-4
4bits
Intl
4004
Mot
6500
8bits no
Zlg
Z80
PC
8085

DB

AB

1971

16

Actualmente en Automatas
1972 1 a 4 Antiguos Amstrad, Atary hoy en da en Gameboy
Actualmente en Automatas

8086

Rock

PC

Intel

286
386

486

8088

16

286
386SX

16
16

386DX

32

486SX
486DX
486DX2

20
24

32
32

486DX4
Pentium

32

Pentium

Intel

Pent PRO

ao

1993

1997
64
36

PentiumII

-1

En calculadoras programables 28K transistores

1978 4.77
a
1979
8
1982 8-12
1988 16/20
20/2
1985
5/33
1991
33
1989
1991 66
75/
1992
100

1996

Pent MMX

MHz Observaciones

1997

Celeron

1997

Xeon

1997

Pentium III

1999

Primeros PC XT compatibles IBM hasta 1M RAM


coprocesador:8087
PC AT hasta 16M deRAM coprocesador 287
Coprocesador 387 275K transistores

1.2M transistores sin coprocesador Soket3


Con Coprocesador incluido Soket3
Obligatorio uso del ventilador
Tecnologa 3.3V x3 (fext=33.3MHz) L1=16K

3M transistores integrados Soket5


75 a
Fexterna=66MHz multiplicacin =x1.5/x2/x2.5/x3
200
Voltios 3.3 -3.52V L1=16K
150 Volt=3.3 x2.5/x3
a
L1 = 16K L2=256k a 1M
200 L2 en el mismo encapsulado
166 Instrucciones MMX Multimedia con reg. Esp.
a
L1=32K x 2.5 x3 x3.5 L2 externa
233 Socket 7 4 con volt=2.8V y 3.3Vcore
233 =PentMMX + PentPRO Slot1 Volt=3.3V
a
Fext=66MHz / 100MHz
450 L1=32K L2=256K / 512K

= PentMMX en Slot1=PII sin L2


400
L2=1M
a
Volt=2.5V Vcore=2V Fext=100MHz x4 / x4.5
450
500 Fext=100MHz en slot1 y en socket7

PC Actuales :
Fab
Intel
AMD
4

Tipo
Pentium
Athlon

Nombre
Pent IV

DB

AB

Pent M

64

36

64FX

ao GHz
2002
1-2
2004

1.3-1.6

2004

2.2

Observaciones
RDRAM Tecnologia 0.18 Instrucciones SSE2>MMX
L2=1M Vcore<1.5V Menor consumo, peso,espacio
Portatil Centrino=PentM+Chipset855+Wireless2100
Fext=400MHz Vcore=1.5V Socket940
L1=940K L2=M

Externamente igual que el 5 pero que tiene esas dos tensiones para aumentar el multiplicador

Problemas electrnica Digital

Profesor Javier Quintana

Pgina 122

Problemas electrnica Digital

Profesor Javier Quintana

Cyrix Fab

Otros Fabricantes :
Tipo

Nombre

Pent
386

Pentium

AMD

486

DB AB

C686

64

36

SX/DX

16/
32

32

DX
DX2/DX4
DX4-100
DX5-133
AMDK5
AMDK6
K63DNOW
K6-III
K7
Athlon 4

ao

80 a 150
1986
1992

32

32

64

36

MHz

1995
1996
1995
1996
1997
1998
1999
2001

Observaciones
<<Pentium Fext=40 a 75MHz!!!
<386 de Intel con menos consumo

40
50/66/80
100
133
75 a 166
166 a 300
266 a 400
450 a 600
400 a 800
1.1GHz

>486DX a 33MHz
=486DX2 de Intel
<486DX4-100
<486DX4-100
=Pentium
>Pentium MMX con Socket 7
<=Pentium II tiene L1=64K
<PentiumIII
>PentiumIII Fext=200MHz L1=128K L2=1M
=>Pentium IV

1.2 En resumen

Tipos de micros:
Segn marca : Intel, AMD, Motorola, Zilog
Segn DB
:4bits (calculadoras) 8bits (autmatas) 16bits y 32bits (Antig. PC)
64bits (PC actuales)
16 bits => 386 (El SX era de 8 bits)
32 bits => 486 Tenan coprocesador (el SX no) y multiplicaban su frecuencia respecto a
la externa (33MHz) DX x1 DX2 x2 y DX4 x3 (No se tendra que llamar DX3?
64 bits => Pentium
Pentium Pro=>Tiene el cach L2 integrado =>Fext=66MHz
Socket 5
Pentium MMX=>Tiene instrucciones MMX
Socket 7
Pentium II = Pentium Pro +Pentium MMX
Slot1
Pentium III
=>Fext=100MHz
Socket/Slot
AMD k6 como un Pentium
Socket 7
AMD k6 3D NOW como Pentium II

AMD k7 como Pentium III (mejor)


=>Fext=200MHz
Socket/Slot
PC rico PC pobre
En paralelo con el mercado de micros, existen otros paralelamente que eran ms
econmicos, en comparacin con su omlogo, y por supuesto ms lentos. Por ejemplo:
PC Rico
PC pobre
386DX con DB=32
386SX con DB=16
(286)
486DX con coprocesador mat. Incluido
486SX sin coprocesador mat.
(386)
Pentium II con L2=256k
Celeron sin L2
(PMMX)
Actualmente tenemos :
Intel
AMD
Caractersticas
Parecido
5
Celeron 1,2GHz Duron 1,1GHz
PIII
103$ 0,13 Socket A
L1=32k/128k L2=256k/64k

PC Word Nov 2001 pag 253


Pgina 123

Problemas electrnica Digital

Profesor Javier Quintana

2.- HARDWARE DEL 8085


Dentro del 8085 tenemos los siguientes registros:
A (8)

Acumulador

ALU
Unidad Aritmetico
S Z AC P CY ... Flag (8) Lgica
B (8)
C (8)
D (8)
E (8)
H (8)
L (8)
registros auxiliares

U.C.

Unidad
Control

RI (8)
reg. de instruciones
SP (16) stack pointer puntero de pila
PC (16) contador del programa

Todos estan conectados entre si, y el 8085 tiene exteriormente 3 buses como
todos los microprocesadores (pero con tamaos diferentes):

D.B.
A.B.
C.B.

Nombre
Bus de datos
(data bus)
Bus de direcciones
(Adrress Bus)
Bus de Control

bits comentarios
8
conectado al R.I. desde este registro la U.C. lee las
instrucciones y las procesa.
16 conectado al PC indica la direccin de memoria del
programa que se esta leyendo.
10 Conectado a la U.C. para controlar el sistema

Hay que sealar que el 8085 tiene el bus de direcciones multiplexado, es decir, tiene 8 pines AD0 .... AD7
que son bus de datos y bus de direcciones (la parte baja), para diferenciarlo tiene un pin llamadoALE que
cuando es 0 las lineas AD0...AD7 es bus de datos D0...D7, y cuando ALE=1, las lineas AD0...AD7 es
parte baja del bus de direcciones A0...A7.

El bus de control adems del ALE, tiene los siguientes pines:


Lectura Escritura: RD# y WR#6
Acceso a memoria o a perifricos: IO/M#.
pin indicador de estar preparado para atender al dispositivo exterior : READY.
pin indicador que el dispositivo externo esta ocupando los buses : HOLD.
pin indicador que el 8085 no hace caso a los buses HLDA.
pin indicador que el 8085 se ha reseteado RESETOUT y el pin de RESET
y pines indicadores de estado S0 S1 (S0S1 =01 Escribe dato, =10 Lee dato, =11
Busca direccin).

El smbolo # indica que es activo a nivel bajo.


Pgina 124

Problemas electrnica Digital

Profesor Javier Quintana

En la pag 283 y 284 explica el funcionamiento de cada uno de los registros, unidades
etc.., seala brevemente el significado de cada uno de ellos:
Descripcin
A
B, C
D, E
H, L

Flag
S
Z
AC
P
CY
ALU

U.C.

R.I.
P.C.
S.P.
Funcio
namien
to de la
pila

Pgina 125

Problemas electrnica Digital

Profesor Javier Quintana

3.- INSTRUCCIONES DEL 80857


Nomenclatura:
r = un registro de 1 byte , puede ser cualquiera de estos : A, B,C,D,E,H,L.
(rs =registro origen de datos, source, rd = registro destino de los datos)
[1000] = el dato almacenado en la direccin 1000H
[HL] = el dato almacenado en la direccin contenida en el registro HL
M=
dato = un nmero de 1 byte, por ejemplo 4AH, suelen ser los datos.
addr = un nmero de 2 bytes, por ejemplo 10B2H, suelen ser las direcciones
H=hexadecimal, B=Binario, D = Decimal
3.1.- Instrucciones de transferencia de datos

MOV rd,rs

LDA addr

MOV rd,M
MOV M,rs

STA addr

MVI rd,dato
LXH H,addr
ejemplo de utilizacin :

Estas hojas son las que se permitirn en los exmenes. Copia descriptivamente lo que significan cada
una de las instrucciones, y si necesitas algun ejemplo de aclaracin, cpialo detrs.
Pgina 126

Problemas electrnica Digital

Profesor Javier Quintana

3.2.- Instrucciones aritmticas

ADD rs

SUB rs

ADD M

SUB M

ADI dato

SUI dato

INR rs

DCR rs

INR M

DCR M

INX B

DCX B

INX D

DCX D

INX H

DCX H
STC

DAA
CMC
3.3.- Instrucciones lgicas

ANA rs

CMP rs

ANA M

CMP M

ANI dato

CPI dato
alteran solo el flag : Z, S, CY, AC ...

ORA rs
ORA M
ORI dato
CMA

Pgina 127

Problemas electrnica Digital

Profesor Javier Quintana

3.4 Instrucciones de desplazamiento

RLC
RRC
RAL
RAR
3.5 Instrucciones de salto

JMP addr

condicin puede ser alguna de las siguientes:

Jcondicion addr

Z
NZ
P
M
C
NC
PO
PE

3.6 Instrucciones para las subrutinas

CALL addr

RET

3.7.-Instrucciones de control

HLT

IN puerto

NOP

OUT puerto

Pgina 128

Problemas electrnica Digital

Profesor Javier Quintana

4.- MANEJO DEL SIMULADOR 8085 SIM8085


Vamos a realizar un pequeo ejemplo de funcionamiento. Vamos a mover el contenido
de la direccin 2000H al acumulador, y almacenarlo en la 2001H, y el contenido de la
direccin 2002H moverlo al registro B, y almacenarlo en la 2003H.
a)

Escribir el siguiente programa en un editor, por ejemplo el EDIT de MS-DOS,


guardarlo como PRUEBA.ASM el archivo fuente debe de tener la extensin *.ASM
(vamos al direcctorio 8085, desde el raiz : CD C:\8085 y EDIT PRUEBA.ASM )
;programa de muestra
;*** mover datos ****
;colocacin de los n
;programa1
ORG 1000H
LDA 2000H
STA 2001H
LXI H, 2002H
MOV B,M
INX H
MOV M,B
END

todo lo que se escribe despus de ;


no se ensambla, as que se puede
utilizar como comentarios.
ORG = organizar las siguientes
lneas a partir de la direccin en este
caso 1000H
el programa se ha escrito a partir de
la direccin 1000H, carga el
acumulador (loadA) y lo almacena
(storeA), para el registro B hay que

utilizar el registro M,
antes de utilizar el registro M hay que cargar HL la direccin que queremos,
LXI H,2002H, lo mueve a B, y para moverlo al 2003 podra haberse escrito LXI
H,2003H o como en este caso, incrementando lo que tena, movemos de B a M, y
para finalizar END.
despus de guardarlo ensamblarlo con la instruccin: ASM8085 PRUEBA.CCC
esto crea 3 ficheros, si salen errores hay que corregirlo en el prueba.asm:
PRUEBA.ERR = listado de errores de 1 pasada.
(A=argumento errneo, D=etiqueta no existe, L=etiqueta erronea, U=smbolo
indefenido, S= error sintaxis)
PRUEBA.LST = listado del programa, aqu salen los errores de 2 pasada.
PRUEBA.OBJ = listado en lenguaje mquina.
c) simularlo con el programa SIM8085, una vez dentro pulsar F4 y cargar el
PRUEBA.OBJ, utilizar los siguientes comandos:
R=modificar los registros, en este caso pondremos el contador del programa PC en la
direccin de comienzo de nuestro programa: 1000H
V=ver memoria, en este caso nos interesa ver lo que hay en la 2000H y siguientes.
M=modificar memoria, para poner nmero en la memoria.
T=trazar o ejecutar paso a paso, ir pulsando y observar lo que ocurre en cada
instruccin.
Q=salir
F1 visualiza una ayuda
C=ver el cdigo
E=ejecutar entre dos direcciones, ESC para salir, I para interrupcin 7.5
b)

Pgina 129

Problemas electrnica Digital

Profesor Javier Quintana

4.1 EJERCICIOS CON EL SIMULADOR 8085


9.3.1.1.-Ejercicios de transferencia de datos

1- Utilizando el direccionamiento directo (LDA,STA,MVI) realizar un programa que grabe el


dato 3F en la direccin 1500H (No es necesario utilizar las tres)
2- Igual que el ejercicio anterior, pero utilizando el direccionamiento indirecto
(MOV M)
3- Utilizando el direccionamiento directo (LDA, STA) realizar un programa que grabe el dato
de la direccin 1500H en la direccin 1501H
4- Utilizando el direccionamiento indirecto (MOV M) realizar un programa que grabe el dato
de la direccin 1500H en la direccin 1501H
5- Realizar un programa que borre los datos [1500] [1501] [1502] pero antes de borrarlos que
grabe esos datos en la [1503] [1504] [1505] respectivamente.
9.3.1.2 Ejercicios de operaciones aritmticas

6- Realizar un programa que sume dos nmeros. Los sumando se proporcionarn de forma
inmediata en el programa y sern los valores 12H y A3H. El resultado se depositar en la
direccin 1500H (Resultado B5H)
7- Un programa que multiplique por 4 el dato contenido en la direccin 1500 y lo almacene en
la 1501. Para multiplicar nmeros por dos, se utiliza la instruccin RAL que desplaza los
bits a la izquierda y as queda multiplicado por 2.
Por ejem.- 6=00000110 =>RAL=> 00001100=12 =>RAL=> 00011000=18H=24D
9.3.1.3 Ejercicios de bucles

8.-Un programa que doble el n almacenado en 1500 tantas veces como lo diga el dato de 1501
y el resultado que se almacene en 1502. Es decir, si [1500]=6 y [1501]=4 entonces
[1502]=6*2*2*2*2=96D=60H
9.- Realizar un programa rellene los datos desde la [1000] hasta la [10FF] con el dato de la
[1500]
10.- Realizar un programa que borre tantos datos como lo diga la direccin [1500] a partir de la
1000, es decir si en 1500 hay un 13H entonces los datos de las siguientes direcciones se pondrn
a 00H : 1000 1001 1002 1003 ....1009 100A 100B 100C ... 100F 1010 1011 1012 1013.
9.3.1.4. Ejercicios con subrutinas y puertos

11.- Realizar un programa que haga una intermitencia por el puerto 00 en el bit de menor peso
12.- Hacer un programa que haga un secuenciamiento de leds es decir :10000000 01000000
00100000 00010000 00001000 00000100 00000010 00000001 10000000 ....

Pgina 130

Problemas electrnica Digital

Profesor Javier Quintana

4.2 Soluciones ejercicios sim8085.


;***********************************
;****
EJERCICIO 1
****
;************************************
ORG 2000H
MVI A,3FH
;A<=3F
STA 1500H
;***********************************
;****
EJERCICIO 2
****
;************************************
ORG 2000H
LXI H,1500H
;
MVI M,3FH
;[1500]<=3F
END
;***********************************
;****
EJERCICIO 3
****
;************************************
ORG 2000H
LDA 1500H ;A<=1500
STA 1501H ;1501<=A
END
;***********************************
;****
EJERCICIO 4
****
;************************************
ORG 2000H
LXI H,1500H
;M=1500
MOV B,M
;B<=M
; Podra ser cualquier registro
LXI H,1501H
;M=1501
MOV M,B
;M<=B
END
;***********************************
;****
EJERCICIO 5
****
;************************************
ORG 2000H
;Mover datos memoria
;[1503]<=[1500] Direccionamiento indirecto
LXI H,1500H
MOV B,M
LXI H,1503H
MOV M,B
; [1504]<=[1501] Direccionamiento directo
LDA 1501H
STA 1504H

;***********************************
;****
EJERCICIO 6
****
;************************************
ORG 200H
MVI A,12H
;A=12H
MVI B,0A3H
;B=A3H
ADD B
;A=A+B
STA 1500H;
;[1500]<=A
END
;***********************************
;****
EJERCICIO 7
****
;************************************
ORG 2000H
LDA 1500H
RAL
RAL
STA 1501H
END
;***********************************
;****
EJERCICIO 8
****
;************************************
; Es un programa muy parecido al anterior, pero
que ;se tiene que realizar tantas veces como el
contenido ;de 1501 mediante un bucle
[1502]=[1500]*2*2*2 ... [1501].....*2*2
;Se puede probar poniendo un 6 en 1500 y un 4 en ;
1501HEn nuestro caso se almacenar
;6*2*2*2*2=96D=60H
;Cuando se utilizan ;bucles, saltos o subrutinas,
inicializar la pila LXI SP,3000H
;Programa
ORG 2000H
LXI SP, 3000H
LXI H,1501H
MOV B,M
LDA 1500H

;B=[1501]
;Cargo el n de 1500

BUCLE: RAL
;x2
DCR B
;Decremento B
JNZ BUCLE
;Salto a bucle mientras no sea 0
STA 1502H
;Almaceno a 1502
END

;[1505]<=[1502] Direccionamiento indirecto


LXI H,1502H
MOV C,M
LXI H,1505H
MOV M,C
;Borrar datos memoria
LXI HL,1500H
MVI M,0H
INX H
MVI M,0H
INX H
MVI M,0H
END
;Tambin se podra hacer MVI A,0H
STA 1501H STA 1502H

;Borro [1500]
;Borro [1501]
;Borro [1502]
STA 1500H

Pgina 131

Problemas electrnica Digital

Profesor Javier Quintana

;***********************************
;****
EJERCICIO 9
****
;************************************
; ORGANIGRAMA
;
C <=FF
;
B <=[1500]
;
HL <=1000
;
[HL]<=B
;
HL<=HL + 1
;
C <= C - 1
;
NO ES 0? S
;
N
;
FIN
;************************************
ORG 2000H
LXI SP, 3000H
MVI C,0FFH
LDA 1500H
LXI H,1000H

OUT 00H
CALL PAUSA
JMP BUCLE

;Sacar por el puerto


;Hacer pausa

;Surutina Pausa
;Esta pausa entretiene al 8085 contando
FF ;hasta 0
ORG 2500H
PAUSA: MVI B,0FFH
OTRO: DCR B
;Es una pausa muy corta
JNZ OTRO
RET
;Volver al programa principal
END

;A=[1500]

BUCLE: MOV M,A


;Rellena el dato [HL] con el contenido de A
INX H
;HL apunta al siguiente
DCR C
JNZ BUCLE
END
;Cuando ha acabado los FF es ;decir desde
1000 hasta 10FF acaba
;****************************************
;***
EJERCICIO 10
****
;************************************
; a hacerlo
;***********************************
;****
EJERCICIO 11
****
;************************************
;hacer un intermitente
ORG 2000H
BUCLE: MVI A,00000001B
;Encender el bit de menor peso
OUT 00H
;Sacar por el puerto 00
CALL PAUSA
;Hacer una pausa o si no no se aprecia
MVI A,0
;Apagar el bit

;***********************************
;****
EJERCICIO 12
****
;************************************
secuenciamiento del leds
ORG 2000H
MVI A,00000001B
;Encender el bit de menor peso
BUCLE: OUT 00H
;Sacar por el puerto 00
CALL PAUSA
;Hacer una pausa
RLC
;Corre el bit <=
JMP BUCLE
;Surutina Pausa
;Esta pausa entretiene al 8085 contando FF hasta 0
ORG 2500H
PAUSA: MVI B,0FFH
OTRO: DCR B ;Es una pausa muy corta
JNZ OTRO
RET
;Volver al programa principal
END

Pgina 132

Problemas electrnica Digital

Profesor Javier Quintana

5.- MANEJO ENTRENADOR 8085


5.1 Prcticas para el manejo del entrenador

Enunciado:
Se realizar un programa que efecte la suma de los 10 primeros nmeros
hexadecimales, es decir 1+2+3+4+5+6+7+8+9+A, el resultado da 37H.
Solucin:
Programa:
ORG 0000H
ACUMDISPLAY

Direcc.
Cod. Maq.
1000
31 FF 1F
SP,1FFFH
1003
3E 00
1005
06 0A
1007
80 SUMAR:
1008
05
1009
C2 07 10
100C
CD D5 04

EQU 04D5H
Ensambl.
LXI
MVI A,00H
MVI B,0AH
ADD B
DCR B
JNZ SUMAR
CALL

ACUMDISPLAY

100F

76

END

Cmo es posible que el programa se


pide que se organize en la 0000H y al
final se organiza en la 1000H? Por que
automticamente se incrementa en 1000
pues la memoria RAM est en la 1000H
(en la 0000H hay ROM).
Para visualizar el acumulador por la
consola, hay que ejecutar la subrutina
ACUMDISPLAY, la subrutina esta en la
direccin 04D5H, por eso la segunda
lnea
del
programa
dice
que
ACUMDISPLAY equivale a 04D5H.

Pgina 133

Problemas electrnica Digital

Profesor Javier Quintana

5.2.- Cmo grabar y ejecutar el programa en el entrenador?


5.2.1.-Desde el ordenador

(aconsejable) (Conmutador Teclado/CRT en posicin CRT)

1.-Hacer el fichero texto con el EDIT que se llame por ejemplo PRUEBA.ASM
2.- Se podra ensamblar con ASM8085, pero no lo metera en el entrenador, el
ASM8085 slo sirve para el SIM8085, para ensamblarlo y grabarlo en el entrenador
ejecutar el fichero batch HACERHEX PRUEBA (todo en el directorio C:\8085).
3.- Ver si hay algn error, si hay alguno, estar en PRUEBA.LST, en ese caso abortar el
programa batch con CTRL+C, si no hay errores ir pulsando INTRO hasta que aparece
un men preguntndote en qu puerto de comunicaciones est el entrenador.
Normalmente estar en COM1, pulsar INIC en el entrenador para ver si responde. Si
quieres saber como estn conectados el PC y el entrenador mira el Apndice A.
4.- Cargar el programa con el comando L , a la pregunta OFFSET contestar INTRO
(offset significa si quieres incrementar an ms el ORG)
5.-Ejecutar con G1000 recordar que a pesar que hemos puesto ORG 0000H el
programa HacerHex lo incrementa automticamente en mil unidades.
6.- Para finalizar la comunicacin pulsar INIC en el entrenador y H en el PC
Para ver ms comandos desde el PC puedes ver el APENDICE B, por ejemplo se puede
ver el programa ejecutando D1000,1010
5.2.2.- Desde el entrenador

(Conmutador Teclado/CRT en posicin Teclado)

Con la tecla SME/ANT 1000 se va metiendo los cdigos mquina en hexadecimal a partir de la direccin
1000, hay que pulsar POST despus de cada cdigo, y ejecutar con GO 1000 y EJEC.

Para ver los comandos del entrenador, consultar el APENDICE C

5.3 Hardware y Mapa de memoria en el entrenador


El 8085 como tiene los buses de datos y el de direcciones multiplexado, el 74373 los
demultiplexa, 8085 ------ AB y DB (8) ------- 74373 ----- ABL (8) ----- DB(8)

Tiene un reloj de cuarzo de 4.915 MHz, un dedodificadro de 3 a 8 canalies


74138 y puertas and 7408 para la realizacin del mapa de memoria, que es la siguiente:
Direcciones
chip, mapa hardware descripcin, mapa software
0000
EPROM 4k
Programa monitor de la consola y
0FFF
2732
subrutinas anteriores
1000
2x RAM 2k
Programas de usuario
1FFF
4016
2000
RAM 256 bytes
Utilizado por la consola
20FF
8155 U17

Pgina 134

Problemas electrnica Digital

Profesor Javier Quintana

5.4.- Subrutinas prediseadas de fbrica

Para la elaboracin de vuestros programas podis utilizar las siguientes subrutinas ya


programadas en la ROM
Direccin

nombre8

descripcin

04D5H

ACUMDISPLAY

044EH

TECLAACUM

041DH

MENSDISPLAY

04C9H

HLDISPLAY

El contenido del acumulador se visualiza en el display,


DISPLAY<=A
Carcter de consola al acumulador A<=TECLADO
Un mensaje que esta en memoria, que comienza en la
direccin apuntada por HL se visualiza en el display 9
DISPLAY<=[HL]
Visualiza los contenidos de HL en el display
DISPLAY<=HL

Display

nombre
manuales

Datos

UPDDT

no procede

RDKBD

direcciones

OUTPT

direcciones

UPDAD

Estas son las ms importantes, en el Apndice D existen ms subrutinas que podis utilizar.
Para utilizar estas subrutinas, hay que utilizar el comando EQU, por ejemplo:
TECLAACUM
EQU 044EH
ACUMDISPLAY
EQU 04D5H
Estas direcciones pertenecen a la ROM y son inalterables, pues vienen de fbrica.
Las subrutinas utilizan saltos de direccin, y para que el micro sepa dnde
regresar cuando acabe la subrutina, almacena la direccin del programa en curso en la pila, la
pila tiene que estar en una direccin RAM, por lo que la primera instruccin de nuestro
programa tiene que ser inicializar la pila en una direccin entre la 1000 y la 2000H ejem:
LXI SP, 1700H
; inicializar la pila
Estas subrutinas utilizan interrupciones, para permitir desenmascararlas es necesario poner 08H
al Acumulador, y ejecutar SIM, y para habilitar el sistema de interrupciones EI, es decir:
MVI A,08H
SIM
EI
Una vez escrita las anteriores lneas podemos llamar a las subrutinas cuando queramos en
nuestro programa por ejemplo:
CALL ACUMDISPLAY
Lo malo que tienen es que alteran los registros, luego antes de llamarlas hay que
almacenar los datos importantes que se tienen en los registros, pues estas subrutinas las borran,
y despus cargar los datos previamente almacenados. Por ejemplo, supongamos que en A
tenemos datos importantes, y los queremos visualizar:
STA ALMACEN
; lo almaceno, al principio del programa ALMACEN EQU 1500H
CALL ACUMDISPLAY
; llamo a la subrutina
LDA ALMACEN
;recupero el acumulador, pues ACUMDISPLAY lo ha borrado

El nombre puede ser arbritario


Estos son los cdigos de los carcteres que se pueden sacar con la subrutina MENSDISPLAY
0 al 9A a la FHLPIrblancoYaUh00..090A..0F1011121314158EA3A4BBExiste otra forma de sacar
mensajes por el display es utilizando los puertos del 8279, ver pag 138 Prcticas nivel II los cdigos van
relacionados con los segmentos del display :
dcba.gfeas H=01101111
9

Pgina 135

Problemas electrnica Digital

Profesor Javier Quintana

5.5 Interrupciones

Supongamos que un perifrico quiere comunicarse con el P, Tiene que estar


viendo el P si se pulsa una tecla en un bucle sin fin, o debe de ser el P libre, y cuando
el teclado quiere comunicarse con el interrumpirlo? Evidentemente la respuesta es la
segunda opcin, los perifricos se comunican con los P a travs de unas lneas
especiales que se llaman Interrupciones, y cuando necesitan comunicarles algo lo hacen
por esas lneas, el P acepta la interrupcin y salta a una subrutina que atiende la
peticin. En los PC existen desde el 16 lneas de interrupciones conectadas a distintos
perifricos, puedes verlos en Mi PC Propiedades Administrador de dispositivos PC
Propiedades y en la misma ventana pinchando en Entrada/Salida las direcciones donde
estn las subrutinas que las atienden.
En nuestro 8085 no es un PC, hay menos interrupciones y hay de dos tipos:
Interrupciones tipo software: RST0, RST1, RST2 .... RST7
Interrupciones tipo hardware: RST5.5, RST 6.5, RST7.5, INTR, TRAP
El entrenador slo deja la RST6.5 RST7.5, como la 6.5 la utiliza el teclado vamos a
utilizar ser la RST7.5, (una tecla que est en la esquina superior izquierda).
En las interrupciones tipo hardware, es necesario que para que no tengan mscara, para
quitarles las mscara se puede modificar el registro I, o con la instruccin SIM y
tambin hay que validarlas con la instruccin EI, o sea, hay que poner al principio de
nuestro programa las instrucciones que se sealaron en el apartado 4.
En la interrupcin 7.5 el 8085 salta a la direccin 003CH, que en este entrenador esta en
la ROM, y tiene grabado la siguiente tabla:
003C
C3
003D
CE
003E
20
Es decir JMP 20CE, lo que significa que vuelve a saltar a la direccin 20CE y que
pertenece a la RAM pequea 8155, que slo tienes 3 sitios libres, donde se puede poner
un salto a otra direccin de tu programa entre la 1000 y la 1FFF
Conclusin: si pulsas la tecla INT7.5 el programa salta a la direccin 20CE y slo tienes
3 bytes libres para poner lo que desees, lo ms cmodo otra JMP ... (que ocupa 3 bytes)
Ejemplo:

..... (el final de tu programa)


;*******************************
;*
Interrupcin 7.5
*
;*******************************
INTER: .... (lo que quieres que haga cuando se pulsa Int7.5)
JMP INICIO
ORG 10CEH10
JMP INTER
END

10

Hay que tener en cuenta que HACERHEX incrementa todos los ORG mil unidades
Pgina 136

Problemas electrnica Digital

Profesor Javier Quintana

5.6.- Entrada y salida

9.4.6.1.-Perifricos del entrenador 8085

Una ranura de expansin J1 de 50 hilos.


Una salida MIC EAR para comunicarse con un cassette como perifrico de memoria
masiva externa, puedes ver en el APENDICE E cmo se pueden grabar y leer
archivos con un cassette
Un puerto serie por el conector J8 (GND,RX,TX) y con el chip 8251* el entrenador
se comunica con el PC (Ver apndice A)
Dos puertos PARALELOS :

tipo
PARALELO
Input/Ouput
PARALELO
Input/Output

jumper
J5
J6
J7
J2
J3
J4 (4-7)
J4 (0-3)

puerto
PA
PB
PC
PA
PB
PCH
PCL

Anchura
8 bits
8 bits
6 bits
8 bits
8 bits
4bits
4 bits

chip
81555 *

ref
U14

8255 *

U15

El c.i. 8155 es realmente una RAM 256x8 utilizada en rangos de


memoria reservada para el sistema a partir de la direccin 2000, (ver
mapa de memoria apartado 3.3) + 3 puertos I/O PA 8bits PB 8bits
PC 6bits + un registro de control + un contador.
El 8255 es un Perifrico Interface Programable PIA y consta de 4
puertos I/O PA 8bits PB 8bits PCH 4bits PCL 4bits y un
registro de control.
9.4.6.2.-Cmo programar los puertos?

PRIMERO:CONSULTAR EL CARACTER DE CONTROL AL ACUMULADOR


Hay que cargar en el registro de control unos carcteres para definir qu puertos deseas que sean Input y
qu puertos deseas Output.
Carcteres de control del 8155 (I=Input O=Ouput)
PA
I
O
I
PB
I
I
O
PC
I
I
I
control
00H
01H
02H
Carcteres de control del 8255
PA
O
O
O
O
O
I
O
PB
O
I
O
I
O
O
O
PCH
O
O
O
O
I
O
I
PCL
O
O
I
I
O
O
I
control
80 82 81 83 88 90 89
A estos carctes de control les falta una H al final.

POR EJEMPLO MVI A,01H

O
O
I
03H

I
O
O
I
91

I
I
O
0CH

O
I
I
O
8A

I
I
O
O
92

O
I
O
0DH

O
I
I
I
8B

I
I
O
I
93

I
O
O
0EH

I
O
I
O
98

I
I
I
O
9A

O
O
O
0FH

I
O
I
I
99

I
I
I
I
9B

;el 8155 su PA como salida, PB y PC como entradas

Si quieres saber cmo funcionan los 8251 (pag 73) , 8155 (pag 157) y 8255 (pag 104) consulta el libro
Microprocesador 2000 manual de Harware, estos chips son tambin utilizados en los PC actuales.
Pgina 137

Problemas electrnica Digital

Profesor Javier Quintana

SEGUNDO : OUT 20H o OUT 3BH


segn si es el 8155 o el 8255 que quieres manejar
REGISTRO DE CONTROL

8155
20H

8255
3BH

en nuestro ejemplo anterior OUT 20H


TERCERO: ESCRIBIR O LEER EL PUERTO
Segn el puerto tiene una direccin predeterminada
8155

8255

PA

21H

38H

PB

22H

39H

PC

23H

3AH

Por ejemplo OUT 21BH para enviar lo que hay en el acumulador al puerto A del 8155
(antes hay que poner algo en el acumulador)
o si queremos leer el puerto B del 8155 IN 22H
Ejemplo
MVI A,01H
;
OUT 20H
;8155 PAout PBin PCin
;si queremos escribir en los puertos
MVI A,01H
; Que se encienda la luz ms a la derecha por ejem
OUT 21H
; por el PA del 8155
;Si queremos leer los interruptores que hay en PB del 8155
IN 22H
; Podra haber sido tambin 23H del PC del 8155
Ejemplo con el 8255
MVI A,82H
OUT 3BH
;8255 PAout PBin PCout
;si queremos escribir en los puertos
MVI A,01H
; Que se encienda la luz ms a la derecha por ejem
OUT 38H
; por el PA del 8255
;Si queremos leer los interruptores que hay en PB del 8255
IN 39H
; Podra haber sido tambin 3AH del PC del 8255 pero slo 6

Pgina 138

Problemas electrnica Digital

Profesor Javier Quintana

5.7 EJERCICIOS CON EL P 8085

9.4.7.1 EJERCICIOS DE RUTINAS DE CONSOLA

1.-Este ejercicio trata de captar una letra al acumulador y visualizarla en el display


2.- Se trata de realizar un programa que sume como una calculadora, primero se teclea
el primer sumando, luego el segundo y la tecla INT7.5 ser la que ejecute la suma y lo
visualice por pantalla.
3.- El mismo programa, pero que en vez de ser la tecla INT.5 que lo haga la tecla POST
4.- Realizar un programa que haga un mensaje intermitente por el display, el mensaje
puede ser por ejemplo HOLA
5.- Realizar un programa que haga un contador en el display por el campo de datos:
00 01 02 ... FE FF 00 01 ...
6.- Realizar un programa que visualiza por el campo de direcciones del display un
contador de 0000 a FFFF y por el campo de datos un contador de 00 a FF
7.- Realizar un programa que visualiza por el datos un contador de 00 a 09
9.3.7.2 EJERCICIOS DE PUERTOS

8.- Realizar un programa que lea los interruptores del puerto A del 8155 y visualice en
el display el nmero en binario marcado.
9.-Realizar un programa que saque intermitente por todos los puertos en todos los leds

Pgina 139

5.8 EJERCICIOS CON EL P8085


;***********************************
;****
EJERCICIO 1
****
;************************************
;CAPTAR Y VISUALIZAR UNA LETRA
;*******************SUBRUTINAS
ACUMDISPLAY EQU 04D5H ;DISPLAY<=A
TECLAACUM EQU 044EH ;A<=TECLA
;*****************PROGRAMA
ORG 0000H
;al traspasar el programa al P se incrementar en ;
1000 automticamente
LXI SP,10C8H
MVI A,08H
SIM
EI
BUCLE: CALL TECLAACUM
CALL ACUMDISPLAY
JMP BUCLE
END
;***********************************
;****
EJERCICIO 2
****
;************************************
;SUMA DOS NMEROS
; TECLA INT7.5 HACE LA SUMA ****
;**************************SUBRUTINAS
ACUMDISPLAY EQU 04D5H ;DISPLAY<=A
TECLAACUM EQU 044EH ;A<=TECLA
;****************************DATOS
***********************PROGRAMA
ORG 000H
LXI SP, 1FFFH
MVI A,08H
SIM
EI
BUCLE: CALL ACUMDISPLAY
STA 1500H
CALL TECLAACUM
CALL ACUMDISPLAY
STA 1501H
DAA
CALL TECLAACUM
JMP BUCLE
;Si no se pone, sin casi ver el 2 sumando
; pone el resultado
;se podra hacer con un pause
;, y as no utilizar la int7.5
;*******************SUMA
SUMA: LDA 1500H
MOV B,A
LDA 1501H
ADD B
DAA
CALL TECLAACUM
JMP BUCLE
;********************INT7.5
ORG 10CEH
JMP SUMA
END

;***********************************
;****
EJERCICIO 3
****
;************************************
;SUMA DOS NUMEROS
;, TECLA POST REALIZA SUMA*********
; Las teclas especiales tienen el siguiente cdigo :
;
TECLA
CODIGO
;
EJEC PASO
15H
;
POST
11H
;
EJEC
10H
;
E REG
14H
;
GO
12H
; SM
13H
;*****************SUBRUTINAS
ACUMDISPLAY EQU 04D5H
;DISPLAY<=A
TECLAACUM
EQU 044EH
;A<=TECLA
;***********PROGRAMA
ORG 000H
LXI SP, 1FFFH
MVI A,08H
SIM
EI
BUCLE:
CALL TECLAACUM
CPI 11H ;tecla post
JZ SUMA
STA 1500H
CALL ACUMDISPLAY
CALL TECLAACUM
CPI 11H
JZ SUMA
STA 1501H
CALL ACUMDISPLAY
JMP BUCLE
;Si no se pone, sin casi ver el 2 sumando
;pone el resultado
;*******************SUMA
SUMA: LDA 1500H
MOV B,A
LDA 1501H
ADD B
DAA
CALL ACUMDISPLAY
JMP BUCLE
END

;***********************************
;****
EJERCICIO 4
****
;************************************
;MENSAJE INTERMINTENTE
*;***********SUBRUTINAS
ACUMDISPLAY EQU 04D5H
;DISPLAY<=A
TECLAACUM
EQU 044EH
;A<=TECLA
MENSDISPLAY EQU 041DH ;DISPLAY<=[HL]
;****************************DATOS
ORG 0050H
MENSAJE:
DB 10H,00H,11H,0AH ;HOLA
BLANCO:
DB 15H, 15H, 15H, 15H
; **************************PROGRAMA
ORG 0000H
MVI A,08H
SIM
EI
BUCLE:
LXI H,MENSAJE
CALL MENSDISPLAY
CALL PAUSA
LXI H,BLANCO
CALL MENSDISPLAY
CALL PAUSA
JMP BUCLE
;******************************PAUSA
;Esta pausa tiene que ser larga
;porque sino no da tiempo a verse el mensaje
;Son dos bucles uno dentro del otro
;Bucle1 cuenta el C de A a 0
;Para cada cuenta del Bucle1 hay un ciclo del Bucle2
;que es el D que va de FF a 0
;Es decir A*FF=10*255=2550 cuentas
;***********************************
;
SUBRUTINA PAUSA
;***********************************
PAUSA:
MVI D,0FFH
BUCLE1:
MVI C,0A0H
BUCLE2:
DCR C
JNZ BUCLE2
DCR D
JNZ BUCLE1
RET;

;******** INTERRUPCION 7.5********


;Esta interrupcin hace parar el micro
ORG 10CEH
EI ; tambien HLT
END

;***********************************
;****
EJERCICIO 5
****
;************************************
; CONTADOR *************
;**************************SUBRUTINAS
ACUMDISPLAY EQU 04D5H ;DISPLAY<=A
TECLAACUM EQU 044EH
;A<=TECLA
;****************************DATOS
*********************PROGRAMA
ORG 0000H
LXI SP,1FFFH
MVI A,08H
;Antes del bucle habra que asegurarse que DATO
;Tiene cargado un 00, y realmente es as DB 00H
SIM
EI
BUCLE: LDA DATO
INR A
STA DATO
;Hay que almacenar A pues la subrutina lo borra
CALL ACUMDISPLAY
CALL PAUSA
JMP BUCLE
;Falta aadir la subrutina PAUSA y la
interrupcin 7.5 que seran igual que en el ejercicio 3
;***********************************
;****
EJERCICIO 6
****
;************************************
; DOS CONTADORES ************
;***************SUBRUTINAS
ACUMDISPLAY EQU 04D5H
;DISPLAY<=A
TECLAACUM
EQU 044EH
;A<=TECLA
HLDISPLAY
EQU 04C9H
;DISPLAY<=HL
;************************PROGRAMA
ORG 0000H
LXI SP,1FFFH
MVI A,08H
SIM
EI
MVI A,00H
STA 1500H
LXI H, 0000H
SHLD 1501H
BUCLE: LDA 1500H
;A<=[1500]
INR A
;A=A+1
STA 1500H
;[1500]<=A ;almaceno el acumulador
; antes de llamar a la subrutina
CALL ACUMDISPLAY
LHLD 1501H ;H<=[1501] L<=[1502]
INX H ;H=H+1
SHLD 1501H
; [1501]<=H [1502]<=L almaceno antes de llamar
CALL HLDISPLAY
CALL PAUSA
JMP BUCLE
;Falta aadir la subrutina PAUSA y la
interrupcin 7.5 que seran igual que en el ejercicio 3

;**************************************
;* EJERCICIO 7 CONTADOR DECADAS *
;**************************************
;**************************SUBRUTINAS
ACUMDISPLAY EQU 04D5H
;DISPLAY<=A
TECLAACUM
EQU 044EH
;A<=TECLA
;****************************DATOS
;************************PROGRAMA
ORG 0000H
LXI SP,1FFFH
MVI A,08H
SIM
BUCLE: EI
LDA 1500H
;A<=[1500]
INR A
;A=A+1
CPI 0AH
;Hace la resta A-0A
JNZ SIGUE
;Si A=0AH=10D entonces, borra A
;, si no sigue como estaba
MVI A,00H
SIGUE: STA 1500H
;[1500]<=A almaceno el acumulador
; antes de llamar ; a la subrutina
CALL ACUMDISPLAY
CALL PAUSA
JMP BUCLE
;Falta aadir la subrutina PAUSA y la
interrupcin 7.5 que seran igual que en el ejercicio 4

;***************************************
;*EJER 8 LEER INTERPTORES A DISPLAY*
;***************************************
;***************SUBRUTINAS
ACUMDISPLAY EQU 04D5H
;DISPLAY<=A
;****************************************
;*
PUERTOS
*
;****************************************
;**************** PROGRAMA
ORG 0000H
LXI SP,1FFFH
MVI A,02H
OUT 20H
BUCLE: IN 21H
STA 1500H
CALL ACUMDISPLAY
LDA 1500H
JMP BUCLE
END

;***********************************
;****
EJERCICIO 9
****
;************************************
;
;**************** PROGRAMA
ORG 0000H
LXI SP,1FFFH
MVI A,0FH
OUT 20H
MVI A,80H
OUT 3BH
BUCLE: MVI A,11111111B
OUT 21H
OUT 22H
OUT 23H
OUT 38H
OUT 39H
OUT 3AH
CALL PAUSA
MVI A,00000000B
OUT 21H
OUT 22H
OUT 23H
OUT 38H
OUT 39H
OUT 3AH
CALL PAUSA
JMP BUCLE

;***********************************
;
SUBRUTINA PAUSA
;***********************************
PAUSA:
MVI D,0FFH
BUCLE1:
MVI C,0A0H
BUCLE2:
DCR C
JNZ BUCLE2
DCR D
JNZ BUCLE1
RET
END

6.- EL SEMFORO
Tiene el siguiente esquema de cruces:
Las esquinas se llaman S1, S2,
y S4 con sus correspondientes
semforos Gx, Fx y Px

S3

Cmo se envian los valores


a los semforos?, cada
puerto controla una esquina,
y como en un golpe de reloj
no se pueden enviar a todos,
se hacen en 4 golpes
golpe de 1
reloj
puerto
S1 PUERTO C 8255
OUT 3AH
semfor P1
G1
F1
o

S2 PUERTO A 8255
OUT 38H
P2
G2
F2

S3 PUERTO B 8255
OUT 39H
P3
G3
F3

S4 PTO B DEL 8155


OUT 22H
P4

G4

F4

bits

VR

VR

VR

VNR

VNR

VR

VNR

VNR

VNR

VNR

VNR

VNR

El puerto A del 8155 (OUT 21H) se utilizar como entrada para poner los semforos en intermitencia.
Cmo se envan estos valores? Al inicio del programa hay que insertar el siguiente cdigo:
MVI A, 80H
;carcter de control del 8255
OUT 3BH
;salida al control 8255
MVI A, 02H
;carcter de control del 8155
OUT 20H
;salida al control 8155
Conexiones :

7.- PROGRAMACIN AVANZADA 8085


Existen ms instrucciones del P8085 que se han omitido por sencillez, este tema no se
dar en clase ni se exigir en los exmenes, slo est para tu propio aprendizaje si te ha
gustado el tema:
Instrucciones de mover datos
LDAX B
A<=[BC]
STAX B
[BC]<=A
LDAX D
A<=[DE]
STAX D
[DE]<=A
LHLD addr H<=[addr] L<=[addr+1]
SHLD addr [addr]<=H [addr+1]<=L
XCHG
intercambia DE con HL
LXY B,addr BC<=addr
LXI D,addr DE<=addr
Instrucciones aritmticas que suman y restan con acarreo
ADC r ADC M
ACI dato
SBB r SBB M SBI dato
Instrucciones aritmticas que suman con registros dobles
DAD B
HL=HL+BC
DAD D
HL=HL+DE
Instrucciones lgicas tipo XOR
XRA r XRA M XRA dato
Instrucciones de salto
PCHL
PC=HL
RSTn
PC=8*n
Instrucciones para las subrutinas pero de forma condicional
Ccondicion
Rcondicion
Instrucciones de Pila
PUSH B
apila BC
PUSH D
apila DE
POP B
desapila BC
POP D
desapila DE
XTHL
intercambia SP con HL
SPHL
SP<=HL
Instrucciones para el programa ensamblador
Estas son instrucciones no propias de ensamblador, pero sirven para realizar los
programas ms complejos, utilizando letras y no nmeros.
Ejem
N
EQU 20
N equivale a 20
ORG 1000H
X:
DB 08H
aqu X equivale a 1000 y se mete un dato de byte el 08H
Y:
DS 1
aqu Y equivale a 1001 y ha reservado espacio de 1byte
Ejercicios avanzados
1.- Confeccionar un programa que sume 3 nmeros. Los nmeros se proporcionarn de forma
inmediata en el propio programa. Sern los nmeros 25H, A4H, 05H. El resultado se
almacenar en la direccin 1500H (Resultado CEH)
2.- Realizar un programa que sume los datos contenidos en las direcciones 1000 y 1001 y que se
almacene en el 1002. Comprobar el resultado
3.-Hacer el mismo ejercicio que el problema anterior pero almacenando el acarreo posible en la
direccin 1003. Comprobar el resultado

4.- Realizar un programa que sume los datos contenidos en las direcciones 1000 1001 y 1002
que se almacene en el 1003 almacenando el acarreo posible en la direccin 1004. Comprobar el
resultado
5.-Realizar un programa que sume dos nmeros de dos bytes:
El primer sumando estar almacenado en las direcciones
El segundo sumando estar almacenado en las direcciones
El resultado y acarreo se almacenar en las direcciones
Comprobar el resultado

[1001] [1000]
+
[1003] [1002]
[1006] [1005] [1004]

6.- Igual que el ejercicio anterior pero utilizando registros dobles


7.- Realizar un programa que sume dos nmeros almacenados en las direcciones [1000] y
[1001] , estos nmeros no sern mayores que 99, el resultado expresarlo en BCD en la direccin
[1002] y el acarreo en la [1003]

8.- Realizar un programa que multiplique dos nmeros, el 8085 como todos los P de 8
bits no tienen instrucciones especficas para la multiplicacin, luego se desea un
programa que multiplique los n contenidos en las direcciones 1000 y 1001 y los
almacene en la 1002. Es decir [1002=[1000]*[1001]
9.- Hacer un programa que haga una divisin de dos nmeros Dividendo en la 1000,
divisor en la 1001 Cociente en la 1002 y resto en la 1003.
Igual que el ejercicio 18 el 8085 no tiene instrucciones especficas para la divisin,
luego hay que realizarlos manualmente es decir, si en la multiplicacin era haciendo sumas,
aqu es haciendo restas.
10.-Realizar un programa que sume los N primeros nmeros y el resultado almacenarlo en la
direccin 1001, el nmero N estar almacenado en la direccin 1000, es decir, si [1000]=6
entonces [1001]=1+2+3+4+5+6=21D=15H
11.- Este ejercicio trata de realizar un programa con varias decisiones. Supongamos dos
variables X almacenado en la direccin 1000 y la variable Y almacenado en la direccin 1001, y
otra variable Z almacenado en 1002. Realizar:
Si X<Y entonces Z=X+Y
Si X>Y entonces Z=X-Y
Si X=Y entonces Z=Y
12.-En el ejercicio 13 realizamos una suma de dos nmeros hexadecimales, y el resultado se
convirti en BCD, pero Y si los nmeros sumandos ya estn escritos en BCD? Habra que
convertirlos a HEX y aplicar el programa del problema 13.
El objetivo de este ejercicio se trata de convertir un nmero BCD en HEX. El nmero est
almacenado en tres posiciones de memoria, [1000][1001][1002] = Centenas, Decenas y
Unidades, el nmero resultante se almacenar en un slo byte, luego no tiene que pasar de
255D. Almacenar el resultado en 1003.

Problemas de Electrnica Digital.

Puertas lgicas, Karnaugh

Soluciones.
;***********************************
;****
EJERCICIO 1
****
;************************************
ORG 2000H
MVI A,25H
MVI B, A4H
ADD B
MVI B,05H
ADD B
STA 1500H
END
***********************************
;****
EJERCICIO 2
****
;************************************
;Datos
ORG 1000H
X
DB 12H
Y
DB 0A6H
RES
DB 45H
;Resultado : 68H
;Programa
ORG 2000H
LDA X
; A<=[1000]
;Equivale a LDA 1000H o LXI H,X
MOV A,M
LXI H,Y
; M<=[1001] Equivale a LXI H,1001H
ADD M
;A<=A+M
STA RES
;Equivale a STA 1002 o LXI H,RES MOV M,A
END
;***********************************
;****
EJERCICIO 3
****
;************************************
Sera aadir en los datos :
ACARR
DB 00H
y en el programa las siguientes lneas :
MVI A,0H
;A<=0 tambin con XRA A
ACI 0
;A<=A+0+CY Se carga el acarreo
STA ACARR
;Almacena el acarreo
;Probarlo con los nmeros E6+CA = 160
;(1 de acarreo)
;***********************************
;****
EJERCICIO 4
****
;************************************
; [1003]= [1000]+ [1001]+ [1002] [1004]=Acarr
;Datos
ORG 1000H
DAT
DB 0C5H, 0A4H, 0C5H;Los sumandos
RES
DB 00H
;El resultado= 22EH
ACAR DB 00H ;El acarreo es 2 (22EH)
;Programa
ORG 2000H
STC
;con estas dos instrucciones
CMC
;borramos el acarreo CY=0
LXI H,DAT
;o LXI H,1000H ahora HL apunta al primer
;sumando
MOV A,M
;A=[1000]
INX H
;HL apunta al segundo sumando
ADD M
;A=A+[1001]
STA RES
;Guarda el resultado
MVI A,0
;A<=0 o XRA A
ACI 0
;A<=CY
STA ACAR

;Guarda el acarreo primero + segundo


LDA RES
;Recupero el resultado
INX H
;HL apunta al tercer sumando
ADD M
;A=A+[1002]
STA RES
;Almacena el resultado
LDA RES
;Recupero el acarreo
ACI 0
;A=A+0+CYel acarreo anterior con el nuevo
STA ACAR
;Guarda el acarreo
END
;***********************************
;****
EJERCICIO 5
****
;************************************
;
[1001] [1000]
;
+
[1003] [1002]
;
[1006]
[1005] [1004]
;Datos
ORG 1000H
XH
DB 0D5H
XL
DB 0B6H;Primer sumando D5B6H
YH
DB 3AH
YH
DB 5CH ;Segundo sumando 3A5CH
SUMH DB 00H
SUML DB 00H ;Resultado de la suma que en
este ;caso ser D5 B6+3A5C=1 10 12
ACAR DB 00H ;Acarreo (en nuestro caso ser 01)
;Programa
ORG 2000H
STC
CMC
;CY=0
LDA XL ;A=XL
LXI H,YL
;M=YL
ADD M
;A=XL+YL
STA SUML
LDA XH ;A=XH
LXI H,YH
;M=YH
ADC M
;A=XH+YH aqu se suma con el acarreo
;posible de la anterior suma XL+YL
STA SUMH
MVI A,0 ;A=0
ACI 0
;A=CY
STA ACAR
END
;***********************************
;****
EJERCICIO 6
****
;************************************
****con registros dobles*****
;
[1001] [1000]
;
+
[1003] [1002]
;
[1006]
[1005] [1004]
;Datos
ORG 1000H
X
DB 0D5H, 0B6H ;Primer sum. D5B6H
Y
DB 3AH,5CH
;Segundo sum. 3A5CH
SUM
DB 00H, 00H
;Resultado
de
la
suma ;en este caso ser D5 B6+3A5C=1
10 12
ACAR DB 00H ;Acarreo (en nuestro caso ser 01)
;Programa
ORG 2000H
LHLD X
XCHG ;DE=[1001] [1000]
LHLD Y ;HL=[1003] [1002]

Problemas de Electrnica Digital.

Puertas lgicas, Karnaugh

DAD D ;HL=HL+DE
SHLD SUM
; [1005] [1004]=HL
MVI A,0
RAL
;Otra forma de cargar el
;acarreo, tambin podra haber sido ACI 0
STA ACAR
END
;***********************************
;****
EJERCICIO 7
****
;************************************
; en BCD [1002]=[1000]+[1001] [1003]=CY
;Datos
ORG 1000H
X
DB 58H
;En decimal =88
Y
DB 63H
;En decimal = 99
SUM
DB 00H
;En nuestro caso 58+63=66H que en decimal es 187
;luego se grabar 87
ACAR DB 00H ;En nuestro caso un 1 (187)
;Programa
ORG 2000H
STC
CMC
;CY=0
LDA X
;A=[1000]
LXI H,Y ;M=[1001]
ADD M
;A=[1000]+[1001]
DAA
;Ajuste a BCD
STA SUM
;Guardarlo en 1002
MVI A,0
ACI 0
STA ACAR
;Guardando el acarreo
END
;***********************************
;****
EJERCICIO 8
****
;************************************
; [1002]=[1000]*[1001]
;Para multiplicar lo que hay que hacer es ;sumar
tantas veces el n Y
; ORGANIGRAMA
;
C <=[1000]
;
B <=[1001]
;
A <=0
;
A<= A+B
;
HL<=HL + 1
;
C <= C - 1
;
NO ES 0? S
;
N
; ALMACENAR RESULADOS FIN
; ejemplo :
;
C
B
A
;
3
4
0
;
2
4
;
1
8
;
0
12
;************************************
;Datos
ORG 1000H
X
DB 03;
; como lo diga X, se
;meter en C y el A acumular las sumas
Y
DB 06 ;
C=3
A=0
PROD DB 00 ;
C=2
A=6
;Programa
C=1
A=12D=0CH
LXI SP, 3000H; C=0
A=18D=12H
LDA X ;
FIN
CPI 0
;Compralo con el 0
JZ FIN
;Si es 0 que vaya a fin
MOV C,A

;C tiene el n de veces que hay que sumar


MVI A,0 ;A=0
LXI H, Y;M=Y
BUCLE: ADD M
;A=A+Y
DCR C
;C=C-1
JNZ BUCLE
;Salta si no es 0
FIN:
STA PROD
;Guardar el resultado del producto
END
;***********************************
;****
EJERCICIO 9
****
;************************************
;divisin de dos nmeros
;Aqu la divisin se hace viendo cuantas veces cabe Y
; ORGANIGRAMA
;
A<=[1000]
;
B <=[1001]
;
C <=0
;
A<= A - B
;
HL<=HL + 1
;
C <= C + 1
;
A>B? S
;
N
; ALMACENAR RESULTADOS FIN
; ejemplo :
;
C
B
A
;
0
3
14
;
1
11
;
2
8
;
3
5
;
4
2
;************************************
;Datos
ORG 1000H
X
DB 14D ;Dividendo
Y
DB 03D ;Divisor
COC
DB 00 ;
RES
DB 00 ;
;Programa
ORG 2000H;
LDA X
; A<B entonces FIN
CPI 0
JZ FIN;si el dividendo es 0 que vaya a fin
LXI H,Y
MOV B,M
CMP B
;CMP hace A-B
JM FIN ;Si B>A la resta es negativa
;luego que vaya a fin
MVI C,0
BUCLE: SUB B
;A=A-B
INR C
;C=C+1
CMP B
;CMP hace A-B
JP BUCLE
;Si no hay acarreo, es
;decir que la resta es positiva A>B, salta
FIN:
STA RESTO
;Almaceno el resto
MOV A,C
STA COC
END

Problemas de Electrnica Digital.

Puertas lgicas, Karnaugh

;***********************************
;****
EJERCICIO 10
****
;************************************
;Suma de N primeros nmeros
;el acumulador va sumando mientras lo mande N
;Datos
ORG 1000H
N
DB 6H
RES
DB 0
;A=0
C=6
;Programa
;A=06H=06D
C=5
ORG 2000H
;A=0BH=11D
C=4
LXI SP,3000H
;A=0FH=15D
C=3
LDA N
;A=12H=18D
C=2
MOV C,A
;A=14H=20D
C=1
MVI A,0
;A=15H=21D
C=0
FIN
BUCLE: ADD C
DCR C
JNZ BUCLE
STA RES
END
;***********************************
;****
EJERCICIO 11
****
;************************************
; Si X<Y entonces Z=X+Y Si X>Y entonces Z=XY ;Si X=Y entonces Z=Y
;Datos
ORG 1000H
X
DB 12H
Y
DB 22H
Z
DB 00H
;En este caso en Z se almacenar 12H+22H=34H
;Programa
ORG 2000H
LDA X
;A=X
LXI H,Y ;M=Y
CMP M ;Hace la comparacin A-M =X-Y
JZ CASO3
JP CASO2
CASO1: ADD M
;A=A+M=X+Y
JMP FIN
CASO2: SUB M
;A=A-M=X-Y
JMP FIN
CASO3: MOV A,M
;A=M=Y
FIN:
STA Z
END

;***********************************
;****
EJERCICIO 12
****
;************************************
;Convertir BCD a HEX
;Datos
ORG 1000H
BCD
DB 01D,06D,04D
;El nmero BCD es el 164D que en Hex es A4H
HEX
DB 00
;Programa
ORG 2000H
MVI A,0
LXI BCD
MOV C,M
CENT: DCR C
JM FINCENT
;Si es negativo, que salte a hacer las decenas
ADI 64H ;A=A+100 pues 64H=100D
JMP CENT
FINCENT:INX H
MOV C,M
DEC:
DCR C
JM FINDEC
ADI 0AH
;suma 0AH=10D
JMP DEC
FINDEC:INX H
MOV C,M
UNI:
DCR C
JM FINUNI
ADI 01H
;suma 1
JMP UNI
FINUNI: STA HEX
;Almacenar el resultado
END

Problemas de Electrnica Digital.

Puertas lgicas, Karnaugh

APENDICE A CONEXIN ENTRE 8085 Y EL PC


Para utilizar el micro 8085 desde el PC, se debe de poner el conmutador Teclado/CRT en la posicin
CRT. En el fichero CONFIG.SYS del PC debe de existir la lnea DEVICE=ANSI.SYS. Y tambin tener
conectado un cable conexin serie de tres hilos de la siguiente forma:
En el micro (tres hilos)
TX ------------------------RX ------------------------GND -----------------------

En el PC (macho de 25 pines)
RX (3)
TX (2)
RTS (4) con CTS (6)
GNE (5)
DSR (7) con DTR (8)

Ejecutar el fichero DDT85 he indicar en qu puerto esta COM1 COM2 etc..., de esta forma se consigue
una comunicacin de 2400 baudios cada dato de 8 bits, con 2 de stop. Pulsar INIC antes de utilizar los
comandos.
HACERHEX PRUEBA, es un fichero BATH hecho en MS-DOS que ensambla y ejecuta a la vez el
DDT85, para ver los comandos de este programa ver Apendice B.

APENDICE B COMANDOS ENTRE 8085 Y EL PC


D direccin baja,direccin alta
D1009,2A50

=Visualiza la memoria desde la direccin alta hasta la baja, ejem

Gdireccin comienzo
=ejecuta el programa desde la direccin comienzo, si no se pone, ejecuta desde
donde apunta el registro PC.
N

=ejecucin paso a paso

I direccin

=inserta en la memoria a partir de direccin.

Mdireccin baja, direccin alta, destino = mueve la memoria, ejem M1E00,1E06,1F00 = mueve el
bloque de memoria desde la 1E00 hasta 1E06 a la 1F00
Sdireccin

=Visualiza y modifica la direccin, ejem S1000

Xregistro
=Visualiza y modifica los registros, ejem XA, si no se pone el registro, los visualiza en
este orden: A B C D E F H L M P S
L
nombre del programa
offset = carga un programa desde el ordenador a partir de la
direccin 1000H, el offset es el nmero de posiciones de memoria que se incrementa el programa, ejem
offset=10, entonces lo carga en la 1010, luego es aconsejable utilizar en vuestros programas ORG 0000H
o ORG 0500H
H

= fin de la comunicacin

Problemas de Electrnica Digital.

Puertas lgicas, Karnaugh

APENDICE C COMANDOS ENTRENADOR 8085


INIC
= Se produce un reset y aparece en el display 8085.
S.M/ANT
=Sustituir memoria y anterior
POST
=Posterior, equivale al enter
ejemplo, queremos meter a partir de la direccin 1000 los siguientes datos 31,8C,1F, solucin:
SM/ANT 1000 POST 31 POST 8C POST 1F
si hay error: SM/ANT 1000 POST 31 POST 8D POST SM/ANT 8C POST 1F
E REG
=Examinar los registros, para ver uno concreto, pulsar su nombre, si quieres
ver todos, pulsar POST (hacia delante) o ANT (hacia atrs) y se vern en el siguiente orden:
A B C D E F I H L SPH SPL PCH PCL
F= S Z X AC X P C
I=X X X IE M7.5 M6.5 M5.5
IE =Validacin de interrupciones, y las M son las mscaras de las interrupciones
GO
= Ejecuta el programa, visualiza el PC, introducir la direccin de comienzo, y pulsar
EJEC, para interrumpir INIC, el programa puede finalizar con alguna instruccin como RST0,
RST1 o JMP 0000H, se aconseja situar la pila al final (LXI SP. 1FFFH)
EJEC =Ejecuta paso a paso, POST para pasar al siguiente paso
INTR VECT = Se realiza la interrupcin 7.5, (RST 7.5), es un interruptor conectado
directamente al pin 7 del 8085 (Ver interrupciones)
E
=Lee un programa desde el cassette C =Graba un programa al cassette

APENDICE D SUBRUTINAS PREDISEADAS


0A51
0A5D
0A33

CI111
CO1
PRIMES

0AB7
04C9
0B74
037D

ADRD
UPDAD
DELAY
GTHEX

02BF

TODIR

Carcter de consola al acumulador


Del registro C al display
un mensaje que esta en memoria, que comienza en la
direccin apuntada por HL se visualiza en el display
el contenido de HL se visualiza en el display

retraso de 1 mseg
n hex de 2 bytes ejem A725 desde el teclado, al display y
al registro DE
Idem que el anterior, pero sin visualizarlo

F
AF
AHLF
ABCF
TODOS

APENDICE E GRABAR Y LEER DESDE CASSETTE


Grabar:

Situar la cinta en el lugar que deseas con el contador de cassette


Conectar MIC del cassette con MIC del micro
Pulsar C, con CoPr poner la direccin comienzo del programa, pulsar EJEC, y con FiPr
poner la direccin final del programa, pulsar EJEC, con PrO introducir un n de programa
entre la 00 hasta la FF
Poner REC en el Cassette y pulsar EJEC despues de 5 vueltas aprox. cuando aparece en el
monitor es que ya a terminado

Leer:

Posicionar la cinta en la posicin que se dej, para esto se tiene que llevar la cuenta.
Pulsar E, con CODE (Comienzo destino) introducir la direcin de comienzo, pulsar EJEC
con PrO introducir un n de programa entre la 00 hasta la FF
poner Play, y pulsar EJEC, si sale . es que esta en lectura, si sale - es que ha acabado,
volumen medio alto.

11

las teclas azules tienen el siguiente cdigo:


EJEC=10H
POST=11H
GO=12H

SMANT=13H

EREG=14H

EJEC=15H

Problemas de Electrnica Digital.

Puertas lgicas, Karnaugh

APENDICE F LENGUAJE ALTO NIVEL, ENSAMBLADOR Y MQUINA


Aqu tienes un ejemplo real de un programa escrito en lenguaje alto nivel, cmo se traduce en
ensamblador y en lenguaje mquina.
Fjate cmo una instruccin de Alto nivel son muchas en ensamblador, pero una instruccin en
ensamblador equivale a una en lenguaje mquina.
Tambin puedes ver como el lenguaje alto nivel sirve para cualquier P pero el ensamblador es exclusivo
de cada P, concretamente para P del 8086 hacia delante por eso se llaman COMPATIBLES.
Alto nivel (C)
void main( void )
{

int i;
for(i=0;i<=10;i++)

printf ("Hola");

Ensamblador para PC
push
ebp
mov
ebp,esp
push
ecx

Mquina para PC
00401010
00401011
00401013

mov

dword ptr [i],0

00401014

jmp

main(0x00401026)+16h

0040101B

mov

eax,dword ptr [i]

0040101D

add

eax,1

00401020

mov

dword ptr [i],eax

00401023

cmp

dword ptr [i],0Ah

00401026

jg

main(0x0040103b)+2Bh

0040102A

push

offset ___xt_z(0x00411a30)+104h

0040102C

call

printf(0x00401060)

00401031

add

esp,4

00401036

jmp

main(0x0040101d)+0Dh

00401039

mov

esp,ebp

0040103B

pop

ebp

0040103D

ret

0040103E

En realidad el cdigo mostrado es de 32 bits, luego este programa slo puede runear en PC con
Win9x, un 8086/88 no podra resistirlo, pero si 486 hacia delante sin Win3.x pues es de 16 bits.

Problemas de Electrnica Digital.

Puertas lgicas, Karnaugh

APENDICE G PROBLEMAS DIGITAL MC GRAW


APENDICE D PROBLEMAS DE ELECTRONICA DIGITAL
Libro Schaum L.Cuesta Mc Graw Hill
(Nota de Astucia: Se aconseja ojear y hacer los ms interesantes, que hacerlos todos como mquinas)
DESCRIPCIN
RESUELTOS
PROPUESTOS
Simplificacin lgebra de Boole
1.1-1.12
Tabla -> Funcin
1.24-1.28
1.49-1.51
Funcin -> Tabla
1.21-1.23
Funcin -> Karnaugh
2.1-2.22 2.24 2.33
2.33-2.44 2.4-2.50
Funcin ->Puertas
3.1-3.3 3.14
Puertas -> Funcin
3.4-3.7 3.9 3.10
Cronogramas
3.15-3.17 3.22
Karnaugh de +4 variables
2.26-2.29 2.46
2.51
Simplificacin
3.18-3.20
Pasar a puertas NAND/NOR
3.11-3.13
Enunciados -> simplificacin
3.24-3.31 5.14 5.15
5.44
Decimal -> Binario
4.5-4.7
Binario -> Decimal
4.2-4.4
Otras bases
4.8-4.24
Realizacin ctos MSI con puertas lgicas
5.1-5.4 5.12 5.14 5.17 5.28 5.43
Ctos combinacionales con MSI
5.5-5.8
5.16 5.18-5.20 5.33-5.35 5.39 5.40
5.22-5.24
Ampliacin ctos MSI
5.9 5.21 5.25-5.26
5.41-5.43
Ctos con comparadores
5.27
Ctos con sumadores
5.30 5.31
5.48
Construccin de biestables
6.1 6.12-6.17
6.36 6.37
Divisores
6.3 6.30 6.32
6.34
Cronogramas con biestables
6.8-6.10 6.11
6.38 6.39 6.45
Construccin de Biestables genricos a 6.18 6.20
partir de cronogramas
Contador con biestables
6.19
6.40 6.44
Contador con ctos TTL
6.21-6.24 6.27-6.29
6.41-6.43
Registros de desplazamiento
6.31
Problemas de biestables
6.46-6.48
Autmatas diagramas de flujo, Tablas de 7.1-7.3
7.24-7.32
Excitacin, Flujos...
Autmatas con enunciados de secuencias
7.4 7.9-7.15
7.33
Realizacin de autmatas a partir de 7.5
diagramas de flujo
Problemas diversos de autmatas
7.16-7.22
Memorias generalidades:
direcciones 9.1-9.8 9.10-9.14
9.22-9.36
matriz, datos...
Mapas de memoria
9.9 9.17-9.21
9.38-9.41
ROM grabacin
9.15 9.16
9.37

Problemas de Electrnica Digital.

Puertas lgicas, Karnaugh

INDICE DE GLOSARIOS
3
386.................................................................127
4
486.................................................................127
5
555...................................................................58
6
6500...............................................................127
7
7400...................................................................5
7402...............................................................5, 6
7404.................................................................13
74121...............................................................57
74122...............................................................57
74123...............................................................57
74138...............................................................15
74139...............................................................15
7414.................................................................59
74148.........................................................15, 16
74150...............................................................16
74151...............................................................16
74190...............................................................37
74192...............................................................37
74221...............................................................57
7442...........................................................15, 16
7447.................................................................16
7476.................................................................28
7483.................................................................24
7485.................................................................16
7490.................................................................37
7493.................................................................37
74LS139.........................................................107
8
8085...............................................................127
8086...............................................................127
A
A 131
A.B.................................................................130
bacos.............................................................60
AC..................................................................131
ACUMDISPLAY...........................................139
Acumulador...................................................130
ADD...............................................................133
addr................................................................132
ADI................................................................133
alarma.................................................................6
ALU.......................................................130, 131
AMD..............................................................129
AMDK5.........................................................129
AMDK6.........................................................129
ampliacin de Decodificadores........................23
ampliacin de MUX.........................................23
ANA...............................................................133
AND.................................................................79
ANI................................................................133
API...................................................................72
aritmtica binaria.............................................24
arrancador Estrella/Tringulo..........................72

ASM...............................................................135
ASM8085.......................................................135
Autmatas........................................................72
B
B 131
BATH.............................................................155
BCD 15, 19, 21, 24, 26, 27, 37, 52, 53, 151, 153,
154
Biestable a partir de puertas lgicas................30
biestable D sncrono por flanco de subida.......30
biestable D sncrono por nivel.........................29
biestable JK sncrono por flanco de bajada.....29
biestable JK sncrono por los dos flancos........29
Biestable JK sincrono por nivel.......................29
Biestable RS.....................................................28
Biestable RS asncrono....................................29
Biestable RS sncrono por nivel.......................29
biestable T sncrono por flanco de subida.......29
biestables..........................................................28
BINARIO...................................................15, 19
Bomba de aguas residuales............................105
Boole..................................................................5
Booleana............................................................4
bucles.............................................................136
Bus de Control...............................................130
Bus de datos...........................................106, 130
Bus de direcciones.................................106, 130
bus de direcciones multiplexado....................130
C
C 131
C.B.................................................................130
Cach L1........................................................127
Cach L2........................................................127
Cadenas luminosas.........................................104
CALL.............................................................134
CASSETTE....................................................156
circuito en puertas NAND................................5
CMA..............................................................133
CMC...............................................................133
CMP...............................................................133
CO CONECTORES.........................................79
coche fantstico................................................36
codificador.................................................19, 20
Complemento dos C2.......................................24
Complemento nueve C9...................................26
Complemento uno C1......................................24
Conexin serie entre sistemas........................155
contactores.......................................................78
Contador adelante/atrs....................................80
contador de turno de las tiendas.......................37
contador del programa...................................130
contador Down con JK....................................37
contador Up con JK.........................................37
contadores........................................................37
cortadora de tablones.......................................90
CPI.................................................................133
CPU..................................................................73
cronogramas.....................................................29

Problemas de Electrnica Digital.

Puertas lgicas, Karnaugh

CY..................................................................131
D
D 131
D.B.................................................................130
DAA...............................................................133
dato.................................................................132
DCR...............................................................133
DCX...............................................................133
de lgica positiva.............................................13
DECIMAL.................................................15, 19
Decodificador 74159........................................16
Decodificador 7442..........................................16
Decodificadores...............................................18
DEMUX...........................................................20
detector...............................................................6
detector de impulsos inferiores a un tiempo T.57
detector de impulsos mltiples........................57
detector de impulsos superior a un tiempo T...57
DRAM...........................................................110
E
E 131
Ensamblador..................................................157
entrenador 8085.............................................139
Entrenador 8085.............................................156
ERR................................................................135
estructura de la matriz....................................106
estructura interna de una memoria.................106
F
FBD..................................................................77
Flag........................................................130, 131
funcin lgica....................................................7
funciones booleanas...........................................4
G
G1000.............................................................140
garaje de coches...........................................6, 17
Generador de pulsos.........................................80
GF FUNCIONES BSICAS INTEGRADAS 79
Grafcet.............................................................77
H
H 131
HACERHEX..................................................140
HEXADECIMAL......................................15, 19
HLDISPLAY.................................................141
HLT................................................................134
I
IL76
IN...................................................................134
INR.................................................................133
Instalacin de ventilacin..............................102
INT7.5............................................................142
Interrupciones................................................142
Interruptor horario............................................79
INX................................................................133
J
J 134
JMP................................................................134
K
K7...................................................................129
karnaugh.....................................4, 11, 12, 13, 92
L

L 131
la lgica negativa.............................................14
LD....................................................................76
LDA...............................................................132
Lenguaje a contactos........................................76
Lenguaje alto nivel.........................................157
Lenguaje C.....................................................157
Lenguaje ensamblador...................................157
Lenguaje mquina..........................................157
Lenguaje por Lista de Instrucciones................76
lgica negativa.................................................13
LOGO..............................................................78
LST................................................................135
M
M 132
mapa de memoria...........................................107
Mapa de memoria..........................................140
mscara..........................................................142
MASKROM...................................................110
master-slave.....................................................29
MAXitrminos...............................................4, 9
memorias........................................................106
MENSDISPLAY...........................................141
microprocesadores.........................................127
MINitrminos.................................................4, 9
monoestable con puertas NAND.....................57
monoestables....................................................57
Morgan.............................................................13
MORGAN..........................................................9
MOV..............................................................132
msi....................................................................15
MUX 74150.....................................................16
MUX 74151.....................................................16
MUX de 4 canales............................................17
MUX genrico.................................................16
MVI................................................................132
N
NAND..............................................................79
NAND de 2 ent..................................................6
NAND de dos entradas......................................5
NOP...............................................................134
NOR...........................................................13, 79
NOT.................................................................79
O
OBJ................................................................135
off.......................................................................6
on.......................................................................6
OR....................................................................79
ORA...............................................................133
Ordenadore Compatibles...............................157
Ordenadores Compatibles..............................127
ORG...............................................................135
ORI.................................................................133
OUT...............................................................134
P
P 131
P.C..................................................................131
panificadora.....................................................90
pasar a puertas NAND.....................................11
pasar en puertas NAND...................................14

Problemas de Electrnica Digital.

Puertas lgicas, Karnaugh

PAUSA..........................................................138
Pentium..........................................................127
PentiumII.......................................................127
Perifricos......................................................143
pila.................................................................131
Plano de funciones...........................................77
Portn corredizo.............................................103
PROM............................................................110
puerta automtica.......................................82, 89
Puerta automtica...........................................101
puerta OR...........................................................8
puertas NAND...................................................5
puertas NAND de dos entradas..........................5
puertas NOR......................................................5
puertos............................................................136
pulsacin prolongada.......................................82
Pulsador de Confort.......................................100
R
R.I..................................................................131
RAL...............................................................134
RAR...............................................................134
reg. de instruciones........................................130
registro de control..........................................143
registros............................................................28
registros auxiliares.........................................130
registros dobles..............................................151
Rel con autorretencin...................................79
resta binaria......................................................24
RET................................................................134
retardadores......................................................59
Retardo a la conexin......................................79
Retardo a la conexin memorizado.................80
Retardo a la desconexin.................................79
RLC................................................................134
RRC...............................................................134
RSTn..............................................................134
S
S 131
S.P..................................................................131

SBI.................................................................133
semforo...................................................89, 149
semisumador....................................................24
SF FUNCIONES ESPECIALES.....................79
SFC..................................................................77
Siemens............................................................99
SIM8085........................................................135
simplificando...................................................12
STA................................................................132
stack pointer...................................................130
STC................................................................133
SUB................................................................133
subrutinas.......................................................136
SUBRUTINAS PREDISEADAS...............156
suma binaria.....................................................24
suma y resta BCD............................................24
suma y resta en HEX.......................................24
sumador completo............................................24
T
tabla de verdad.............................4, 8, 12, 13, 17
tabla lgica.........................................................4
TECLAACUM...............................................141
Telerruptor.......................................................79
temporizador de una luz de escalera................82
trigers...............................................................59
U
U.C.................................................................130
U.C.................................................................131
W
Windows 3.11................................................157
X
XOR...........................................................79, 92
Z
Z 131
Z80.................................................................127
[
[1000].............................................................132
[HL]...............................................................132

Vous aimerez peut-être aussi