Problemas Digital

Problemas de Electrónica Digital para los Ciclos Formativos de Electricidad-Electrónica Profesor : J. Javier Quintana P

Views 143 Downloads 7 File size 3MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Problemas de Electrónica Digital para los Ciclos Formativos de Electricidad-Electrónica

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

1

Indice : 6.1.1 Problemas de monoestables con puertas lógicas y 74121 74221 74122 y 74123......................56 6.1.2 Problemas con 555......................................................................................................................57 6.1.3 Problemas con trigers y retardadores ........................................................................................58 6.3.1 Soluciones monoestables con puertas lógicas y 74121 74221 74122 y 74123...........................60 6.3.2 Soluciones a los problemas con el 555.......................................................................................61 6.3.3 Soluciones a los problemas con trigerr y retardadores...............................................................62 8.8.1 Ejercicios manejo funciones generales.......................................................................................80 8.8.1 Ejercicios manejo funciones específicas.....................................................................................81 8.8.3 Ejercicios globales funciones generales+funciones especiales GF+SF teóricos........................82 8.8.4 Ejercicios GF+Sf casos prácticos................................................................................................88 8.9.1 Soluciones a los ejercicios de funciones generales GF...............................................................90 8.9.2 Soluciones a los ejercicios LOGO funciones especiales ...........................................................92 8.9.3 Soluciones a los ejercicios GF+SF teóricos................................................................................93 8.9.4 Soluciones a los ejercicios GF+SF casos prácticos....................................................................96 8.10.1 Pulsador de Confort..................................................................................................................99 8.10.2.-Puerta automática..................................................................................................................100 8.10.3.- Instalación de ventilación ................................................................................................101 8.10.4.- Portón corredizo...................................................................................................................102 8.10.5.- Cadenas luminosas...............................................................................................................103 8.10.6.- Bomba de aguas residuales...................................................................................................104 1.1 Tipos de PIC................................................................................................................................114 1.2 Características del PIC 16X84.....................................................................................................114 1.3 Herramientas para la compilación...............................................................................................115 1.4 ¿Cómo se hace con lenguaje ensamblador?.................................................................................116 1.5 ¿Cómo se hace con Basic?...........................................................................................................116 1.6 ¿Cómo se hace en C?...................................................................................................................116 1.7 Simulación SIMUPIC..................................................................................................................117 1.8 ¿Cómo se programa el PIC?........................................................................................................118 1.9 Placa TE20...................................................................................................................................119 3.1 Enunciados...................................................................................................................................121 3.2 Soluciones....................................................................................................................................122 1.1.- El 8085 dentro de los tipos de microprocesadores que hay.......................................................125 1.2 En resumen ........................................................................................................................127 3.1.- Instrucciones de transferencia de datos....................................................................................130 3.2.- Instrucciones aritméticas..........................................................................................................131 3.3.- Instrucciones lógicas.................................................................................................................131 3.4 Instrucciones de desplazamiento.................................................................................................132 3.5 Instrucciones de salto..................................................................................................................132 3.6 Instrucciones para las subrutinas................................................................................................132 3.7.-Instrucciones de control.............................................................................................................132 4.1 EJERCICIOS CON EL SIMULADOR 8085..............................................................................134 9.3.1.1.-Ejercicios de transferencia de datos..................................................................................134 9.3.1.2 Ejercicios de operaciones aritméticas................................................................................134 9.3.1.3 Ejercicios de bucles............................................................................................................134 9.3.1.4. Ejercicios con subrutinas y puertos...................................................................................134 4.2 Soluciones ejercicios sim8085.....................................................................................................135 5.1 Prácticas para el manejo del entrenador.......................................................................................137 5.2.- ¿Cómo grabar y ejecutar el programa en el entrenador?...........................................................138 5.3 Hardware y Mapa de memoria en el entrenador ........................................................................138 5.4.- Subrutinas prediseñadas de fábrica ......................................................................................139 5.5 Interrupciones..............................................................................................................................140 5.6.- Entrada y salida ........................................................................................................................141 9.4.6.1.-Periféricos del entrenador 8085........................................................................................141 9.4.6.2.-¿Cómo programar los puertos?.........................................................................................141 5.7 EJERCICIOS CON EL µP 8085 .................................................................................................143 9.4.7.1 EJERCICIOS DE RUTINAS DE CONSOLA..................................................................143

