SlideShare una empresa de Scribd logo
1 de 31
Descargar para leer sin conexión
Sistemas Electrónicos Programables
Facultad de Ingeniería, Universidad de Deusto
Fundamentos de los Microcontroladores
Sistemas Electrónicos Programables
¿Qué es un microcontrolador?
 Está compuesto, principalmente, por la unidad central de
proceso (CPU), memoria/s, periféricos de entrada/salida
y recursos especiales.
 Se diferencia de un microprocesador en que esté no incluye
las memorias dentro del propio circuito integrado.
 Los microcontroladores son diseñados para disminuir el
coste económico y el consumo energético de un sistema
particular.
 Cualquier electrodoméstico moderno utilizar un pequeño
microcontrolador para su funcionamiento.
Un Microcontrolador es un circuito integrado
programable capaz de ejecutar un único
programa grabado en su memoria
Sistemas Electrónicos Programables
Familias de Microcontroladores
 Los fabricantes crean familias de microcontroladores
con características comunes y recursos específicos
que depende de las aplicaciones.
Familia Instrucciones Pila Recursos
Vectores de
Interrupción
Número de
Pines
PIC10xx
PIC12xx
33 (12 bits) 1 nivel Limitados 0 6 – 8
PIC16xx 35 (14 bits) 8 niveles Típicos 1 14 – 44
PIC18xx 77 (16 bits) 31 niveles Avanzados 2 18 – 80
Familias de microcontroladores PIC de la empresa Microchip
Sistemas Electrónicos Programables
Arquitectura Harvard o Von Neumann
 En la gran mayoría de los microcontroladores se
utiliza la arquitectura Harvard;
 la cual dispone de dos memorias separadas, una para el
programa (de tipo ROM, PROM, EEPROM o Flash) y
otra memoria volátil para los datos (de tipo SRAM).
 Las principales ventajas son:
 Buses de comunicación adaptados a cada memoria  diferente
tamaño de datos e instrucciones.
 Acceso simultáneo a ambas memorias  mejora la velocidad
de procesamiento.
CPU
Memoria de
Programa
Memoria de
Datos
Sistemas Electrónicos Programables
El Procesador
 Es el elemento más importante del microcontrolador y
determina sus principales características, tanto a nivel
hardware como software.
 Está compuesto la unidad de control, la unidad aritmético-
lógica, una serie de registros y, en la mayoría de los casos,
una pila.
El Procesador es el encargado de ejecutar las
instrucciones de un programa; cargando cada
instrucción de la memoria de programa,
ejecutando cada operación implicada leyendo
información desde y hacia la memoria de datos y
guardando los resultados
Sistemas Electrónicos Programables
El Procesador: Registros
 El tamaño de los registros de un procesador determina
muchas de las potencialidades de un sistema.
 Los sistemas pueden ser de 4, 8, 16, 32 o 64 bits.
Un Registro es un espacio de memoria, desde
donde se toman los datos para las operaciones,
se guardan resultados o se permite la interacción
con los periféricos de entrada/salida y recursos
especiales del microcontrolador
Una operación de suma con operandos de 16 bits será ejecutada en
una sola instrucción con un procesador de 16 bits mientras que con
uno de 8 bits, se deberán ejecutar varias instrucciones
Sistemas Electrónicos Programables
El Procesador: Registros (continuación…)
 Tomando como ejemplo los microcontroladores PIC,
estos tienen dividida la memoria de datos en:
 Registros de Propósito Específico: estos registros tienen
una función específica para el procesador y controlan el
estado del mismo, los periféricos…
 Registros de Propósito General: pueden ser usados por
el programador libremente.
Sistemas Electrónicos Programables
El Procesador: Unidad de Control
 Es el elemento más complejo de un procesador y
normalmente está dividida en unidades más
pequeñas trabajando en conjunto.
 Para la sincronización de la CPU se debe utilizar un reloj,
basado en un circuito oscilador, que será el encargado de
marcar el ritmo de trabajo.
Sobre la Unidad de Control recae la lógica
necesaria para la decodificación y ejecución de
instrucciones, el control de los registros, la ALU,
los buses de acceso a memoria…
Sistemas Electrónicos Programables
El Procesador: Unidad de Control
(continuación…)
 Se incrementa automáticamente en cada ciclo de
instrucción de forma que las instrucciones sean
leídas en secuencia.
 Algunas instrucción como los saltos y llamadas y retornos
de subrutinas, interrumpen la secuencia al escribir un
valor concreto en el contador de programa.
El Contador de Programa o PC es un registro
específico que apunta a la posición de memoria
de programa donde se encuentra la siguiente
instrucción a ejecutar por la unidad de control.
Sistemas Electrónicos Programables
El Procesador: Unidad de Control
(continuación…)
 Tomando como ejemplo los microcontroladores PIC,
cada ciclo está dividido en cuatro fases de trabajo:
 Q1  decodificación de la instrucción
 Q2  lectura del dato (si lo hay)
 Q3  ejecuta la instrucción
 Q4  guarda el resultado (si lo hay)
PC
Ejecuta Inst. (PC-1)
Lee Inst. (PC)
PC + 1
Ejecuta Inst. (PC)
Lee Inst. (PC + 1)
PC + 2
Ejecuta Inst. (PC + 1)
Lee Inst. (PC + 2)
Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4
Utiliza segmentación: ejecuta
una instrucción al mismo
tiempo que lee la siguiente
Sistemas Electrónicos Programables
El Procesador: Unidad Aritmético-Lógica
 Las operaciones aritmético-lógicas pueden ser de un solo
operando, siendo típicamente un registro de la memoria de
datos,
 o de dos operandos, siendo uno típicamente un registro de
datos y el otro
 un literal, que viene incluido en la propia instrucción,
 el registro temporal W, el cual deberá ser cargado previamente.
La Unidad Aritmético Lógica o ALU realiza las
operaciones aritméticas y lógicas indicadas en
cada instrucción; y genera unas señales o
códigos de condición como el acarreo, overflow,
resultado cero…
Sistemas Electrónicos Programables
El Procesador: Unidad Aritmético-Lógica
(continuación…)
 Tomando como ejemplo una ALU simplificada de 8 bits
de los microcontroladores PIC:
 ¿Cómo se ejecutaría una suma de un registro mas un literal?
 ¿Cómo se ejecutaría una suma de dos registros de la memoria
de datos?
 ¿Cómo se verían afectados los flags?
ALU<8>
WBITOP
BUSDEDATOS
FLAGS
Flags disponibles:
• Z  se pone a 1 cuando el
resultado de la operación es 0;
0 en caso contrario
• C  se pone a 1 cuando el
resultado de la operación no
entra en 8 bits; 0 en caso
contrario
Sistemas Electrónicos Programables
El Procesador: La Pila
 Sólo existen dos operaciones posibles sobre una pila:
push (apilar o escribir un dato) y pop (desapilar o leer un
dato)
 El tamaño de la pila es importante para un programador ya que
