Вы находитесь на странице: 1из 14

Programacin de Microcontroladores

Semestre Febrero Julio 2010

MANUAL DE APUNTES
Mdulo 5:
Mantenimiento a sistemas de control industrial con PLC y PIC
Submdulo 1:
Programacin del Microcontrolador.
UNIDAD 1
Determinar las caractersticas de los Microcontroladores.
1.1Identificar las diferencias tcnicas con el microprocesador.
1.2Determinar su estructura interna.
El procesador.
Memoria del programa.
Memoria de datos.
Lneas de E/S para los controladores de perifricos.
1.3Aplicar las normas:
Tcnicas.
NOM-001 STPS 1999
UNIDAD 2
Seleccionar el tipo de Microcontrolador de acuerdo a la aplicacin.
2.1Determinar las caractersticas de acuerdo a las familias
Recursos fundamentales
Recursos auxiliares
UNIDAD 3
Efectuar programacin del Microcontrolador.
3.1Elaborar diagramas de flujo.
3.2Aplicacin de un lenguaje de programacin.
3.3Aplicar repertorio de instrucciones.
3.4Operar equipo de programacin y prueba de Microcontroladores
UNIDAD 4
Realizar proyectos con Microcontroladores.

Prof. Ing. Manuel Corts Gonzlez

Programacin de Microcontroladores

Semestre Febrero Julio 2010

Bibliografa
1. Microcontroladores PIC Diseo Prctico de Aplicaciones
Angulo Usategui, Angulo Martnez
Mc Graw Hill
2. Electrnica Practica con Microcontroladores
Santiago Corrales V
Microchip
3. Microcontrolador PIC16f84 Desarrollo de Proyectos
Palacios, Remiro, Lpez
Alfaomega RA - MA
4. Microcontroladores PIC Programacin en BASIC
Carlos A. Reyes
Microchip

Criterios de Evaluacin

Investigaciones
Tareas
Exposicin
Ejercicios
Asistencias
Participaciones
Evaluaciones
Prcticas
Proyecto

Unidad 1
Determinacin de las caractersticas de los
Microcontroladores.
2

Prof. Ing. Manuel Corts Gonzlez

Programacin de Microcontroladores

Semestre Febrero Julio 2010

Introduccin a los Microcontroladores