2

9.3.7.2 EJERCICIOS DE PUERTOS............................................................................................143 5.8 EJERCICIOS CON EL µP8085...................................................................................................144 Soluciones..........................................................................................................................................150

3

1 Problemas puertas lógicas, karnaugh ... 1.1 ENUNCIADOS 1. Pasar el circuito formado por puertas lógicas o circuito combinacional a función lógica o Booleana

2. Pasar a puertas lógicas 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 función lógica de los circuitos combinacionales siguientes a tabla lógica 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 lógicas utilizando el método de los MINitérminos y MAXitérminos 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

4

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

F

6. Simplificar por el método de álgebra de Boole a) F = a + b·a + a b) F =a·b·c +a·b·c +a·b·c·d c) F =a·b·( a·b·c +a·b·c ) d) F = a + b + c + a e) F =a·b·c +a·b·c f) F =a·b·c +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 sólo el b On tiene que activarse la alarma, el caso contrario también, es decir cuando esten los tres On o sólo el b Off. Realizar el circuito en puertas NAND. 10. Supongamos una alarma de tres interruptores que se tiene que activar cuando esté sólo b en Off o sólo el b en On. Si sólo esta el interruptor c en On o sólo esta en Off es indiferente la activación del sistema. También si están todos en Off es indiferente. 11. Teniendo en cuenta sólo las entradas I1 I2 I3 e I4 realizar un programa que Q1=1 si el número de interruptores activados superan o igualan al número de interruptores desactivados. Realizarlo con puertas NAND de dos entradas 7400. 12. Teniendo en cuenta sólo las entradas I1 I2 I3 e I4, hacer un programa que si hay dos interruptores contíguos activados, entonces Q1=1. Si I1=0 e I4 =0 entonces la salida Q1 es indiferente. Realizarlo con puertas NAND de dos entradas 7400.

5

13. Diseñar 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. Diseñar el circuito con el mínimo de circuitos integrados. No diseñar los finales de carrera, sistemas de seguridad y el sistema automático de cierre de la puerta. Realizarlo con puertas NAND de 2 ent 14. Diseñar un circuito lógico de un sistema de alarma de 3 interruptores a b y c, que se active si hay sólo dos interruptores encendidos, si sólo 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. Diseñar un circuito lógico 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 lógico de 4 interruptores a b c y d de tal manera que se active si b y c estan en sólos en "on" o a y c estan en sólos en "on" o b y a estan en sólos en "on" o sólo c esta en "off". Si esta sólo c en "on" o el a sólo en "on" o el d sólo en "off" o todos en "on" entonces la activación del sistema es indiferente. El resto de estados 0. Utilizar el mínimo de puertas lógicas. 17. Diseñar un circuito lógico 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

6

1.2

SOLUCIÓN A LOS KARNAUGH ...

1.

a) ( a·b) + ( c + d )

PROBLEMAS

DE

PUERTAS

LÓGICAS,

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

2.

a) La función lógica que responde a la ecuación (((AB)'(C'+D'))+(A+B'))' es

b) ) La función lógica que responde a la ecuación (((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

7

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

8

5. a)

b)

En MINitérminos tenemos : F =a·b·c +a·b·c +a·b·c +a·b·c F = ( a + b + c )·( a + b + c )·( a + b + c )·( a + b + c ) En MAXitérminos : En MINitérminos

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 +a·b·c·d +a·b·c·d +a·b·c·d +a·b·c

En MAXitérminos

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 + b·a + a = a + a =1 b) F = a·b·c + a·b·c + a·b·c·d = ac + ac + abc = ac + abc = ac c) F =a·b·( a·b·c +a·b·c ) =a·b( ab +ab ) =ab·ab =ab d) F = a + b + c + a = 1 + b + c = 1 e) F =a·b·c +a·b·c =a·( bc ) +a·( bc) =a f) F = a·b·c + a = (Teorema 2 => llamando − ab = B ) = aB + a = a + B = a + bc Haciendo MORGAN a) F = a + bc + ( a + b) = a + bc + ( a + b) = a·bc·( a + b) = a·bc·( a·b)