limita el número de llamadas anidadas que se pueden realizar.
La Pila es una estructura de datos de tipo LIPO
(Last In First Out) que almacena temporalmente
la dirección de retorno para el uso de subrutinas
e interrupciones; guarda el valor del PC antes de
la llamada.
El ataque informático conocido como Stack
Overflow se basa en introducir datos
‘malignos’ en la pila
Sistemas Electrónicos Programables
Interrupciones
 Los microcontroladores pueden disponer de múltiples
causas de interrupción:
 E/S digitales: por cambio de estado de un pin o de un conjunto
de ellos
 Comunicación serie: al recibir un datos por el puerto
 Conversión AD: al finalizar el proceso de conversión
 Temporizadores: por desbordamiento del temporizador
 …
Una Interrupción es una llamada a una
subrutina generada por los periféricos del
microcontrolador; dicha llamada se produce
automáticamente cuando se detecta un evento
Sistemas Electrónicos Programables
Interrupciones (continuación…)
 El proceso de interrupción se puede resumir en:
1. Un evento es detectado por el microcontrolador, lo que activa
los flags correspondientes.
2. La unidad de proceso, gracias a dichos flags, detecta que se
ha producido una interrupción y
a. termina la ejecución de la instrucción actual,
b. se guarda en la pila el valor del contador de programa y
c. se genera un salto a la rutina de interrupción
3. Se ejecutan las instrucciones de la rutina de interrupción:
a. Se identifica la interrupción por medio de los flags,
b. se atiende la interrupción,
c. se reponen los flags y
d. se finaliza la rutina de interrupción
4. La unidad de proceso restituye el estado anterior
a. cargando en el contador de programa el valor guardado en la pila
Sistemas Electrónicos Programables
Interrupciones (continuación…)
 Aunque el proceso de interrupción es algo complejo,
tiene importantes ventajas:
 Velocidad de atención a eventos: cuando el tiempo de
respuesta es un factor clave del sistema, el modelo
encuesta no es eficiente.
 Capacidad de procesos asíncronos: el programador
puede trabajar como si de procesos paralelos se tratara.
Las interrupciones son tan eficaces que permiten al
procesador actuar como si estuviese haciendo varias cosas a
la vez cuando en realidad sólo es capaz de ejecutar una
instrucción tras otra
Sistemas Electrónicos Programables
Periféricos
 Destacan entre otros
 Entradas/salida digitales
 Conversor AD
 Temporizadores
 Contador Asíncrono
 Puertos de comunicación
 Modulación de ancho de pulso PWM
 Memoria de datos no volátil
 …
Un Periférico es una funcionalidad del
microcontrolador que permite el manejo de
dispositivos de entrada/salida, comunicación,
temporizaciones…
Sistemas Electrónicos Programables
Entradas/salidas Digitales
 Normalmente, cualquier pin de un microcontrolador puede ser una
entrada/salida digital por lo que:
 Habrá que configurar, por medio de un registro, si el pin es de salida o de
entrada.
 Para conocer el estado de una entrada, se leerá un registro del
microcontrolador, mientras
 que para establecer el estado de una salida, se escribirá dicho
estado en un registro del microcontrolador.
Las Entradas y Salidas Digitales permiten
controlar señales lógicas de 0 y 1; siendo voltajes
de 0V y +5V, respectivamente, las tensiones
típicamente utilizadas.
El registro de lectura y escritura puede ser
el mismo registro en algunos casos; y
diferente registro en otros
Sistemas Electrónicos Programables
Conversor AD
 Típicamente, en los microcontrolador sólo se dispone de entradas
analógicas,
 las cuales pueden actuar también como entradas/salidas digitales, en la mayoría
de los casos.
 La conversión se realiza en base a unos voltajes de referencia Vref- y Vref+
que se corresponderán con el valor digital 0 y valor máximo,
respectivamente.
 Suele ser posible configurar diferentes parámetros de la conversión:
 Precisión: números de bits del resultado binario.
 Rango: configuración de los valores de Vref- y Vref+.
 …
El Conversor Analógico-Digital convierte una
señal analógica de voltaje a una valor digital en
formato binario; con el propósito de facilitar su
procesamiento.
Sistemas Electrónicos Programables
Temporizadores
 Suelen utilizan un registro (temporizador de 8 bits) o
varios (temporizador de 16 o 32 bits) el cual se
incrementa a cada ciclo de trabajo del propio
microcontrolador.
 para realizar temporizaciones más largas, pueden disponer de
pre-divisores y post-divisores.
 En general, disponen de un interrupción cuando el
registro contador se desborda, es decir, pasa del valor
máximo a 0.
Un Temporizador es un dispositivo que permite
medir el tiempo; está compuesto por un contador
incremental que hace saltar una alarma cuando
ha transcurrido el tiempo configurado.
Sistemas Electrónicos Programables
Temporizadores (continuación…)
 La medida natural para medir el tiempo son los
segundos y todos sus múltiplos: mS, µS…
 En algunos microcontroladores se usa el ‘tick’, siendo un
‘tick’ el tiempo necesario para que se genere una señal
de incremento con el reloj del sistema.
TMR
0
255
Valor Inicial
Númerode‘ticks’
Desbordamiento
Para contar un determinado número
de ‘ticks’, se escribe un valor inicial en
el registro que será:
En unidades naturales solo habrá que
multiplicarlo por el valor de un ‘tick’
𝑉𝑎𝑙𝑜𝑟 𝐼𝑛𝑖𝑐𝑖𝑎𝑙 = 256 − 𝑛ú𝑚𝑒𝑟𝑜 𝑑𝑒 ′𝑡𝑖𝑐𝑘𝑠′
Sistemas Electrónicos Programables
Contador Asíncrono
 Se dice que es asíncrono porque los impulsos no llegan
regularmente;
 En el caso de ser regulares, sería un contador síncrono y
podría funcionar como temporizador.
 Se puede configurar el tipo de evento que genera un
impulso, típicamente
 un flanco ascendente (pasar de 0 a 1 lógico) o
 un flanco descendente (pasar de 1 a 0 lógico)
Un Contador Asíncrono es un circuito capaz de
realizar el cómputo de los impulsos que recibe
una entrada destinada a tal efecto; suelen
reutilizan la circuitería de los temporizadores
Sistemas Electrónicos Programables
Temporizador vs. Contador Asíncrono
 Tomando como ejemplo una versión simplificada del
Timer0 de los microcontroladores PIC:
Prescaler
TMR0
Fosc
T0CKI
0
1
0
1
Interrupción
PSAT0PS<2:0>T0CS
..
0h01
0h00
0hFF
0hFE
…
0h01
0h00
Desbordamiento
Temporizador
1:2
1:4
Contador
1:2
1:4
Sistemas Electrónicos Programables
Puertos de Comunicación
 Existen multitud de modos de comunicación
diferentes entre los que destacan, en el caso de los
microcontroladores:
 UART, comunicación serie síncrona
 USART, comunicación serie síncrona y asíncrona
 I2C, interfaz serie de 2 hilos
 CAN (Controller Area Network), redes de conexionado
multiplexado desarrollado para la automoción.
 …
