Está en la página 1de 32

Electricidad y

Electrónica

Arquitectura de un microcontrolador
Programación de microcontroladores

CARRERA: INGENIERIA EN AUTOMATIZACION Y CONTROL INDUSTRIAL


ASIGNTATURA: PROGRAMACION DE MICROCONTROLADORES
PROFESOR: WILSON ROBLES ROBLES
FECHA: MARZO 2017
Introducción
• Los microcontroladores se encuentran
presentes en muchas tareas, artefactos y
procesos que realizamos y/o utilizamos
a diario. Un ejemplo de ello son: las
antiguas tarjetas telefónicas, un reloj
despertador, una alarma de autos y
casas, el Mouse de una computadora,
las lavadoras modernas, televisores,
microondas, teléfonos celulares,
sistemas de control de acceso,
controladores de temperatura, juguetes,
etc. Resumiendo están presentes en las
siguientes áreas: industriales,
automatización, telecomunicaciones,
automóviles, entretenimiento,
seguridad, robótica entre otras.
Introducción
• Los microcontroladores son una evolución de los microprocesadores,
nacidos en la década de los 70's, presentando en la actualidad completas
utilidades y aplicaciones, integrándose en un chip, funciones electrónicas que
antes eran posibles por circuitos externos separados.
• Imaginémonos un circuito integrado que controla externamente los
siguientes circuitos: memoria RAM, EPROM, convertidor
Analógico/Digital, comunicación serial, módulos temporizadores, entre
otros. Esto en la actualidad se encuentra contenido en un solo circuito
integrado de 18, 28 y 40 pines, lo que potencia las posibilidades de
aplicaciones.
Microcontrolador vs microprocesador
– En cuanto a los microcontroladores, en realidad, el nombre completo es PICmicro, aunque
generalmente se utiliza como Peripheral Interface Controller (controlador de interfaz
periférico). encargada de ejecutar una o mas operaciones de medición.
Microcontrolador vs microprocesador

Microprocesador Microcontrolador
El Microprocesador es igual de Es una de sus funciones
bruto que un micro, por lo cual principales, la cual se encarga
CPU solamente realiza sus funciones de dirigir sus operaciones.
con lo que tiene (datos) y su
algoritmo o programa
establecida.
Son dispositivos externos que lo Las incluye en un solo circuito
Memorias RAM y ROM complementan para su óptimo integrado.
funcionamiento.
Velocidad de operación Rapida Lenta

La configuración mínima básica El Microcontrolador incluye


de un Microprocesador está todo estos elementos en un
constituida por un Micro de 40 solo Circuito Integrado por lo
Tamaño Pines, Una memoria RAM de 28 que implica una gran ventaja en
Pines, una memoria ROM de 28 varios factores, como por
Pines y un decodificador de ejemplo, la disminución en el
direcciones de 18 Pines, lo cual tamaño del circuito impreso por
lo convierte en un circuito la reducción de los circuitos
bastante engorroso. externos.
Microcontrolador vs microprocesador

Para el Microprocesador, El costo para un sistema


el costo es muy alto en la basado en
Costos actualidad. Microcontrolador es
mucho menor.

Son más susceptibles a la El alto nivel de integración