b ) Este ya es más 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

9

c) Bueno, y este mucho más .... 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 sería 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 sería :

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 solución 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 función 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 función 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 función 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 están negadas, luego podemos utilizar en vez de lógica positiva que nos obligaría a unilizar puertas NOT para negarlas, utilizar lógica negativa y así ahorarnos las puertas NOT 7404 de las variables de entrada :

16. En este caso la simplificación por karnaugh da F = ab + c d = ab + c d = ab * c d si utilizamos la lógica positiva nos sale el circuito de la izquierda, pero con la lógica negativa aplicada sólo en d el circuito de la derecha, sin una puerta NOT.

13

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

14

2 Problemas de códigos y circuitos msi. 2.1 ENUNCIADOS DE PROBLEMAS DE CÓDIGOS 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 sólo el b On tiene que activarse la alarma, el caso contrario también, es decir cuando esten los tres On o sólo 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 genérico de 4 canales a 1 9. Teniendo en cuenta sólo las entradas a b c y d realizar un programa que F=0 si el número de interruptores activados superan o igualan al número 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 Diseñar 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. Diseñar de apertura del motor el circuito con el mínimo de circuitos integrados. No diseñar los finales de carrera, sistemas de seguridad y el sistema automático 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 CÓDIGOS 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

a

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 más alta activada es el 4 (las entradas son activas a nivel bajo del 74148) leugo el número a salir será el 4 = 100 pero como las salidas son también 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 sólo 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 más alto activo en la entrada del codificador 74148 es el 3 = 011, que negado es el 100=4 este número lo recibe el decodificador a displays 7447 que visualizará el nº4.

6. El 74151 es un MUX de 8 canales, y como se puede ver la selección 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 selección 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 selección CBA=001=1 sólo 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 - 1010011001 = - 665 8. Hay que fijarse en añadir 0 en el número más pequeño para igualarse con el más grande, poner los bits de signo y pasar el número 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 añadir 0 en el número más pequeño para igualarse con el más grande, poner los bits de signo y pasar el número negativo a complemento uno y despues sumarle un uno 60 725 -665

0000111100 1011010101

0100101010

pasandolo a C1 ===>> y sumándole 1=>

00000111100 10100101011 0 10101100111 -1010011000 1010011001 = - 665

