SlideShare une entreprise Scribd logo
1  sur  20
PROGRAMACIÓN MULTITAREA
(MULTITASKING) EN MICROCONTROLADORES
AVR DE 8 BITS.
HAZUR SOCCONINI ALVARADO
UNIVERSIDAD AUTÓNOMA METROPOLITNA XOCHIMILCO
1/20
CONCEPTOS
• THREAD: HILO, PROCESO INDIVIDUAL EJECUTANDOSE EN UN
PROGRAMA
• UN PROGRAMA DE FLUJO ÚNICO O MONO-HILVANADO (SINGLE-THREAD)
UTILIZA UN ÚNICO FLUJO DE CONTROL (THREAD) PARA CONTROLAR SU
EJECUCIÓN.
• TIEMPO COMPARTIDO COMPARTIR DE FORMA CONCURRENTE UN RECURSO
COMPUTACIONAL (TIEMPO DE EJECUCIÓN EN LA CPU, USO DE LA MEMORIA,
ETC.) ENTRE MUCHOS USUARIOS POR MEDIO DE LAS TECNOLOGÍAS DE
MULTIPROGRAMACIÓN Y LA INCLUSIÓN DE INTERRUPCIONES DE RELOJ POR PARTE
DEL SISTEMA.
2/20
CONCEPTOS
• TIMER: TEMPORIZADOR
• INTERRUPCIONES: COMPARTIR DE FORMA CONCURRENTE UN RECURSO
COMPUTACIONAL (TIEMPO DE EJECUCIÓN EN LA CPU, USO DE LA
MEMORIA, ETC.) ENTRE MUCHOS USUARIOS POR MEDIO DE LAS
TECNOLOGÍAS DE MULTIPROGRAMACIÓN Y LA INCLUSIÓN DE
INTERRUPCIONES DE RELOJ POR PARTE DEL SISTEMA.
3/20
PROGRAMAS DE FLUJO ÚNICO
• UN PROGRAMA DE FLUJO ÚNICO O MONO-HILVANADO (SINGLE-THREAD) UTILIZA UN
ÚNICO FLUJO DE CONTROL (THREAD) PARA CONTROLAR SU EJECUCIÓN. MUCHOS
PROGRAMAS NO NECESITAN LA POTENCIA O UTILIDAD DE MÚLTIPLES FLUJOS DE
CONTROL.
• SIN NECESIDAD DE ESPECIFICAR EXPLÍCITAMENTE QUE SE QUIERE UN ÚNICO FLUJO DE
CONTROL, MUCHOS DE LOS APPLETS Y APLICACIONES SON DE FLUJO ÚNICO.
4/20
TIPOS DE PROCESAMIENTO
• EN SERIE O SECUENCIAL
• POR LOTES
• MULTIPROGRAMACIÓN
5
5/20
¿QUÉ ES
MULTITASKING?
6/20
Fuente: Milan Milenkovic,
Sistemas Operativos
7/20
MICROCONTROLADOR
8/20
9/20
Interrupciones
Registros
Unidad de
Control
Buses
Periféricos
PROGRAMANDO CÓDIGO EFICIENTE EN ANSI C
10
10/20
COMPILADOR CARQUITECTURA AVR
SET DE INSTRUCCIONES
32 REGISTROS
PUNTEROS 24 BITS
EFICIENCIA EN 8 BITS (ATMEGA16/32)
• LOS PUNTEROS SIRVEN PARA ACCEDER A DATOS ALMACENADOS EN LA
MEMORIA FLASH DE PROGRAMA (ESTOS DATOS SON SOLO DE LECTURA).
• MANEJANDO DATOS DE 16 BITS, SUMA Y RESTA INMEDIATA (ADIW, SBIW).
• OPERACIONES ARITMÉTICAS Y DE COMPARACIÓN CON VALORES DE 16 BITS
(2 INSTRUCCIONES Y 2 CICLOS DE RELOJ).
• ANÁLOGO SE PUEDEN REALIZAR OPERACIONES ARITMÉTICAS Y DE
COMPARACIÓN CON DATOS DE 32 BITS (4 INSTRUCCIONES Y 4 CICLOS DE
RELOJ).
11
11/20
12
12/20
13
13/20
char *pointer1 = &table[0];
char *pointer2 = &table[49];
*pointer1++ = *- -pointer2;
LD R16,-Z ;predecrementa el puntero Z y carga dato
ST X+,R16 ;almacena dato y pos-incrementa
ANSI C
Lenguaje Ensamblador
VS
2 ciclos de reloj e
instrucciones de una
sola palabra
14
14/20
15
15/20
16
16/20
17
17/20
Sistema de Desarrollo basando en puerto JTAG con programador AVR DRAG
PRUEBA MULTITASTING ATMEGA 32
• TAREA 1. SIRENA
• TAREA 2. LED BASCULANTE
• TAREA 3. DESTELLO
18/20
19
19/20
y el código?
20/20
@HAZUR_
HAZUR84
HAZUR SOCCONINI
ALVARADO
GRACIAS!
HAZUR84

