MICROPROCESADOR
MICROCONTROLADOR
HARDWARE2024-II_A microprocesadores_1.pdf
Von Neuman vs Harvard
HARDWARE2024-II_A microprocesadores_1.pdf
Arquitectura
Unidades Básicas
Arquitecturas de los uC
• Von Neuman
– Tienen un bus de datos y otro bus de direcciones.
– Las instrucciones y los datos son almacenados en un solo MAPA DE
MEMORIA PRINCIPAL.
– Cuando la CPU se dirige a la memoria principal, extrae la instrucción y
después los datos con los que se efectúa la instrucción.
• Harvard
– Tienen dos buses de datos y dos de direcciones.
– Esto significa que las instrucciones y los datos son almacenados en
MEMORIAS DIFERENTES que son accedidas de forma separada por la
CPU.
Von Neuman vs Harvard
HARDWARE2024-II_A microprocesadores_1.pdf
HARDWARE2024-II_A microprocesadores_1.pdf
HARDWARE2024-II_A microprocesadores_1.pdf
Von Neuman vs Harvard
HARDWARE2024-II_A microprocesadores_1.pdf
1. HARDWARE
A. OSCILADOR: CLOCK
B. COMUNICACIÓN SERIE
C. COMUNICACIÓN PARALELO
D. TEMPORIZADORES
E. MODULADORES POR ANCHO DE PULSO
F. MEMORIA DE DATOS
A. PARA LA CPU: REGISTROS PARA FUNCIONES ESPECIALES
B. PARA EL USUARIO: RAM
G. MEMORIA DE PROGRAMA
H. RESET
2. SOFTWARE
A. BIOS
B. SISTEMA OPERATIVO
C. ENTORNO DE DESARROLLO INTEGRADO: IDE
D. LENGUAJE DE PROGRAMACIÓN
E. PROGRAMA DE USUARIO
IDE
Un entorno de desarrollo integrado (IDE) es un sistema de software para el diseño de aplicaciones que combina herramientas del desarrollador comunes
en una sola interfaz gráfica de usuario (GUI). Generalmente, un IDE cuenta con las siguientes características:
• Editor de código fuente
• Automatización de las compilaciones locales
• Depurador
HARDWARE2024-II_A microprocesadores_1.pdf
ARQUITECTURA CISC
En la arquitectura
computacional, CISC
(complex instruction set
computer) es un modelo de
arquitectura de
computadora.
Los microprocesadores CISC
tienen un conjunto de
instrucciones que se
caracteriza por ser muy
amplio y permitir
operaciones complejas entre
operandos situados en la
memoria o en los registros
internos, en contraposición a
la arquitectura RISC.
ARQUITECTURA RISC:
En la arquitectura computacional, RISC (Reduced Instruction Set Computer) es un
tipo de microprocesador con las siguientes características fundamentales:
Instrucciones de tamaño fijo y presentadas en un reducido número de formatos.
Sólo las instrucciones de carga y almacenamiento acceden a la memoria de datos.
El objetivo de diseñar máquinas con esta arquitectura es posibilitar la
segmentación y el paralelismo en la ejecución de instrucciones y reducir los
accesos a memoria.
MICROCONTROLADOR
uC
HARDWARE2024-II_A microprocesadores_1.pdf
HARDWARE2024-II_A microprocesadores_1.pdf
HARDWARE2024-II_A microprocesadores_1.pdf
HARDWARE2024-II_A microprocesadores_1.pdf
HARDWARE2024-II_A microprocesadores_1.pdf
ARQUITECTURA
HARDWARE2024-II_A microprocesadores_1.pdf
HARDWARE2024-II_A microprocesadores_1.pdf
HARDWARE2024-II_A microprocesadores_1.pdf
HARDWARE2024-II_A microprocesadores_1.pdf
HARDWARE2024-II_A microprocesadores_1.pdf
MICROCONTROLADOR
• Los microcontroladores PIC de gama baja poseen arquitectura Harvard:
• Utilizan dos memorias distintas, una para almacenar las instrucciones y otra para
manejar los datos.
• Está compuesto por:
1. Un procesador (CPU),
2. memoria RAM,
3. memoria ROM y
4. buses de comunicaciones: un bus de datos, uno de direcciones y uno de control
5. Puertos de entrada y salida,
6. Periféricos tales como osciladores, temporizadores/contadores, módulos de
comunicación serial y paralela, comparadores analógicos, conversores analógicos
a digital, memoria eeprom, etc.
HARDWARE2024-II_A microprocesadores_1.pdf
Comparativa entre las tarjetas de desarrollo:
• Raspberry Pi 4 → microprocesador
• Arduino Due → microcontrolador
• Adafruit Huzzah 32 → microcontrolador
El Microcontrolador
Microprocesador (uP):
Es un sistema abierto con el que puede construirse un
computador con las características deseadas acoplándole
elementos digitales asociados:
• Drivers,
• Decodificadores,
• Memorias
• ADC/DAC, etc.
Microcontrolador (uC):
Es un sistema cerrado que contiene un computador completo de
prestaciones limitadas que no se pueden modificar.
Clases
• Por el tipo de instrucciones:
– CISC: instrucciones heterogéneas y más complejas.
– RISC: instrucciones con formato único, simples.
• Por el tipo de fabricación
– Se emplea tecnología CMOS. Consumen muy poca corriente y pueden ser
alimentados con baterías por mucho tiempo.
• Por el acceso externo:
– mC incrustado (Microchip, National, etc).
– Modo mP/mC (Intel, Motorola).
Características de los uC
• Elementos básicos:
– Unidad Central de Proceso → CPU
– Memoria volátil → RAM.
– Memoria de programa → FLASH ROM
– Puertos de entrada y salida → I/O.
• Soporte configurable:
– Temporizadores/contadores.
– Controlador de interrupciones.
– Puerto de comunicaciones serial.
• Complementos adicionales:
– Convertidor A/D.
– Reloj de tiempo real….
Arquitectura del MICROCONTROLADOR
http://www.micros-designs.com.ar/imagenes%20uploads/2012/08/Bloques01.png
Memoria de Programa Memoria de Datos
(variables)
Universal
Asynchronous
Receive
Transmitter
CPU
HARDWARE2024-II_A microprocesadores_1.pdf
CPU: Unidad Central de Procesamiento
• El CPU o es el encargado de direccionar la memoria ROM, decodificar la instrucción y ejecutar la operación que implica.
• El primer paso es leer la instrucción de la memoria, la posición es controlada por un contador de programa (PC) que
almacena un número que identifica la posición actual a ejecutar.
• La instrucción que el CPU lee desde la memoria es usada para determinar qué operación debe hacer el CPU, en este paso hay
una decodificación, en donde la instrucción es dividida en partes que tienen significado para otras unidades del CPU.
• Después de los pasos de lectura y decodificación, es llevado a cabo el paso de la ejecución de la instrucción.
– Durante este paso, varias unidades del CPU son conectadas de tal manera que ellas pueden realizar la operación deseada. Si, por
ejemplo, una operación de adición fue solicitada, una unidad aritmético lógica (ALU) será conectada a un conjunto de entradas (números
a ser sumados) y un conjunto de salidas (suma).
• Luego el paso final, simplemente la obtención del resultado, escribiéndolo en un registro interno del CPU de acceso rápido,
modificando un registro de la memoria RAM o modificando el contador de programa para generar saltos o bucles, etc.
http://www.micros-designs.com.ar/imagenes%20uploads/2012/08/Bloques02.png
REGISTRO ESPECIAL:
Contador de Programa
REGISTRO ESPECIAL:
Acumulador
MEMORIA DE PROGRAMA:
Instrucción
EJEMPLO
Microcontrolador → PIC18F4550
Diagrama
de
bloques
RELOJ
fck
HARDWARE2024-II_A microprocesadores_1.pdf
HARDWARE2024-II_A microprocesadores_1.pdf
El número de periodos de reloj que tarda cada instrucción depende del procesador y de la instrucción
HARDWARE2024-II_A microprocesadores_1.pdf
RELOJ → OSCILADOR Cristal de Cuarzo
• RESONADOR PIEZOELÉCTRICO:
convirtiendo las vibraciones
mecánicas en voltajes eléctricos a una
frecuencia específica.
• La piezo-electricidad es electricidad
creada por una presión mecánica.
• En un material piezoeléctrico, al
aplicar una presión mecánica sobre
un eje, dará como consecuencia la
creación de una carga eléctrica a lo
largo de un eje ubicado en un ángulo
recto respecto al de la aplicación de la
presión mecánica.
• Por las propiedades mecánicas,
eléctricas, y químicas, el cuarzo es el
material más apropiado para fabricar
dispositivos con frecuencia bien
controlada.
02/09/2024
ADC  DAC
HARDWARE2024-II_A microprocesadores_1.pdf
HARDWARE2024-II_A microprocesadores_1.pdf
HARDWARE2024-II_A microprocesadores_1.pdf
HARDWARE2024-II_A microprocesadores_1.pdf
HARDWARE2024-II_A microprocesadores_1.pdf
ADC  DAC
Analod Digital Converter  Digital Analog Converter
HARDWARE2024-II_A microprocesadores_1.pdf
SD
SD
HARDWARE2024-II_A microprocesadores_1.pdf
HARDWARE2024-II_A microprocesadores_1.pdf
HARDWARE2024-II_A microprocesadores_1.pdf
HARDWARE2024-II_A microprocesadores_1.pdf
HARDWARE2024-II_A microprocesadores_1.pdf
HARDWARE2024-II_A microprocesadores_1.pdf
HARDWARE2024-II_A microprocesadores_1.pdf
mejorar la precisión
𝑸 =
𝑬𝑭𝑺𝑹
𝟐𝑴 − 𝟏
=
𝑬𝑭𝑺𝑹
𝑵
Q= resolución
EFSR= Rango de máxima escala = SPAN
M= número de bits del código
N= número de partes codificables
CUANTIZACIÓN
FRECUENCIA DE MUESTREO
n 0 1 2 3 4 5 6 7 8 9 10 11 12
2^n 1 2 4 8 16 32 64 128 256 512 1024 2048 4096
Resolución = (span) / (2^n -1)
n=3
VM= 1 ---> 111 Vmax= 1 7 111 1
Vm= 0 ---> 000 n= 3 6 110 0.85714
SPAN= 1 000 - 111 5 101 0.71429
0 - 7 4 100 0.57143
3 011 0.42857
2 010 0.28571 n=8 n=10 n=12
1 001 0.14286 0.00392 0.00098 0.00024
0 000 0
digital en paralelo → señal analógica
R-2R
R-2R
HARDWARE2024-II_A microprocesadores_1.pdf
HARDWARE2024-II_A microprocesadores_1.pdf
𝑽𝒓𝒆𝒇 = 𝑅𝐹 ∗
5 ∗ 𝑹𝟕
1000
+
5 ∗ 𝑹𝟔
2000
+
5 ∗ 𝑹𝟓
4000
+
5 ∗ 𝑹𝟒
8000
+
5 ∗ 𝑹𝟑
16000
+
5 ∗ 𝑹𝟐
32000
+
5 ∗ 𝑹𝟏
64000
+
5 ∗ 𝑹𝟎
128000
R7 R6 R5 R4 R3 R2 R1 R0
1 1 1 1 1 1 1 1
Res7 Res6 Res5 Res4 Res3 Res2 Res1 Res0
1000 2000 4000 8000 16000 32000 64000 128000
5*D7/R7 5*D6/R6 5*D5/R5 5*D4/R4 5*D3/R3 5*D2/R2 5*D1/R1 5*D0/R0
0.005 0.0025 0.00125 0.000625 0.0003125 0.00015625 0.000078125 3.90625E-05
Rfeedback Vs Vmax G RF9 RF8
100 0.99609375 5 0.19921875 51000 256000
R7 R6 R5 R4 R3 R2 R1 R0
0 0 0 0 0 0 0 1
Res7 Res6 Res5 Res4 Res3 Res2 Res1 Res0
1000 2000 4000 8000 16000 32000 64000 128000
5*D7/R7 5*D6/R6 5*D5/R5 5*D4/R4 5*D3/R3 5*D2/R2 5*D1/R1 5*D0/R0
0 0 0 0 0 0 0 3.90625E-05
Rfeedback Vs Vmax G RF9 RF8
100 0.00390625 5 0.00078125 51000 65280000
R7 R6 R5 R4 R3 R2 R1 R0
0 0 0 0 1 0 0 0
Res7 Res6 Res5 Res4 Res3 Res2 Res1 Res0
1000 2000 4000 8000 16000 32000 64000 128000
5*D7/R7 5*D6/R6 5*D5/R5 5*D4/R4 5*D3/R3 5*D2/R2 5*D1/R1 5*D0/R0
0 0 0 0 0.0003125 0 0 0
Rfeedback Vs Vmax G RF9 RF8
100 0.03125 5 0.00625 51000 8160000
Ri son bits del registro R [R7,R6,R5,R4,R3,R2,R1,R0]
D7 D6 D5 D4 D3 D2 D1 D0
0 0 0 0 0 0 1 1
R7 R6 R5 R4 R3 R2 R1 R0
1000 2000 4000 8000 16000 32000 64000 128000
5*D7/R7 5*D6/R6 5*D5/R5 5*D4/R4 5*D3/R3 5*D2/R2 5*D1/R1 5*D0/R0
0 0 0 0 0 0 0.000078125 3.90625E-05
Rfeedback Vs Vmax G RF9 RF8
100 0.01171875 5 0.00234375 51000 21760000
con un solo cable
MODULACIÓN POR ANCHO DE PULSO
PWM
PWM (pulse-width modulation)
𝑉𝑚 =
1
𝑇
න
0
𝑇
𝑓 𝑡 𝑑 𝑡 =
𝐴
𝑇
La integral es el área por unidad de tiempo
En un periodo concreto, en T segundos
A = ancho*alto → en ese periodo
alto = 5 voltios ancho = Duty Cicle * T
A = ancho*alto = (DutyCicle *T)*5 voltios*segundos
Vm =
𝐴
𝑇
= DutyCicle*5 voltios
Duty Cicle = Ciclo de Trabajo
𝑉𝑚 = 𝐷𝑢𝑡𝑦𝐶𝑖𝑐𝑙𝑒 ∗ 5 𝑣𝑜𝑙𝑡𝑖𝑜𝑠
La modulación por ancho de pulsos o PWM (pulse-
width modulation) es una técnica en la que se
modifica el ciclo de trabajo de una señal periódica, ya
sea para transmitir información a través de un canal
de comunicaciones o para controlar la cantidad de
energía que se envía a una carga.
MÓDULO PWM
El PWM, o MODULACIÓN POR ANCHO DE PULSO, es la abreviatura de Pulse Width Modulated, y se
utiliza como atributo para una señal de control que generalmente se utiliza para regular la potencia o
velocidad a la que un dispositivo tiene que funcionar. Físicamente es una señal binaria DE PERIODO
CONSTANTE.
MODULACIÓN POR ANCHO DE PULSO
HARDWARE2024-II_A microprocesadores_1.pdf
CIRCUITO DRIVER
entrada analógica → Salida digital paralelo
HARDWARE2024-II_A microprocesadores_1.pdf
HARDWARE2024-II_A microprocesadores_1.pdf
HARDWARE2024-II_A microprocesadores_1.pdf
Proteus ADC0
FLASH ADC
HARDWARE2024-II_A microprocesadores_1.pdf
HARDWARE2024-II_A microprocesadores_1.pdf
R6
10k
R5
10k
R4
10k
R2
10k
R3
10k
REFERENCIA
VALUE=1.5
R7
10k
+5
+5
VALUE=5
R1
10k
R6(1)
V=1.28544
R5(1)
V=1.071
R4(1)
V=0.856672
R3(1)
V=0.642429
R2(1)
V=0.42825
R1(1)
V=0.214114
0
sensor
sensor
V=1.50465
C7
C6
C5
C4
C3
C2
C1
/C0
C1
/C2
/C3
/C4
/C5
/C6
/C7
/C0
C1
C2
C3
/C4
/C5
/C6
/C7
/C6
C5
C4
C3
C2
C1
/C0
C7
C6
C5
C4
C3
C2
C1
/C0
1 2
3 4
/C0
2
3
4
5
1
U16:A
4072
/C7
5 6
1
2
3
4
5
6
11
12
8
13 12
1
2
3
4
5
6
11
12
8
11 10
1
2
3
4
5
6
11
12
8
1
2
3
4
5
6
11
12
8
9 8
/C0
C1
C2
/C3
/C4
/C5
/C6
/C7
/C0
C1
C2
C3
/C4
/C5
/C6
/C7
C6
C5
C4
C3
C2
C1
/C0
C7
C6
C5
C4
C3
C2
C1
/C0
9
10
11
12
13
U16:B
4072
/C7
1 2
1
2
3
4
5
6
11
12
8
3 4
1
2
3
4
5
6
11
12
8
5 6
1
2
3
4
5
6
11
12
8
1
2
3
4
5
6
11
12
8
13 12
/C0
C1
C2
C3
C4
/C5
/C6
/C7
/C0
C1
C2
C3
C4
C5
/C6
/C7
C6
C5
C4
C3
C2
C1
/C0
C7
C6
C5
C4
C3
C2
C1
/C0
2
3
4
5
1
U27:A
4072
/C7
1 2
1
2
3
4
5
6
11
12
8
3 4
1
2
3
4
5
6
11
12
8
5 6
1
2
3
4
5
6
11
12
8
1
2
3
4
5
6
11
12
8
13 12
0
3 4
/C6
0
5 6
/C5
1
13 12
/C4
1
11 10
/C3
1
9 8
/C2
1
1 2
/C1
/C7
0
D0
0
D1
1
D2
C0
0
C0
V=0
DECODIFICADOR
Código comparativo → Código binario de 3 bits
[C7,C6,C5,C4,C3,C2,C1,C0] → [D2,D1,D0]
C7 C6 C5 C4 C3 C2 C1 C0 D2 D1 D0 dec
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 1 0 0 0 1 1
0 0 0 0 0 1 1 0 0 1 0 2
0 0 0 0 1 1 1 0 0 1 1 3
0 0 0 1 1 1 1 0 1 0 0 4
0 0 1 1 1 1 1 0 1 0 1 5
0 1 1 1 1 1 1 0 1 1 0 6
1 1 1 1 1 1 1 0 1 1 1 7
DECODIFICADOR
Código comparativo → Código binario de 3 bits
[C7,C6,C5,C4,C3,C2,C1,C0] → [D2,D1,D0]
R8
10k
R9
10k
R10
10k
R11
10k
R12
10k
R13
10k
sensor1
0
sensor1
C7
C6
C5
C4
C3
C2
C1
0
0
1
1
1
1
0
0L
0
10
1
11
2
12
3
13
4
1
5
2
6
3
7
4
EI
5
EO
15
A0
9
A1
7
A2
6
GS
14
U60
74148
0L
C7
C6
C5
C4
C3
C2
C1
0
0
0
1
1
1
1
R14
10k
Vcc
33.0
3
1
VOUT
2
U34
LM35
R13(1)
VALUE=1.5
TEMPORIZADOR
TIMER
HARDWARE2024-II_A microprocesadores_1.pdf
TIMER - TEMPORIOZADOR
?
1
BIT T0
1
BIT R0
1
2
3
?
3 4
Igual 0
Distinto 0
Igual 0
?
1
BIT T0
1
BIT R0
1
2
3
?
3 4
Igual 0
Distinto0
Igual 0
?
1
BIT T1
1
BIT R1
4
5
6
?
1 2
Igual 1
Distinto1
Igual 1
?
0
BIT T2
0
BIT R2
9
10
8
?
3 4
Igual 2
Distinto2
Igual 2
Igual 0
Igual 1
Igual 2
1
2
13
12
U5:A
7410
Palabraigual
5 6
Palabradiferente
?
?
HARDWARE2024-II_A microprocesadores_1.pdf
HARDWARE2024-II_A microprocesadores_1.pdf
HARDWARE2024-II_A microprocesadores_1.pdf
El módulo de watchdog es el encargado de resetear al sistema cuando algo no
funcione como es debido. Además de esta señal de reset, que en realidad no es
controlable desde el exterior, el sistema dispondrá de un reset que podrá ser activado
manualmente por parte del usuario.
WHATCHDOG
COMUNICACIÓN EN SERIE
HARDWARE2024-II_A microprocesadores_1.pdf
REGISTRADOR DE DESPLAZAMIENTO
SHIFT REGISTER
Los registros de desplazamiento son circuitos donde la información de entrada se va desplazando en las salidas cuando se les
aplica una señal de sincronismo. Si se deja de enviar la señal de sincronismo, en la salida se mantiene la información
anteriormente presente (memorizado).
UART
Universal asynchronous receiver / transmitter
UART
Universal asynchronous receiver transmitter
HARDWARE2024-II_A microprocesadores_1.pdf
MEMORIA
HARDWARE2024-II_A microprocesadores_1.pdf
MEMORIA
RAM
SFR DATOS
PROGRAMA
PROGRAMA EEPROM
V1
A1
R1
R2
A2
V2
Análisis Básico: Intersección Doble Vía
R1
A1
V1
R2
A2
V2
Requerimiento
S2
S6
S4
S1
S5
S3
El microcontrolador ATmega328 es fabricado por
Microchip Technology Inc.. Esta compañía es
conocida por producir una amplia gama de
microcontroladores y componentes semiconductores,
y adquirió la empresa Atmel en 2016, que
originalmente desarrolló y fabricó la serie ATmega de
microcontroladores. Desde entonces, Microchip ha
continuado la producción y soporte de estos
dispositivos.
El ATMEGA328P es un microcontrolador de 8
bits basado en la arquitectura AVR RISC
RISC: Reduced Instruction Set Computer
AVR: Advanced Virtual RISC
El dispositivo funciona entre 1.8 y 5.5V. Ejecuta instrucciones potentes en un solo ciclo de reloj y logra
rendimientos aproximados a 1 MIPS por MHz, equilibrando el consumo de potencia y la velocidad de
procesamiento.
Contiene todos los componentes de un computador. Se emplea para controlar el funcionamiento de una
tarea determinada y, debido a su reducido tamaño, suele ir incorporado en el propio dispositivo al que
gobierna.
PUERTO: conjunto de bits ordenados de entrada y salida en paralelo
Arduino fue inventado en el
Interaction Design Institute
Ivrea en Ivrea, Italia
Microcontroller ATmega328P
Operating Voltage 5V
Input Voltage (recommended) 7-12V
Input Voltage (limit) 6-20V
Digital I/O Pins 14 (of which 6 provide PWM output)
PWM Digital I/O Pins 6
Analog Input Pins 6
DC Current per I/O Pin 20 mA
DC Current for 3.3V Pin 50 mA
Flash Memory 32 KB (ATmega328P) of which 0.5 KB used by
bootloader
SRAM 2 KB (ATmega328P)
EEPROM 1 KB (ATmega328P)
Clock Speed 16 MHz
LED_BUILTIN 13
HARDWARE2024-II_A microprocesadores_1.pdf
Advanced Virtual RISC: AVR
RISC significa Reduced Instruction Set Computer
HARDWARE2024-II_A microprocesadores_1.pdf
HARDWARE2024-II_A microprocesadores_1.pdf
HARDWARE2024-II_A microprocesadores_1.pdf
HARDWARE2024-II_A microprocesadores_1.pdf
S2
S6
S4
S1
S5
S3
HARDWARE2024-II_A microprocesadores_1.pdf
HARDWARE2024-II_A microprocesadores_1.pdf
HARDWARE2024-II_A microprocesadores_1.pdf
HARDWARE2024-II_A microprocesadores_1.pdf
HARDWARE2024-II_A microprocesadores_1.pdf
HARDWARE2024-II_A microprocesadores_1.pdf
Arduino se programa en un lenguaje basado en C y C++.
El entorno de desarrollo de Arduino (Arduino IDE) utiliza una simplificación del lenguaje C/C++, lo que
facilita la programación. Algunos puntos clave sobre la programación:
1. Lenguaje: Aunque el código se escribe en un formato simplificado, debajo de todo se compila en
C/C++. Esto significa que se puede usar la mayoría de las características del lenguaje C/C++,
como estructuras, funciones, y librerías.
2. Bibliotecas: Arduino tiene una amplia variedad de bibliotecas que permiten acceder fácilmente a
funciones complejas sin necesidad de escribir código desde cero, como controlar pantallas,
sensores, motores, etc.
3. Estructura del Código: El código de Arduino típicamente incluye dos funciones principales:
▪ setup(): Esta función se ejecuta una vez al inicio del programa, y es donde se
configuran las entradas, salidas, y otras configuraciones iniciales.
▪ loop(): Esta función se ejecuta repetidamente, y es donde va el código principal
que se ejecutará continuamente mientras el Arduino está encendido.
HARDWARE2024-II_A microprocesadores_1.pdf
HARDWARE2024-II_A microprocesadores_1.pdf
HARDWARE2024-II_A microprocesadores_1.pdf
HARDWARE2024-II_A microprocesadores_1.pdf
HARDWARE2024-II_A microprocesadores_1.pdf
HARDWARE2024-II_A microprocesadores_1.pdf
HARDWARE2024-II_A microprocesadores_1.pdf
HARDWARE2024-II_A microprocesadores_1.pdf
La memoria ROM: no volátil
• Los datos almacenados no se pierden aunque no esté energizada.
• Se destina a contener la lista de instrucciones que conforman la aplicación, por ello suele llamarse memoria de programa.
• En microcontroladores ronda desde los 512 bytes a 128 kbytes, correspondientes a los de gama baja de Microchip.
• Son del tipo Flash, de bajo consumo, que se pueden escribir y leer, y de gran densidad de almacenamiento.
• Tienen la ventaja que permiten ser reprogramadas en circuito, sin necesidad de extraer el circuito integrado de la tarjeta.
http://www.micros-designs.com.ar/imagenes%20uploads/2012/08/Bloques01.png
La memoria RAM, memoria volátil
• La destinada a guardar las variables y datos temporales que serán utilizados por el procesador para realizar cálculos u otro
tipo de operaciones lógicas.
• El espacio de direcciones de memoria RAM se divide en dos sectores:
– Registros de propósito general (GPR), espacio destinado para crear variables por el usuario y variables propias del compilador; y
– Registros de funciones especiales (SFR), espacio que contiene bits de configuración y control de los periféricos del microcontrolador.
• En la actualidad se pueden encontrar microcontroladores con memoria RAM de unos 32 bytes hasta 4 kbytes.
http://www.micros-designs.com.ar/imagenes%20uploads/2012/08/Bloques01.png
Registros
• Un registro es una pequeña porción de la memoria y su tamaño se mide generalmente en bits (8-bits, 16-bits, 32-bits).
• Está representado por un numero que denominamos dirección de memoria, pero dentro del lenguaje de programación
existe la posibilidad de asignarle un nombre, de esta manera es más sencillo de manejar.
http://www.micros-designs.com.ar/imagenes%20uploads/2012/08/Bloques01.png
• Dirección (puntero del Registro)
• Dato