Los Puertos de Comunicación permiten
manejar e intercambiar datos entre el
microcontrolador y otros dispositivos electrónicos
Sistemas Electrónicos Programables
Modulación en Anchura de Pulsos
 Muy útil para el control de la velocidad de motores
de corriente continua o para la regulación de luces
(dimming).
 Utilizan, generalmente, uno de los temporizadores del
microcontrolador
La Modulación en Anchura de Pulsos o PWM
permite generar una señal de salida rectangular
con un periodo constante y una anchura de pulso
variable
Se puede utilizar también para transmitir información a
través de un canal de comunicaciones
Sistemas Electrónicos Programables
Memoria de Datos no Volátil
 Esta memoria es independiente de la memoria de datos de
tipo RAM y de la memoria de Programa.
 Permite guardar, por ejemplo, valores de configuración del
programa
 Muchos microcontroladores han incorporado este tipo de
memoria como un periférico más;
 Siendo las memorias de tipo EEPROM las más comunes.
La Memoria de Datos no Volátil permite
almacenar datos de forma persistente en el
propio microcontrolador; de forma que se puede
apagar y/o reiniciar el sistema y no se pierden
En algunos microcontroladores, es posible
almacenar datos dentro de la propia
memoria de Programa
Sistemas Electrónicos Programables
Recursos Especiales
 Destacan entre otros:
 Reset del sistema
 Watch Dog Timer o Perror Guardía
 Modo de bajo consumo
 …
Los Recursos Especiales son una serie de
características adicionales que puede incluir un
microcontrolador para mejorar el funcionamiento
o la versatilidad del mismo
Sistemas Electrónicos Programables
R.E.: Reset
 Existen muchas causas diferentes para un reset:
 Power-On Reset  fallo de alimentación
 MCLR pin reset  reinicio provocado con el pulsador externo
de reset
 Watch Dog Timer reset  desbordamiento del perro guardián
 Software Reset  reinicio por medio de la instrucción sofware
reset.
 Stack Overflow Reset  desbordamiento de la pila
 …
El Reseteo de un sistema es una situación, a
priori, no deseable por diversas causas; y que
cuando se produce debe ser analizada para que
no vuelva a producirse.
Sistemas Electrónicos Programables
R.E.: Watch Dog Timer
 Este temporizador se encuentra desactivado por
defecto; y puede ser activado por el programador.
 Para evitar que se desborde, se utiliza la instrucción
software clrwdt.
El Watch Dog Timer o perro guardián es un
temporizador especial que resetea el
microcontrolador cuando se desborda; evita
situaciones de bloqueo indefinidas
Se utiliza únicamente en los casos en los que el programa
incluye algoritmos muy complejos que pueden bloquear el
funcionamiento normal del microcontrolador
Sistemas Electrónicos Programables
R.E.: Modo de Bajo Consumo
 Para entrar he dicho estado se utilizar la instrucción
software Sleep;
 y para volver al estado normal, se puede realizar por
medio de la generación de una interrupción.
El Modo de Bajo Consumo detiene la ejecución
de instrucciones por parte de la unidad de
proceso; y pasa a un estado de ahorro
energético deteniendo además algunos de los
periféricos.
Para utilizar este modo con soltura, se debe conocer muy
bien el funcionamiento del microcontrolador
Esta presentación está sujeta a la licencia de Reconocimiento
de Creative Commons mediante la cual se permite la copia, la
distribución, la comunicación pública y la generación de obras
derivadas sin ninguna limitación siempre que se cite al autor y
se mantenga el aviso de la licencia.
© 2014, Jonathan Ruiz de Garibay
Algunos derechos reservados

Más contenido relacionado

La actualidad más candente

Tenemos 3 tipos de convertidor DC a DC no aislados: configuraciones Buck, Boo...
Tenemos 3 tipos de convertidor DC a DC no aislados: configuraciones Buck, Boo...Tenemos 3 tipos de convertidor DC a DC no aislados: configuraciones Buck, Boo...
Tenemos 3 tipos de convertidor DC a DC no aislados: configuraciones Buck, Boo...SANTIAGO PABLO ALBERTO
 
Resistencia de entrada, salida y ganancia de un amplificador realimentado.
Resistencia de entrada, salida y ganancia de un amplificador realimentado.Resistencia de entrada, salida y ganancia de un amplificador realimentado.
Resistencia de entrada, salida y ganancia de un amplificador realimentado.WILMER OCOVI MINARDI
 
Cicloconvertidores trifásicos con modulación de ancho de pulso
Cicloconvertidores trifásicos con modulación de ancho de pulsoCicloconvertidores trifásicos con modulación de ancho de pulso
Cicloconvertidores trifásicos con modulación de ancho de pulsoFrank León Aranda
 
Informe subir dc-dc-reductor
Informe subir dc-dc-reductorInforme subir dc-dc-reductor
Informe subir dc-dc-reductorMauricio Naranjo
 
INVERSORES DE VOLTAJE
INVERSORES DE VOLTAJEINVERSORES DE VOLTAJE
INVERSORES DE VOLTAJEJAIME STEVE
 
Diodo schottky
Diodo schottkyDiodo schottky
Diodo schottkyNilo Blues
 
Amplificadores de potencia
Amplificadores de potenciaAmplificadores de potencia
Amplificadores de potenciaTensor
 
3 2 circuitos-disparo
3 2 circuitos-disparo3 2 circuitos-disparo
3 2 circuitos-disparoAxtridf Gs
 
Dispositivos electrónicos 8va Edición Thomas L. Floyd.pdf
Dispositivos electrónicos 8va Edición Thomas L. Floyd.pdfDispositivos electrónicos 8va Edición Thomas L. Floyd.pdf
Dispositivos electrónicos 8va Edición Thomas L. Floyd.pdfSANTIAGO PABLO ALBERTO
 
Diferentes tipos de flip flops (jk, sr, d, t) sus tablas de verdad,
Diferentes tipos de flip flops (jk, sr, d, t) sus tablas de verdad,Diferentes tipos de flip flops (jk, sr, d, t) sus tablas de verdad,
Diferentes tipos de flip flops (jk, sr, d, t) sus tablas de verdad,Miguel Brunings
 
30672573 reporte-de-practica-pwm-555
30672573 reporte-de-practica-pwm-55530672573 reporte-de-practica-pwm-555
30672573 reporte-de-practica-pwm-555AdRix MarTz
 
El transistor como amplificador
El transistor como amplificadorEl transistor como amplificador
El transistor como amplificadorJomicast
 
Memoria prom y eprom2
Memoria prom y eprom2Memoria prom y eprom2
Memoria prom y eprom2pollo7
 

La actualidad más candente (20)

Tenemos 3 tipos de convertidor DC a DC no aislados: configuraciones Buck, Boo...
Tenemos 3 tipos de convertidor DC a DC no aislados: configuraciones Buck, Boo...Tenemos 3 tipos de convertidor DC a DC no aislados: configuraciones Buck, Boo...
Tenemos 3 tipos de convertidor DC a DC no aislados: configuraciones Buck, Boo...
 