Contenu connexe

Tendances

Electrónica digital: capitulo 7 Autómatas finitos parte 1
Electrónica digital: capitulo 7 Autómatas finitos parte 1Electrónica digital: capitulo 7 Autómatas finitos parte 1
Electrónica digital: capitulo 7 Autómatas finitos parte 1SANTIAGO PABLO ALBERTO
 
DISEÑO ANALOGICO Y ELECTRONICA - DAC 8 BITS
DISEÑO ANALOGICO Y ELECTRONICA - DAC 8 BITSDISEÑO ANALOGICO Y ELECTRONICA - DAC 8 BITS
DISEÑO ANALOGICO Y ELECTRONICA - DAC 8 BITSFernando Marcos Marcos
 
Microcontrollers 80 Marks Sample Question Paper
Microcontrollers   80 Marks Sample Question PaperMicrocontrollers   80 Marks Sample Question Paper
Microcontrollers 80 Marks Sample Question Paperprathik
 
05 Ciclos de las Instrucciones
05 Ciclos de las Instrucciones05 Ciclos de las Instrucciones
05 Ciclos de las InstruccionesJaime E. Velarde
 
⭐⭐⭐⭐⭐ SOLUCIÓN EXAMEN SISTEMAS DIGITALES 2, 1er Parcial (2021PAO2)
⭐⭐⭐⭐⭐ SOLUCIÓN EXAMEN SISTEMAS DIGITALES 2, 1er Parcial (2021PAO2)⭐⭐⭐⭐⭐ SOLUCIÓN EXAMEN SISTEMAS DIGITALES 2, 1er Parcial (2021PAO2)
⭐⭐⭐⭐⭐ SOLUCIÓN EXAMEN SISTEMAS DIGITALES 2, 1er Parcial (2021PAO2)Victor Asanza
 
Control automático de un sistema de riego
Control automático de un sistema de riegoControl automático de un sistema de riego
Control automático de un sistema de riegoRFIC-IUMA
 
Algebra de boole
Algebra de booleAlgebra de boole
Algebra de booleDiego Tapia
 
Overview of signal integrity simulation for sfp+ interface serial links with ...
Overview of signal integrity simulation for sfp+ interface serial links with ...Overview of signal integrity simulation for sfp+ interface serial links with ...
Overview of signal integrity simulation for sfp+ interface serial links with ...Conference Papers
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensambladorjoseruiz_66
 
Sumador de 2bits
Sumador de 2bitsSumador de 2bits
Sumador de 2bitsJosue Lemon
 
8085 instruction set (detailed)
8085 instruction set (detailed)8085 instruction set (detailed)
8085 instruction set (detailed)Ravi Anand
 
Utp sirn_sl4 la rna perceptron
 Utp sirn_sl4 la rna perceptron Utp sirn_sl4 la rna perceptron
Utp sirn_sl4 la rna perceptronc09271
 
Microprocessor 8086-lab-mannual
Microprocessor 8086-lab-mannualMicroprocessor 8086-lab-mannual
Microprocessor 8086-lab-mannualyeshwant gadave
 
8085 microprocessor lab manual
8085 microprocessor lab manual8085 microprocessor lab manual
8085 microprocessor lab manualNithin Mohan
 
Bcd and ascii arithmetic instructions
Bcd and ascii arithmetic instructionsBcd and ascii arithmetic instructions
Bcd and ascii arithmetic instructionsDr. Girish GS
 
