CAPÍTULO I
¿QUÉ ES UN MICROCONTROLADOR?
Un microcontrolador podría decirse que es una mini computadora programable encapsulada como un circuito integrado; y como tal, cuenta básicamente con un microprocesador (unidad central de procesamiento de datos, Central Processing Unit, CPU), bancos de memorias y circuitos periféricos de entradas y salidas. El primer microcontrolador, el 4004 de sólo 4 bit, fue diseñado por la Intel en el 1971.
Todos los microcontroladores tienen memoria tipo
ROM (Read Only Memory, ‘memoria de sólo lectura’) en la cual se graba de
fábrica las informaciones básicas de operación, de la misma manera que el
cerebro de un niño recién nacido llega al mundo con las capacidades elementales
de recibir informaciones a través de los sentidos, aprender, comprender,
razonar y ejecutar acciones utilizando sus miembros. Estamos hablando
indirectamente de la Unidad Central de
Procesamiento (CPU), donde el ‘ser microprocesador’ determina todo el
acontecer del dispositivo.
En la actualidad de la biología ya se sabe que
el ser humano (y la mayoría de los seres vivos) no sólo guardan información en
el cerebro, sino que pueden guardar datos a nivel celular (en los genes). De
manera análoga, los microcontroladores poseen otros cerebros (memorias) como la
tipo RAM (Random Access Memory, ‘memoria de acceso aleatorio’) donde se
graban las informaciones temporales de las ejecuciones del microprocesador y
que se borran al quitarse la alimentación o al ser desplazadas por otros datos
temporales.
Desde el año 1993 la industria Microchip lanzó al mercado el
microcontrolador PIC16x84 que consta
de una memoria EERPROM (Electrically Erasable Programmable Read-Only Memory, ‘ROM programable y
borrable eléctricamente’) donde se almacenan los datos del software (programa)
o rutinas de actividades y determinaciones que debe ejecutar la CPU
conforme a las informaciones recibidas por los dispositivos o sensores
periféricos (en seres vivos, ‘sentidos’).
En el año 1984 la industria
japonesa Toshiba diseñó la memoria EEPROM
tipo flash y que luego en el 1988 la industria Intel la comenzó a usar
en la fabricación de sus microcontroladores. Estas memorias tienen la
particularidad de permitir la lectura y escritura de múltiples
posiciones de memoria en la misma operación, por lo cual alcanza velocidades de
funcionamiento superiores a cualquier otro tipo de memoria.
Los microcontroladores poseen,
además, uno o más circuitos internos de temporización (TIMER) con los cuales se temporizan y/o
sincronizan los eventos del programa. Estos timers se inicializan (RESET) al término del conteo (counter),
guardando una memoria temporal del ciclo activando un bit FLAG (bandera) del un registro llamado STATUS (Estados), o provocando una interrupción (interrupt)
en la rutina, si así se ha programado en un bit del registro INTCON (control de interrupciones),
para que el procesador vaya momentáneamente a realizar otra actividad. Los
pulsos de conteo de los timers provienen de un circuito oscilador RC (oscillator RC, ‘oscilador resistor
–capacitor’) interno, de 4 u 8 megahertzios (Mhz.) según el tipo de
microcontrolador, o de un oscilador interno con RC o XT (cristal de
frecuencia) exteriores y opcionales. Esta selección se programa en los bits del
registro OPTION (opción). En
los microcontroladores existe un temporizador auxiliar llamado WATCHDOG (perro guardián), cuya
finalidad, opcional para el programador, es provocar un RESET (reposición) automático que impide que el
microprocesador se ‘cuelgue’; es decir, que entre en una rutina cerrada (LOOP, ‘bucle’) sin salida hacia nada.
Los PORTs (puertos) de entradas y salidas de información desde
los dispositivos periféricos exteriores al microcontrolador, son uno o varios conjuntos
de pines (terminales de conexión) que pueden, en su mayoría, ser configurados
como entradas (digitales, I/O, o analógicas/digitales, A/D) o como salidas
digitales usando el registro OPTION
y otros registros auxiliares. En algunos microcontroladores (como el PIC12F675)
los puertos son llamados GPIO (General Purpose Input/Output,
‘entrada/salida de propósito general’) o simplemente GP, y son configurados en el registro del mismo nombre.
Otros circuitos periféricos
internos son los convertidores análogo/digital (A/D), que convierten datos analógicos como, por ejemplo, las
variaciones de voltaje y corriente de una batería, señales, etc., a datos
digitales (1/0) que puedan ser interpretados y analizados por la CPU. También están los moduladores
de pulso por anchura (PWM, pulse
widht modulation), que generan una onda modulada en anchura por uno o
varios pines de salidas del dispositivo.
Con el módulo periférico comparador
analógico se pueden establecer
comparaciones entre dos señales de entrada cuya salida final es un dato digital
para la CPU. Los microcontroladores
poseen de uno a varios módulo interno de comunicación serial como son el
SPI (Serial Peripheral Interface, ‘interface
serial periférica’), I2C (Inter-integrated circuit, ‘inter-circuitos integrados’), USART (Universal Asynchronous Receiver-Transmitter, ‘Transmisor-receptor Asíncrono
Universal’) y, en los más modernos y sofisticados, el USB (universal serial bus,
‘conductor serial universal’).
Existen múltiples compañías que
fabrican y comercializan circuitos integrados microcontroladores; entre las más
populares tenemos las norteamericanas como Intel en California, Microchip en Arizona, Motorola en Chicago, y la Atmel en Colorado; las cuales también se han establecido en otros países para abaratar la manufactura y ampliar su mercado.


