| DISPOSITIVOS LÓGICOS MICROPROGRAMABLES | Resumen teórico y práctica con PIC | 16.1 |
| DISPOSITIVOS LÓGICOS MICROPROGRAMABLES |
Dispositivos lógicos microprogramables Práctica de microcontroladores PIC |
15.2 |
1. Sumar dos números y depositar el resultado en una posición de memoria. A partir de la información en MPLAB escribir un programa en lenguaje ensamblado, E001.ASM, compilarlo y simularlo.
1. PRACTICA.ASM: Operador programable de 4 bits mediante el PIC:
|
El dispositivo dispone de 4 entradas de datos, D, C, B, A, 3 salidas Y2, Y1, Y0 y 3 señales de control C2, C1, C0. |
Según el estado de las entradas de control C2, C1, C0, en las salidas Y2, Y1, Y0 aparecerá el estado que corresponderá a una función predefinida para las variables de entrada D, C, B, A:
| C2 | C1 | C0 | Función lógica en Y0 |
| 0 | 0 | 0 | Y=A+B+C+D OR |
| 0 | 0 | 1 | Y=A*B*C*D AND |
| 0 | 1 | 0 | Y=/[A+B+C+D] NOR |
| 0 | 1 | 1 | Y=/[A*B*C*D] NAND |
| 1 | 0 | 0 | Y=A(+)B(+)C(+)D OR-Exclusiva |
| 1 | 0 | 1 | Y=/[A(+)B(+)C(+)D] NOR-Exclusiva |
| C2 | C1 | C0 | Suma binaria en Y2Y1Y0 de DC y BA |
| 1 | 1 | 0 | Y2Y1Y0 = DC + BA (Ejemplo: 11 + 11 = 110) |
| C2 | C1 | C0 | Contador cíclico programable |
| 1 | 1 | 1 | 'Y0'= 1 si se alcanza un número de pulsos en la entrada 'D' igual al valor numérico en 'CBA' multiplicado por 10. (la combinación '000' en 'CBA' pone 'Y0' a 1 permanentemente.) Ejemplo: 'CBA' = 101 (binario) = 5 (decimal); 'Y' = 1 cuando se introduzca el pulso 50 en 'D'. |
| DISPOSITIVOS LÓGICOS MICROPROGRAMABLES |
Dispositivos lógicos microprogramables Práctica de microcontroladores PIC |
15.13 |
Cada vez que se termine una operacion y se quiera ejecutar otra primero colocamos los interruptores C2, C1, C0, A, B, C, D en la posición deseada y despues activamos el pulsador de reset.
2. Estudiar someramente el programa en código fuente ayudándose de la lista de instrucciones del PIC.
3. Compilar el programa para obtener PRACTICA.HEX.
4. Montar el PIC en el programador JDMD y transferirle el programa con ic-prog.
5. Montar el PIC en placa protoboard y comprobar su funcionamiento.
1. En el montaje de la práctica se vió necesario incluir un condensador para evitar rebotes en el pulsador de reset.
La práctica trata de un secuenciador de luces controlado mediante un PIC16f84. El secuenciador dispone de 8 canales, esto es 8 salidas distintas que pueden controlar 8 luces o grupos de ellas. El juego de luces del secuenciador permite mostrar 16 efectos distintos según se establezca la posición de 4 interruptores. La velocidad a la que se muestran los movimientos se estavlecen mediante un potenciómetro.
Nota: La practica está basada en un proyecto de 2001 traido desde http://perso.wanadoo.es/luis_ju/proyect/cqpic.html de Rueda Luis que a su vez viene de otro proyecto de Jaime Bosch, publicado en la edición nº 21 de la revista "Electrónica Práctica actual" en septiembre del 2000.
A continuación se muestran los 16 efectos del secuenciador y la posición de los interruptores. También se indica el número en binario y en hexadecimal que se obtiene con los interruptores:
|
| ||||||||
|
| ||||||||
|
| ||||||||
|
| ||||||||
|
| ||||||||
|
| ||||||||
|
| ||||||||
|
|
Montaje en Programador-Placa de desarrollo básico, indicado en la siguiente figura dentro del recuadro. El resto de componentes se montan en la placa protoboard del programador.

Un circuito 555 como generador de onda cuadrada proporciona el control de velocidad regulable mediante un potenciómetro. Si se requiere más velocidad se puede cambiar el condensador de 10 uf por otro mas pequeño. La salida (patilla 3) se conecta al terminal RA4 del PIC.
Los interruptores se conectan a las patillas RA0, RA1, RA2 y RA3, con su correspondiente resistencia de 10k a positivo. Las patillas RB0 a RB7 son las salidas que atacan a los LED a través de sus correspondientes resistencias.
Programa:
Para simplificar el montaje se puede prescindir del circuito integrado 555 y que sea el PIC quien genere la temporización. También se sustituye el oscilador a cristal por uno RC de manera que colocando una resistencia variable en la red RC se consigue un control de velocidad.


Programa:

La perturbación que aparece como una oscilación amortiguada cuando la señal está a nivel alto puede reducirse colocando un condensador de 100 nF entre las patillas de alimentación del PIC.