Qu es un Microcontrolador?
Es un circuito integrado programable que contiene todos los componentes de un computador. Se
emplea para controlar el funcionamiento de una tarea determinada y, debido a su reducido
tamao, suele ir incorporado en el propio dispositivo al que gobierna. Esta ltima caracterstica
es la que le confiere la denominacin de controlador incrustado (embedded controller).
El microcontrolador es un computador dedicado. 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.
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. No es aventurado pronosticar que en el siglo XXI habr pocos elementos que
carezcan de microcontrolador. 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 (vase
Figura 1.1).
Los electrodomsticos de lnea blanca (lavadoras, hornos, lavavajillas, etc.) as como electrnicos
(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.

Fig. 1.1 Microcontrolador de Teclado y Ratn

Las comunicaciones y sus sistemas de transferencia de informacin utilizan profusamente estos


pequeos computadores incorporndolos en los grandes automatismos y en los modernos
telfonos. La instrumentacin y la biomdica son dos campos idneos para la implantacin de
estos circuitos integrados. Una importante industria consumidora de microcontroladores es la
Prof. Ing. Manuel Corts Gonzlez
3

Programacin de Microcontroladores

Semestre Febrero Julio 2010

automovilstica, que los aplica en el control de aspectos tan populares como la climatizacin, la
seguridad y los frenos ABS.
Las comunicaciones y los productos de consumo general absorben ms de la mitad de la
produccin de microcontroladores. El resto se distribuye entre el sector automovilstico,
informtico e industrial.

Diferencia entre microprocesador y microcontrolador


El microprocesador es un circuito integrado que contiene la Unidad Central de Proceso (CPU),
tambin llamada procesador, de un computador. La CPU est formada por la Unidad de Control,
que interpreta las instrucciones, y el Camino de Datos, que las ejecuta.
Las patitas de un microprocesador sacan al exterior las lneas de sus buses de direcciones, datos
y control, para permitir conectarle con la Memoria y los Mdulos de E/S (Entrada Salida) y
configurar una computadora implementado por varios circuitos integrados. Se dice que un
microprocesador es un sistema abierto porque su configuracin es variable de acuerdo con la
aplicacin a la que se destine (Figura 1.2).

Fig. 1.2 Estructura de un sistema abierto basado en un microprocesador. La disponibilidad de los buses
en el exterior- permite que se configure a la medida de la aplicacin.

Un microprocesador es un sistema abierto con el que puede construirse una computadora con
las caractersticas que se desee, acoplndole los mdulos necesarios.
Un microcontrolador es un sistema cerrado que contiene un computador completo y de
prestaciones limitadas que no se pueden modificar.

Prof. Ing. Manuel Corts Gonzlez

Programacin de Microcontroladores

Semestre Febrero Julio 2010

Figura 1.3. El microcontrolador en un sistema cerrado. Todas las partes del computador estn
contenidas en su interior y slo salen al exterior las lneas que gobiernan los perifricos

Si slo se dispusiera de un modelo de microcontrolador, ste debera tener muy potenciados


todos sus recursos para poderse adaptar a las exigencias de las diferentes aplicaciones. Esta
potenciacin supondra en muchos casos un desperdicio. En la prctica cada fabricante de
microcontroladores oferta un elevado nmero de modelos diferentes, desde los ms sencillos
hasta los ms poderosos. Es posible seleccionar la capacidad de las memorias, el nmero de
lneas de E/S, la cantidad y potencia de los elementos auxiliares, la velocidad de funcionamiento,
etc. Por todo ello, un aspecto muy destacado del diseo es la seleccin del microcontrolador a
utilizar.

EJEMPLO
Un horno microondas se gobierna mediante un microcontrolador en el que se almacena el programa de control
de 382 instrucciones, cada una de las cuales ocupa una palabra de la memoria de cdigo. Para soportar el
teclado y la pantalla LCD se necesitan 12 lneas de EIS.
Cul de los tres siguientes microcontroladores ser el ms recomendable utilizar?
Tipo de PIC
Memoria
Lneas EIS
Costo
PIC16F83
512
13
$86.00
PIC16F84
1024
13
$110.00
PI16C74
4096
33
$185.00
SOLUCIN
Para esta aplicacin es suficiente el PIC16F83 y su empleo supone una importante economa.

Diferencias Entre Microprocesador Y El Microcontrolador

Microprocesador

Microcontrolador

Es un CHIP (Circuito Integrado) que procesa o


manipula la informacin almacenada en la
memoria (datos y/o instrucciones), requiere
de
perifricos adicionales
para
su
operacin, tiene muy altas prestaciones y
capacidades, de precio elevado y tamao
considerable.

Computador completo junto a diversos


recursos auxiliares con prestaciones y
capacidades limitadas, de muy bajo costo y
tamao reducido.

Es un sistema digital cerrado


RAM de poca capacidad interna (bytes o
Prof. Ing. Manuel Corts Gonzlez

Programacin de Microcontroladores

Es un sistema digital abierto


Requiere de RAM externa de gran
capacidad (Mbytes)
Memoria de programa muy extensa
Requiere
un
decodificador
por
dispositivo y por puerto externo.
Velocidades de operacin de hasta
Giga/Tera MIPS
Son de uso y propsito general
Costo de desarrollo e implementacin
elevado
Gran dificultad para el desarrollo /
implementacin
Tendencia a la centralizacin de las
tareas
Capacidad de realizar multitareas no
limitadas
Interrupciones Vectorizadas
Muchos modos de direccionamiento
Casi todos son CISC
Tiempo de aprendizaje/desarrollo elevado
Para el Ao 2002 se haban vendido
1000 Millones de Piezas.

Semestre Febrero Julio 2010

Kb)
Memoria de programa pequea (algunos
Kb)
No se requiere de decodificadores
de E/S o de memoria
Velocidad de operacin de algunos MIPS
Orientados a operaciones de E/S
Costo de desarrollo e implementacin
reducido
Muy fciles y sencillos de utilizar
Circuitos simples y tendencia a la
modularidad
Por lo general dan cabida a un slo
programa y el soporte de tareas
mltiples (de existir), es limitado
Dos o tres modos de direccionamiento
Casi todos son RISC
Tiempo de aprendizaje/desarrollo reducido
Para el Ao 2002 se haban
vendido 49.000 Millones de
Piezas.

Ventajas del microcontrolador sobre el microprocesador


Como se puede ver, existen algunas ventajas importantes cuando se realiza el diseo de un
circuito utilizando un microcontrolador:
El circuito impreso es mucho ms pequeo ya que muchos de los componentes se
encuentran dentro del circuito integrado.
El costo del sistema total es mucho menor, al reducir el nmero de componentes.
Los problemas de ruido que pueden afectar los sistemas con microprocesador se eliminan,
debido a que todo el sistema principal se encuentra en un slo encapsulado.
El tiempo de desarrollo de un sistema se reduce notablemente.

Arquitectura Interna
Un microcontrolador posee todos los componentes de una computadora, pero con unas
caractersticas fijas que no pueden alterarse.
Las partes principales de un microcontrolador son:
1. Procesador
2. Memoria no voltil para contener el programa
3. Memoria de lectura y escritura para guardar los datos
6

Prof. Ing. Manuel Corts Gonzlez

Programacin de Microcontroladores

Semestre Febrero Julio 2010

4. Lneas de EIS para los controladores de perifricos:


a) Comunicacin paralelo
b) Comunicacin serie
c) Diversas puertas de comunicacin (bus l2C, USB, etc.)
5. Recursos auxiliares:
a) Circuito de reloj
b) Temporizadores
c) Perro Guardin (Watchdog)
d) Conversores AD y DA
e) Comparadores analgicos
f) Proteccin ante fallos de la alimentacin
g) Estado de reposo o de bajo consumo
A continuacin se pasa revista a las caractersticas ms representativas de cada uno de los
componentes del microcontrolador.
1. El 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 (vase Figura 1.5).