Resistencia de entrada, salida y ganancia de un amplificador realimentado.
Resistencia de entrada, salida y ganancia de un amplificador realimentado.Resistencia de entrada, salida y ganancia de un amplificador realimentado.
Resistencia de entrada, salida y ganancia de un amplificador realimentado.
 
Cicloconvertidores trifásicos con modulación de ancho de pulso
Cicloconvertidores trifásicos con modulación de ancho de pulsoCicloconvertidores trifásicos con modulación de ancho de pulso
Cicloconvertidores trifásicos con modulación de ancho de pulso
 
Informe subir dc-dc-reductor
Informe subir dc-dc-reductorInforme subir dc-dc-reductor
Informe subir dc-dc-reductor
 
Fuente de alimentación regulada con diodo zener
Fuente de alimentación regulada con diodo zenerFuente de alimentación regulada con diodo zener
Fuente de alimentación regulada con diodo zener
 
Registros del Pic 16F84
Registros del Pic 16F84Registros del Pic 16F84
Registros del Pic 16F84
 
INVERSORES DE VOLTAJE
INVERSORES DE VOLTAJEINVERSORES DE VOLTAJE
INVERSORES DE VOLTAJE
 
Diodo schottky
Diodo schottkyDiodo schottky
Diodo schottky
 
Instrucciones del-8085 eiee
Instrucciones del-8085 eieeInstrucciones del-8085 eiee
Instrucciones del-8085 eiee
 
Rectificadores no controlados
Rectificadores no controladosRectificadores no controlados
Rectificadores no controlados
 
El microcontrolador PIC16F877
El microcontrolador PIC16F877El microcontrolador PIC16F877
El microcontrolador PIC16F877
 
Amplificadores de potencia
Amplificadores de potenciaAmplificadores de potencia
Amplificadores de potencia
 
3 2 circuitos-disparo
3 2 circuitos-disparo3 2 circuitos-disparo
3 2 circuitos-disparo
 
Dispositivos electrónicos 8va Edición Thomas L. Floyd.pdf
Dispositivos electrónicos 8va Edición Thomas L. Floyd.pdfDispositivos electrónicos 8va Edición Thomas L. Floyd.pdf
Dispositivos electrónicos 8va Edición Thomas L. Floyd.pdf
 
Diferentes tipos de flip flops (jk, sr, d, t) sus tablas de verdad,
Diferentes tipos de flip flops (jk, sr, d, t) sus tablas de verdad,Diferentes tipos de flip flops (jk, sr, d, t) sus tablas de verdad,
Diferentes tipos de flip flops (jk, sr, d, t) sus tablas de verdad,
 
30672573 reporte-de-practica-pwm-555
30672573 reporte-de-practica-pwm-55530672573 reporte-de-practica-pwm-555
30672573 reporte-de-practica-pwm-555
 
Memorias en circuitos digitales
Memorias en circuitos digitalesMemorias en circuitos digitales
Memorias en circuitos digitales
 
El transistor como amplificador
El transistor como amplificadorEl transistor como amplificador
El transistor como amplificador
 
Reloj digital
Reloj digitalReloj digital
Reloj digital
 
Memoria prom y eprom2
Memoria prom y eprom2Memoria prom y eprom2
Memoria prom y eprom2
 

Destacado

Familia De Los Microcontroladores
Familia De Los MicrocontroladoresFamilia De Los Microcontroladores
Familia De Los Microcontroladoresceiv
 
Developing SPI applications using Grails and AngularJS
Developing SPI applications using Grails and AngularJSDeveloping SPI applications using Grails and AngularJS
Developing SPI applications using Grails and AngularJSAlvaro Sanchez-Mariscal
 
Manejo de Puertos PIC
Manejo de Puertos PICManejo de Puertos PIC
Manejo de Puertos PICSawy G
 
Microprocesadores
MicroprocesadoresMicroprocesadores
Microprocesadoresyonny8522
 
Microcontroladores en robtica mvil
Microcontroladores en robtica mvilMicrocontroladores en robtica mvil
Microcontroladores en robtica mvilEdwin Drx
 
Arquitectura del microcontrolador
Arquitectura del microcontroladorArquitectura del microcontrolador
Arquitectura del microcontroladorJose Chacho
 
Arduino - ¿Que posibilidades nos ofrece?
Arduino - ¿Que posibilidades nos ofrece?Arduino - ¿Que posibilidades nos ofrece?
Arduino - ¿Que posibilidades nos ofrece?Ricardo Vega Alonso
 
Aplicação dos microcontroladores no dia a dia
Aplicação dos microcontroladores no dia a diaAplicação dos microcontroladores no dia a dia
Aplicação dos microcontroladores no dia a diaDaniel Rodrigues de Sousa
 
Nairobi. domótica
Nairobi. domóticaNairobi. domótica
Nairobi. domóticaPepe Potamo
 
Arduino sin cables: usando Bluetooth
Arduino sin cables: usando BluetoothArduino sin cables: usando Bluetooth
Arduino sin cables: usando BluetoothJorge Zaccaro
 
Codesign-Oriented Platform for Agile Internet of Things Prototype Development
Codesign-Oriented Platform for Agile Internet of Things Prototype DevelopmentCodesign-Oriented Platform for Agile Internet of Things Prototype Development
Codesign-Oriented Platform for Agile Internet of Things Prototype DevelopmentJonathan Ruiz de Garibay
 

Destacado (20)

Familia De Los Microcontroladores
Familia De Los MicrocontroladoresFamilia De Los Microcontroladores
Familia De Los Microcontroladores
 
Developing SPI applications using Grails and AngularJS
Developing SPI applications using Grails and AngularJSDeveloping SPI applications using Grails and AngularJS
Developing SPI applications using Grails and AngularJS
 
Manual pic 16..
Manual pic 16..Manual pic 16..
Manual pic 16..
 
Manejo de Puertos PIC
Manejo de Puertos PICManejo de Puertos PIC
Manejo de Puertos PIC
 
Microprocesadores
MicroprocesadoresMicroprocesadores
Microprocesadores
 
Microcontroladores en robtica mvil
Microcontroladores en robtica mvilMicrocontroladores en robtica mvil
Microcontroladores en robtica mvil
 
Arquitectura del microcontrolador
Arquitectura del microcontroladorArquitectura del microcontrolador
Arquitectura del microcontrolador
 
Arduino - ¿Que posibilidades nos ofrece?
Arduino - ¿Que posibilidades nos ofrece?Arduino - ¿Que posibilidades nos ofrece?
Arduino - ¿Que posibilidades nos ofrece?
 
Receptor fm
Receptor fmReceptor fm
Receptor fm
 
Aplicacion micros
Aplicacion microsAplicacion micros
Aplicacion micros
 
Aplicação dos microcontroladores no dia a dia
Aplicação dos microcontroladores no dia a diaAplicação dos microcontroladores no dia a dia
Aplicação dos microcontroladores no dia a dia
 
Nairobi. domótica
Nairobi. domóticaNairobi. domótica
Nairobi. domótica
 
Arduino sin cables: usando Bluetooth
Arduino sin cables: usando BluetoothArduino sin cables: usando Bluetooth
Arduino sin cables: usando Bluetooth
 
