Hasta ahora hemos visto generalidades sobre los microcontroladores: qué son, para qué sirven y qué casas los fabrican. Así mismo hemos hecho especial énfasis en los microcontroladores de la casa Microchip, por sen en los que nos vamos a centrar en el presente curso. Ahora toca, por fin, entar un poco más en materia hablando del modelo concreto que emplearemos.
Como se ve en el título, no hablaremos únicamente de un modelo concreto, pues éstos se agrupan por familias que tienen unas características muy similares y que, por lo tanto, se estudian a la vez. En nuestro caso hablaremos de la familia PIC16F87x, por tratarse de una de gama media que permite llevar a cabo la mayoría de las aplicaciones típicas de los microcontroladores. Así mismo, todo el código escrito de ahora en adelante será ensamblador.
En la actualidad existen compiladores para multitud de lenguajes, de forma que pueda programarse con ellos un microcontrolador. Todos ellos son de más alto nivel que ensamblador, lo que se traduce en una programación más intuitiva y menos propensa a errores. ¿Por qué usar ensamblador entonces? Porque es la base de todo: con ensamblador seremos nosotros los que indicaremos al microcontrolador que tiene que hacer en cada instante, controlando hasta el último rincón del mismo.
Esto nos dará un conocimiento sobre su funcionamiento mucho mayor que si usásemos, por ejemplo, un compilador de C que cuenta con librerías ya implementadas para llevar a cabo la mayor parte del trabajo. Podemos decir que ensamblador es para aprender y los demás para programar. Dicho esto, comenzamos.
La familia PIC16F87x
Tal y como ya comentamos, al trabajar con microcontroladores PIC se habla no tanto de un modelo concreto sino de familias, pues la diferencia entre los miembros de la misma son mínimos. Sin embargo, en última instancia y más allá de motivos académicos, se trabaja con un modelo concreto. En nuestro caso será con el PIC16F877. Por lo tanto, de ahora en adelante se usará ese modelo por comodidad.
El PIC16F877 es un microncontrolador de ocho bits y 28 0 40 pines, disponible en múltiples encapsulados. Nosotros emplearemos el PDIP, pues los de tipo SMD no son tan propensos al montaje de circuitos caseros, dada la dificultad de su manejo motivada por su pequeño tamaño.
Pueden consultarse todas sus características de forma detallada en la hoja de características facilitado por el fabricante pero, no obstante, os comento a continuación las más relevantes:
- Frecuencia de funcionamiento de hasta 20 MHz.
- Manejo de hasta 14 fuentes de interrupción.
- Watchdog interno.
- Modo Sleep de bajo consumo.
- Modo de programación serie sobre el circuito, o ICSP, mediante dos pines.
- Tres módulos temporizadores.
- Dos módulos CCP.
- Un conversor analógico digital multientrada de 10 bits.
- Módulos SPI, I2C y USART para comunicación con otros dispositivos.

Comentarios recientes