interferencia reduce los niveles de
Interferencias electromagnética debido a interferencia
su tamaño y a su cableado electromagnética
externo que lo hace más
propenso al ruido.
El tiempo de desarrollo de Por el contrario, el de un
un microprocesador es microcontrolador es
Tiempo de desarrollo lento. rápido.
Diferencias en cuanto a su esquema
Diferencias en cuanto a su esquema
– Se puede observar en los esquemas anteriores , que la principal diferencia entre
ambos radica en la ubicación del registro de trabajo, que para los PIC’s se
denomina W (Working Register), y para los tradicionales es el Acumulador (A).
– En los microcontroladores tradicionales todas las operaciones se realizan sobre
el acumulador. La salida del acumulador esta conectada a una de las entradas
de la Unidad Aritmética y Lógica (ALU), y por lo tanto este es siempre uno de los
dos operandos de cualquier instrucción, las instrucciones de simple operando
(borrar, incrementar, decrementar, complementar), actúan sobre el acumulador.
– En los microcontroladores PIC, la salida de la ALU va al registro W y también a la
memoria de datos, por lo tanto el resultado puede guardarse en cualquiera de
los dos destinos.
– La gran ventaja de esta arquitectura(Microcontroladores ) es que permite un
gran ahorro de energia.
– Procesadores Microcontrolador Vs Microprocesador instrucciones ya que el
resultado de cualquier instrucción que opere con la memoria, ya sea de simple
o doble operando, puede dejarse en la misma posición de memoria o en el
registro W, según se seleccione con un bit de la misma instrucción . Las
operaciones con constantes provenientes de la memoria de programa (literales)
se realizan solo sobre el registro W.
Arquitectura de un Microcontrolador
• Un microcontrolador es un computador dedicado, con limitaciones y menos
prestaciones. Posee básicamente, las mismas partes que un computador y
un controlador lógico programable. Entre ellas tenemos:

– CPU (Unidad Central de Procesamiento)


– ALU (Unidad Lógico - Aritmética)
– Periféricos

Lógica de
ALU
Control
Memoria Memoria
de Datos de Programa

Periféricos
Arquitectura de un Microcontrolador
– Hemos comentado en el tema anterior que los microcontroladores son
una evolución más práctica de los microprocesadores, y esto se
fundamenta en dos aspectos importantes: los microcontroladores
albergan en su interior varios circuitos que los microprocesadores no
tienen. Esto se conoce como arquitectura cerrada (para los primeros)
y arquitectura abierta (para los segundos) y la arquitectura
tradicional del procesador del microcontrolador (Tipo Harvard) y de
los microprocesadores (Tipo Von Neumann).

Bus de Direcciones
Bus de Datos
µP
Bus de Control

Memoria Controladore Controladore


s s s

Periféricos Periféricos
Arquitecturas de Von Neuman
– Un único bus de datos para instrucciones y datos.
– Las instrucciones del programa y los datos se guardan conjuntamente en una
memoria común.
– Cuando la CPU se dirige a la memoria principal, primero accede a la instrucción
y después a los datos necesarios para ejecutarla, esto retarda el
funcionamiento.
Arquitecturas de RISC
• ARQUITECTURA RISC
La arquitectura RISC (Reduced Instructions Set Computer) o Juego de
Instrucciones Reducidas para Computadoras, posee un total de 35
instrucciones en lenguaje de máquina o ensamblador (assembler), con las
que se pueden realizar infinidades de programas para el microcontrolador,
lo que simplifica su uso. Los microprocesadores utilizan arquitectura CISC
(Complex Instructios Set Computers) y están por el orden de 80
instrucciones.
Arquitecturas de Hardvard
– El bus de datos y el bus de instrucciones están separados
– Acceso en paralelo:
• Cuando se está leyendo una instrucción, la instrucción actual está utilizando
el bus de datos. Una vez finalizada la instrucción actual, la siguiente ya está
disponible en la CPU.
• Permite una ejecución más rápida.
Como se comportaría un micro controlador en un
proceso a controlar
• Como lo haría cualquier sistema o circuito de control, sensando o tomando
información del proceso, realizando operaciones de comparación, o de
acceso, o de promedio, o de alarma, etc, y actuando sobre el mismo para
corregir, modificar, o mantener valores, según sean las exigencias del
diseño. A "grosso modo", lo podemos ilustrar formando parte de un lazo de
control cerrado o uno abierto:
Información

Proceso
Microcontrolador
que se desea controlar

Microcontrolador