Figura 1.5. En la arquitectura de von Neumann la UCP se comunicaba a travs de


un sistema de busescon la Memoria, donde se guardaban las instrucciones y los datos

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 (Figura 1.6).

Figura 1.6 En la arquitectura de Harvard la memoria de instrucciones y la de datos


son independientes, lo que permite optimizar sus caractersticas y propiciar el

Prof. Ing. Manuel Corts Gonzlez

Programacin de Microcontroladores

Semestre Febrero Julio 2010

paralelismo. En la figura, la memoria de instrucciones tiene 1 K posiciones de 14 bits


cada una, mantras que la de datos solo dispone de 512 posiciones de 1 byte.

El procesador de los modernos microcontroladores responde a la arquitectura RISC


(Computadores de Juego de Instrucciones Reducido), que se identifica por poseer un repertorio
de instrucciones mquina pequeo y simple, de forma que la mayor parte de las instrucciones se
ejecuta en un ciclo de instruccin.
Otra aportacin frecuente que aumenta el rendimiento del computador es el fomento del
paralelismo implcito, que consiste en la segmentacin del procesador (pipe-line),
descomponindolo en etapas para poder procesar una instruccin diferente en cada una de ellas
y trabajar con varias a la vez.
2. 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.
Como el programa a ejecutar siempre es el mismo, debe estar grabado de forma permanente.
Los tipos de memoria adecuados para soportar esta funcin admiten cinco versiones diferentes:
1a.ROM con mscara
En este tipo de memoria el programa se graba en el chip durante el proceso de su fabricacin
mediante el uso de mscaras. Los altos costes de diseo e instrumental slo aconsejan usar
este tipo de memoria cuando se precisan series muy grandes.
2a.EPROM
La grabacin de esta memoria se realiza mediante un dispositivo fsico gobernado desde un
computador personal, que recibe el nombre de grabador. En la superficie de la cpsula del
microcontrolador existe una ventana de cristal por la que se puede someter al chip de la
memoria a rayos ultravioletas para producir su borrado y emplearla nuevamente. Es interesante
la memoria EPROM en la fase de diseo y depuracin de los programas, pero su coste unitario es
elevado.
3a.OTP (Programable una vez)
Este modelo de memoria slo se puede grabar una vez por parte del usuario, utilizando el mismo
procedimiento que con la memoria EPROM. Posteriormente no se puede borrar. Su bajo precio y
la sencillez de la grabacin aconsejan este tipo de memoria para prototipos finales y series de
produccin cortas.
4a.EEPROM
La grabacin es similar a las memorias OTP y EPROM, pero el borrado es mucho ms sencillo al
poderse efectuar de la misma forma que el grabado, o sea, elctricamente. Sobre el mismo
zcalo del grabador puede ser programada y borrada tantas veces como se quiera, lo cual la
hace ideal en la enseanza y en la creacin de nuevos proyectos. El fabuloso PIC16C84 dispone
de 1 K palabras de memoria EEPROM para contener instrucciones y tambin tiene algunos bytes
de memoria de datos de este tipo para evitar que cuando se retira la alimentacin se pierda
informacin.
8

Prof. Ing. Manuel Corts Gonzlez

Programacin de Microcontroladores

Semestre Febrero Julio 2010

Aunque se garantiza 1.000.000 de ciclos de escritura/borrado en una EEPROM, todava su