Configuración de multivibrador astable y monoestable
Configuración de multivibrador astable y monoestable Configuración de multivibrador astable y monoestable
Configuración de multivibrador astable y monoestable Gustavo Avella
 
Manejo de avisos y alarmas en HMI
Manejo de avisos y alarmas en HMIManejo de avisos y alarmas en HMI
Manejo de avisos y alarmas en HMIjohn piñeros
 
Universal asynchronous receiver-transmitter UART Dsa project report
Universal asynchronous receiver-transmitter UART Dsa project reportUniversal asynchronous receiver-transmitter UART Dsa project report
Universal asynchronous receiver-transmitter UART Dsa project reportShahrukh Javed
 

Tendances (20)

Electrónica digital: capitulo 7 Autómatas finitos parte 1
Electrónica digital: capitulo 7 Autómatas finitos parte 1Electrónica digital: capitulo 7 Autómatas finitos parte 1
Electrónica digital: capitulo 7 Autómatas finitos parte 1
 
DISEÑO ANALOGICO Y ELECTRONICA - DAC 8 BITS
DISEÑO ANALOGICO Y ELECTRONICA - DAC 8 BITSDISEÑO ANALOGICO Y ELECTRONICA - DAC 8 BITS
DISEÑO ANALOGICO Y ELECTRONICA - DAC 8 BITS
 
Microcontrollers 80 Marks Sample Question Paper
Microcontrollers   80 Marks Sample Question PaperMicrocontrollers   80 Marks Sample Question Paper
Microcontrollers 80 Marks Sample Question Paper
 
05 Ciclos de las Instrucciones
05 Ciclos de las Instrucciones05 Ciclos de las Instrucciones
05 Ciclos de las Instrucciones
 
⭐⭐⭐⭐⭐ SOLUCIÓN EXAMEN SISTEMAS DIGITALES 2, 1er Parcial (2021PAO2)
⭐⭐⭐⭐⭐ SOLUCIÓN EXAMEN SISTEMAS DIGITALES 2, 1er Parcial (2021PAO2)⭐⭐⭐⭐⭐ SOLUCIÓN EXAMEN SISTEMAS DIGITALES 2, 1er Parcial (2021PAO2)
⭐⭐⭐⭐⭐ SOLUCIÓN EXAMEN SISTEMAS DIGITALES 2, 1er Parcial (2021PAO2)
 
Control automático de un sistema de riego
Control automático de un sistema de riegoControl automático de un sistema de riego
Control automático de un sistema de riego
 
Algebra de boole
Algebra de booleAlgebra de boole
Algebra de boole
 
Overview of signal integrity simulation for sfp+ interface serial links with ...
Overview of signal integrity simulation for sfp+ interface serial links with ...Overview of signal integrity simulation for sfp+ interface serial links with ...
Overview of signal integrity simulation for sfp+ interface serial links with ...
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Sumador de 2bits
Sumador de 2bitsSumador de 2bits
Sumador de 2bits
 
Sumador\Restador
Sumador\RestadorSumador\Restador
Sumador\Restador
 
8085 instruction set (detailed)
8085 instruction set (detailed)8085 instruction set (detailed)
8085 instruction set (detailed)
 
Sumadores
SumadoresSumadores
Sumadores
 
Utp sirn_sl4 la rna perceptron
 Utp sirn_sl4 la rna perceptron Utp sirn_sl4 la rna perceptron
Utp sirn_sl4 la rna perceptron
 
Microprocessor 8086-lab-mannual
Microprocessor 8086-lab-mannualMicroprocessor 8086-lab-mannual
Microprocessor 8086-lab-mannual
 
8085 microprocessor lab manual
8085 microprocessor lab manual8085 microprocessor lab manual
8085 microprocessor lab manual
 
Bcd and ascii arithmetic instructions
Bcd and ascii arithmetic instructionsBcd and ascii arithmetic instructions
Bcd and ascii arithmetic instructions
 
Configuración de multivibrador astable y monoestable
Configuración de multivibrador astable y monoestable Configuración de multivibrador astable y monoestable
Configuración de multivibrador astable y monoestable
 
Manejo de avisos y alarmas en HMI
Manejo de avisos y alarmas en HMIManejo de avisos y alarmas en HMI
Manejo de avisos y alarmas en HMI
 
