Documentos de Académico
Documentos de Profesional
Documentos de Cultura
SISTEMAS DIGITALES
RISC: Tanto la industria de los computadores comerciales como la de los microcontroladores están
decantándose hacia la filosofía RISC (Computadores de Juego de Instrucciones Reducido). En estos
procesadores el repertorio de instrucciones máquina es muy reducido y las instrucciones son
simples y, generalmente, se ejecutan en un ciclo.
6.3.2. Memoria.
En los microcontroladores la memoria de instrucciones y datos está integrada en el propio chip. Una
parte debe ser no volátil, tipo FLASH, y se destina a contener el programa de instrucciones que
gobierna la aplicación. Otra parte de memoria será tipo RAM, volátil, y se destina a guardar las
variables y los datos.
La principal utilidad de las patitas que posee la cápsula que contiene un microcontrolador es
soportar las líneas de E/S que comunican al computador interno con los periféricos exteriores. Según
los controladores de periféricos que posea cada modelo de microcontrolador, las líneas de E/S se
destinan a proporcionar el soporte a las señales de entrada, salida y control.
Todos los microcontroladores disponen de un circuito oscilador que genera una onda cuadrada de
alta frecuencia, que configura los impulsos de reloj usados en la sincronización de todas las
operaciones del sistema. Generalmente, el circuito de reloj está incorporado en el microcontrolador
y sólo se necesitan unos pocos componentes exteriores para seleccionar y estabilizar la frecuencia
de trabajo. Dichos componentes suelen consistir en un cristal de cuarzo junto a elementos pasivos
o bien un resonador cerámico o una red R-C.
UNIVERSIDAD TECNOLÓGICA DE SAN JUAN DEL RÍO
• Temporizadores o “Timers”.
• Conversor A/D.
• Conversor D/A.
• Comparador analógico.
• Puertos de comunicación.
Cuando el computador personal se bloquea por un fallo del software u otra causa, se pulsa el botón
del reinicio y se reinicializa el sistema. Pero un microcontrolador funciona sin el control de un
supervisor y de forma continuada las 24 horas del día. El Perro guardián consiste en un temporizador
que, cuando se desborda y pasa por 0, provoca un reinicio automáticamente en el sistema.
Se debe diseñar el programa de trabajo que controla la tarea de forma que refresque o inicialice al
Perro guardián antes de que provoque el reinicio. Si falla el programa o se bloquea, no se refrescará
al Perro guardián y, al completar su temporización, “ladrará y ladrará” hasta provocar el reinicio.
UNIVERSIDAD TECNOLÓGICA DE SAN JUAN DEL RÍO
Son abundantes las situaciones reales de trabajo en que el microcontrolador debe esperar, sin hacer
nada, a que se produzca algún acontecimiento externo que le ponga de nuevo en funcionamiento.
Para ahorrar energía, (factor clave en los aparatos portátiles), los microcontroladores disponen de
una instrucción especial (SLEEP en los PIC) que los pasa al estado de reposo o de bajo consumo, en
el cual los requerimientos de potencia son mínimos. En dicho estado se detiene el reloj principal y
se “congelan” sus circuitos asociados, quedando sumido en un profundo “sueño” el
microcontrolador. Al activarse una interrupción ocasionada por el acontecimiento esperado, el
microcontrolador se despierta y reanuda su trabajo.
Transforma los datos digitales obtenidos del procesamiento del computador en su correspondiente
señal analógica que saca al exterior por una de las patitas de la cápsula. Existen muchos efectores
que trabajan con señales analógicas.
Son circuitos que proporcionan en su salida impulsos de anchura variable, que se ofrecen al
exterior a través de las patitas del encapsulado.
UNIVERSIDAD TECNOLÓGICA DE SAN JUAN DEL RÍO
Todos los microcontroladores destinan algunas de sus patitas a soportar líneas de E/S digitales. Por
lo general, estas líneas se agrupan de ocho en ocho formando Puertos. Las líneas digitales de los
Puertos pueden configurarse como Entrada o como Salida cargando un 1 o un 0 en el bit
correspondiente de un registro destinado a su configuración.
Uno de los factores que más importancia tiene a la hora de seleccionar un microcontrolador entre
todos los demás es el soporte tanto software como hardware de que dispone. Un buen conjunto de
herramientas de desarrollo puede ser decisivo en la elección, ya que pueden suponer una ayuda
inestimable en el desarrollo del proyecto.
La programación en lenguaje ensamblador puede resultar un tanto ardua para el principiante, pero
permite desarrollar programas muy eficientes, ya que otorga al programador el dominio absoluto
del sistema. Los fabricantes suelen proporcionar el programa ensamblador de forma gratuita y en
cualquier caso siempre se puede encontrar una versión gratuita para los microcontroladores más
populares.
6.4.1.2. Compilador.
6.4.1.3. Depuración.
Debido a que los microcontroladores van a controlar dispositivos físicos, los desarrolladores
necesitan herramientas que les permitan comprobar el buen funcionamiento del microcontrolador
cuando es conectado al resto de circuitos.
6.4.1.4. Simulador.
6.4.2.1. MPLABX.
Antes de comenzar a escribir programas es necesario conocer las herramientas disponibles para
desarrollarlos. De entre ellas el entorno para nosotros más interesante es el MPLAB, no por ser el
más eficiente, ya que de hecho probablemente no lo es, sino por ser el más accesible: se puede
bajar gratis a través de internet. Además es gráfico, funcionando perfectamente bajo Windows
(Figura 6.5).
El CCS PCWH Compiler; es un compilador que nos permite escribir los programas en lenguaje C en
vez de ensamblador, con lo que se logra un menor tiempo de desarrollo, y mucha facilidad en la
programación (figura 6.6).
Actualmente existen una gran cantidad de fabricantes de microcontroladores entre los cuales están:
Atmel
Maxim
Intel
Phillips
Microchip
National semiconductors
ST Thompson
UNIVERSIDAD TECNOLÓGICA DE SAN JUAN DEL RÍO
Los microcontroladores requieren de un programa escrito por el usuario para realizar alguna acción
de control. Entre los diferentes lenguajes de programación existentes para microcontroladores
podemos enunciar los siguientes:
Ensamblador
Mikro C
PIC C
PIC BASIC
Processing/Wiring
Cada uno de estos lenguajes tiene sus propias características que lo hacen ideal para los
microcontroladores en función de su aplicación.
MPLAB es una herramienta de desarrollo creada por la compañía MicroChip. MPLAB permite la
edición, compilación e incluso la simulación de un programa para microcontrolador. Por esta razón,
se convierte en una poderosa herramienta de diseño en el mundo de los microcontroladores.
En MPLAB es posible abrir un fichero en ensamblador (*.asm) y ensamblarlo para poder obtener el
fichero de entrada de un grabador (*.hex), pero también es posible el uso de proyectos que utilicen
varios *.asm, permitiendo así reutilizar código con mayor facilidad, al ser este más modular.
Es, pues, muy conveniente saber crear un proyecto, el cuál se abrirá gracias al menú Project,
mediante su opción Open Project..., muy similar a Open File.
También será posible buscar el icono adecuado cambiando la barra de iconos, para lo cuál
emplearemos el que antecede estas líneas.
Existen 4 barras, Edit, Debug, Proj y User, cuyo nombre aparece en el registro más a la izquierda de
la barra de información (en la parte inferior de la ventana). Tanto en User como en Proj existen
iconos capaces también de abrir un proyecto (una carpeta verde).
Compruebe usted mismo en esta barra (Proj) a qué opción corresponde cada icono situándose sobre
él y mirando seguidamente la barra de información (parte inferior de la ventana).
UNIVERSIDAD TECNOLÓGICA DE SAN JUAN DEL RÍO
Escoja la opción New Project... y dele el nombre pr1.pjt. Llegará entonces a una ventana como la
que se muestra en la página siguiente:
Seleccione pr1 [.hex] en el frame Proyect Files y se le facilitará la opción Node Properties. Seleccione
también dicha opción. Obtendrá entonces esta nueva ventana:
UNIVERSIDAD TECNOLÓGICA DE SAN JUAN DEL RÍO
Seleccione el Hex Format deseado (de momento INHX8M), es decir, el tipo de fichero en el que el
ensamblador deberá convertir los *.asm. Todos los formatos suelen ser aceptados por los
grabadores, a quienes van destinados. Ya puede darle a OK.
Ensamblando un programa.
El proceso de ensamblado es muy sencillo. Bastará con, sobre el menú Proyect, pulsar la
opción Build Node, que ensamblaría sólo la ventana activa, o la opción Build All, que ensamblaría
todos los nodos del proyecto. Por último la opción Make Project ensamblaría todos los nodos de un
proyecto y los unificaría en un único *.hex. Los pulsadores dibujados en este párrafo, de la barra
Proj, contienen todas estas opciones.
UNIVERSIDAD TECNOLÓGICA DE SAN JUAN DEL RÍO
Corrija los errores que le marque el ensamblador y el programa será sintácticamente correcto. Un
número situado tras el nombre del programa le indica la línea exacta a que está asociado el mensaje.
Este botón de la barra Edit numerará las líneas automáticamente si su listado es largo.
Una vez corregidos todos los errores el programa ya está listo para ser grabado en el PIC y probado
sobre el terreno, pero resulta más práctico (normalmente), y más fiable, si antes se lleva a cabo una
simulación por software. MPLAB tiene una herramienta de simulación software, el MPLAB-SIM (mire
la barra y el menú Debug).
Notará algo de incomodidad debida a la escasa automatización de algunas tareas: por ejemplo, la
simulación comienza mediante la opción Run (semáforo verde), y se detiene con Halt (semáforo
rojo), pero no comenzará a correr si no hace un Reinicio mediante la pulsación de:
UNIVERSIDAD TECNOLÓGICA DE SAN JUAN DEL RÍO
Este icono es Step, ejecución paso a paso, y avanzará una línea de programa cada vez que
lo pulse.
Este icono es Change Program Counter, y es utilizado para cambiar el contador de programa
(salto a otra línea de memoria de programa en ejecución, para, por ejemplo, probar sólo una rutina
específica si el resto ya lo sabemos correcto).
Este icono Create a New Watch Window permite editar variables para ver su valor durante
la ejecución.
Con este comando se pueden definir puntos de parada (Breaks) en la ejecución para,
mediante Run, no necesitar recorrer línea a línea todo el programa si deseamos ejecutar todo un
proceso de golpe hasta esa línea
6.6. BIBLIOGRAFIA.
Palacios E., Remiro F., López Lucas. Microcontrolador PIC16f84. 2da. Edición. Alfaomega.
Angulo Usategui, Angulo Martinez. Microcontrolador PIC. 3ra. Edicion. McGrawHill.
Valdés, F., Pallas R. Microcontroladores: Fundamentos y Aplicaciones con PIC. 1ra. Edición.
AlfaOmega. 2007.
Vesga J.C. Microcontroladores Motorola Freescale: Programación, familias, y sus distintas
aplicaciones en la Industria. AlfaOmega. 2007.