tecnologa de fabricacin tiene obstculos para alcanzar capacidades importantes y el tiempo de
escritura de las mismas es relativamente grande y con elevado consumo de energa.
5a.FLASH
Se trata de una memoria no voltil, de bajo consumo, que se puede escribir y borrar en circuito
al igual que las EEPROM, pero suelen disponer de mayor capacidad que estas ltimas.
El borrado slo es posible con bloques completos y no se puede realizar sobre posiciones
concretas. En las FLASH se garantizan 1.000 ciclos de escritura-borrado.
Son muy recomendables en aplicaciones en las que sea necesario modificar el programa a lo
largo de la vida del producto, como consecuencia del desgaste o cambios de piezas, como
sucede con los vehculos.
Por sus mejores prestaciones est sustituyendo a la memoria EEPROM para contener
instrucciones.
De esta forma Microchip comercializa dos microcontroladores prcticamente iguales, que slo se
diferencian en que la memoria de programa de uno de ellos es tipo EEPROM y la del otro tipo
Flash. Se trata del PIC 16C84 y el PIC 16F84, respectivamente. En la actualidad Microchip tiene
abierta una lnea de PIC con memoria Flash cada vez ms extensa y utilizada.
3. Memoria de datos
Los datos que manejan los programas varan continuamente, y esto exige que la memoria que
les contiene debe 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.
La memoria tipo EEPROM y la tipo Flash pueden escribirse y borrarse elctricamente. Sin
necesidad de sacar el circuito integrado del zcalo del grabador pueden ser escritas y borradas
numerosas veces.
4. Lneas de E/S para los controladores de perifricos
A excepcin de dos patitas destinadas a recibir la alimentacin, otras dos para el cristal de
cuarzo, que regula la frecuencia de trabajo, y una ms para provocar el Reset, las restantes
patitas de un microcontrolador sirven para soportar su comunicacin con los perifricos externos
que controla.
Las lneas de E/S que se adaptan con los perifricos manejan informacin en paralelo y se
agrupan en conjuntos de ocho, que reciben el nombre de Puertas. Hay modelos con lneas que
soportan la comunicacin en serie; otros disponen de conjuntos de lneas que implementan
puertas de comunicacin para diversos protocolos, como el I2C, el USB, etc.
5. Recursos auxiliares
Segn las aplicaciones a las que orienta el fabricante cada modelo de microcontrolador,
incorpora una diversidad de complementos que refuerzan la potencia y la flexibilidad del
dispositivo.
Entre los recursos ms comunes se citan a los siguientes:

Prof. Ing. Manuel Corts Gonzlez

Programacin de Microcontroladores

Semestre Febrero Julio 2010

a) Circuito de reloj, encargado de generar los impulsos que sincronizan el funcionamiento de


todo el sistema.
b) Temporizadores, orientados a controlar tiempos.
c) Perro Guardin (watchdog), destinado a provocar una reinicializacin cuando el
programa queda bloqueado.
d) Conversores AD y DA, para poder recibir y enviar seales analgicas.
e) Comparadores analgicos, para verificar el valor de una seal analgica.
f) Sistema de proteccin ante fallos de la alimentacin.
g) Estado de Reposo, en el que el sistema queda congelado y el consumo de energa se
reduce al mnimo.

Instrumental de Trabajo
Siempre que se disea con circuitos integrados programables se precisan herramientas para la
puesta a punto del hardware y del software.
En la elaboracin de proyectos electrnicos con microcontroladores PIC, resulta muy importante
considerar una serie de herramientas, las cuales vamos a describir a continuacin:
Software: Con referencia al software, adems de los compiladores o intrpretes de los lenguajes
usados, es muy interesante disponer de simuladores software, que consisten en programas que
simulan la ejecucin de instrucciones representando el comportamiento interno del procesador y
el estado de las lneas de E/S. Como se simula por software al procesador, el comportamiento no
es idntico aunque proporciona una aproximacin aceptable, especialmente cuando no es
esencial el trabajo en tiempo real.
Microchip

pone

libremente a disposicin de sus usuarios, a travs de Internet