Información
Características generales de los micro controladores
ARQUITECTURA INTERNA DE UN MICROCONTROLADOR PIC
Se dividen en tres grandes áreas:
1) Núcleo
Estas son las características básicas para la operatividad del microcontrolador. Están
constituidas por:
– Oscilador * Reset * CPU * ALU
– Memoria no volátil para programa (ROM)
– Memoria de lectura-escritura para datos (RAM)
– Memoria programable para datos (EEPROM/FLASH)
– Instrucciones
2) Periféricos
Es la parte que los diferencia con los microprocesadores. Permite la conexión con el
"mundo exterior". Destacan:
– Entradas/Salidas de utilidad general
– Módulo de captura, comparación y PWM
– Comunicación serial
– Comunicación paralela
– Comparadores
– Convertidores Analógico/Digital
Arquitecturas de Hardvard
3) Características Especiales ó Recursos Auxiliares
Contribuyen a reducir el costo del sistema, incrementan la flexibilidad de diseño y
brindan mayor fiabilidad. Entre ellas tenemos:
– Bits de configuración
– Reset de encendido
– Temporizador WATCHDOG
– Modo reposo ó de bajo consumo
– Oscilador RC interno
– Programación serie en el propio circuito
– Interrupciones
– Temporizadores (Timer's)
– Algunas de estas características aplican para los PIC16F87X
Características de PIC 16F84
Características Valor
Memoria de Programa 1k x 14 bits
Memoria de Datos RAM 68 Bytes
Memoria de Datos EEPROM 64 Bytes
Pila de programa 8 Niveles
Interrupciones 4 tipos diferentes
RISC 35
Frecuencia Máxima 10 MHz
Temporizadores 2 (TMR0(3) y WDT(4))
Líneas de Entradas/Salidas Digitales 13 (5 Puerto A, 8 Puerto B)
Corriente máxima sumidero 80 mA PA/150 mA PB
Corriente máxima fuente 50 mA PA/100 mA PB
Corriente máxima sumidero por línea (Pin) 25 mA
Corriente máxima fuente por línea (Pin) 20 mA
Voltaje de alimentación 2 a 6 VDC
Voltaje de programación 12 a 14 VDC
Encapsulado DIP plástico 18 pines
Arquitecturas del PIC 16F84
Hardware de PIC 16F84
Descripción de los pines PIC 16F84
Pin Descripción/Función
VDD Voltaje de alimentación. Se aplican 5 VDC
VSS Tierra
Entrada del circuito oscilador externo, que proporciona la
FOSC1/CLKIN
frecuencia de trabajo
FOSC2/CLKOUT Salida auxiliar del circuito oscilador
Se activa con nivel bajo, proporcionando una reinicialización del
sistema (reset). Cumple con una función adicional (VPP) que
MCLR/VPP
recibe la alimentación del voltaje de programación, al
momento de grabar al PIC.
5 líneas de Entradas/Salidas digitales del Puerto A.
RA4 tiene una función adicional: Entrada de un reloj externo
RA4:RA0
asíncrono ó síncrono, cuando el microcontrolador trabaja como
contador de eventos.
8 líneas de Entradas/Salidas digitales del Puerto B
RB7:RB0 RB0 tiene una función adicional: Provoca una interrupción externa
asíncrona, cuando se configura para ésta.
Tipos de osciladores
• HS: (High Speed Crystall Resonador): Alta velocidad de 20 MHz a 4 MHz.
• XT: (Crystall//Resonador): Estándar de 4 MHZ máximo.
• LP: (Low Power Crystall): Bajo consumo, 200 KHz a 30 KHz.
• RC: (Resistence/Capacitor): Baja precisión, Tiene una tabla asociada a los valores de R y C.
Muy poco uso. 200 Hz a 32 Hz.
Frecuencia de trabajo
ALGUNOS CONCEPTOS

• Un ciclo de instrucción tarda en ejecutarse cuatro períodos de reloj.


• Todas las instrucciones del PIC se realizan en un ciclo de instrucción,
exceptuando las de "salto" que tardan dos ciclos.
• Los impulsos de reloj entran por FOSC1/CLKIN y se dividen en cuatro
señales internamente, dando lugar a Q1, Q2, Q3 y Q4.
• El ciclo de instrucción se logra al realizarse las siguientes operaciones:
– Q1 incrementa el contador de programa (PC)
– Q4 busca el código de la instrucción en la memoria del programa y
se carga en el registro de instrucciones
– Q2 - Q3 decodifican y ejecutan la instrucción respectiva
Frecuencia de trabajo
Frecuencia de trabajo

Los cálculos se realizan bajo las siguientes recomendaciones:


1. Se elige el oscilador con el cual se va a trabajar.
2. Dada la frecuencia de funcionamiento (Frecuencia de Oscilación FOSC), por
el oscilador elegido, hallamos el período.
3. Un ciclo de instrucción se ejecuta en 4 períodos.
Tciclo de instrucción: 4 * TOSC
4. Multiplicamos la cantidad de instrucciones por lo que tarda en ejecutarse
una de ellas, cuya información nos la brinda el paso anterior. Las
instrucciones de salto se ejecutan en dos ciclos, por lo tanto, si tenemos
instrucciones de salto, éstas hacen que se multiplique el ciclo de instrucción
por dos.
· Duración del total de instrucciones normales (DTIN): Nro. de
instrucciones * Tciclo de instrucción
· Duración del total de instrucciones de salto (DTIS): Nro. de
instrucciones * Tciclo de instrucción * 2
5. Para determinar cuánto dura un programa en ejecutarse, sumamos la
duración de las instrucciones normales más la duración de las instrucciones
de salto.
Total de duración del programa: DTIN + DTIS
Ejercicios
• Sea un cristal XT, cuya frecuencia es F= 4 MHz, Halle el total de
duración de un programa que contiene 250 instrucciones normales
y 50 instrucciones de salto.

• Dado un programa que contiene 850 instrucciones, de las cuales el


20 %, corresponden a instrucciones de salto. Halle: ¿Cuánto tarda
en ejecutarse el programa? Considere: A) Oscilador LP, B)
Oscilador XT
Circuitos introductores de datos al micro controlador

