Vous êtes sur la page 1sur 39

Microcontroladores

Ing. Jos V. Benites Yarlequ


2013

Definicin
Aplicaciones
Ventajas y desventajas
Arquitectura del microcontrolador
Familias de Microcontroladores
El microcontrolador 16F84
Antecedentes.
Descripcin de Pines.
Utilidad de los Microcontroladores

Definicin
Un microcontrolador es un dispositivo electrnico capz
de llevar a cabo procesos lgicos. Estos procesos o
acciones son programados en lenguaje ensamblador
por el usuario, y son introducidos en este a travs de un
programador.
Los microcontroladores son utilizados como su nombre
lo indica para controlar. Son muy utilizados para
implementar controles automticos. Como ejemplo, un
microcontrolador puede sensar la temperatura de un
proceso, compararla con un valor almacenado en
memoria y tomar la decisin de encender un equipo de
calefaccin si la temperatura baja de cierto valor, y
adems de ello mostrar el valor en un display.

Los
microcontroladores
generalmente
tienen
instrucciones especiales que permiten controlar
procesos como el indicado anteriormente y otros ms
complejos; todo depende de la habilidad del
programador para generar el cdigo para manejar el
proceso. Un microcontrolador es simplemente un
procesador con memoria EEPROM, FEPROM, RAM,
puertos de E/S y otros dispositivos de propsito especial
como conversores A/D, contadores, temporizadores y
puertos de comunicacin, o en otras palabras es un
microcomputador con funciones especiales.

Aplicaciones
Robtica: los sistemas basados en microcontroladores
se usan extensivamente en robtica para realizar
procesos industriales.
Captura de datos: temperatura, lluvia, radiacin , etc. es
una
de
las
aplicaciones
especiales
de
los
microcontroladores
Sistemas porttiles y autnomos : debido a su pequeo
tamao y bajo consumo
Industria Automotrz: es uno de los mayores mercados
de microcontroladores ya que son utilizados en los
sistemas de mandos , diagnsticos computarizados y de
control electrnico del automvil.
Sector domstico : utilizado en video, equipos de
sonido, microondas, equipo informtico

Ventajas de los microcontroladores


Reune en un slo circuito integrado varios
elementos
Se logra al disminucin del hardware y circuitos.
Menor complejidad de los circuitos impresos
Mayor fiabilidad del sistema.
Al haber menor nmero de componentes disminuyen
las conexiones y las fuentes de error.
Disminucin de costos
Ms barato que los componentes que reemplaza.
Simplificacin en la fabricacin y mano de obra.
Vlido para mayor nmero de aplicaciones
-- reduccin de costo y volumen.
Tecnologa MOS, CMOS o HCMOS
Disminucin del consumo

Arquitectura interna
Como ya hemos visto, un microcontrolador es un
dispositivo complejo, formado por otros ms sencillos. A
continuacin se analizan los ms importantes:
a) Procesador:
Es la parte encargada del procesamiento de las
instrucciones. Debido a la necesidad de conseguir
elevados rendimientos en este proceso, se ha
desembocado en el empleo generalizado de
procesadores de arquitectura Harvard.
Es el elemento ms importante del microcontrolador y
determina sus principales caractersticas, tanto a nivel
hardware como software.


Se encarga de direccionar la memoria de instrucciones,
recibir el cdigo
de la instruccin en curso, su
decodificacin y la ejecucin de la operacin que implica
la instruccin, as como la bsqueda de los operandos y
el almacenamiento del resultado.
A continuacin se indica los 2 tipos de Arquitectura que
se han empleado en los procesadores las cuales son la
siguientes:

Arquitectura Von Neumann


Arquitectura Harvard

Arquitectura de Von Neumann: Este tipo de


arquitectura se caracterizaba porque la CPU se
conectaba con una memoria nica, donde
coexistan datos e instrucciones, a travs de un
sistema de buses.

La arquitectura Harvard : dispone de dos memorias


independientes una, que contiene slo instrucciones y otra,
slo datos. Ambas disponen de sus respectivos sistemas
de buses de acceso y es posible realizar operaciones de
acceso (lectura o escritura) simultneamente en ambas
memorias.

b) Memoria :
El microcontrolador est diseado para que en su
memoria de programa se almacenen todas las
instrucciones del programa de control. Como ste siempre
es el mismo, debe estar grabado de forma permanente.
Existen algunos tipos de memoria adecuados para
soportar estas funciones, de las cuales se citan las
siguientes:
ROM con mscara: se graba mediante el uso de
mscaras. Slo es recomendable para series muy
grandes debido a su elevado coste.
EPROM: se graba elctricamente con un programador
controlador por un PC. Disponen de una ventana en la
parte superior para someterla a luz ultravioleta, lo que
permite su borrado. Puede usarse en fase de diseo,
aunque
su
coste
unitario
es
elevado.