3.7 SOLUCIONES EJERCICIOS SUMA Y RESTA EN BCD 10.- Se pasa el número a BCD y se suma cifra a cifra teniendo en cuenta que si es 1010 o mayor hay que hacer la corrección (+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 números a BCD y el número 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 números a BCD y el número 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 números a BCD y el número 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 números a BCD y el número 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

=> =>

=> C2=> 1 1011 0101 0011 0001

C2=> 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=100µs y R=10K tenemos C=15nF

Problema 1

Problema 3 Problema 5

4

Tenemos

que

:

R=3µ/1n*0.69=4.3k

5 En el ábaco nos sale 4k 6 Con la fórmula, pues es más cómodo : 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 conexión 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 sería de 300n

Problema 8

58

9 En este caso tenemos que despejar la despejar el condensador pues nos dan la resistencia : C=4/0.69*600k=9.6µF

Problema 9 10 Usando la fórmula: 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 más 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 más pequeño 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 Como sale 79 V AC Estado de la señal 0 con 40 V AC • 4 Salidas Q1, Q2, Q3, Q4 son salidas de interruptor., luego necesitan una línea de fuerza L1, que es la que le suministra la fuerza para conectarse y desconectarse. La máxima potencia que aguantan los relés internos son de 2000W, suficientes para hacer funcionar motores de muchas máquinas, 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 función aquí consiste en poner en contacto dos circuitos que trabajan a potencia diferentes sin que se dañe ninguno de ellos.

ENTRADAS

Pantalla donde se van viendo las órdenes introducidas o los parámetros introducidos.

Teclado para introducir órdenes o modificar las existentes

SALIDAS (Tipo Relé) Señal de salida en forma de luces que simulan la conexión a un motor

75

8.5 PROGRAMACIÓN DEL LOGO! El LOGO se programa con lenguaje FPB es decir, que su lenguaje es gráfico es decir mediante logigramas, por lo que no necesita grandes conocimientos de programación, y no se borran al suspender la alimentación ¿Qué tipo de memoria tendrá interna?

¿Según el tipo de salida que tiene el autómata, puede ser analógica? 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 BÁSICAS INTEGRADAS OR

NOR

AND

NAND

NOT

XOR (diferentes = 1 )

SF FUNCIONES ESPECIALES

Relé con autorretención (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 acción 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 función 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 función reset que anula la información previa. Esta función 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 función hace uso de la entrada set que hace que la salida se accione, estando así hasta que actúe el reset.

Generador de pulsos

Ante una entrada (En) que estará activada durante un tiempo T, la salida generada será en forma de impulsos.

Retardo a la conexión Retardo a la desconexión

Telerruptor

Interruptor horario, (Reloj no disponible en el modelo 230R)

76

Es un retardo a la conexión igual que en la Retardo a la primera función pero al ser memorizado, conexión esta función no se desconecta, y además la memorizado entrada es en forma de conector y no de interruptor. Es una función que tiene la propiedad de contar (Cnt) y actuar cuando se llega a un determinado número (Par) o superior a Contador este. La función puede ir en la dirección de adelante/atrás aumentar el número ó disminuir (Dir). Dispone de reset (R ). La salida será 1 cuando lleguemos al número 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 conexión Retardo a la desconexión Telerruptor

Interruptor horario

Relé con autorretención (Biestable RS) Generador de pulsos Retardo a la conexión memorizado Contador adelante/atrás

77

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 estén activados, Q1 se active (activarse = 1) 2 Realizar un programa en el LOGO que cuando alguno de los interruptores I1 I2 e I3 estén 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 sólo si os sobra tiempo, si no pasar al 13: 9 Teniendo en cuenta sólo las entradas I1 I2 I3 e I4 realizar un programa que Q1=1 si el número de interruptores activados superan o igualan al número de interruptores desactivados. 10 Teniendo en cuenta sólo las entradas I1 I2 I3 e I4, hacer un programa que si el número de interruptores activados de I1 I2 I3 e I4 son impares entonces Q1=1 11 Teniendo en cuenta sólo las entradas I1 I2 I3 e I4, hacer un programa que si hay dos interruptores contíguos activados, entonces Q1=1. 12 Teniendo en cuenta sólo las entradas I1 I2 I3 e I4, hacer un programa que si hay dos interruptores contíguos activados, entonces Q1=1. Si I2=0 e I4 =0 entonces la salida Q1 es indiferente.

78

8.8.1 Ejercicios manejo funciones específicas

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 cómo se enciende un teléfono móvil, podemos ver que es un interruptor de pulsación prolongada, es decir, que hay que hacer una pulsación larga en la tecla correspondiente y entonces se conecta el movil. Realizar un programa con el LOGO de manera que con una pulsación prolongada en I1 de 6 segundos entonces la máquina conectada en Q1 se active. 15 En una habitación 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 más de 2 la solución 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 eléctrica, que con un pulsador o célula fotoeléctrica se abre la puerta. Realizar un programa que con un pulso en I1 se active Q1 ¿Cuándo 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 añadir a la puerta del ejercício anterior un cierre automático, de tal manera que exista un pulso en I1, después de 10 segundos tiene que activar el sentido de giro de cerrar Q2 hasta llegar al final de carrera I3 que por simplificación será NA. En un problema posterior se tratará más profundamente del cambio de sentido de giro de un motor. 18 Para completar más aún la puerta automática, se pide en este ejercicio añadir 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 célula fotoeléctrica 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 máquina de empaquetar está en Q1. Una vez concluida la empaquetación, por I2 se le envia un pulso para que empieze a contar. 20 Supongamos una oficina, que desea que la calefacción 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 más pronto y se sale más pronto. Los Sabados sólo se trabaja por la mañana y habrña que conectar la calefacción de 9:00 a 13:00. 21 Supongamos una máquina 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 sólo sea un solo pulsador I1

79

8.8.3 Ejercicios globales funciones generales+funciones especiales GF+SF teóricos

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.

80

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 después de que se apague I1 y funciona durante 1 segundo, siendo I1 un pulsador.

34 Cuando se accione I1, después de 10 segundos, que Q1 haga una intermitencia durante 5 segundos (1 segundo cada periodo), siendo I1 pulsador.

81

35.- Realizar un secuenciamiento de luces, en bucle. Q1 => Q2 => Q3 => Q4 => Q1 => Q2 => ..... 8.8.4 Ejercicios GF+Sf casos prácticos 36 Realizar un programa que simule un semáforo. 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 relés emparejados según 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 produciría un corto. Realizar el programa en LOGO tomando en cuenta esta consideración. Los finales de carrera son NC como en la realidad. Consejo : Ver 16. 39 Para completar más aún la puerta automática, se le puede dotar de un dispositivo de cierre automático con sólo un pulsador I1 para abrir, que a los 10seg. automáticamente 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 automáticas en que se pueden cerrar automáticamente, o bien porque se acciona algun botón 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.

82

41 En una serrería, 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 tablón 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 sólo funciona si además esta activo un interruptor de mover tablón I6

42 En una panificadora se cuenta con una cámara de fermentación que de forma automática se conecta y desconecta. Con lo que sabes del logo programa la siguiente propuesta: La cámara problema debe estar conectada de lunes a viernes de 9:00 a 14:00 y de 16:00 a 20:00, y los sábados 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 tuviésemos que considerarlo como fin de semana, propón un programa para este caso, que sea facil la alteración del programa, con sólo entrar en la parametrización del logo, y no en la edición del programa.

83

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 combinación para que resulte el propósito 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 más fácil 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 función es simplificando Q1=I3I4+I1I2+I2I3+I2I4+I1I3+I1I4

84

1101 1110 1111

1 1 1

10 En este caso podríamos optar por hacer una solución como la anterior, camibando la tabla de verdad, o de una manera más intuitiva y perspicaz fijándonos 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 función 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 función es simplificando Q1=I3 + I1I2

85

8.9.2 Soluciones a los ejercicios LOGO funciones especiales 7.13 Será un retardo a la desconexión T=40seg. La entrada Trg será I1, la salida Q1 y R puede estar desconectada X

14 Pruébalo y verás 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 estarían conectados en paralelo en la misma entrada I1. La entrada R puede estar desconectada (x) 16 La solución es un biestable RS, donde en Set estaría I1 y en Reset estaría I2, la salida Q1 (motor).

Si I2 fuese un pulsador NC tendríamos que intercalar una puerta NOT 17 En este caso será un retardo a la conexión 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 habría que interponer una puerta NOT 18 Sólo es añadir un intermitente por Q3 19 En este caso sería un contador, el pulso por I2 produciría el Reset. Dir tiene que estar a nivel bajo LO. Si se quisiera un reset automático despues de empaquetar, en vez de I2 habría que poner un retraso a la desconexión 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 solución es un biestable 22 La solución es un telerruptor, en R puede estar suelto (x) u otro pulsador

86

8.9.3 Soluciones a los ejercicios GF+SF teóricos

23

24

25

26

27

28

29

30

87

31 Una solución podría ser esta, donde I2 hace de reset al contador que cuenta 4 (que es el que hace de reset a los demás) En este ejercicio hay que tener cuidado cómo 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 solución para no tener que utilizar el Reset del I2 y utilizar otros módulos 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 módulos de retardo de conexión se utilizan para no coincidir I1 con el estado, si no se ponen, simultáneamente se ponen a uno todos.

32 A pesar que el enunciado parece fácil, la solución de este problema no lo es. El retardo a la conexión negada produce un impulso positivo de 5 segundos, que haciendo AND con I1 sólo queda ese impulso

33 La solución es parecida al anterior,

88

o de otra forma mucho más fácil, los tiempos son el primero 3 seg y el segundo 2 segundo

34 Es añadir a la solución del ejercicio anterior, un generador de intermitencias. Se puede hacer con las dos soluciones: La fácil

La dificil :

35 La solución se basa en que si unimos dos bloques uno retardador a la desconexión y otro retardador a la conexión, 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.

89

8.9.4 Soluciones a los ejercicios GF+SF casos prácticos

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 solución es una versión 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. También 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

90

40 En este caso hay que añadir la acción de los pulsadores I4 I5 I6, se ha optado por un retardo a la conexión memorizado

41 Para esta solución 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

91

43 En este caso lo mejor es poner tantos programas como dias tiene la semana, y así sólo habría que entrar en la parametrización: 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 más que el ejercicio anterior.

BIBLIOGRAFÍA • • • • •

Tecnología industrial II, Manuel Murgui Izquierdo, Juan José Vela Rozalén. Editorial Edebé, 1999. Curso Completo de Automatización Industrial Moderna, Victoriano Angel Martínez Sánchez, Editorial Ra-ma, 1992. Tecnología Industrial II, Sonia Val, Jose Luis Huertas, Editorial McGraw-Hill, 1996. Manual de instrucciones del autómata Logo de Siemens. Autómatas programables, A. Porrás, A.P. Montanero. Editorial McGraw-Hill, 1990.

Internet http://www.siemens.es/ps/logo.htm De Siemens España. En ella puedes encontrar información sobre los diferentes modelos de LOGO!, además del software LogoSoft con 14 ejemplos de programación en castellano. http://www.ad.siemens.de/logo/index_78.htm De Siemens Alemania. Página distinta a la española disponible en varios idiomas, entre ellos el español.

92

8.10 EJEMPLOS PRÁCTICOS 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 ocasión 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. Solución : 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

93

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

Solución 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.

94

8.10.3.- Instalación de ventilación Se desea mantener un recinto con ventilación mantenida, hay dos ventiladores, uno de evacuación, y otro de insuflación, cada ventilador es supervisado or un controlador de corriente, en el recinto nunca debe producirse sobrepresión, y solo se puede activar el ventilador de insuflación cuando se notifique el correcto funcionamiento del ventilador de evacuación. una lámpara indica si falla alguno de los dos

ventiladores. Solución:

Esquema de conexiones con el LOGO y programa

95

8.10.4.- Portón corredizo Se desea hacer un portón que se abra automáticamente 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 presión de seguridad I5, un conmutador de posición ABIERTO I3 y otro de CERRADO I4.

Solución con el LOGO

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

96

8.10.5.- Cadenas luminosas Las distintas cadenas luminosas se activan diréctamente en el recinto, cuando sea suficiente la luz natural, las cadenas que esten cercanas a las ventanas se desconectan automáticamente, la luz se apagará automáticamente a las 8 de la tarde, siempre se podrán conectar a mano en el recinto

Solución I1 a I4 serán 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

97

8.10.6.- Bomba de aguas residuales El agua de lluvia se deposita en un depósito que puede servir para lavar la ropa, regar jardines, regar flores, limpiar automóviles, enjuagar el WC.... desde ésta puede tomarse el agua de lluvia igual que sucede con el agua potable, Si llegara a vaciarse el depósito, es posible rellenarlo con agua potable. Para controlar la bomba se requiere un interruptor de presión I1, los interuptores de flotador I2, I3, I4. Q1 es el contactor que acciona la bomba y Q2 la válvula magnética para suministrar el agua potable. Esquema

Solución programa LOGO

98

9 Problemas de memorias. 9.1 ENUNCIADOS EJERCICIOS DE MEMORIAS 1.- Calcular el Bus de datos, Bus de direcciones, nº de células 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 células 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é dirección B C D E y ahora estos: Pulso dirección salida F G H I Ejercicios de apliación de memorias, no se darán en clase, sólo son para propio aprendizaje 4.- Partiendo del AB de un microprocesador de 16 bits AB, realizar el circuito de selección 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 selección de un chip de memoria RAM de 2kx8 situada en las direcciones más 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.

99

8.- Realizar una memoria 4kx8 con RAM 2114 1kx4 para un micro de 16 bits AB ocupando las direcciones más bajas. Utilizar decodificadores y puertas lógicas. Indicar las direcciones que corresponden a cada circuito integrado. 9.- Implementar el siguiente mapa de memoria con puertas lógicas y decodificadores: Direcciones Función Mapa de memoria físico 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 DIRECCIÓN 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 DIRECCIÓN 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 lógicas DIRECCION 0000 03FF 0400 07FF

CHIP A RAM B RAM

DIRECCIÓN 0800 0BFF 0C00 0FFF

CHIP C ROM D ROM

100

9.2 SOLUCIONES EJERCICIOS DE MEMORIAS 1 a) Memoria 128x8     

DB=8 D7 a D0 Como 128=27 luego AB=7 A6 a A0 Número de células 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 Número de células 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 Número de células 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 más cercano superandose es 16k=16x1024=16384 ¿Dónde están el resto de las 100 palabras? O están reservadas, o dañadas, nosotros lo consideraremos 16k =24210 =214 luego AB=13 A12 a A0 Número de células 16384*16=262144 Estructura de la matriz √262144=512 es exacta matriz cuadrada =512x512 Dibujo

101

2.- El chip A tiene señal WR en el pin W/R luego es RAM y por las señales RAS y CAS es inequívocamente 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 líneas de AB = 2 12=22210=4K, y como sólo hay una línea de datos DIN y DOUT parecen dos, pero son la misma, sólo que una de entrada y otra de salida, luego línea de datos =1 entonces: DRAM 4Kx1 El chip B no vemos ninguna señal WR luego es ROM, tampoco vemos ningún pin Program luego el único chip ROM que no se programa es la MASKROM programada de fábrica. Tamaño A0-A9 y D0-D7 luego 210x8 = MASKROM 1Kx8 El chip C no tiene ninguna señal de WR luego es ROM, tiene una señal de Program (Pin 18) luego es Programable, puede ser PROM EPROM EEPROM, como no tiene ningún 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 Tamaño 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é dirección B 1111 0000 C 1110 0001 D 1101 0010 E 1100 0011 y ahora estos: Pulso dirección salida F 0000 1111 G 0001 1110 H 0010 1101 I 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 líneas 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

102

5.- Una memoria 2Kx8 tiene 11 pines el resto seleccionan al chip: Direcciones de memoria más bajas: A15A12

A11 A8

A7 A4

A3 A0

0000 0111 1111 1111 0000 0000 0000 0000 Como vemos las líneas 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 están conectadas en serie, de tal forma que las 3 forman palabras de 12 bits, en el dibujo falta conectar todos los CS a uno sólo que sería la selección de los tres a la vez.

Problema 5

Problema 6

7.- Las direcciones de memoria de los dos chips serán : 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 sería el siguiente

103 Problema 8

Sería una ampliación del número de bits de la palabra, y de la direcciones. El CS habría que activarlo según las direcciones de memoria que tuviera cada uno: chip dirección chip dirección 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 según las órdenes de A10 y A11 deciden qué chip de memoria tiene que activarse.

Problema 8

9.- Pasando los números hexadecimales a binario tenemos (A y B junto con C y D van a pares pues sólo 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 según las órdenes de A10 y A11 deciden qué chip de memoria tiene que activarse.

Problema 9

104

10.- Pasando los números 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 números 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 están conectados en paralelo para conseguir palabras de 8 bits Para su selección se han utilizado dos 74138 Los otros se ha optado por puertas lógicas

105

12.- Pasando los números 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 según las órdenes de A10 y A11 deciden qué chip de memoria tiene que activarse.

106

10 Microcontroladores µCPIC16F84 1 INTRODUCCIÓN A LOS MICROCONTROLADORES Los microcontroladores están presentes en muchos electrodomésticos y aparatos electrónicos comunes: Teléfonos, teclados de ordenadores, electrodomésticos, hornos microondas, cámaras, videos, TV, impresoras, modem... cualquier dispositivo electrónico que tenga que controlar un proceso. Antes se realizaba con lógica combinacional, discreta, hoy en día 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. Automoción Tiene integrado las siguientes partes : Periféricos 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. Periféricos de Entrada y Salida: líneas 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 sólo un microprocesador, sino sus periféricos 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 Máscara (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 también como autómatas. Las memorias Máscara son utilizados en µC grabados en fábrica que no se volverán a programar, por lo que se encuentran en bastantes dispositivos de consumo. WatchDog también llamado “Perro Guardián” 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 refrescándolo en los bucles grandes. BrownOut fallo ante la falta de alimentación, cuando la alimentación baja de la tensión “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 periféricos asociados hasta que la entradas lo “despierten”. A/D D/A a veces integran convertidores preparados para leer una señal analógica que el lo procesará en digital (A/D) y al revés, una salida analógica para algún actuador (D/A). Existen muchas otras características que os podéis encontrar en los µC pero se escapan de esta breve introducción.

107

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 más 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 sólo 8 pines, sólo 33 instrucciones y una alimentación entre 2.5V y 5V consumen muy poco (≈2mA) y tienen 6 lineas E/S ¡!! •

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



Familia Media PIC16C(F)XXX esta es la familia más 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 más destacable de estos pics son su estructura abierta, por lo que se parecen más a los µP.

1.2 Características del PIC 16X84

Los microcontroladores están diseñados con arquitectura tipo Harvard que separa físicamente la memoria de datos y la del programa:

Las características de los PIC16X84 son las siguientes Modelo

Memoria Programa

PIC16C84 PIC16F84

1KX14 EEPROM 1KX14 FLASH

Memoria Datos RAM EEPROM 36 64 68 64

Registros específicos 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 aplicación:

108

Para osciladores tipo RC más baratos pero más 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.1µF

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 compilación

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 máquina 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 máquina 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 página del Departamento http://centros4.pntic.mec.es/ies.de.caudete/DepElect.htm Un pequeño ejemplo Vamos a ver un ejemplo de un programa escrito en lenguaje ensamblador. El objetivo es realizar un intermitente por B0

109

1.4 ¿Cómo 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 enseña 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 ¿Cómo se hace con Basic?

En PicBasic se teclearía el siguiente programa: Al compilarlo el resultado seria parecido al Prueba.hex 1.6 ¿Cómo se hace en C?

Bucle:

High 0 Pause 500 Low 0 Pause 500 GoTo bucle End

En PICCLITE se teclea el siguiente programa #include main(){ int i; TRISB=0b00000000; for(;;){ PORTB=0b00000000; for(i=1;i < Help - F1 > | +----------------------------------------------------------------+

Las demás opciones pulsar OK son correctas las que señala por defecto. Si abres el fichero Prueba.hex generado tendrá la siguiente pinta: ¿No tendría que ser igual al hecho en ensamblador? ¿Por qué?

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

1.7 Simulación SIMUPIC

Lo correcto sería pasar a la simulación 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 F1..F8) Si queremos simular otro programa, o otra versión del mismo, tenemos que salir obligatoriamente para borrar el anterior programa cargado.

111

1.8 ¿Cómo se programa el PIC?

Antes de nada hay que subir el tiempo de nuestro programa, pues el PIC va muchísimo más rápido que el simulador SIMUPIC, para ello entramos de nuevo en PICLITE y subimos el tiempo aproximadamente 1000 veces : #include main(){ int i; TRISB=0b00000000; for(;;){ PORTB=0b00000000; for(i=1;iMiscelanea.

112

1.9 Placa TE20

Aquí tienes un esquema del programador TE20, lo puedes construir tú mismo, o comprarlo (≈18∈)

Como podemos ver en la serigrafía, el TE20 también sirve para programar la EEPROM 24CXX y (zócalo pequeño) y el PIC 16F876 además 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 librería #include que da definición a los puertos y registros de estado. Después 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(condición){....} podemos ejecutar algunas instrucciones si la condición ha sido verdadera. Si queremos que según la condición ejecute unas instrucciones, y si es falsa la condición que ejecute otras, tenemos que utilizar: if(condición){..instrucciones si es verdad..} else{ ..... instrucciones si es falsa la condición.... } Son útiles las operaciones and && y or || · Una condición 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 . 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