ensambladores como el MPASM y simuladores como el MPSIM. Ingeniera
de Microsistemas Programados, S. L., comercializa un simulador muy completo para el PIC16X84
y varios compiladores e intrpretes de lenguaje C y BASIC (http://www.microcontroladores.com).
(http://www.microchip.com),

Para la programacin en Lenguaje Basic, contamos con una gran variedad de posibilidades en el
mercado, y entre las cuales hemos elegido para esta primera edicin, el Ambiente Integrado de
Desarrollo Microcode Studio (IDE) de microEngineering Labs, Inc., adems del compilador Basic,
PICBasic Compiler, o PICBasic Pro Compiler. Con estas dos herramientas estaremos realizando la
programacin en cada uno de los proyecto.

10

Prof. Ing. Manuel Corts Gonzlez

Programacin de Microcontroladores

Semestre Febrero Julio 2010

Programador de Microcontroladores PIC: Respecto a las herramientas hardware, una


indispensable es el grabador, encargado de escribir el programa en la memoria del
microcontrolador. Existen grabadores muy completos, capaces de trabajar con muchos modelos
de diferentes familias, pero su elevado precio los aleja de los usuarios personales. Para estos
ltimos existen bastantes versiones de sencillos grabadores, especficos para ciertos modelos de
microcontroladores, que gobernados desde un computador personal se ofrecen por un precio
ligeramente superior al de un libro.

Placa de prototipos (Protoboard): proporciona al diseador conexiones sin soldaduras, con lo cual
se hace ms prctico el desarrollo de los proyectos electrnicos propuestos a lo largo de cada
captulo.

Multmetro digital: este instrumento de medicin ser muy til durante la elaboracin de los
circuitos propuetos en cada captulo.
11

Prof. Ing. Manuel Corts Gonzlez

Programacin de Microcontroladores

Semestre Febrero Julio 2010

Fuente de poder regulada con salida de voltaje variable.

Herramientas de corte, extractor de circuitos integrados, cable rgido para conexiones en la placa
de prototipos.

Osciloscopio: este instrumento se requiere para el desarrollo de algunas prcticas en las cuales
se hace necesario medir las seales generadas desde el microcontrolador.

12

Prof. Ing. Manuel Corts Gonzlez

Programacin de Microcontroladores

Semestre Febrero Julio 2010

Componentes electrnicos: microcontroladores PIC en los modelos definidos en cada ejemplo


prctico, resistencias, diodos, servomotores, condensadores, cristales y otros componentes.
Cada proyecto cuenta con una tabla en la cual se describen los componentes electrnicos que
debern ser utilizados en el cada montaje.

Unidad 2
Eleccin de los Microcontroladores.
Entre casi un centenar de fabricantes de microcontroladores que existen en el mundo es muy
difcil seleccionar el mejor. En realidad no existe, porque en cada aplicacin son sus
caractersticas especficas las que determinan el ms conveniente.
Los PIC tienen una gran aceptacin en la comunidad de tcnicos y aficionados que trabajan con
microcontroladores. Cunto durar este xito? Hasta que salga al mercado otro producto que
les robe esa imagen. Cul es la razn de la excelente acogida? Hay detalles que nos vuelven
locos a los profesionales de la Microelectrnica y Microinformtica; citamos los ms importantes
a nuestro juicio.
13

Prof. Ing. Manuel Corts Gonzlez

Programacin de Microcontroladores

Semestre Febrero Julio 2010

Sencillez de manejo
Precio
Buen promedio de parmetros: velocidad, consumo, tamao, alimentacin, cdigo
compacto, etctera.
Herramientas de desarrollo fciles y baratas
Diseo rpido
Disponibilidad inmediata
Compatibilidad del software en todos los modelos de la misma gama.

Los PIC deslumbran a quienes los usamos porque:

Su costo es comparativamente inferior al de los competidores


Poseen una elevada velocidad de funcionamiento
Tienen un juego reducido de instrucciones; 35 en la gama media
Los programas son compactos
Bajo consumo unido a un amplio rango de voltajes de alimentacin
Muchas herramientas software se pueden recoger libremente a travs de Internet desde
Microchip (http://www.microchip.com)
Existe una gran variedad de herramientas hardware que permiten grabar, depurar; borrar
y comprobar el comportamiento de los PIC
La gran variedad de modelos de PIC permite elegir el que mejor responde a los
requerimientos de la aplicacin.

Dentro de los diferentes tipos de microcontroladores los hay que procesan datos de 4, 8, 16 y 32
bits, sin embargo, el ms representativo y popular es el de 8 bits, al que pertenecen los PIC,
porque resulta el ms flexible y eficaz para la mayora de los diseos tpicos.

La Familia de los PIC


Una de las labores ms importantes del ingeniero de diseo es la eleccin del modelo de
microcontrolador que mejor satisfaga las necesidades del proyecto con el mnimo presupuesto.
En el 2003 el fabricante de los PIC dispone de ms de un centenar de versiones diferentes y cada
ao aumenta considerablemente su lista.
Microchip dispone de cuatro gamas de microcontroladores de 8 bits para adaptarse a las
necesidades de la mayora de los clientes potenciales.

14

Prof. Ing. Manuel Corts Gonzlez

Вам также может понравиться