EEPROM: tambin se graba elctricamente,
pero su borrado es mucho ms sencillo, ya que
tambin es elctrico. No se pueden conseguir
grandes capacidades y su tiempo de de
escritura y su consumo es elevado.
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 que
suelen disponer de mayor capacidad que estas
ltimas. Son recomendables aplicaciones en las
que es necesario modificar el programa a lo
largo de la vida del producto.

c) Lneas de Entrada/Salida (E/S):


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.

Arquitectura del Microcontrolador

d) 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 los siguientes:
Circuito de reloj: se encarga de generar los impulsos
que sincronizan el funcionamiento de todo el sistema.
Temporizadores: orientados a controlar tiempos.
Perro Guardin o WatchDog: se emplea para
provocar una reinicializacin cuando el programa queda
bloqueado.
Conversores AD y DA: Para poder recibir y enviar
seales analgicas.
Sistema de proteccin: Ante fallos de alimentacin.
Estados de reposos: Gracias a los cuales el sistema
queda congelado y el consumo de energa se reduce al
mnimo.

Familias de Microcontroladores
8048 (Intel). Es el padre de los microcontroladores
actuales, el primero de todos. Su precio, disponibilidad y
herramientas de desarrollo hacen que todava sea muy
popular.
8051 (Intel y otros). Es sin duda el microcontrolador
ms popular. Fcil de programar, pero potente. Est bien
documentado y posee cientos de variantes e incontables
herramientas de desarrollo.
80186, 80188 y 80386
(Intel). Versiones en
microcontrolador de los populares microprocesadores
8086 y 8088. Su principal ventaja es que permiten
aprovechar las herramientas de desarrollo para PC.


683xx (Motorola). Surgido a partir de la popular familia
68k, a la que se incorporan algunos perifricos. Son
microcontroladores de altsimas prestaciones.
PIC (MicroChip). Familia de microcontroladores que
gana popularidad da a da. Fueron los primeros
microcontroladores RISC.
68HC11 (Motorola y Toshiba). Es un microcontrolador
de 8 bits potente y popular con gran cantidad de
variantes.

Microcontrolador 16F84

Antecedentes
Los microcontroladores de Microchip fueron los primeros
dispositivos RISC. ( significa que el dispositivo tiene un
nmero reducido de instrucciones), lo cual implica
simplicidad en su arquitectura y bajo costo. Aunque estos
microcontroladores tienen pocas instrucciones en la
actualidad son muy utilizados por su facilidad de
programacin y costo reducido.
Estos dispositivos son de arquitectura Harvard, por lo cual
tienen buses de datos y direcciones separados. Los
beneficios que tiene este dispositivo frente a los dems es
su sencillez, lo cual permite fabricarlo en chips muy
pequeos, con la ventaja adicional de consumir muy poca
energa.
Actualmente existen varias familias de este
microcontrolador entre las cuales se pueden destacar la
PIC16C5X, PIC16CXX, que tambin se pueden conseguir
con memoria Flash en las familiasPIC16FXXX

Microcontrolador 16F84

Se trata de un microcontrolador de 8 bits. Es un PIC de gama


baja, cuyas caractersticas podemos resumir en:
Memoria de 1K x 14 de tipo Flash
Memoria de datos EEPROM de 64 bytes
Memoria SRAM 68 bytes
Tiene 13 lneas de E/S con control individual.
Frecuencia de funcionamiento mxima de 10 Mhz.
Tiene 4 fuentes de interrupcin
- Activacin del pin RB0/INT
- Desbordamiento del TMR0
- Cambio de estado en alguna pin RB4-RB7
- Fin de la escritura de la EEPROM de datos.
Temporizador/contador TMR0 programable de 8 bits.
Perro Guardin o WatchDog

Distribucin de pines

Descripcion de Pines
OSC1/CLKIN y OSC2/CLKOUT: (pines15 y 16)
son los pines de la entrada de cristal/ fuente externa de
reloj y salida de oscilador a cristal respectivamente. Los
distintos elementos de la familia 16X84X, dependiendo
de la nomenclatura que utilizan tienen distintas
caractersticas de:
-Frecuencia mxima de funcionamiento.
-Tipo de oscilador utilizado para generar frecuencias
de reloj.
-Margen de la tensin de alimentacin. Los modelos
que contienen las letras C, F o CR admiten tensiones de
alimentacin comprendidas entre 4V y 4,5V como
mnimo hasta 5,5V a 6V como mximo. Los modelos
que contienen las letras LC, LF o LCR admiten desde
2V a 6V.