02.El Soporte Visual
02.El Soporte Visual02.El Soporte Visual
02.El Soporte Visual
 
01.Puntos Clave de una Presentación Oral
01.Puntos Clave de una Presentación Oral01.Puntos Clave de una Presentación Oral
01.Puntos Clave de una Presentación Oral
 
Práctica09.Librerías
Práctica09.LibreríasPráctica09.Librerías
Práctica09.Librerías
 
Introduccion a la Programación
Introduccion a la ProgramaciónIntroduccion a la Programación
Introduccion a la Programación
 
P01.Desarrollo de aplicaciones con mplab
P01.Desarrollo de aplicaciones con mplabP01.Desarrollo de aplicaciones con mplab
P01.Desarrollo de aplicaciones con mplab
 
Codesign-Oriented Platform for Agile Internet of Things Prototype Development
Codesign-Oriented Platform for Agile Internet of Things Prototype DevelopmentCodesign-Oriented Platform for Agile Internet of Things Prototype Development
Codesign-Oriented Platform for Agile Internet of Things Prototype Development
 
02d.Circuito oscilador
02d.Circuito oscilador02d.Circuito oscilador
02d.Circuito oscilador
 

Similar a Fundamentos de los Microcontroladores

Arquitectura,simulacion trabajo final
Arquitectura,simulacion trabajo finalArquitectura,simulacion trabajo final
Arquitectura,simulacion trabajo finallilijessica
 
2 curso de pic (saber electronica)
2 curso de pic (saber electronica)2 curso de pic (saber electronica)
2 curso de pic (saber electronica)Geovanny Ruiz
 
Microcontroladores: Curso de microcontroladores PIC para estudiantes y aficio...
Microcontroladores: Curso de microcontroladores PIC para estudiantes y aficio...Microcontroladores: Curso de microcontroladores PIC para estudiantes y aficio...
Microcontroladores: Curso de microcontroladores PIC para estudiantes y aficio...SANTIAGO PABLO ALBERTO
 
Curso de microcontrolador MCS51
Curso de microcontrolador MCS51Curso de microcontrolador MCS51
Curso de microcontrolador MCS51Rubén Loredo
 
Diagrama de bloque procesador intel
Diagrama de bloque procesador intelDiagrama de bloque procesador intel
Diagrama de bloque procesador intelCristian Paredes
 
UNIDAD ARITMETICA LOGICA - INFORMATICA
UNIDAD ARITMETICA LOGICA - INFORMATICAUNIDAD ARITMETICA LOGICA - INFORMATICA
UNIDAD ARITMETICA LOGICA - INFORMATICAanthonyjosebarrazaba
 
Arquitectura de una computadora
Arquitectura de una computadoraArquitectura de una computadora
Arquitectura de una computadorajessiicasaldana
 
Procesador caracteristicas
Procesador caracteristicasProcesador caracteristicas
Procesador caracteristicasaletzuco1
 
PLC: Unidad 2. Arquitectura y funciones de memoria.pdf
PLC: Unidad 2. Arquitectura y funciones de memoria.pdfPLC: Unidad 2. Arquitectura y funciones de memoria.pdf
PLC: Unidad 2. Arquitectura y funciones de memoria.pdfSANTIAGO PABLO ALBERTO
 
Arquitectura de computadores y redes
Arquitectura de computadores y redesArquitectura de computadores y redes
Arquitectura de computadores y redesYeison Montaña
 
ICI-Unidad V
ICI-Unidad VICI-Unidad V
ICI-Unidad Vgparra989
 

Similar a Fundamentos de los Microcontroladores (20)

Arquitectura,simulacion trabajo final
Arquitectura,simulacion trabajo finalArquitectura,simulacion trabajo final
Arquitectura,simulacion trabajo final
 
Arquitectura de un plc
Arquitectura de un plcArquitectura de un plc
Arquitectura de un plc
 
Curso de-picnn
Curso de-picnnCurso de-picnn
Curso de-picnn
 
2 curso de pic (saber electronica)
2 curso de pic (saber electronica)2 curso de pic (saber electronica)
2 curso de pic (saber electronica)
 
Microcontroladores: Curso de microcontroladores PIC para estudiantes y aficio...
Microcontroladores: Curso de microcontroladores PIC para estudiantes y aficio...Microcontroladores: Curso de microcontroladores PIC para estudiantes y aficio...
Microcontroladores: Curso de microcontroladores PIC para estudiantes y aficio...
 
Curso de microcontrolador MCS51
Curso de microcontrolador MCS51Curso de microcontrolador MCS51
Curso de microcontrolador MCS51
 
M.c
M.cM.c
M.c
 
Diagrama de bloque procesador intel
Diagrama de bloque procesador intelDiagrama de bloque procesador intel
Diagrama de bloque procesador intel
 
UNIDAD ARITMETICA LOGICA - INFORMATICA
UNIDAD ARITMETICA LOGICA - INFORMATICAUNIDAD ARITMETICA LOGICA - INFORMATICA
UNIDAD ARITMETICA LOGICA - INFORMATICA
 
Microcontroladores
MicrocontroladoresMicrocontroladores
Microcontroladores
 
Plc1
Plc1Plc1
Plc1
 
Arquitectura de una computadora
Arquitectura de una computadoraArquitectura de una computadora
Arquitectura de una computadora
 
Procesador
ProcesadorProcesador
Procesador
 
Procesador caracteristicas
Procesador caracteristicasProcesador caracteristicas
Procesador caracteristicas
 
lógica programable
lógica programablelógica programable
lógica programable
 
PLC
PLC PLC
PLC
 
PLC: Unidad 2. Arquitectura y funciones de memoria.pdf
PLC: Unidad 2. Arquitectura y funciones de memoria.pdfPLC: Unidad 2. Arquitectura y funciones de memoria.pdf
PLC: Unidad 2. Arquitectura y funciones de memoria.pdf
 
FUNDAMENTOS DEL LENGUAJE ENSAMBLADOR
FUNDAMENTOS DEL LENGUAJE ENSAMBLADORFUNDAMENTOS DEL LENGUAJE ENSAMBLADOR
FUNDAMENTOS DEL LENGUAJE ENSAMBLADOR
 
Arquitectura de computadores y redes
Arquitectura de computadores y redesArquitectura de computadores y redes
Arquitectura de computadores y redes
 
ICI-Unidad V
ICI-Unidad VICI-Unidad V
ICI-Unidad V
 

Más de Jonathan Ruiz de Garibay

Introducción a la planificación de proyectos
Introducción a la planificación de proyectosIntroducción a la planificación de proyectos
Introducción a la planificación de proyectosJonathan Ruiz de Garibay
 
Introducción a la Tecnología Electrónica
Introducción a la Tecnología ElectrónicaIntroducción a la Tecnología Electrónica
Introducción a la Tecnología ElectrónicaJonathan Ruiz de Garibay
 

Más de Jonathan Ruiz de Garibay (20)

Vocaciones STEM
Vocaciones STEMVocaciones STEM
Vocaciones STEM
 
Configuraciones con transistores BJT
Configuraciones con transistores BJTConfiguraciones con transistores BJT
Configuraciones con transistores BJT
 