Pull UP

Pull Down
Circuitos que sacan señales de un microcontrolador

Visualización

Conexión de BCD a 7 display segmentos


Circuitos que sacan señales de un microcontrolador

Conexión Relé

Conexión Optoacoplador
Tipos de memoria de un microcontrlador

EEPROM (Electrically Erasable PROM)


• Muchos microcontroladores incorporan una pequeña memoria
EEPROM dentro del chip (Contiene parámetros que pueden
cambiarse si la aplicación lo necesita).
• Es lenta.
• El número de veces que se puede borrar/grabar está limitado.

FLASH (EPROM)
• Son más rápidas que las memoria EEPROM.
• Permiten más ciclos de borrado/grabación.
Tipos de memoria de un microcontrlador

Memoria RAM
• Útiles para programas de gran tamaño.
• Más rápida que las memorias no volátiles.
• Número ilimitado de veces que puede grabarse.
• Apropiada para aplicaciones con grandes cantidades de datos que
cambian continuamente.
Memoria Field programming/reprogramming
• Memoria no volátil.
• Puede reprogramase sin desconectar el microcontrolador.
• Permite actualizaciones remotas.
Tipos de memoria de un microcontrlador

Memoria OTP (One Time Programmable)


• Un OTP es una memoria PROM que sólo puede grabarse una vez.
• Se utiliza para pequeñas series.
• Para probar el programa; antes de fabricar grandes cantidad de
microcontroladores con memorias ROM de máscara.
• Como los ciclos de desarrollo de productos son cada vez más cortos,
es interesante para los fabricantes de microcontroladores ofrecer
OTPs como una opción.
ROM de máscara
• Son interesantes para un gran número de unidades cuando el
programa va a ser el definitivo.
• El tiempo de entrega es de 8 a 44 semanas.
Periféricos de un PIC

Conversor Analógico Digital (A/D).


• Convierte la tensión analógica a su valor digital.
– Pueden ser externos o internos al micro.
– Existen, en general, tres tipos integrados:
» Aproximaciones sucesivas (común en micro).
» Delta-Sigma (común en DSP).
» Flash (rápido pero menos habitual).
Conversores D/A.
– Obtienen una tensión analógica a partir de un valor digital.
– Conversor D/A con Modulador de ancho de Pulso (PWM).
Otros Dispositivos.
– Contador de pulsos: cada pulso incrementa un contador.
– Entrada de Captura: sirve para medir intervalos de tiempo entre
eventos.
– Comparadores analógicos.

También podría gustarte