RA0-RA4/TOCK1 : (Pines 17,18,1,2 y 3 )
Corresponden a cuatro lneas bidireccionales de E/S del
PUERTO A. Es capaz de entregar niveles TTL cuando la
tensin de alimentacin aplicada en VDD es de 5V 5%..
Como entrada puede programarse en funcionamiento
normal o como entrada del contador/temporizador TMR0.
RB0-RB7: (Pines 6,7,8,9,10,11,12 y 13 )
Corresponden a ocho lneas bidireccionales de E/S del
PUERTO B. Es capaz de entregar niveles TTL cuando la
tensin de alimentacin aplicada en VDD es de 5V 5%.
RB0 puede programarse adems como entrada de
interrupciones externas INT. Los pines RB4 a RB7 pueden
programarse para responder a interrupciones por cambio
de estado. La patilla RB6 y RB7 corresponden con las
lneas de entrada de reloj y entrada de datos
respectivamente, cuando est en modo programacin.


MLCR /Vpp: (pin 4)
Entrada de Reset, si est a nivel bajo y entrada de la
tensin de programacin cuando se est programando
el dispositivo.
VSS y VDD: (pines 5 y 14) son respectivamente las
patitas de masa y alimentacin. Est comprendida entre
2V y 6V (Recomendados 5V).

Organizacin de memoria
A continuacin podemos ver la organizacin de la
memoria del microcontrolador 16F84:
Podemos comprobar como la memoria est dividida en
dos bancos :
Banco 0 y Banco 1.
Las primeras 12 posiciones de cada banco (00h-0Bh y
80h-8Bh) estn ocupadas por los Registros de
Propsito Especial,
Estos registros,
son los
encargados de controlar ciertas funciones especficas del
PIC.
Las 68 posiciones siguientes (0Ch-4Fh y 8Ch-CFh) son
los denominados Registros de Propsito General,
stos son empleados para guardar cualquier dato que
necesitemos durante la ejecucin del programa.

Descripcion de los registros


Banco 0

TMR0: es un temporizador/contador de 8 bits. Puede operar de dos


modos distintos:
-Temporizador: el registro incrementa su valor en cada ciclo de
instruccin (Fosc/4).
-Contador: el registro incrementa su valor con cada impulso
introducido en la patita RA4/TOSKI.
En ambos casos, cuando el registro se desborda, es decir, llega a su
valor mximo (en este caso 2^8 = 256. Como el 0 tambin se cuenta,
el mximo valor sera 255), empieza de nuevo a contar a partir del 0,
no sin antes informar de este evento a travs de la activacin de un
flag y/o una interrupcin.

PCL: es el contador del programa. Indica la direccin de memoria


que se leer a continuacin. En algunas ocasiones, como el empleo
de las tablas, el uso de este registro es imprescindible.

STATUS: registro de 8 bits que sirve para configurar ciertos aspectos


del PIC. En la siguiente figura se aprecia la disposicin de los bits de
dicho registro:

RP0: indica el banco de memoria con el que se est trabajando.


Cuando vale 0 se selecciona el Banco 0, cuando vale 1 el Banco 1.
PORTA: representacin de la puerta A. Cada bit representa una lnea
de E/S de la puerta A:

PORTB: lo mismo que la puerta A, pero en este caso con 8 lneas


de E/S

Banco 1
TRISA: registro de 8 bits de configuracin de la puerta A. Si un bit se
encuentra en 1, esa lnea de E/S se configura como entrada; si, en
cambio, se encuentra a 0, se configura como salida
TRISB: lo mismo que TRISA, pero referente a la puerta B.
Finalmente cabe destacar el registro W, tambin conocido como
registro de trabajo o acumulador. Es de vital importancia ya que,
entre otras, deberemos usarlo de registro puente para llevar a cabo
ciertas operaciones.

Utilidad
de Microcontroladores

Climatizador

Entrenador Programador con 16F84

Central de Alarmas

Controlador de teclado

Resumen Microcontrolador 16F84


MEMORIA DE PROGRAMA: 1 K x 14
MEMORIA DE DATOS: 36 bytes (PIC16C84) y 68 bytes
(PIC16F84)
MEMORIA DE DATOS EEPROM: 64 bytes
PILA (Stack): De 8 niveles
INTERRUPCIONES: 4 tipos diferentes
JUEGO DE INSTRUCCIONES: 35
ENCAPSULADO: Plstico DIP de 18 patillas
FRECUENCIA DE TRABAJO: 10 MHz 20MHz
TEMPORIZADORES: Slo uno el TMR0. Tambien tiene
Perro Guardin (WDT)
LINEAS DE E/S DIGITALES: 13 (5 Puerta A y 8 Puerta B)
VOLTAJE DE ALIMENTACION (VDD): De 2 a 6 V DC
VOLTAJE DE GRABACION (VPP): De 12 a 14 V DC

Arquitectura

Instrucciones de carga

Instrucciones de BIT