8. APLICACIÓN PRÁCTICA: UN CONTADOR CONTROLADO
POR INTERRUPCIÓN
La teoría desarrollada en el presente documento necesita ser apoyada con una
demostración práctica por muchos motivos: el primero, personal, es el de demostrar
nuestra capacidad ante nuestro tutor para llevar a cabo un diseño real, así como el buen
funcionamiento del grabador desarrollado. Sin embargo pensamos que servirá a quien lo
lea para comprobar in situ como se “mueve” un PIC y así como para ver un esquema
hardware básico sobre el que comenzar a medrar otros posibles diseños.
Para ello hemos decidido hacer una modificación sobre el programa cuenta.asm,
del punto 6 del apartado de programación, llamado tablas y subrutinas, que realizaba
una cuenta cíclica de 0 a 9 sobre un 7 segmentos de cátodo común.
En este caso hemos añadido un control por interrupción simulado mediante un
pulsador que, al activarse, detendrá la cuenta, y la volverá a cero cuando de suelte el
botón.
El problema aparecido es el hecho de que el siete segmentos implementado en esa
ocasión controlaba mediante el bit 7 del puerto b el punto decimal, absolutamente
innecesario para esta experiencia, mientras que ocupaba el bit 0 del mismo puerto para
el segmento a del 7 segmentos, que es el único pin disponible para controlar
directamente una interrupción externa. Se ha resuelto eliminando el punto de cimal y
desplazando un bit cada uno de los otros segmento, con lo que observará la tabla de los
mismos cambiada.
No cabe destacar más sobre el programa, ya que le suponemos con los
conocimientos necesarios, después de leído este manual, como para entender su código,
que adjuntamos a continuación. Lo hemos denominado display.asm.
103