7. Configuración y manejo de salidas

Ya tenemos una noción básica de lo que es programar en lenguaje ensamblador, ahora iremos aprendiendo poco a poco más instrucciones para manejar al PIC 16F84A. A continuación se elaborará el primer programa de este tutorial.

Empezaremos poniendo un encabezado a modo de comentario que nos de información del programa que escribiremos, esto no solo le da orden a nuestro trabajo sino también nos sirve de soporte para cualquier consulta posterior.

fig 2.12 Información preliminar del código fuente
fig 2.12 Información preliminar del código fuente

Tengamos en cuenta que, en cada renglón, todo lo que va después de un punto y coma será ignorado por el ensamblador, esto lo aprovecharemos para hacer todos los comentarios que sean necesarios para tener un código fuente ordenado y comprensible.

Ahora escribiremos la biblioteca, también conocida como librería:

fig 2.13
fig 2.13 Indicándole al programa el microcontrolador a usar

Luego viene la palabra de configuración, indicando que se usará oscilador tipo XT y se dejará habilitado el retardo de encendido:

fig 2.14
fig 2.14 Palabra de configuración

Ahora viene el mapa de memoria, donde asignaremos nombres a los registros que vamos a usar (algunos prefieren llamar a este proceso declaración de variables):

fig 2.15
fig 2.15 Mapa de memoria

En seguida viene el inicio del programa y la configuración de los puertos, en este caso todas las líneas serán configuradas como salidas:

fig 2.16
fig 2.16 Inicio y configuración de los puertos

Ahora sí viene lo interesante que es la elaboración del programa propiamente dicho, por ahora solo haremos que las líneas del puerto B se pongan en ‘1’ y en ‘0’ intercaladamente de la siguiente manera:

fig 2.17 Transfiriendo un dato al puerto B
fig 2.17 Transfiriendo un dato al puerto B

Con esto ya tenemos las salidas del puerto B intercaladas entre ‘ceros’ y ‘unos’. Ahora indicaremos que ha finalizado el programa:

fig 2.18 Finalización del código
fig 2.18 Finalización del código en ensamblador

Nuestro programa ya está elaborado (no olvides guardarlo en formato .asm) y solo queda comprobar su funcionamiento. Por si te interesa, el código completo puedes descargarlo aquí: prog_1. Notarás que ya me tomé la molestia de ensamblarlo por si quieres comprobarlo inmediatamente.

Para saber cómo transferir este programa al PIC véase la unidad III (Compilación y “Quemado” de microcontroladores PIC).

El esquemático del circuito que se debe usar es el de la figura 2.19.

fig 2.19 Esquemático del PIC16F84A
fig 2.19 Esquemático del circuito con PIC16F84A

Cuando pongamos a funcionar el microcontrolador deberíamos ver algo como esto:

fig 2.20
fig 2.20 Montaje en protoboard del circuito a probar

Donde vemos claramente que el programa realizó su función: donde pusimos ‘1’ se encendió el LED y donde pusimos ‘0’ se quedó apagado.

Para concluir este capítulo notemos la correspondencia de bits entre el valor puesto en PORTB (b’10101010′) y el valor visto en los LED’s: RB7 se controla con el bit más a la izquierda, mientras que RB0 se controla con el bit más a la derecha.