Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Despradel Novas Peña PDF
Despradel Novas Peña PDF
ID #:UB5436SEL11522
Microcontroladores
Microcontroladores
Arquitectura, programacin y aplicacin
MicroControladores
Arquitectura, Programacin y Aplicacin
08
2|Page
ndice
Presentacin
Portada
ndice
Introduccin
Que es un microcontrolador?
Memorias
13
16
18
El MPLAB-IDE
20
24
26
Conclusin
30
Bibliografa
31
3|Page
Introduccin
Desde la invencin del circuito integrado, el desarrollo constante de la electrnica digital
ha dado lugar a dispositivos cada vez ms complejos. Entre ellos los microprocesadores y
los microcontroladores, los cuales son bsicos en las carreras de ingeniera electrnica.
Un microcontrolador es un computador completo, aunque de limitadas prestaciones, que
est contenido en el chip de un circuito integrado y se destina a gobernar una sola tarea.
El nmero de productos que funcionan en base a uno o varios microcontroladores
aumenta de forma exponencial.
La industria Informtica acapara gran parte de los microcontroladores que se fabrican.
Casi todos los perifricos del computador, desde el ratn o el teclado hasta la impresora,
son regulados por el programa de un microcontrolador.
Los electrodomsticos de lnea blanca (lavadoras, hornos, lavavajillas, etc.) y de lnea
marrn (televisores, vdeos, aparatos musicales, etc.) incorporan numerosos
microcontroladores. Igualmente, los sistemas de supervisin, vigilancia y alarma en los
edificios utilizan estos chips. Tambin se emplean para optimizar el rendimiento de
ascensores, calefaccin, aire acondicionado, alarmas de incendio, robo, etc.
Las aplicaciones de los microcontroladores son vastas, se puede decir que solo estn
limitadas por la imaginacin del usuario. Es comn encontrar microcontroladores en
campos como la robtica y el automatismo, en la industria del entretenimiento, en las
telecomunicaciones, en la instrumentacin, en la industria automotriz, etc.
Aunque el concepto de controlador ha permanecido invariable a travs del tiempo, su
implementacin fsica ha variado frecuentemente. Hace tres dcadas, los controladores
electrnicos se construan exclusivamente con componentes de lgica discreta,
posteriormente se emplearon los microprocesadores, que se rodeaban con chips de
memoria y E/S sobre una tarjeta de circuito impreso. En la actualidad, todos los elementos
del controlador se han podido incluir en un solo circuito integrado, el cual recibe el
nombre de microcontrolador. Realmente consiste en un sencillo pero completo ordenador
contenido en un circuito integrado.
4|Page
QU ES UN MICROCONTROLADOR?
Un microcontrolador es un circuito integrado que en su interior contiene una unidad
central de procesamiento (CPU), unidades de memoria (RAM y ROM), puertos de
entrada y salida y perifricos. Estas partes estn interconectadas dentro del
microcontrolador, y en conjunto forman lo que se le conoce como microcomputadora.
Se puede decir con toda propiedad que un microcontrolador es una microcomputadora
completa encapsulada en un circuito integrado.
El microcontrolador es un computador dedicado a diversas aplicaciones. En su memoria
slo reside un programa destinado a gobernar una aplicacin determinada; sus lneas de
entrada/salida soportan el conexionado de los sensores y actuadores del dispositivo a
controlar, y todos los recursos complementarios disponibles tienen como nica finalidad
atender sus requerimientos. Una vez programado y configurado el microcontrolador
solamente sirve para gobernar la tarea asignada.
5|Page
6|Page
7|Page
- Procesador
La necesidad de conseguir elevados rendimientos en el procesamiento de las instrucciones
ha desembocado en el empleo generalizado de procesadores de arquitectura Harvard
frente a los tradicionales que seguan la arquitectura de von Neumann. Esta ltima se
caracterizaba porque la UCP (Unidad Central de Proceso) se conectaba con una memoria
nica, donde coexistan datos e instrucciones, a travs de un sistema de buses.
En la arquitectura Harvard son independientes la memoria de instrucciones y la memoria
de datos y cada una dispone de su propio sistema de buses para el acceso. Esta dualidad,
adems de propiciar el paralelismo, permite la adecuacin del tamao de las palabras y
los buses a los requerimientos especficos de las instrucciones y de los datos. Tambin la
capacidad de cada memoria es diferente.
8|Page
- Memoria de programa
El microcontrolador est diseado para que en su memoria de programa se almacenen
todas las instrucciones del programa de control. No hay posibilidad de utilizar memorias
externas de ampliacin.
La memoria de instrucciones puede tener una capacidad mnima de 512 palabras de 12
bits hasta una mxima de 2.048 palabras de la misma longitud. Durante la fase de
bsqueda, la direccin de la instruccin la proporciona el PC (contador de Programa), el
cual normalmente se autoincrementa en la mayora de las instrucciones, excepto en las de
salto.
Hasta 512 posiciones la memoria se direcciona directamente con 9 bits, denominndose a
dicho tamao pgina. Las 512 primeras posiciones de la memoria configuran la pgina 0,
el siguiente conjunto de otras 512 posiciones forman la pgina 1, etc.
El contador de programa
El PC proporciona la direccin de la memoria de programa y su longitud puede oscilar
- Memoria de datos
Los datos que manejan los programas varan continuamente, y esto exige que la memoria
que les contiene deba ser de lectura y escritura, por lo que la memoria RAM esttica
(SRAM) es la ms adecuada, aunque sea voltil.
Hay microcontroladores que tambin disponen como memoria de datos una de lectura y
escritura no voltil, del tipo EEPROM. De esta forma, un corte en el suministro de la
alimentacin no ocasiona la prdida de la informacin, que est disponible al reiniciarse el
programa. El PIC16C84, el PIC16F83 y el PIC16F84 disponen de 64 bytes de memoria
EEPROM para contener datos.
Los microcontroladores PIC funcionan con datos de 8 bits por lo que las posiciones de la
memoria de datos tienen esa longitud. La capacidad de esta memoria vara entre 25 y 73
posiciones de un byte, en los modelos de la gama baja.
10 | P a g e
permanece invariable hasta que se reescriba otro bit. Para configurar la patita como
Entrada, hay que cargar un 1 en el Biestable de control de E/S mientras que hay que
cargar un 0 si se desea que sea Salida.
Cada lnea de E/S de los puertos se programa de forma independiente y puede ser Entrada
o Salida. Cuando se produce un reset, todos los bits de los registros TRIS pasan a tener el
valor 1 y todas las lneas de E/S actan como Entrada por evidentes motivos de seguridad
para evitar daos irreparables.
12 | P a g e
Memorias
En los microcontroladores la memoria de instrucciones y datos est integrada en el propio
circuito integrado. Una parte debe ser no voltil, tipo ROM, y se destina a contener el
programa de instrucciones que gobierna la aplicacin. Otra parte de memoria ser tipo
RAM, voltil, y se destina a guardar las variables y los datos.
Hay dos peculiaridades que diferencian a los microcontroladores de los PC's:
1. No existen sistemas de almacenamiento masivo como disco duro o disquetes.
2. Como el microcontrolador slo se destina a una tarea en la memoria de programa,
slo hay que almacenar un nico programa de trabajo.
La memoria de datos (RAM) en estos dispositivos es de poca capacidad pues slo debe
contener las variables y los cambios de informacin que se produzcan en el transcurso del
programa. Por otra parte, como slo existe un programa activo, no se requiere guardar
una copia del mismo en la RAM pues se ejecuta directamente desde la memoria de
programa (ROM).
El usuario de PC est habituado a manejar Megabytes de memoria, pero los diseadores
con microcontroladores trabajan con capacidades de memoria de programa de 512 bytes,
1K, 2K (hasta unos 64K) y de RAM de 20 bytes, 68 bytes, 512 bytes (hasta unos 4K).
Segn el tipo de memoria de programa que dispongan los microcontroladores, la
aplicacin y utilizacin de los mismos es diferente. Se describen las cinco versiones de
memoria no voltil que se pueden encontrar en los microcontroladores del mercado:
- OTP
El microcontrolador contiene una memoria no voltil de slo lectura "programable una
sola vez" por el usuario. OTP (One Time Programmable). Es el usuario quien puede escribir
el programa en el chip mediante un sencillo grabador controlado por un programa desde
un PC. La versin OTP es recomendable cuando es muy corto el ciclo de diseo del
producto, o bien, en la construccin de prototipos y series muy pequeas.
Tanto en este tipo de memoria como en la EPROM, se suele usar la encriptacin
mediante fusibles para proteger el cdigo contenido.
-EPROM
Los microcontroladores que disponen de memoria EPROM (Erasable Programmable
Read OnIy Memory) pueden borrarse y grabarse muchas veces. La grabacin se realiza,
como en el caso de los OTP, con un grabador gobernado desde un PC. Si, posteriormente,
se desea borrar el contenido, disponen de una ventana de cristal en su superficie por la
que se somete a la EPROM a rayos ultravioleta durante varios minutos. Las cpsulas son
de material cermico y son ms caros que los microcontroladores con memoria OTP que
estn hechos con material plstico. Hoy da se utilizan poco, siendo sustituidas por
memorias EEPROM o Flash.
-EEPROM
Se trata de memorias de slo lectura, programables y borrables elctricamente EEPROM
(Electrical Erasable Programmable Read OnIy Memory). Tanto la programacin como el
borrado, se realizan elctricamente desde el propio grabador y bajo el control
programado de un PC. Es muy cmoda y rpida la operacin de grabado y la de borrado.
No disponen de ventana de cristal en la superficie.
Los microcontroladores dotados de memoria EEPROM una vez instalados en el circuito,
pueden grabarse y borrarse cuantas veces se quiera sin ser retirados de dicho circuito.
Para ello se usan "grabadores en circuito" que confieren una gran flexibilidad y rapidez a
la hora de realizar modificaciones en el programa de trabajo.
El nmero de veces que puede grabarse y borrarse una memoria EEPROM es finito, por
lo que no es recomendable una reprogramacin contina. Hoy da estn siendo
sustituidas por memorias de tipo Flash.
14 | P a g e
- FLASH
Se trata de una memoria no voltil, de bajo consumo, que se puede escribir y borrar.
Funciona como una ROM y una RAM pero consume menos y es ms pequea.
A diferencia de la ROM, la memoria FLASH es programable en el circuito. Es ms rpida
y de mayor densidad que la EEPROM.
La alternativa FLASH est recomendada frente a la EEPROM cuando se precisa gran
cantidad de memoria de programa no voltil. Es ms veloz y tolera ms ciclos de
escritura/borrado. Son idneas para la enseanza y la Ingeniera de diseo.
Las memorias EEPROM y FLASH son muy tiles al permitir que los microcontroladores
que las incorporan puedan ser reprogramados "en circuito", es decir, sin tener que sacar
el circuito integrado de la tarjeta. As, un dispositivo con este tipo de memoria
incorporado al control del motor de un automvil permite que pueda modificarse el
programa durante la rutina de mantenimiento peridico, compensando los desgastes y
otros factores tales como la compresin, la instalacin de nuevas piezas, etc. La
reprogramacin del microcontrolador puede convertirse en una labor rutinaria dentro de
la puesta a punto.
15 | P a g e
16 | P a g e
17 | P a g e
18 | P a g e
19 | P a g e
El MPLABMPLAB-IDE
Es una Plataforma de Desarrollo Integrada bajo Windows, con mltiples prestaciones,
que permite escribir el programa para los PIC en Lenguaje Ensamblador (assembler) o
en C (el compilador C se compra aparte), crear proyectos, ensamblar o compilar , simular
el programa y finalmente programar el componente, si se cuenta con el programador
adecuado.
MPLAB incorpora todas las utilidades necesarias para la realizacin de cualquier
proyecto y, para los que no dispongan de un emulador, el programa permite editar el
archivo fuente en lenguaje ensamblador de nuestro proyecto, adems de ensamblarlo y
simularlo en pantalla, pudiendo ejecutarlo posteriormente en modo paso a paso y ver
como evolucionaran de forma real tanto sus registros internos, la memoria RAM y/o
EEPROM de usuario como la memoria de programa, segn se fueran ejecutando las
instrucciones. Adems el entorno que se utiliza es el mismo que si se estuviera utilizando
un emulador.
Partes de MPLAB-IDE:
~EDITOR: Editor incorporado que permite escribir y editar programas u otros
archivos de texto.
~PROJECT MANAGER: Organiza los distintos archivos relacionados con un
programa en un proyecto. Permite crear un proyecto, editar y simular un
programa. Adems crea archivos objetos y permite bajar archivos hacia
emuladores (MPLAB-ICE) o simuladores de hardware (SIMICE).
~SIMULADOR: Simulador de eventos discretos que permite simular programas con
ilimitados breakpoint, examinar/modificar registros, observar variables, tiempos y
simular estmulos externos.
~ENSAMBLADOR: Genera varios tipos de archivos objetos y relacionados, para
programadores Microchip y universales.
~LINKER: Permite unir varios archivos objetos en uno solo, generados por el
ensamblador o compiladores C como MPAB-C18 o compiladores de terceros.
~PROGRAMADOR: Mplab-IDE puede trabajar con varios tipos de programadores.
El usuario debe seleccionar con cual trabajar, haciendo clic en opcin
Programmer/ Select programmer, se pueden seleccionar 4 programadores
distintos:
- Picstart Plus
20 | P a g e
- MPLAB ICD 2
- MPLAB PM 3
Men View
Seguidamente analizaremos las distintas posibilidades que ofrece el men view:
Si pulsamos en cada uno de los tres botones de la parte inferir de esta ventana
podemos seleccionar tres formas de ver la memoria de programa:
~ Opcode Hex: representa la memoria de programa con los datos en hexadecimal.
Esta opcin es muy til al usar el programador del dispositivo y comprobar si se
grabaron bien los datos.
~ Machine: esta opcin presenta el cdigo mquina ensamblado con la
informacin de las etiquetas y direcciones de memoria que tienen asignadas.
21 | P a g e
Watch: MPLAB permite supervisar los contenidos de los registros a travs de esta
ventana. Para agregar los registros a visualizar, se puede hacer directamente
escribindolos con el teclado o mediante los botones Add SFR o Add Symbol y las
ventanas desplegables correspondientes.
22 | P a g e
23 | P a g e
24 | P a g e
Una tercera parte se absorbe en las aplicaciones relacionadas con los ordenadores
y sus perifricos.
La cuarta parte se utiliza en las aplicaciones de consumo (electrodomsticos,
juegos, TV, vdeo, etc.)
El 16% de las ventas mundiales se destin al rea de las comunicaciones.
Otro 16% fue empleado en aplicaciones industriales.
El resto de los microcontroladores vendidos en el mundo, aproximadamente un
10% fueron adquiridos por las industrias de automocin.
25 | P a g e
Si vamos a emplear este equipo para controlar, por ejemplo, una heladera deberemos
conectar el compresor entre los contactos Comn y Normal cerrado del rel. De esta
forma cuando la temperatura alcance el tope superior del seteo se encender el
compresor y, cuando de tanto enfriar, alcance el tope inferior lo apagar.
Si, en cambio, vamos a usar esto para calefaccionar, deberemos conectar el elemento
calefactor entre los contactos Comn y Normal Abierto del rel. De esta forma, cuando la
temperatura caiga bajo el seteo inferior el calefactor arrancar y, cuando de tanto
calentar, supere el tope el calefactor ser desconectado.
A primera vista el programa parece algo complicado por lo extenso, pero es muy simple
de entender. Primeramente se definen las posiciones de memoria a utilizar y los bits a
emplear. Luego se inicializan las posiciones que as lo requieran y se lee de la EEPROM
interna los seteos. Seguidamente se inicializa el LCD y se completan los caracteres fijos.
Tras la primera conversin se coloca la temperatura en pantalla as como los seteos. Estos
tres parmetros (Temp. actual, seteo inferior y seteo superior) son los nicos datos que se
modifican en el LCD. Se compara si la temperatura est por debajo de la mnima para
conectar el rel o por sobre la mxima para desconectarlos. Luego se controlan las teclas
de mando, si alguna es accionada se acta en consecuencia y por ltimo cicla al principio
donde se toma una nueva muestra de la temperatura.
27 | P a g e
Los displays son de ctodo comn, los ctodos de todos los segmentos estn unidos entre
s y se conectan de la siguiente forma: los nodos del segmento 'a' de cada uno de los
displays conectados entre s. Los nodos del segmento 'b' de cada uno de los displays
conectados entre s, los nodos del segmento 'c' de cada uno de los displays conectados
entre s.... y as con todos los segmentos. Y los ctodos (comunes) de cada uno de los
displays van por separado a un transistor diferente.
Segn esto parece que todos los displays se tendran que encender con el mismo nmero,
pero no es as ya que el PIC va encendiendo cada display de uno en uno y con el nmero
que le corresponde de forma muy rpida, de tal forma que parece que estn todos los
displays encendidos a la vez. Esto es una prctica muy comn y es muy til para
ahorrarnos cableado y pines del PIC, imagnate la cantidad de pines que tendra que tener
si manejramos todos los segmentos de todos los displays por separado...
Usando los pulsadores del 1 al 3 del circuito lograremos poner nuestro reloj en hora, as
como tambin, setear la hora la cual nos dar el pulso para activar el relevo PL y luego
usaremos para activar otro circuito el cual nos accionara un motor para abrir o cerrar la
28 | P a g e
puerta, por ejemplo abrirla a las 7:00 a.m. y luego cerrarla a las 7:00 p.m. cuando hayan
cesado las labores del centro comercial.
29 | P a g e
Conclusin
La educacin es un proceso interminable, puesto que cada da se aprende cosas nuevas o
se actualizan las ya conocidas o aprendido, los profesionales debemos estn
constantemente actualizando nuestros conocimientos para estar a la par de los avances
tecnolgicos.
La elaboracin de este proyecto nos sirve para comprender un poco ms la teora de los
microcontroladores y su aplicacin; de ah la importancia del mismo, pues a travs de l se
puede apreciar lo interesante que es la programacin en nuestra vida cotidiana.
Con la llegada de los PIC se abre un nuevo campo para el diseador de sistemas
automatizados, ya que podemos implementar sistemas que requieren una gran
capacidad de proceso con un coste mucho menor que cualquiera de las soluciones
existentes. No obstante, no tenemos que lanzarnos alocadamente a programar PIC para
todas las aplicaciones, sino que debemos escoger el sistema ms adecuado a nuestras
necesidades.
Particularmente, creo que la importancia radica en la programacin y una buena
direccin del proyecto, podemos tener un sistema con microcontroladores y darle
diferentes aplicaciones y funciones con solo cambiar el programa.
Despus de estudiar varios autores, me atrevo a recomendar los microcontroladores PIC
puesto que utilizan la arquitectura Harvard, la cual separa la memoria de programa de la
memoria de datos. Esto hace que el dispositivo tenga un bus de datos y un bus de
memoria de programa, hecho que permite acceder a ambos simultneamente. En el caso
de la memoria de programa es interna, ya que se encuentra en forma de EPROM o FLASH
dentro del propio PIC.
Esta estructura, acompaada de un pipeline, permite que las instrucciones se ejecuten en
un slo ciclo de reloj, salvo en el caso de saltos/rupturas de programa. Lo que se hace
internamente es que mientras se ejecuta la instruccin actual se carga la siguiente
instruccin en el pipeline, con lo que se alcanza una alta velocidad de ejecucin.
Para aprender a usar estos dispositivos, es recomendado tener una tarjeta entrenadora,
esto adems de los programadores y simuladores, el MPLAB es muy fcil de usar, y
tambin lo considero muy completo, convirtindose as en una herramienta indispensable
para los que queremos dedicar tiempo para desarrollar proyectos con
microcontroladores.
30 | P a g e
Bibliografa
Microcontroladores PIC 16F84. Desarrollo de proyectos. Fernando Ramiro, Lucas J. Lpez,
Alfa omega, 2004
MICROCONTROLADORES: FUNDAMENTOS Y APLICACIONES CON PIC
Pallas, Ramn; Valds, Fernando (MARCOMBO, EDICIONES TCNICAS)
1 edicin, 2007
MICROCONTROLADORES PIC 2 PARTE. PIC 16F87X. DISEO PRCTICO DE APLICACIONES
Angulo Usategui, Jos Mara; Romero Yesa, Susana & Angulo Martnez, Ignacio (Editorial
McGraw-Hill), 2 edicin, 2006
PROGRAMACIN DE MICROCONTROLADORES PIC: Desarrollo de 30 proyectos con pic
Primera edicin, Ibrahim Dogan, 2007
PROGRAMACIN DE MICROCONTROLADORES PIC
IBRAHIM DOGAN (MARCOMBO), 1 edicin 2007.
MPASM Assembler, MPLINK Object Linker, MPLIB Object Librarian
Users Guide
MicroChip/ 2005
Pginas de internet
Es.wkibooks.org
Monografas.com
Es.wikipedia.org
electrnica.udea.co
apuntes.rincondelvago.com
31 | P a g e