PIC 16F84 – Instrucciones – Circuitería

Repertorio de instrucciones

A continuación veremos algunas de las instrucciones más importantes, o al menos más empleadas en la programación de PICs, en ASM. Las restantes se irán viendo en entregas posteriores según vaya siendo necesario su manejo.

Manejo de registros

  • clrf f: Limpia el registro f, es decir, pone todos sus bits a 0.
  • comf f,d: Complementa el registro fuente f (cambia los 1 por 0 y viceversa) y el resultado lo deposita en el destino.

Si d = 0, el destino es W y si d = 1, el destino es el registro fuente f.

Manejo de bits

  • bcf f,b: Pone a 0 el bit b del registro f.
  • bsf f,b: Pone a 1 el bit b del registro f.

Brinco

  • Btfsc f, b: Explora el bit b del registro f y salta si vale 0.
  • Btfss f, b: Explora el bit b del registro f y salta si vale 1.

Control y especiales

  • Goto etiqueta: Sitúa el cursor del programa (PCL) en etiqueta.

Circuitería básica

En el siguiente esquema podemos ver la circuitería básica, es decir, el circuito mínimo para que el PIC empiece a funcionar.

Circuito básico de un PIC 16F84 - Electrónica Unicrom

Este consta básicamente de dos partes:

Alimentación:

Se emplean para ello dos pines: 14 VDD (tensión positiva) y 5 GND (masa). Se incluye además un pulsador, conectado al pin 4: cuando se introduce un nivel alto de tensión (pulsador abierto), el PIC funciona normalmente y cuando se introduce un nivel bajo (pulsador cerrado), se resetea el PIC.

Oscilación:

La lleva a cabo el cristal de cuarzo (de 4 MHz en nuestro caso) junto con los dos condensadores cerámicos (27 pF). Existen otros tipos de osciladores que pueden sernos útiles cuando trabajemos con PICs, pero de momento no los veremos.

A continuación, vamos a desarrollar nuestro primer programa. Este activará un LED conectado a RB0 siempre que el interruptor conectado a RA0 esté cerrado. Para ello vamos a montar el siguiente circuito:

Circuito para primer programa con PIC 16F84 - Electrónica Unicrom

En el circuito podemos ver cómo lo único que hemos añadido al circuito base es un pulsador conectado al pin 17 (RA0), de forma que cuando lo pulsemos se introduzca un cero lógico en el pin y cuando no lo pulsemos se introduzca un uno lógico.

Hemos añadido además un LED con su correspondiente resistencia limitadora de corriente en el pin 6 (RB0).

De lo que hemos comentado en esta práctica, caben destacar dos cosas:

  • La elección de los pines ha sido arbitraria: se han escogido estos, pero podíamos haber escogido otros. No obstante, mientras sea posible, es mejor organizar el esquema y el programa, y una forma de hacerlo es agrupando, por un lado, las entradas (Puerta A) y, por otro, las salidas (Puerta B). Por la misma razón, hemos escogido el pin 0 de cada puerta, en vez de escoger en un sitio el 3 y en otro el 7, por ejemplo.
  • En el caso de las entradas, es trivial que cuando se pulse o deje de activar el pulsador se envíe un cero o un uno, pues lo único que queremos es que el PIC pueda detectar un cambio. Así, igual nos da comprobar cuando se envía un cero que cuando se envía un uno, ya que en ambos casos podremos verificarlo.

En este caso se ha elegido el cero como activado porque es lo más común. En el caso de las salidas no ocurre lo mismo, porque en este caso no se trata de detectar un cambio, sino de activar un dispositivo, por lo que se hace necesario que el PIC “genere” una diferencia de potencial. Así, la forma de indicar al PIC que lo haga es poniendo a uno la salida.

Hechas estas aclaraciones, veamos el programa:

Primer programa para PIC 16F84 - Electrónica Unicrom


Deja un comentario

I accept the Privacy Policy