2. PROGRAMACIÓN DE MICROCONTROLADOR
1. CONTENIDO
DEFINICIÓN
El microcontrolador
ejecuta
programa
el
cargado
memoriaen la
Flash. Esto se
eldenomina
código ejecutable y
está compuesto
por una serie de
ceros y unos, aparentemente sin significado. Dependiendo de la
arquitectura del microcontrolador, el código binario está
Cada
a ser
compuesto por palabras de 12, 14 o 16 bits de anchura.
palabra es interpretada por la CPU como una instrucción
ejecutada durante el funcionamiento del microcontrolador. Como
es más fácil trabajar con el sistema de numeración hexadecimal,
el código ejecutable se representa con frecuencia como una serie
de los números hexadecimales denominada código Hex. A todas
las instrucciones que el microcontrolador puede reconocer y
ejecutar se le denominan colectivamente Juego de instrucciones.
En los microcontroladores PIC con las palabras de programa de
14 bits de anchura, el
instrucciones diferentes.
CARACTERÍSTICAS
conjunto de instrucciones tiene 35
Identificadores
Comentarios
Operadores
Expresiones
Instrucciones
Constantes
Variables
Símbolos
Directivas
Etiquetas
Procedimientos y funciones
Módulos
LENGUAJE DE PROGRAMACIÓN-PROTEUS
PROTEUS es un software de automatización de diseño
electrónico, una aplicación CAD, compuesta de tres módulos:
ISIS (Intelligent Schematic Input System): es el módulo de
captura de esquemas.
VSM (Virtual System Modelling): es el módulo de
simulación, incluyendo PROSPICE.
ARES (Advanced Routing Modelling): es el módulo para la
realización de circuitos impresos (PCB).
LENGUAJE DE PROGRAMACIÓN-PIC C
3. PIC C es una herramienta que permite programar un
del
por
microcontrolador por medio de lenguaje C, a diferencia
lenguaje máquina o ensamblador (ASM) que se maneja
defecto, este hace los programas más fáciles de escribir, analizar
y comprender. PIC C ha sido desarrollado por PIC CMU, y cuenta
con una gran cantidad de librerías o drivers que permiten
optimizar los programas en el momento de manejar dispositivos
externos, tales como pantallas LCD, memorias, conversores, etc.
LENGUAJE C
El lenguaje C dispone de todas las ventajas de un lenguaje de
programación de alto nivel (anteriormente descritas) y le permite
realizar algunas operaciones tanto sobre los bytes como sobre los
bits (operaciones lógicas, desplazamiento etc.). Las
características de C pueden ser muy útiles al programar los
microcontroladores. Además, C está estandarizado (el estándar
ANSI), es muy portable, así que el mismo código se puede utilizar
muchas veces en diferentes proyectos. Lo que lo hace accesible
para cualquiera que conozca este lenguaje sin reparar en el
propósito de uso del microcontrolador. C es un lenguaje
compilado, lo que significa que los archivos fuentes que contienen
el código C se traducen a lenguaje máquina por el compilador.
Todas estas características hicieron al C uno de los lenguajes de
programación más populares.
VISUAL BASIC
Hace referencia al método utilizado para crear lo que ve el
usuario, la interfaz gráfica de usuario o GUI. "Basic" hace
referencia al lenguaje de programación BASIC, de Beginners All-
Purpose Symbolic Instruction Code (Código de Instrucción
Simbólico Todo Propósito para Principiantes), un lenguaje
utilizado por más programadores que cualquier otro lenguaje en la
historia de la informática. Puede crear programas útiles sólo con
aprender algunas de sus características.
ASSEMBLER
Como el proceso de escribir un código ejecutable era
considerablemente arduo, en consecuencia fue creado el primer
lenguaje de programación denominado ensamblador (ASM).
Siguiendo la sintaxis básica del ensamblador, era más fácil
escribir y comprender el código. Las instrucciones en
ensamblador consisten en las abreviaturas con significado y a
cada instrucción corresponde una localidad de memoria. Un
programa denominado ensamblador compila (traduce) las
instrucciones del lenguaje ensamblador a código máquina (código
binario).
4. Este programa compila instrucción a instrucción sin optimización.
Como permite controlar en detalle todos los procesos puestos en
marcha dentro del chip, este lenguaje de programación todavía
sigue siendo popular.
EJEMPLOS
Para que un microcontrolador funcione
necesario proporcionar lo siguiente:
Alimentación;
Señal de reinicio; y
Señal de reloj.
apropiadamente es
Como se muestra en la figura anterior, se trata de circuitos
así. Si el dispositivosimples, pero no tiene que ser siempre
destino se utiliza para controlar las máquinas caras o para
mantener funciones vitales,
complicado.
todo se vuelve mucho más
ALIMENTACIÓN
Aunque el PIC16F887 es capaz de funcionar a diferentes voltajes
de alimentación, no es recomendable probar la ley de Murphy. Lo
más adecuado es proporcionar un voltaje de alimentación de 5V
DC. Este circuito, mostrado en la página anterior, utiliza un
regulador de voltaje positivo de tres terminales LM7805. Es un
regulador integrado y barato que proporciona una estabilidad de
voltaje de alta calidad y suficiente corriente para habilitar el
funcionamiento apropiado del controlador y de los periféricos
(aquí suficiente significa una corriente de 1A).
5. SEÑAL DE REINICIO
Para que un microcontrolador pueda funcionar apropiadamente,
un uno lógico (VCC) se debe colocar en el pin de reinicio. El
botón de presión que conecta el pin MCLR a GND no es
necesario. Sin embargo, este botón casi siempre está
proporcionado ya que habilita al microcontrolador volver al modo
normal de funcionamiento en caso de que algo salga mal. Al
pulsar sobre el botón RESET, el pin MCLR se lleva un voltaje de
0V, el microcontrolador se reinicia y la ejecución de programa
comienza desde el principio. Una resistencia de 10k se utiliza
para impedir un corto circuito a tierra al presionar este botón.
SEÑAL DE RELOJ
A pesar de tener un oscilador incorporado, el microcontrolador no
puede funcionar sin componentes externos que estabilizan su
funcionamiento y determinan su frecuencia (velocidad de
operación del microcontrolador). Dependiendo de los elementos
utilizados así como de las frecuencias
funcionar en cuatro modos diferentes:
LP – Cristal de bajo consumo;
XT – Cristal / Resonador;
HS – Cristal/Resonador de alta velocidad; y
RC – Resistencia / Condensador.
el oscilador puede
¿Por qué son estos modos importantes? Como es casi imposible
construir un oscilador estable que funcione a un amplio rango de
frecuencias, el microcontrolador tiene que “saber” a qué cristal
está conectado, para poder ajustar el funcionamiento de sus
componentes internos. Ésta es la razón por la que todos los
6. programas utilizados para escribir un programa en el chip
contienen una opción para seleccionar el modo de oscilador. Vea
la figura de la izquierda.
Cristal de cuarzo
Al utilizar el cristal de cuarzo para estabilizar la frecuencia, un
oscilador incorporado funciona a una frecuencia determinada, y
no es afectada por los cambios de temperatura y de voltaje de
alimentación. Esta frecuencia se etiqueta normalmente en el
encapsulado del cristal. Aparte del cristal, los condensadores C1
y C2 deben estar conectados como se muestra en el siguiente
esquema. Su capacitancia no es de gran importancia. Por eso, los
valores proporcionados en la siguiente tabla se deben tomar
como recomendación y no como regla estricta.
Resonador cerámico
Un resonador cerámico es más barato y muy similar a un cuarzo
por la función y el modo de funcionamiento. Por esto, los
esquemas que muestran su conexión al microcontrolador son
idénticos. No obstante, los valores de los condensadores difieren
un poco debido a las diferentes características eléctricas.
Refiérase a la tabla que está a continuación.
Estos resonadores se conectan normalmente a los osciladores en
caso de que no sea necesario proporcionar una frecuencia
extremadamente precisa.
Oscilador RC
7. Si la frecuencia de operación no es de importancia, entonces no
es necesario utilizar los componentes caros y adicionales para la
estabilización. En vez de eso, basta con utilizar una simple red
RC, mostrada en la siguiente figura. Como aquí es utilizada sólo
la entrada del oscilador local, la señal de reloj con la frecuencia
Fosc/4 aparecerá en el pin OSC2. Ésta es la frecuencia de
operación del microcontrolador, o sea la velocidad de ejecución
de instrucciones.
Oscilador externo
Si se requiere sincronizar el funcionamiento de varios
microcontroladores o si por alguna razón no es posible utilizar
ninguno de los esquemas anteriores, una señal de reloj se puede
generar por un oscilador externo. Refiérase a la siguiente figura.
A pesar del hecho de que el microcontrolador es un producto de
la tecnología moderna, no es tan útil sin estar conectado a los
componentes adicionales. Dicho de otra manera, el voltaje llevado
a los pines del microcontrolador no sirve para nada si no se utiliza
para llevar a cabo ciertas operaciones como son
encender/apagar, desplazar, visualizar etc.
2. RESUMEN
8. Para utilizar al microprocesador en una aplicación real, se debe de
conectar con otros componentes, en primer lugar con la memoria.
Aunque el microprocesador se considera una máquina de computación
poderosa, no está preparado para la comunicación con los dispositivos
periféricos que se le conectan. Para que el microprocesador se
comunique con algún periférico, se deben utilizar los circuitos
especiales. Así era en el principio y esta práctica sigue vigente en la
actualidad.
Al microcontrolador se le diseña de tal manera que tenga todas las
componentes integradas en el mismo chip. No necesita de otros
componentes especializados para su aplicación, porque todos los
circuitos necesarios, que de otra manera correspondan a los periféricos,
ya se encuentran incorporados. Así se ahorra tiempo y espacio
necesario para construir un dispositivo.
SUMMARY
To use the microprocessor in a real application, it must be connected
with other components, first with memory. Although the microprocessor
is considered a powerful computing machine is not ready for
communication with peripheral devices to be connected. For the
microprocessor to communicate with a peripheral, you must use special
circuits. That was in the beginning and this practice is still in force today.
The microcontroller it is designed so you have all integrated on the same
chip components. No need other components for your application,
because all circuits required, which otherwise correspond to the
peripherals are already built. This saves time and space needed to
construct a device.
RECOMENDACIONES
Una de las mayores razones de confusión y de complicaciones al
desarrollar un proyecto es la falta de información del microcontrolador
que se desea utilizar. Las hojas de datos son los documentos más
importantes que debemos acopiar al momento de decidirnos e
inclinarnos por un determinado tipo de microcontrolador.
CONCLUSIONES
Los microcontroladores están en auge, utilizándose en proyectos
industriales, de investigación y para docencia. No tiene sentido que el
diseñador sólo pueda utilizar una única plataforma para desarrollar
aplicaciones con ellos. Parece más lógico que el diseñador utilice la que
más le convenga, o la que normalmente use.
APRECIACIÓN DEL EQUIPO
Los programas se ejecutan siempre a alta velocidad y en la mayoría de
casos no es necesario saber en detalle qué ocurre dentro del
microcontrolador.
GLOSARIO DE TÉRMINOS
3.
4.
5.
6.
7.
9. Prospice: es la versión SPICE, incluida en PROTEUS,
desarrollada en la universidad de Berkeley, con extensiones para
simulación analógica y digital conjuntas y la animación de
circuitos.)
Código Hex: es el sistema de numeración posicional que tiene
como base el 16.
Módulo: es una porción de un programa de ordenador. De las
varias tareas que debe realizar un programa para cumplir con su
función u objetivos
8. LINKOGRAFÍA
http://learn.mikroe.com/ebooks/microcontroladorespicc/chapter/len
guajes-de-programacion/
http://learn.mikroe.com/ebooks/microcontroladorespicbasic/chapter
/caracteristicas-principales-del-lenguaje-de-programacion-basic/
http://www.monografias.com/trabajos-pdf4/programando-
cproteus/programando-cproteus.pdf
https://es.wikipedia.org/wiki/Proteus_Design_Suite
https://sites.google.com/site/incoelectronicasas/mini-tutos/-como-
programar-un-microcontrolador-con-pic-c
https://msdn.microsoft.com/es-es/library/xk24xdbe(v=vs.90).aspx
http://learn.mikroe.com/ebooks/microcontroladorespicc/chapter/4-
1-conexion-basica/
http://learn.mikroe.com/ebooks/microcontroladorespicc/chapter/len
guajes-de-programacion/