Más contenido relacionado

PDF
TRABAJO PERSONAL
PPTX
Microcontrolador
PDF
Sesión 3 introduccion a microcontroladores
PPTX
Trabajo personal
PPTX
Arquitectura del cpu
DOCX
1 conceptos introductorios a los microcontroladores
TRABAJO PERSONAL
Microcontrolador
Sesión 3 introduccion a microcontroladores
Trabajo personal
Arquitectura del cpu
1 conceptos introductorios a los microcontroladores

Similar a HARDWARE2024-II_A microprocesadores_1.pdf (20)

PPTX
tarea 3
PPTX
Trabajo personal
PDF
ARQ_Microcontroladores clase de micro .pdf
PPTX
Arquitectura del microcontrolador
PPT
PDF
Curso Sistemas Operativos - Unidad Arquitectura del Computador
PDF
Apunte de microprocesadores pic
DOCX
Trabajo final
PDF
INTRODUCCION A MICROCONTROLADORES_34244a60bdd31b87ca74f0dadac0c0e6.pdf
PDF
microprocesadores unidad de control/ unidad aritmético lógica UAL
PPTX
caractermaterial_2019F1_COM212_02_132253.pptx
PPTX
Microcontroladores.pptx
PDF
Trabajo principal liz arleth
PDF
Arquitectura de la computadora
PDF
Adc y usart pic16 f887
PDF
Introducción a los microcontroladores
PPT
Arquitectura de la PC-I
PDF
2 curso de pic (saber electronica)
PDF
Curso de-picnn
PDF
Microcontroladores: Curso de microcontroladores PIC para estudiantes y aficio...
tarea 3
Trabajo personal
ARQ_Microcontroladores clase de micro .pdf
Arquitectura del microcontrolador
Curso Sistemas Operativos - Unidad Arquitectura del Computador
Apunte de microprocesadores pic
Trabajo final
INTRODUCCION A MICROCONTROLADORES_34244a60bdd31b87ca74f0dadac0c0e6.pdf
microprocesadores unidad de control/ unidad aritmético lógica UAL
caractermaterial_2019F1_COM212_02_132253.pptx
Microcontroladores.pptx
Trabajo principal liz arleth
Arquitectura de la computadora
Adc y usart pic16 f887
Introducción a los microcontroladores
Arquitectura de la PC-I
2 curso de pic (saber electronica)
Curso de-picnn
Microcontroladores: Curso de microcontroladores PIC para estudiantes y aficio...
Publicidad