Amplificadores Multietapa
Amplificadores MultietapaAmplificadores Multietapa
Amplificadores Multietapa
 
Amplificación de señal con BJT
Amplificación de señal con BJTAmplificación de señal con BJT
Amplificación de señal con BJT
 
Recta de carga para señal
Recta de carga para señalRecta de carga para señal
Recta de carga para señal
 
Práctica08.Comunicaciones
Práctica08.ComunicacionesPráctica08.Comunicaciones
Práctica08.Comunicaciones
 
Práctica06.Controlando Motores
Práctica06.Controlando MotoresPráctica06.Controlando Motores
Práctica06.Controlando Motores
 
Práctica05.Interrupciones en Arduino
Práctica05.Interrupciones en ArduinoPráctica05.Interrupciones en Arduino
Práctica05.Interrupciones en Arduino
 
Práctica04.Programando Arduino
Práctica04.Programando ArduinoPráctica04.Programando Arduino
Práctica04.Programando Arduino
 
Práctica01.Sistemas de Entrada Salida
Práctica01.Sistemas de Entrada SalidaPráctica01.Sistemas de Entrada Salida
Práctica01.Sistemas de Entrada Salida
 
Programación Basada en Autómatas
Programación Basada en AutómatasProgramación Basada en Autómatas
Programación Basada en Autómatas
 
Polarización de los Transistores
Polarización de los TransistoresPolarización de los Transistores
Polarización de los Transistores
 
Programación en Arduino
Programación en ArduinoProgramación en Arduino
Programación en Arduino
 
Introducción a la planificación de proyectos
Introducción a la planificación de proyectosIntroducción a la planificación de proyectos
Introducción a la planificación de proyectos
 
Trabajo en equipo
Trabajo en equipoTrabajo en equipo
Trabajo en equipo
 
Introducción a arduino
Introducción a arduinoIntroducción a arduino
Introducción a arduino
 
Fundamentos de los Transistores
Fundamentos de los TransistoresFundamentos de los Transistores
Fundamentos de los Transistores
 
Transistor Bipolar
Transistor BipolarTransistor Bipolar
Transistor Bipolar
 
Introducción a la Tecnología Electrónica
Introducción a la Tecnología ElectrónicaIntroducción a la Tecnología Electrónica
Introducción a la Tecnología Electrónica
 
Semiconductores
SemiconductoresSemiconductores
Semiconductores
 

Último

Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMarceloQuisbert6
 
osciloscopios Mediciones Electricas ingenieria.pdf
osciloscopios Mediciones Electricas ingenieria.pdfosciloscopios Mediciones Electricas ingenieria.pdf
osciloscopios Mediciones Electricas ingenieria.pdfIvanRetambay
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfKEVINYOICIAQUINOSORI
 
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxJuanPablo452634
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaXimenaFallaLecca1
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfalexquispenieto2
 
Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajasjuanprv
 
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptxNTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptxBRAYANJOSEPTSANJINEZ
 
Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfSesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfannavarrom
 
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesUNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesElianaCceresTorrico
 
Quimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfQuimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfs7yl3dr4g0n01
 
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptxCALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptxCarlosGabriel96
 
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdfMODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdfvladimirpaucarmontes
 
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADOPERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADOFritz Rebaza Latoche
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfedsonzav8
 
Obras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónObras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónXimenaFallaLecca1
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfMikkaelNicolae
 
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdfCristhianZetaNima
 
PostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDPostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDEdith Puclla
 
CLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxCLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxbingoscarlet
 

Último (20)

Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principios
 
osciloscopios Mediciones Electricas ingenieria.pdf
osciloscopios Mediciones Electricas ingenieria.pdfosciloscopios Mediciones Electricas ingenieria.pdf
osciloscopios Mediciones Electricas ingenieria.pdf
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdf
 
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdf
 
Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajas
 
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptxNTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
 
Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfSesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
 
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesUNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
 
Quimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfQuimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdf
 
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptxCALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
 
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdfMODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
 
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADOPERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdf
 
Obras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónObras paralizadas en el sector construcción
Obras paralizadas en el sector construcción
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
 
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
 
PostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDPostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCD
 
CLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxCLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptx
 

