Está en la página 1de 25

CL307 - SISTEMAS DIGITALES I

MICROCONTROLADORES, ARQUITECTURA INTERNA

M.Sc. Antony Villegas Quiñones


Estructura del tema

• Introducción
• Historia
• Arquitectura interna
• Componentes
• Familia de microcontroladores
• Ventajas vs. Desventajas
• Futuro de los microcontroladores
Introducción

• Qué es un Microcontrolador ?
Introducción

• Qué es un Microcontrolador ?

❑Es un circuito integrado programable, capaz de


ejecutar ordenes grabadas en su memoria interna.

❑Esta compuesto de varios bloques funcionales que


cumplen una tarea especifica.

❑Incluye en su interior tres principales unidades:


➢ Unidad central de procesamiento
➢ Memoria
➢ Perifericos de entrada y salida
Componentes
Componentes

• Unidad de Procesamiento Central (CPU)


Cerebro del uC, contiene la Unidad Aritmetica Logica (ALU) y la Unidad de
Control. El CPU lee, decodifica y ejecuta las instrucciones para realizer las
operaciones aritmeticas, logicas y transferencia de datos.

• Memoria (RAM y ROM)


Compuesta por la Memoria del Programa que guarda las instrucciones a
ejecutar y la Memoria de Datos que almacena datos temporales cuando ejecuta
las instrucciones.
Componentes

• Puerto de Entrada/Salida (I/O – Input/Output)


Es la interface de comunicacion del uC con el mundo externo, recibiendo
informacion a traves de los puertos de entrada para ser procesados y dar una
respuesta a traves de los Puertos de salida.

• Buses
Es un grupo de conectores fisicos o canales que comunican el CPU con los
components perifericos como las memorias, puertos de entrada/salida y otros
componentes.
Componentes

• Temporizadores y Contadores
Ejecutan las operaciones de “time delay” y contadores de eventos segun el
programa a ejecutar. Tambien se encargan de la modulacion por pulso y control
del reloj.

• Puerto Serial
Este Puerto proporciona la comunicacion con dispositivos complejos
permitiendo una comunicacion bidireccion y de alto trafico.
Componentes

• Conversores analogio – digitales (ADC/DAC)


Circuitos encapsulados en el microcontrolador que le permiten convertir datos
analogicos externos en datos binarios para su lectura y procesamiento.

• Interruptores
Sirven para generar una respuesta del software al ser activado por un
mecanismos de interrupcion externos, internos o relacionados con el
hardware/software.
Familia de Microcontroladores
Ventajas vs. Desventajas

Ventajas
Desventajas

➢ Embraza la idea de una computadora en un


chip de bajo costo y facil de transportar. ➢ Poder computacional limitado.

➢ No necesita components externos para su ➢ El limite de memoria limita la cantidad de


funcionamiento. intrucciones que el microcontrolador puede
ejecutar.
➢ No requiere complejos sistemas operativos.
➢ No cuenta con Sistema operativo, por ende
➢ Todos los puertos de entrada/salida son las instrucciones deben ser previamente
programables logrando una integracion total, programadas para su ejecucion.
reduciendo su costo en general.
Futuro de los Microcontroladores
Preguntas ?
Programacion Arduino

En este bloque establecemos las


variables que utilizaremos durante
todo el programa.

En este bloque establecemos la


rutina o programa a ejecutar
repetidamente, e indefinidamente.
Cuerpo del Programa
Cabecera

Configuro mi Arduino

Encender Led

Esperar un Tiempo

Apagar Led

Esperar un Tiempo
Configuro mi Arduino
• Variables: números o caracteres que varían durante la ejecución del programa.

• Tipo entero: denominado int, almacena valores numéricos de 16 bits sin decimales
comprendidos en el rango 32,676 a -32,768.
int Ventrada = 200;

• Tipo carácter: denominado “char” del tamaño de 1 byte almacena valores tipo
carácter. Es decir solo puede contener un carácter tipo ASCII.
char Ventrada=‘a’;

• Tipo booleano: denominado “boolean” solo puede contener dos valores: TRUE o
FALSE.
boolean Ventrada=true;
Funciones

• pinMode(pin, mode): utilizada en la parte de setup() sirve para


configurar el modo de trabajo de un pin, pudiendo ser el parámetro
mode como INPUT(entrada) u OUTPUT(salida).

• Los terminales de Arduino, por defecto, están configurados como


entradas, por lo tanto no es necesario definirlos en el caso sean usados
como entradas. La impedancia de entrada de los pines es de 20kΩ. En el
caso de ser configurados como salidas, su corriente maxima es 40mA.

pinMode(2, INPUT)
Funciones

• digitalWrite(pin, mode): envía al pin definido previamente como


OUTPUT el valor HIGH o LOW (poniendo en 1 o 0 la salida).

digitalWrite(3, HIGH);
digitalWrite(3, LOW);

• delay(miliseconds): detiene la ejecución del programa la cantidad de


tiempo en milisegundos que se indique en la función.

Delay(2000);
Funciones

• digitalWrite(pin, mode): envía al pin definido previamente como


OUTPUT el valor HIGH o LOW (poniendo en 1 o 0 la salida).

digitalWrite(3, HIGH);
digitalWrite(3, LOW);

• delay(miliseconds): detiene la ejecución del programa la cantidad de


tiempo en milisegundos que se indique en la función.

Delay(2000);
Uso Pulsadores

Pull up Pull down

Generalmente se usan resistencias de 10kΩ


Ejemplo 01
Cabecera

Configuro mi Arduino

Botón Presionado
No
Si
Encender Led

Esperar 2 seg

Apagar Led
Ejemplo 01
Ejemplo 02
Cabecera

Configuro mi Arduino

Encender Luz Roja

Esperar 20 seg
Si
Boton Peaton Presionado Encender Luz Paso Peatonal
No
Apagar Luz Roja y Luz Paso Peatonal

Encender Luz Verde

Esperar 20 seg

Apagar Luz Verde


Ejemplo 02
Preguntas ?