Último (20)

PPTX
ARQUITECTURA INTEGRAL EN OBRA, PRINCIPIOS BASICOS Y TERMINOS
PDF
EVALUACIÓN 1_REFERENCIAPIR_FASE 1_2024.pdf
PDF
Curso Introductorio de Cristales Liquidos
PDF
Presentacion_Resolver_CEM_Hospitales_v2.pdf
PDF
silabos de colegio privado para clases tema2
PPTX
Cómo Elaborar e Implementar el IPERC_ 2023.pptx
PDF
SESION 9 seguridad IZAJE DE CARGAS.pdf ingenieria
PDF
BROCHURE SERVICIOS CONSULTORIA ISOTEMPO 2025
PPTX
PPT PE 7 ASOCIACIONES HUAMANGA_TALLER DE SENSIBILIZACIÓN_20.04.025.pptx
PDF
Presentación Ejecutiva Minimalista Azul.pdf
PDF
Matriz_Seguimiento_Estu_Consult_2024_ACT.pdf
PDF
Módulo V. Tema 2. Disruptive & Transformation 2024 v.0.4.pdf
PDF
SESION 10 SEGURIDAD EN TRABAJOS CON ELECTRICIDAD.pdf
PDF
FUNCION CUADRATICA FUNCIONES RAIZ CUADRADA
PPTX
PROCESOS DE REGULACION DE CRECIMIENTO.pptx
PDF
PRINCIPIOS ORDENADORES_20250715_183000_0000.pdf
PDF
METODOLOGÍA DE INVESTIGACION ACCIDENTES DEL TRABAJO.pdf
PDF
Diseño y Utiliación del HVAC Aire Acondicionado
PDF
La 5ª Edición del Manual de Ingeniería de Sistemas ( SEH5E ) como base d...
PPT
flujo de caja paa la evaluacion de proyectos
ARQUITECTURA INTEGRAL EN OBRA, PRINCIPIOS BASICOS Y TERMINOS
EVALUACIÓN 1_REFERENCIAPIR_FASE 1_2024.pdf
Curso Introductorio de Cristales Liquidos
Presentacion_Resolver_CEM_Hospitales_v2.pdf
silabos de colegio privado para clases tema2
Cómo Elaborar e Implementar el IPERC_ 2023.pptx
SESION 9 seguridad IZAJE DE CARGAS.pdf ingenieria
BROCHURE SERVICIOS CONSULTORIA ISOTEMPO 2025
PPT PE 7 ASOCIACIONES HUAMANGA_TALLER DE SENSIBILIZACIÓN_20.04.025.pptx
Presentación Ejecutiva Minimalista Azul.pdf
Matriz_Seguimiento_Estu_Consult_2024_ACT.pdf
Módulo V. Tema 2. Disruptive & Transformation 2024 v.0.4.pdf
SESION 10 SEGURIDAD EN TRABAJOS CON ELECTRICIDAD.pdf
FUNCION CUADRATICA FUNCIONES RAIZ CUADRADA
PROCESOS DE REGULACION DE CRECIMIENTO.pptx
PRINCIPIOS ORDENADORES_20250715_183000_0000.pdf
METODOLOGÍA DE INVESTIGACION ACCIDENTES DEL TRABAJO.pdf
Diseño y Utiliación del HVAC Aire Acondicionado
La 5ª Edición del Manual de Ingeniería de Sistemas ( SEH5E ) como base d...
flujo de caja paa la evaluacion de proyectos
Publicidad