Fundamentos de los Microcontroladores

  • 1. Sistemas Electrónicos Programables Facultad de Ingeniería, Universidad de Deusto Fundamentos de los Microcontroladores
  • 2. Sistemas Electrónicos Programables ¿Qué es un microcontrolador?  Está compuesto, principalmente, por la unidad central de proceso (CPU), memoria/s, periféricos de entrada/salida y recursos especiales.  Se diferencia de un microprocesador en que esté no incluye las memorias dentro del propio circuito integrado.  Los microcontroladores son diseñados para disminuir el coste económico y el consumo energético de un sistema particular.  Cualquier electrodoméstico moderno utilizar un pequeño microcontrolador para su funcionamiento. Un Microcontrolador es un circuito integrado programable capaz de ejecutar un único programa grabado en su memoria
  • 3. Sistemas Electrónicos Programables Familias de Microcontroladores  Los fabricantes crean familias de microcontroladores con características comunes y recursos específicos que depende de las aplicaciones. Familia Instrucciones Pila Recursos Vectores de Interrupción Número de Pines PIC10xx PIC12xx 33 (12 bits) 1 nivel Limitados 0 6 – 8 PIC16xx 35 (14 bits) 8 niveles Típicos 1 14 – 44 PIC18xx 77 (16 bits) 31 niveles Avanzados 2 18 – 80 Familias de microcontroladores PIC de la empresa Microchip
  • 4. Sistemas Electrónicos Programables Arquitectura Harvard o Von Neumann  En la gran mayoría de los microcontroladores se utiliza la arquitectura Harvard;  la cual dispone de dos memorias separadas, una para el programa (de tipo ROM, PROM, EEPROM o Flash) y otra memoria volátil para los datos (de tipo SRAM).  Las principales ventajas son:  Buses de comunicación adaptados a cada memoria  diferente tamaño de datos e instrucciones.  Acceso simultáneo a ambas memorias  mejora la velocidad de procesamiento. CPU Memoria de Programa Memoria de Datos
  • 5. Sistemas Electrónicos Programables El Procesador  Es el elemento más importante del microcontrolador y determina sus principales características, tanto a nivel hardware como software.  Está compuesto la unidad de control, la unidad aritmético- lógica, una serie de registros y, en la mayoría de los casos, una pila. El Procesador es el encargado de ejecutar las instrucciones de un programa; cargando cada instrucción de la memoria de programa, ejecutando cada operación implicada leyendo información desde y hacia la memoria de datos y guardando los resultados
  • 6. Sistemas Electrónicos Programables El Procesador: Registros  El tamaño de los registros de un procesador determina muchas de las potencialidades de un sistema.  Los sistemas pueden ser de 4, 8, 16, 32 o 64 bits. Un Registro es un espacio de memoria, desde donde se toman los datos para las operaciones, se guardan resultados o se permite la interacción con los periféricos de entrada/salida y recursos especiales del microcontrolador Una operación de suma con operandos de 16 bits será ejecutada en una sola instrucción con un procesador de 16 bits mientras que con uno de 8 bits, se deberán ejecutar varias instrucciones
  • 7. Sistemas Electrónicos Programables El Procesador: Registros (continuación…)  Tomando como ejemplo los microcontroladores PIC, estos tienen dividida la memoria de datos en:  Registros de Propósito Específico: estos registros tienen una función específica para el procesador y controlan el estado del mismo, los periféricos…  Registros de Propósito General: pueden ser usados por el programador libremente.
  • 8. Sistemas Electrónicos Programables El Procesador: Unidad de Control  Es el elemento más complejo de un procesador y normalmente está dividida en unidades más pequeñas trabajando en conjunto.  Para la sincronización de la CPU se debe utilizar un reloj, basado en un circuito oscilador, que será el encargado de marcar el ritmo de trabajo. Sobre la Unidad de Control recae la lógica necesaria para la decodificación y ejecución de instrucciones, el control de los registros, la ALU, los buses de acceso a memoria…
  • 9. Sistemas Electrónicos Programables El Procesador: Unidad de Control (continuación…)  Se incrementa automáticamente en cada ciclo de instrucción de forma que las instrucciones sean leídas en secuencia.  Algunas instrucción como los saltos y llamadas y retornos de subrutinas, interrumpen la secuencia al escribir un valor concreto en el contador de programa. El Contador de Programa o PC es un registro específico que apunta a la posición de memoria de programa donde se encuentra la siguiente instrucción a ejecutar por la unidad de control.
  • 10. Sistemas Electrónicos Programables El Procesador: Unidad de Control (continuación…)  Tomando como ejemplo los microcontroladores PIC, cada ciclo está dividido en cuatro fases de trabajo:  Q1  decodificación de la instrucción  Q2  lectura del dato (si lo hay)  Q3  ejecuta la instrucción  Q4  guarda el resultado (si lo hay) PC Ejecuta Inst. (PC-1) Lee Inst. (PC) PC + 1 Ejecuta Inst. (PC) Lee Inst. (PC + 1) PC + 2 Ejecuta Inst. (PC + 1) Lee Inst. (PC + 2) Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Utiliza segmentación: ejecuta una instrucción al mismo tiempo que lee la siguiente
  • 11. Sistemas Electrónicos Programables El Procesador: Unidad Aritmético-Lógica  Las operaciones aritmético-lógicas pueden ser de un solo operando, siendo típicamente un registro de la memoria de datos,  o de dos operandos, siendo uno típicamente un registro de datos y el otro  un literal, que viene incluido en la propia instrucción,  el registro temporal W, el cual deberá ser cargado previamente. La Unidad Aritmético Lógica o ALU realiza las operaciones aritméticas y lógicas indicadas en cada instrucción; y genera unas señales o códigos de condición como el acarreo, overflow, resultado cero…
  • 12. Sistemas Electrónicos Programables El Procesador: Unidad Aritmético-Lógica (continuación…)  Tomando como ejemplo una ALU simplificada de 8 bits de los microcontroladores PIC:  ¿Cómo se ejecutaría una suma de un registro mas un literal?  ¿Cómo se ejecutaría una suma de dos registros de la memoria de datos?  ¿Cómo se verían afectados los flags? ALU<8> WBITOP BUSDEDATOS FLAGS Flags disponibles: • Z  se pone a 1 cuando el resultado de la operación es 0; 0 en caso contrario • C  se pone a 1 cuando el resultado de la operación no entra en 8 bits; 0 en caso contrario
  • 13. Sistemas Electrónicos Programables El Procesador: La Pila  Sólo existen dos operaciones posibles sobre una pila: push (apilar o escribir un dato) y pop (desapilar o leer un dato)  El tamaño de la pila es importante para un programador ya que limita el número de llamadas anidadas que se pueden realizar. La Pila es una estructura de datos de tipo LIPO (Last In First Out) que almacena temporalmente la dirección de retorno para el uso de subrutinas e interrupciones; guarda el valor del PC antes de la llamada. El ataque informático conocido como Stack Overflow se basa en introducir datos ‘malignos’ en la pila
  • 14. Sistemas Electrónicos Programables Interrupciones  Los microcontroladores pueden disponer de múltiples causas de interrupción:  E/S digitales: por cambio de estado de un pin o de un conjunto de ellos  Comunicación serie: al recibir un datos por el puerto  Conversión AD: al finalizar el proceso de conversión  Temporizadores: por desbordamiento del temporizador  … Una Interrupción es una llamada a una subrutina generada por los periféricos del microcontrolador; dicha llamada se produce automáticamente cuando se detecta un evento
  • 15. Sistemas Electrónicos Programables Interrupciones (continuación…)  El proceso de interrupción se puede resumir en: 1. Un evento es detectado por el microcontrolador, lo que activa los flags correspondientes. 2. La unidad de proceso, gracias a dichos flags, detecta que se ha producido una interrupción y a. termina la ejecución de la instrucción actual, b. se guarda en la pila el valor del contador de programa y c. se genera un salto a la rutina de interrupción 3. Se ejecutan las instrucciones de la rutina de interrupción: a. Se identifica la interrupción por medio de los flags, b. se atiende la interrupción, c. se reponen los flags y d. se finaliza la rutina de interrupción 4. La unidad de proceso restituye el estado anterior a. cargando en el contador de programa el valor guardado en la pila
  • 16. Sistemas Electrónicos Programables Interrupciones (continuación…)  Aunque el proceso de interrupción es algo complejo, tiene importantes ventajas:  Velocidad de atención a eventos: cuando el tiempo de respuesta es un factor clave del sistema, el modelo encuesta no es eficiente.  Capacidad de procesos asíncronos: el programador puede trabajar como si de procesos paralelos se tratara. Las interrupciones son tan eficaces que permiten al procesador actuar como si estuviese haciendo varias cosas a la vez cuando en realidad sólo es capaz de ejecutar una instrucción tras otra
  • 17. Sistemas Electrónicos Programables Periféricos  Destacan entre otros  Entradas/salida digitales  Conversor AD  Temporizadores  Contador Asíncrono  Puertos de comunicación  Modulación de ancho de pulso PWM  Memoria de datos no volátil  … Un Periférico es una funcionalidad del microcontrolador que permite el manejo de dispositivos de entrada/salida, comunicación, temporizaciones…
  • 18. Sistemas Electrónicos Programables Entradas/salidas Digitales  Normalmente, cualquier pin de un microcontrolador puede ser una entrada/salida digital por lo que:  Habrá que configurar, por medio de un registro, si el pin es de salida o de entrada.  Para conocer el estado de una entrada, se leerá un registro del microcontrolador, mientras  que para establecer el estado de una salida, se escribirá dicho estado en un registro del microcontrolador. Las Entradas y Salidas Digitales permiten controlar señales lógicas de 0 y 1; siendo voltajes de 0V y +5V, respectivamente, las tensiones típicamente utilizadas. El registro de lectura y escritura puede ser el mismo registro en algunos casos; y diferente registro en otros
  • 19. Sistemas Electrónicos Programables Conversor AD  Típicamente, en los microcontrolador sólo se dispone de entradas analógicas,  las cuales pueden actuar también como entradas/salidas digitales, en la mayoría de los casos.  La conversión se realiza en base a unos voltajes de referencia Vref- y Vref+ que se corresponderán con el valor digital 0 y valor máximo, respectivamente.  Suele ser posible configurar diferentes parámetros de la conversión:  Precisión: números de bits del resultado binario.  Rango: configuración de los valores de Vref- y Vref+.  … El Conversor Analógico-Digital convierte una señal analógica de voltaje a una valor digital en formato binario; con el propósito de facilitar su procesamiento.
  • 20. Sistemas Electrónicos Programables Temporizadores  Suelen utilizan un registro (temporizador de 8 bits) o varios (temporizador de 16 o 32 bits) el cual se incrementa a cada ciclo de trabajo del propio microcontrolador.  para realizar temporizaciones más largas, pueden disponer de pre-divisores y post-divisores.  En general, disponen de un interrupción cuando el registro contador se desborda, es decir, pasa del valor máximo a 0. Un Temporizador es un dispositivo que permite medir el tiempo; está compuesto por un contador incremental que hace saltar una alarma cuando ha transcurrido el tiempo configurado.
  • 21. Sistemas Electrónicos Programables Temporizadores (continuación…)  La medida natural para medir el tiempo son los segundos y todos sus múltiplos: mS, µS…  En algunos microcontroladores se usa el ‘tick’, siendo un ‘tick’ el tiempo necesario para que se genere una señal de incremento con el reloj del sistema. TMR 0 255 Valor Inicial Númerode‘ticks’ Desbordamiento Para contar un determinado número de ‘ticks’, se escribe un valor inicial en el registro que será: En unidades naturales solo habrá que multiplicarlo por el valor de un ‘tick’ 𝑉𝑎𝑙𝑜𝑟 𝐼𝑛𝑖𝑐𝑖𝑎𝑙 = 256 − 𝑛ú𝑚𝑒𝑟𝑜 𝑑𝑒 ′𝑡𝑖𝑐𝑘𝑠′
  • 22. Sistemas Electrónicos Programables Contador Asíncrono  Se dice que es asíncrono porque los impulsos no llegan regularmente;  En el caso de ser regulares, sería un contador síncrono y podría funcionar como temporizador.  Se puede configurar el tipo de evento que genera un impulso, típicamente  un flanco ascendente (pasar de 0 a 1 lógico) o  un flanco descendente (pasar de 1 a 0 lógico) Un Contador Asíncrono es un circuito capaz de realizar el cómputo de los impulsos que recibe una entrada destinada a tal efecto; suelen reutilizan la circuitería de los temporizadores
  • 23. Sistemas Electrónicos Programables Temporizador vs. Contador Asíncrono  Tomando como ejemplo una versión simplificada del Timer0 de los microcontroladores PIC: Prescaler TMR0 Fosc T0CKI 0 1 0 1 Interrupción PSAT0PS<2:0>T0CS .. 0h01 0h00 0hFF 0hFE … 0h01 0h00 Desbordamiento Temporizador 1:2 1:4 Contador 1:2 1:4
  • 24. Sistemas Electrónicos Programables Puertos de Comunicación  Existen multitud de modos de comunicación diferentes entre los que destacan, en el caso de los microcontroladores:  UART, comunicación serie síncrona  USART, comunicación serie síncrona y asíncrona  I2C, interfaz serie de 2 hilos  CAN (Controller Area Network), redes de conexionado multiplexado desarrollado para la automoción.  … Los Puertos de Comunicación permiten manejar e intercambiar datos entre el microcontrolador y otros dispositivos electrónicos
  • 25. Sistemas Electrónicos Programables Modulación en Anchura de Pulsos  Muy útil para el control de la velocidad de motores de corriente continua o para la regulación de luces (dimming).  Utilizan, generalmente, uno de los temporizadores del microcontrolador La Modulación en Anchura de Pulsos o PWM permite generar una señal de salida rectangular con un periodo constante y una anchura de pulso variable Se puede utilizar también para transmitir información a través de un canal de comunicaciones
  • 26. Sistemas Electrónicos Programables Memoria de Datos no Volátil  Esta memoria es independiente de la memoria de datos de tipo RAM y de la memoria de Programa.  Permite guardar, por ejemplo, valores de configuración del programa  Muchos microcontroladores han incorporado este tipo de memoria como un periférico más;  Siendo las memorias de tipo EEPROM las más comunes. La Memoria de Datos no Volátil permite almacenar datos de forma persistente en el propio microcontrolador; de forma que se puede apagar y/o reiniciar el sistema y no se pierden En algunos microcontroladores, es posible almacenar datos dentro de la propia memoria de Programa
  • 27. Sistemas Electrónicos Programables Recursos Especiales  Destacan entre otros:  Reset del sistema  Watch Dog Timer o Perror Guardía  Modo de bajo consumo  … Los Recursos Especiales son una serie de características adicionales que puede incluir un microcontrolador para mejorar el funcionamiento o la versatilidad del mismo
  • 28. Sistemas Electrónicos Programables R.E.: Reset  Existen muchas causas diferentes para un reset:  Power-On Reset  fallo de alimentación  MCLR pin reset  reinicio provocado con el pulsador externo de reset  Watch Dog Timer reset  desbordamiento del perro guardián  Software Reset  reinicio por medio de la instrucción sofware reset.  Stack Overflow Reset  desbordamiento de la pila  … El Reseteo de un sistema es una situación, a priori, no deseable por diversas causas; y que cuando se produce debe ser analizada para que no vuelva a producirse.
  • 29. Sistemas Electrónicos Programables R.E.: Watch Dog Timer  Este temporizador se encuentra desactivado por defecto; y puede ser activado por el programador.  Para evitar que se desborde, se utiliza la instrucción software clrwdt. El Watch Dog Timer o perro guardián es un temporizador especial que resetea el microcontrolador cuando se desborda; evita situaciones de bloqueo indefinidas Se utiliza únicamente en los casos en los que el programa incluye algoritmos muy complejos que pueden bloquear el funcionamiento normal del microcontrolador
  • 30. Sistemas Electrónicos Programables R.E.: Modo de Bajo Consumo  Para entrar he dicho estado se utilizar la instrucción software Sleep;  y para volver al estado normal, se puede realizar por medio de la generación de una interrupción. El Modo de Bajo Consumo detiene la ejecución de instrucciones por parte de la unidad de proceso; y pasa a un estado de ahorro energético deteniendo además algunos de los periféricos. Para utilizar este modo con soltura, se debe conocer muy bien el funcionamiento del microcontrolador
  • 31. Esta presentación está sujeta a la licencia de Reconocimiento de Creative Commons mediante la cual se permite la copia, la distribución, la comunicación pública y la generación de obras derivadas sin ninguna limitación siempre que se cite al autor y se mantenga el aviso de la licencia. © 2014, Jonathan Ruiz de Garibay Algunos derechos reservados