Universal asynchronous receiver-transmitter UART Dsa project report
Universal asynchronous receiver-transmitter UART Dsa project reportUniversal asynchronous receiver-transmitter UART Dsa project report
Universal asynchronous receiver-transmitter UART Dsa project report
 

En vedette

En vedette (8)

Ejercicio 09 Serie
Ejercicio 09 SerieEjercicio 09 Serie
Ejercicio 09 Serie
 
Instrucciones avr
Instrucciones avrInstrucciones avr
Instrucciones avr
 
03 Arquitectura de un Microprocesador
03 Arquitectura de un Microprocesador03 Arquitectura de un Microprocesador
03 Arquitectura de un Microprocesador
 
02.Arquitectura de los microcontroladores pic
02.Arquitectura de los microcontroladores pic02.Arquitectura de los microcontroladores pic
02.Arquitectura de los microcontroladores pic
 
Ejercicio 02 Tablas
Ejercicio 02 TablasEjercicio 02 Tablas
Ejercicio 02 Tablas
 
Ejercicio 08 CAD
Ejercicio 08 CADEjercicio 08 CAD
Ejercicio 08 CAD
 
Ejercicio 04 Calculos
Ejercicio 04 CalculosEjercicio 04 Calculos
Ejercicio 04 Calculos
 
09 Conjunto de Instrucciones de los Atmega
09 Conjunto de Instrucciones  de los Atmega09 Conjunto de Instrucciones  de los Atmega
09 Conjunto de Instrucciones de los Atmega
 

Similaire à Programación multitarea en microcontroladores avr de 8 bits.

Similaire à Programación multitarea en microcontroladores avr de 8 bits. (20)

Introducción
IntroducciónIntroducción
Introducción
 
Introducción
IntroducciónIntroducción
Introducción
 
135127015 microcontroladores-1-1-ppt
135127015 microcontroladores-1-1-ppt135127015 microcontroladores-1-1-ppt
135127015 microcontroladores-1-1-ppt
 
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladoresSesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
 
El microcontrolador PIC16F877
El microcontrolador PIC16F877El microcontrolador PIC16F877
El microcontrolador PIC16F877
 
MICROCONTROLADORES.ppt
MICROCONTROLADORES.pptMICROCONTROLADORES.ppt
MICROCONTROLADORES.ppt
 
Apunte de microprocesadores pic
Apunte de microprocesadores picApunte de microprocesadores pic
Apunte de microprocesadores pic
 
18 f4550 2
18 f4550 218 f4550 2
18 f4550 2
 
18 f4550 2
18 f4550 218 f4550 2
18 f4550 2
 
Curso Micro Tema 1
Curso Micro Tema 1Curso Micro Tema 1
Curso Micro Tema 1
 
04 procesadores y microcontroladores
04 procesadores y microcontroladores04 procesadores y microcontroladores
04 procesadores y microcontroladores
 
lógica programable
lógica programablelógica programable
lógica programable
 
Diapos de pic
Diapos de picDiapos de pic
Diapos de pic
 
Presentacion pic 16f887 y 18f4550
Presentacion pic 16f887 y 18f4550 Presentacion pic 16f887 y 18f4550
Presentacion pic 16f887 y 18f4550
 
Pic16 f877
Pic16 f877Pic16 f877
Pic16 f877
 
Microcontroladores
MicrocontroladoresMicrocontroladores
Microcontroladores
 
sistema operativo.pdf
sistema operativo.pdfsistema operativo.pdf
sistema operativo.pdf
 
SISTEMAS OPERATIVOS
SISTEMAS OPERATIVOSSISTEMAS OPERATIVOS
SISTEMAS OPERATIVOS
 
Microcontrolador wiki
Microcontrolador wikiMicrocontrolador wiki
Microcontrolador wiki
 
Microcontroladores 101108114327-phpapp01
Microcontroladores 101108114327-phpapp01Microcontroladores 101108114327-phpapp01
Microcontroladores 101108114327-phpapp01
 