HARDWARE2024-II_A microprocesadores_1.pdf

  • 3. Von Neuman vs Harvard
  • 6. Arquitecturas de los uC • Von Neuman – Tienen un bus de datos y otro bus de direcciones. – Las instrucciones y los datos son almacenados en un solo MAPA DE MEMORIA PRINCIPAL. – Cuando la CPU se dirige a la memoria principal, extrae la instrucción y después los datos con los que se efectúa la instrucción. • Harvard – Tienen dos buses de datos y dos de direcciones. – Esto significa que las instrucciones y los datos son almacenados en MEMORIAS DIFERENTES que son accedidas de forma separada por la CPU.
  • 7. Von Neuman vs Harvard
  • 11. Von Neuman vs Harvard
  • 13. 1. HARDWARE A. OSCILADOR: CLOCK B. COMUNICACIÓN SERIE C. COMUNICACIÓN PARALELO D. TEMPORIZADORES E. MODULADORES POR ANCHO DE PULSO F. MEMORIA DE DATOS A. PARA LA CPU: REGISTROS PARA FUNCIONES ESPECIALES B. PARA EL USUARIO: RAM G. MEMORIA DE PROGRAMA H. RESET 2. SOFTWARE A. BIOS B. SISTEMA OPERATIVO C. ENTORNO DE DESARROLLO INTEGRADO: IDE D. LENGUAJE DE PROGRAMACIÓN E. PROGRAMA DE USUARIO IDE Un entorno de desarrollo integrado (IDE) es un sistema de software para el diseño de aplicaciones que combina herramientas del desarrollador comunes en una sola interfaz gráfica de usuario (GUI). Generalmente, un IDE cuenta con las siguientes características: • Editor de código fuente • Automatización de las compilaciones locales • Depurador
  • 15. ARQUITECTURA CISC En la arquitectura computacional, CISC (complex instruction set computer) es un modelo de arquitectura de computadora. Los microprocesadores CISC tienen un conjunto de instrucciones que se caracteriza por ser muy amplio y permitir operaciones complejas entre operandos situados en la memoria o en los registros internos, en contraposición a la arquitectura RISC. ARQUITECTURA RISC: En la arquitectura computacional, RISC (Reduced Instruction Set Computer) es un tipo de microprocesador con las siguientes características fundamentales: Instrucciones de tamaño fijo y presentadas en un reducido número de formatos. Sólo las instrucciones de carga y almacenamiento acceden a la memoria de datos. El objetivo de diseñar máquinas con esta arquitectura es posibilitar la segmentación y el paralelismo en la ejecución de instrucciones y reducir los accesos a memoria.
  • 28. MICROCONTROLADOR • Los microcontroladores PIC de gama baja poseen arquitectura Harvard: • Utilizan dos memorias distintas, una para almacenar las instrucciones y otra para manejar los datos. • Está compuesto por: 1. Un procesador (CPU), 2. memoria RAM, 3. memoria ROM y 4. buses de comunicaciones: un bus de datos, uno de direcciones y uno de control 5. Puertos de entrada y salida, 6. Periféricos tales como osciladores, temporizadores/contadores, módulos de comunicación serial y paralela, comparadores analógicos, conversores analógicos a digital, memoria eeprom, etc.
  • 30. Comparativa entre las tarjetas de desarrollo: • Raspberry Pi 4 → microprocesador • Arduino Due → microcontrolador • Adafruit Huzzah 32 → microcontrolador
  • 31. El Microcontrolador Microprocesador (uP): Es un sistema abierto con el que puede construirse un computador con las características deseadas acoplándole elementos digitales asociados: • Drivers, • Decodificadores, • Memorias • ADC/DAC, etc. Microcontrolador (uC): Es un sistema cerrado que contiene un computador completo de prestaciones limitadas que no se pueden modificar.
  • 32. Clases • Por el tipo de instrucciones: – CISC: instrucciones heterogéneas y más complejas. – RISC: instrucciones con formato único, simples. • Por el tipo de fabricación – Se emplea tecnología CMOS. Consumen muy poca corriente y pueden ser alimentados con baterías por mucho tiempo. • Por el acceso externo: – mC incrustado (Microchip, National, etc). – Modo mP/mC (Intel, Motorola).
  • 33. Características de los uC • Elementos básicos: – Unidad Central de Proceso → CPU – Memoria volátil → RAM. – Memoria de programa → FLASH ROM – Puertos de entrada y salida → I/O. • Soporte configurable: – Temporizadores/contadores. – Controlador de interrupciones. – Puerto de comunicaciones serial. • Complementos adicionales: – Convertidor A/D. – Reloj de tiempo real….
  • 34. Arquitectura del MICROCONTROLADOR http://www.micros-designs.com.ar/imagenes%20uploads/2012/08/Bloques01.png Memoria de Programa Memoria de Datos (variables) Universal Asynchronous Receive Transmitter
  • 35. CPU
  • 37. CPU: Unidad Central de Procesamiento • El CPU o es el encargado de direccionar la memoria ROM, decodificar la instrucción y ejecutar la operación que implica. • El primer paso es leer la instrucción de la memoria, la posición es controlada por un contador de programa (PC) que almacena un número que identifica la posición actual a ejecutar. • La instrucción que el CPU lee desde la memoria es usada para determinar qué operación debe hacer el CPU, en este paso hay una decodificación, en donde la instrucción es dividida en partes que tienen significado para otras unidades del CPU. • Después de los pasos de lectura y decodificación, es llevado a cabo el paso de la ejecución de la instrucción. – Durante este paso, varias unidades del CPU son conectadas de tal manera que ellas pueden realizar la operación deseada. Si, por ejemplo, una operación de adición fue solicitada, una unidad aritmético lógica (ALU) será conectada a un conjunto de entradas (números a ser sumados) y un conjunto de salidas (suma). • Luego el paso final, simplemente la obtención del resultado, escribiéndolo en un registro interno del CPU de acceso rápido, modificando un registro de la memoria RAM o modificando el contador de programa para generar saltos o bucles, etc. http://www.micros-designs.com.ar/imagenes%20uploads/2012/08/Bloques02.png REGISTRO ESPECIAL: Contador de Programa REGISTRO ESPECIAL: Acumulador MEMORIA DE PROGRAMA: Instrucción
  • 43. El número de periodos de reloj que tarda cada instrucción depende del procesador y de la instrucción
  • 45. RELOJ → OSCILADOR Cristal de Cuarzo • RESONADOR PIEZOELÉCTRICO: convirtiendo las vibraciones mecánicas en voltajes eléctricos a una frecuencia específica. • La piezo-electricidad es electricidad creada por una presión mecánica. • En un material piezoeléctrico, al aplicar una presión mecánica sobre un eje, dará como consecuencia la creación de una carga eléctrica a lo largo de un eje ubicado en un ángulo recto respecto al de la aplicación de la presión mecánica. • Por las propiedades mecánicas, eléctricas, y químicas, el cuarzo es el material más apropiado para fabricar dispositivos con frecuencia bien controlada.
  • 53. ADC  DAC Analod Digital Converter  Digital Analog Converter
  • 55. SD SD
  • 64. 𝑸 = 𝑬𝑭𝑺𝑹 𝟐𝑴 − 𝟏 = 𝑬𝑭𝑺𝑹 𝑵 Q= resolución EFSR= Rango de máxima escala = SPAN M= número de bits del código N= número de partes codificables
  • 66. n 0 1 2 3 4 5 6 7 8 9 10 11 12 2^n 1 2 4 8 16 32 64 128 256 512 1024 2048 4096 Resolución = (span) / (2^n -1) n=3 VM= 1 ---> 111 Vmax= 1 7 111 1 Vm= 0 ---> 000 n= 3 6 110 0.85714 SPAN= 1 000 - 111 5 101 0.71429 0 - 7 4 100 0.57143 3 011 0.42857 2 010 0.28571 n=8 n=10 n=12 1 001 0.14286 0.00392 0.00098 0.00024 0 000 0
  • 67. digital en paralelo → señal analógica
  • 68. R-2R
  • 69. R-2R
  • 72. 𝑽𝒓𝒆𝒇 = 𝑅𝐹 ∗ 5 ∗ 𝑹𝟕 1000 + 5 ∗ 𝑹𝟔 2000 + 5 ∗ 𝑹𝟓 4000 + 5 ∗ 𝑹𝟒 8000 + 5 ∗ 𝑹𝟑 16000 + 5 ∗ 𝑹𝟐 32000 + 5 ∗ 𝑹𝟏 64000 + 5 ∗ 𝑹𝟎 128000 R7 R6 R5 R4 R3 R2 R1 R0 1 1 1 1 1 1 1 1 Res7 Res6 Res5 Res4 Res3 Res2 Res1 Res0 1000 2000 4000 8000 16000 32000 64000 128000 5*D7/R7 5*D6/R6 5*D5/R5 5*D4/R4 5*D3/R3 5*D2/R2 5*D1/R1 5*D0/R0 0.005 0.0025 0.00125 0.000625 0.0003125 0.00015625 0.000078125 3.90625E-05 Rfeedback Vs Vmax G RF9 RF8 100 0.99609375 5 0.19921875 51000 256000 R7 R6 R5 R4 R3 R2 R1 R0 0 0 0 0 0 0 0 1 Res7 Res6 Res5 Res4 Res3 Res2 Res1 Res0 1000 2000 4000 8000 16000 32000 64000 128000 5*D7/R7 5*D6/R6 5*D5/R5 5*D4/R4 5*D3/R3 5*D2/R2 5*D1/R1 5*D0/R0 0 0 0 0 0 0 0 3.90625E-05 Rfeedback Vs Vmax G RF9 RF8 100 0.00390625 5 0.00078125 51000 65280000 R7 R6 R5 R4 R3 R2 R1 R0 0 0 0 0 1 0 0 0 Res7 Res6 Res5 Res4 Res3 Res2 Res1 Res0 1000 2000 4000 8000 16000 32000 64000 128000 5*D7/R7 5*D6/R6 5*D5/R5 5*D4/R4 5*D3/R3 5*D2/R2 5*D1/R1 5*D0/R0 0 0 0 0 0.0003125 0 0 0 Rfeedback Vs Vmax G RF9 RF8 100 0.03125 5 0.00625 51000 8160000 Ri son bits del registro R [R7,R6,R5,R4,R3,R2,R1,R0]
  • 73. D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 0 0 0 1 1 R7 R6 R5 R4 R3 R2 R1 R0 1000 2000 4000 8000 16000 32000 64000 128000 5*D7/R7 5*D6/R6 5*D5/R5 5*D4/R4 5*D3/R3 5*D2/R2 5*D1/R1 5*D0/R0 0 0 0 0 0 0 0.000078125 3.90625E-05 Rfeedback Vs Vmax G RF9 RF8 100 0.01171875 5 0.00234375 51000 21760000
  • 74. con un solo cable MODULACIÓN POR ANCHO DE PULSO PWM PWM (pulse-width modulation)
  • 75. 𝑉𝑚 = 1 𝑇 න 0 𝑇 𝑓 𝑡 𝑑 𝑡 = 𝐴 𝑇 La integral es el área por unidad de tiempo En un periodo concreto, en T segundos A = ancho*alto → en ese periodo alto = 5 voltios ancho = Duty Cicle * T A = ancho*alto = (DutyCicle *T)*5 voltios*segundos Vm = 𝐴 𝑇 = DutyCicle*5 voltios Duty Cicle = Ciclo de Trabajo 𝑉𝑚 = 𝐷𝑢𝑡𝑦𝐶𝑖𝑐𝑙𝑒 ∗ 5 𝑣𝑜𝑙𝑡𝑖𝑜𝑠 La modulación por ancho de pulsos o PWM (pulse- width modulation) es una técnica en la que se modifica el ciclo de trabajo de una señal periódica, ya sea para transmitir información a través de un canal de comunicaciones o para controlar la cantidad de energía que se envía a una carga.
  • 76. MÓDULO PWM El PWM, o MODULACIÓN POR ANCHO DE PULSO, es la abreviatura de Pulse Width Modulated, y se utiliza como atributo para una señal de control que generalmente se utiliza para regular la potencia o velocidad a la que un dispositivo tiene que funcionar. Físicamente es una señal binaria DE PERIODO CONSTANTE.
  • 80. entrada analógica → Salida digital paralelo
  • 88. R6 10k R5 10k R4 10k R2 10k R3 10k REFERENCIA VALUE=1.5 R7 10k +5 +5 VALUE=5 R1 10k R6(1) V=1.28544 R5(1) V=1.071 R4(1) V=0.856672 R3(1) V=0.642429 R2(1) V=0.42825 R1(1) V=0.214114 0 sensor sensor V=1.50465 C7 C6 C5 C4 C3 C2 C1 /C0 C1 /C2 /C3 /C4 /C5 /C6 /C7 /C0 C1 C2 C3 /C4 /C5 /C6 /C7 /C6 C5 C4 C3 C2 C1 /C0 C7 C6 C5 C4 C3 C2 C1 /C0 1 2 3 4 /C0 2 3 4 5 1 U16:A 4072 /C7 5 6 1 2 3 4 5 6 11 12 8 13 12 1 2 3 4 5 6 11 12 8 11 10 1 2 3 4 5 6 11 12 8 1 2 3 4 5 6 11 12 8 9 8 /C0 C1 C2 /C3 /C4 /C5 /C6 /C7 /C0 C1 C2 C3 /C4 /C5 /C6 /C7 C6 C5 C4 C3 C2 C1 /C0 C7 C6 C5 C4 C3 C2 C1 /C0 9 10 11 12 13 U16:B 4072 /C7 1 2 1 2 3 4 5 6 11 12 8 3 4 1 2 3 4 5 6 11 12 8 5 6 1 2 3 4 5 6 11 12 8 1 2 3 4 5 6 11 12 8 13 12 /C0 C1 C2 C3 C4 /C5 /C6 /C7 /C0 C1 C2 C3 C4 C5 /C6 /C7 C6 C5 C4 C3 C2 C1 /C0 C7 C6 C5 C4 C3 C2 C1 /C0 2 3 4 5 1 U27:A 4072 /C7 1 2 1 2 3 4 5 6 11 12 8 3 4 1 2 3 4 5 6 11 12 8 5 6 1 2 3 4 5 6 11 12 8 1 2 3 4 5 6 11 12 8 13 12 0 3 4 /C6 0 5 6 /C5 1 13 12 /C4 1 11 10 /C3 1 9 8 /C2 1 1 2 /C1 /C7 0 D0 0 D1 1 D2 C0 0 C0 V=0 DECODIFICADOR Código comparativo → Código binario de 3 bits [C7,C6,C5,C4,C3,C2,C1,C0] → [D2,D1,D0]
  • 89. C7 C6 C5 C4 C3 C2 C1 C0 D2 D1 D0 dec 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 1 1 0 0 1 0 2 0 0 0 0 1 1 1 0 0 1 1 3 0 0 0 1 1 1 1 0 1 0 0 4 0 0 1 1 1 1 1 0 1 0 1 5 0 1 1 1 1 1 1 0 1 1 0 6 1 1 1 1 1 1 1 0 1 1 1 7
  • 90. DECODIFICADOR Código comparativo → Código binario de 3 bits [C7,C6,C5,C4,C3,C2,C1,C0] → [D2,D1,D0]
  • 95. ? 1 BIT T0 1 BIT R0 1 2 3 ? 3 4 Igual 0 Distinto 0 Igual 0
  • 96. ? 1 BIT T0 1 BIT R0 1 2 3 ? 3 4 Igual 0 Distinto0 Igual 0 ? 1 BIT T1 1 BIT R1 4 5 6 ? 1 2 Igual 1 Distinto1 Igual 1 ? 0 BIT T2 0 BIT R2 9 10 8 ? 3 4 Igual 2 Distinto2 Igual 2 Igual 0 Igual 1 Igual 2 1 2 13 12 U5:A 7410 Palabraigual 5 6 Palabradiferente ? ?
  • 100. El módulo de watchdog es el encargado de resetear al sistema cuando algo no funcione como es debido. Además de esta señal de reset, que en realidad no es controlable desde el exterior, el sistema dispondrá de un reset que podrá ser activado manualmente por parte del usuario. WHATCHDOG
  • 103. REGISTRADOR DE DESPLAZAMIENTO SHIFT REGISTER Los registros de desplazamiento son circuitos donde la información de entrada se va desplazando en las salidas cuando se les aplica una señal de sincronismo. Si se deja de enviar la señal de sincronismo, en la salida se mantiene la información anteriormente presente (memorizado).
  • 111. Análisis Básico: Intersección Doble Vía R1 A1 V1 R2 A2 V2
  • 114. El microcontrolador ATmega328 es fabricado por Microchip Technology Inc.. Esta compañía es conocida por producir una amplia gama de microcontroladores y componentes semiconductores, y adquirió la empresa Atmel en 2016, que originalmente desarrolló y fabricó la serie ATmega de microcontroladores. Desde entonces, Microchip ha continuado la producción y soporte de estos dispositivos. El ATMEGA328P es un microcontrolador de 8 bits basado en la arquitectura AVR RISC RISC: Reduced Instruction Set Computer AVR: Advanced Virtual RISC
  • 115. El dispositivo funciona entre 1.8 y 5.5V. Ejecuta instrucciones potentes en un solo ciclo de reloj y logra rendimientos aproximados a 1 MIPS por MHz, equilibrando el consumo de potencia y la velocidad de procesamiento. Contiene todos los componentes de un computador. Se emplea para controlar el funcionamiento de una tarea determinada y, debido a su reducido tamaño, suele ir incorporado en el propio dispositivo al que gobierna. PUERTO: conjunto de bits ordenados de entrada y salida en paralelo
  • 116. Arduino fue inventado en el Interaction Design Institute Ivrea en Ivrea, Italia
  • 117. Microcontroller ATmega328P Operating Voltage 5V Input Voltage (recommended) 7-12V Input Voltage (limit) 6-20V Digital I/O Pins 14 (of which 6 provide PWM output) PWM Digital I/O Pins 6 Analog Input Pins 6 DC Current per I/O Pin 20 mA DC Current for 3.3V Pin 50 mA Flash Memory 32 KB (ATmega328P) of which 0.5 KB used by bootloader SRAM 2 KB (ATmega328P) EEPROM 1 KB (ATmega328P) Clock Speed 16 MHz LED_BUILTIN 13
  • 119. Advanced Virtual RISC: AVR RISC significa Reduced Instruction Set Computer
  • 131. Arduino se programa en un lenguaje basado en C y C++. El entorno de desarrollo de Arduino (Arduino IDE) utiliza una simplificación del lenguaje C/C++, lo que facilita la programación. Algunos puntos clave sobre la programación: 1. Lenguaje: Aunque el código se escribe en un formato simplificado, debajo de todo se compila en C/C++. Esto significa que se puede usar la mayoría de las características del lenguaje C/C++, como estructuras, funciones, y librerías. 2. Bibliotecas: Arduino tiene una amplia variedad de bibliotecas que permiten acceder fácilmente a funciones complejas sin necesidad de escribir código desde cero, como controlar pantallas, sensores, motores, etc. 3. Estructura del Código: El código de Arduino típicamente incluye dos funciones principales: ▪ setup(): Esta función se ejecuta una vez al inicio del programa, y es donde se configuran las entradas, salidas, y otras configuraciones iniciales. ▪ loop(): Esta función se ejecuta repetidamente, y es donde va el código principal que se ejecutará continuamente mientras el Arduino está encendido.
  • 140. La memoria ROM: no volátil • Los datos almacenados no se pierden aunque no esté energizada. • Se destina a contener la lista de instrucciones que conforman la aplicación, por ello suele llamarse memoria de programa. • En microcontroladores ronda desde los 512 bytes a 128 kbytes, correspondientes a los de gama baja de Microchip. • Son del tipo Flash, de bajo consumo, que se pueden escribir y leer, y de gran densidad de almacenamiento. • Tienen la ventaja que permiten ser reprogramadas en circuito, sin necesidad de extraer el circuito integrado de la tarjeta. http://www.micros-designs.com.ar/imagenes%20uploads/2012/08/Bloques01.png
  • 141. La memoria RAM, memoria volátil • La destinada a guardar las variables y datos temporales que serán utilizados por el procesador para realizar cálculos u otro tipo de operaciones lógicas. • El espacio de direcciones de memoria RAM se divide en dos sectores: – Registros de propósito general (GPR), espacio destinado para crear variables por el usuario y variables propias del compilador; y – Registros de funciones especiales (SFR), espacio que contiene bits de configuración y control de los periféricos del microcontrolador. • En la actualidad se pueden encontrar microcontroladores con memoria RAM de unos 32 bytes hasta 4 kbytes. http://www.micros-designs.com.ar/imagenes%20uploads/2012/08/Bloques01.png
  • 142. Registros • Un registro es una pequeña porción de la memoria y su tamaño se mide generalmente en bits (8-bits, 16-bits, 32-bits). • Está representado por un numero que denominamos dirección de memoria, pero dentro del lenguaje de programación existe la posibilidad de asignarle un nombre, de esta manera es más sencillo de manejar. http://www.micros-designs.com.ar/imagenes%20uploads/2012/08/Bloques01.png • Dirección (puntero del Registro) • Dato