Programación multitarea en microcontroladores avr de 8 bits.

  • 1. PROGRAMACIÓN MULTITAREA (MULTITASKING) EN MICROCONTROLADORES AVR DE 8 BITS. HAZUR SOCCONINI ALVARADO UNIVERSIDAD AUTÓNOMA METROPOLITNA XOCHIMILCO 1/20
  • 2. CONCEPTOS • THREAD: HILO, PROCESO INDIVIDUAL EJECUTANDOSE EN UN PROGRAMA • UN PROGRAMA DE FLUJO ÚNICO O MONO-HILVANADO (SINGLE-THREAD) UTILIZA UN ÚNICO FLUJO DE CONTROL (THREAD) PARA CONTROLAR SU EJECUCIÓN. • TIEMPO COMPARTIDO COMPARTIR DE FORMA CONCURRENTE UN RECURSO COMPUTACIONAL (TIEMPO DE EJECUCIÓN EN LA CPU, USO DE LA MEMORIA, ETC.) ENTRE MUCHOS USUARIOS POR MEDIO DE LAS TECNOLOGÍAS DE MULTIPROGRAMACIÓN Y LA INCLUSIÓN DE INTERRUPCIONES DE RELOJ POR PARTE DEL SISTEMA. 2/20
  • 3. CONCEPTOS • TIMER: TEMPORIZADOR • INTERRUPCIONES: COMPARTIR DE FORMA CONCURRENTE UN RECURSO COMPUTACIONAL (TIEMPO DE EJECUCIÓN EN LA CPU, USO DE LA MEMORIA, ETC.) ENTRE MUCHOS USUARIOS POR MEDIO DE LAS TECNOLOGÍAS DE MULTIPROGRAMACIÓN Y LA INCLUSIÓN DE INTERRUPCIONES DE RELOJ POR PARTE DEL SISTEMA. 3/20
  • 4. PROGRAMAS DE FLUJO ÚNICO • UN PROGRAMA DE FLUJO ÚNICO O MONO-HILVANADO (SINGLE-THREAD) UTILIZA UN ÚNICO FLUJO DE CONTROL (THREAD) PARA CONTROLAR SU EJECUCIÓN. MUCHOS PROGRAMAS NO NECESITAN LA POTENCIA O UTILIDAD DE MÚLTIPLES FLUJOS DE CONTROL. • SIN NECESIDAD DE ESPECIFICAR EXPLÍCITAMENTE QUE SE QUIERE UN ÚNICO FLUJO DE CONTROL, MUCHOS DE LOS APPLETS Y APLICACIONES SON DE FLUJO ÚNICO. 4/20
  • 5. TIPOS DE PROCESAMIENTO • EN SERIE O SECUENCIAL • POR LOTES • MULTIPROGRAMACIÓN 5 5/20
  • 10. PROGRAMANDO CÓDIGO EFICIENTE EN ANSI C 10 10/20 COMPILADOR CARQUITECTURA AVR SET DE INSTRUCCIONES 32 REGISTROS PUNTEROS 24 BITS
  • 11. EFICIENCIA EN 8 BITS (ATMEGA16/32) • LOS PUNTEROS SIRVEN PARA ACCEDER A DATOS ALMACENADOS EN LA MEMORIA FLASH DE PROGRAMA (ESTOS DATOS SON SOLO DE LECTURA). • MANEJANDO DATOS DE 16 BITS, SUMA Y RESTA INMEDIATA (ADIW, SBIW). • OPERACIONES ARITMÉTICAS Y DE COMPARACIÓN CON VALORES DE 16 BITS (2 INSTRUCCIONES Y 2 CICLOS DE RELOJ). • ANÁLOGO SE PUEDEN REALIZAR OPERACIONES ARITMÉTICAS Y DE COMPARACIÓN CON DATOS DE 32 BITS (4 INSTRUCCIONES Y 4 CICLOS DE RELOJ). 11 11/20
  • 13. 13 13/20 char *pointer1 = &table[0]; char *pointer2 = &table[49]; *pointer1++ = *- -pointer2; LD R16,-Z ;predecrementa el puntero Z y carga dato ST X+,R16 ;almacena dato y pos-incrementa ANSI C Lenguaje Ensamblador VS 2 ciclos de reloj e instrucciones de una sola palabra
  • 17. 17 17/20 Sistema de Desarrollo basando en puerto JTAG con programador AVR DRAG
  • 18. PRUEBA MULTITASTING ATMEGA 32 • TAREA 1. SIRENA • TAREA 2. LED BASCULANTE • TAREA 3. DESTELLO 18/20