BUCLES – SUBRUTINAS – RETARDOS MICROCONTROLADORES.

Slides:



Advertisements
Presentaciones similares
Concepto de programa. Directorio Concepto de programa. Analisis del problema. Resolucion del problema. Desarroollo de un programa. Partes constitutivas.
Advertisements

ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Estructuras de Repetición
PROGRAMACION 2 MICROCONTROLADORES BASIC STAMP.
Microcomputadores Prof : Tatiana Marín R.. Sistema basado en microprocesador de 8 bits.
Programación de código reubicable
Microcontroladores PIC16F84A.
Asignación de Espacio No Contiguo
Administración de Memoria
Tablas de datos en ensamblador de microcontroladores PIC
Aplicación de estructuras de datos
Lenguaje Ensamblador Pic 16F84A.
M.C. Juan Carlos Olivares Rojas
Elementos básicos del lenguaje
Detección de una tecla pulsada.
Microprocesadores II PIC16C5X Ing. Nelwi Báez.
Programación Básica con NQC Patricio A. Castillo 10/05/2008.
RESUMEN: Softmicro de 8 bits Xilinx
PICmicro GAMA MEDIA: PIC16F84 [I]
ESTADO Registro de ESTADO más utilizado  Es el registro más utilizado.  Ocupa la dirección 03 H tanto del Banco 0 como el Banco 1 de la Memoria de Datos.
Arquitectura de Computadores
Arquitectura y Sistemas Operativos Gestión de Memoria Parte 1 1 Gestión de Memoria – Parte 1 Agenda Parte 1 –RequisitosRequisitos –EvoluciónEvolución –Carga.
SISTEMAS OPERATIVOS Contenido: Descripción del proceso proceso nulo estado del procesador imagen del proceso información del BCP Miguel Ángel Martínez.
SISTEMAS ELECTRÓNICOS 3ºGIERM1 1. Introducción 2. Tipos de datos 3. Estructuras típicas de programación 4. Manejo de bits Tema 7. Programación de microcontroladores.
Vinculación de Instrucciones y Datos a Memoria Tiempo de compilación: si la dirección de memoria se conoce a priori, se puede generar código absoluto;
Page 1 Macroensamblador José Andrés Vázquez Flores Verano 2016 FCC-BUAP.
Algebra de Boole SISTEMAS DIGITALES I.  En 1854 el matemático inglés George Boole formalizó un sistema algebraico de dos valores para expresar cierto.
Una estrategia para evitar la sucesiones repetidas de instrucciones convertir la secuencia en un procedimiento e invocarlo cada vez que se necesite.
El procesador Datapath y control. Universidad de SonoraArquitectura de Computadoras2 Introducción En esta parte del curso contiene: Las principales técnicas.
ARDUINO INTRODUCCIÓN Y PROGRAMACIÓN. Podemos tener Señales analógicas y digitales. INTRODUCCIÓN.
Funciones en lenguaje C 2 Funciones Definición: – Las funciones son los bloques de construcción básicos de C. Dentro de ellas se da toda la actividad.
PIC 16F87X Agradecimientos: Jesús Ernesto Zavala Ana Cecilia Ruiz
Control, adquisición y monitoreo con Arduino y Visual Basic .net
Areas de memoria del CJ.
Estructuras Repetitivas Estructuras Repetitivas
Olimpiadas Chilenas de Informática - Formación
Estructuras de Datos Aun en problemas muy simples surge la necesidad de agrupar valores elementales de alguna manera. Cuando representamos una caja de.
LENGUAJE ENSAMBLADOR APLICACIONES CON MICROCONTROLADORES
Servomotor La modulación por ancho de pulso permite un ciclo de trabajo ( el porcentaje de tiempo en alto contra el tiempo en bajo) que es de 0 al 100.
ESTRUCTURAS DE CONTROL REPETITIVAS
ARQUITECTURA DE HARD WARE COMPONENTES EN BLOQUES DEL PROCESADOR
Computación Curso 2017.
Exígete mucho a ti mismo y espera poco de los demás.
Tema 4 Elementos para el Desarrollo de Algoritmos
PICOBLAZE RESUMEN.
Explicación 2 Interrupciones.
Organización de la memoria
Programación.
Paul Leger Ciclos:FOR Paul Leger
CURSO BÁSICO DE MICROCONTROLADORES
Introducción a las ciencias de la computación Antonio López Jaimes
Tema 6 Clasificación de algoritmos
INNOVACION TECNOLOGICA ELECTRONICA ESTUDIANTIL EN CIENCIAS
Microcontroladores Subrutinas y retardos. Subrutinas Sin subrutinas Con subrutinas Llamado a subrutina Subrutina Regreso de subrutina.
Estructuras de Repetición Pseudocodigo1 Estructuras de Repetición Algoritmos Mientras Hacer-Mientras Para.
P P AGINACION FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS FACULTAD DE INGENIERÍA INDUSTRIAL Y DE SISTEMAS.
Estructuras Repetitivas
Metodología de la Programación
PICOBLAZE RESUMEN.
SENTENCIAS CONTROL DE FLUJO EN C I.E. Mario Jiménez.
Símbolos Indice Pág. Direcionamiento Absoluto y Simbólico
Diego Hernández R Algoritmos Diego Hernández R
Informática Ingeniería en Electrónica y Automática Industrial
MC Beatriz Beltrán Martínez Otoño 2017
Estructuras de Repetición Algoritmos
El procesador Datapath y control.
 Valiéndose de transductores, utilizan circuitos electrónicos para convertir en números las pequeñas variaciones de tensión obtenidas, mostrando finalmente.
Organización del caché
UNIDAD V ESTRUCTURAS REPETITIVAS (Para)
Recursividad.
Transcripción de la presentación:

BUCLES – SUBRUTINAS – RETARDOS MICROCONTROLADORES

NAYIBE CHIO BUCLES INFINITOS INICIOCODIGO CODIGO_1 CODIGO_2 IR A INICIO INICIO CODIGO CODIGO_1 CODIGO_2 Realizar un programa que visualice a través de un puerto de 8 líneas un contador que comience desde cero (TAREA)

NAYIBE CHIO BUCLES FINITOS Realizar un programa que revise y visualice el estado de tres sensores de proximidad (TAREA) INICIO CODIGO CODIGO_1 CODIGO_2 ? TERMINAR NO SI INICIOCODIGO CODIGO_1 SI CUMPLE CONDICION, IR A INICIO SI NO CUMPLE CONDICION CODIGO_2 TERMINAR

NAYIBE CHIO BUCLES ANIDADOS El número total de ciclos de instrucción es igual al producto de los ciclos de instrucción del bucle interno por las del bucle externo

NAYIBE CHIO

NAYIBE CHIO DIRECTIVAS CBLOCK (Define a Block of Constants) ENDC (End Constant Block) Asigna direcciones de la memoria RAM de datos CBLOCK 0x20;Las variables se posicionan a partir de esta posición en la RAM VAR1;VAR1 ocupa la posición 0x20 de la RAM VAR2;VAR2 ocupa la posición 0x21 de la RAM RESUL;RESUL ocupa la posición 0x22 de la RAM ENDC

NAYIBE CHIO CBLOCK ;Las variables se posicionan a partir de la última posición de RAM ;definida por el último bloque CBLOCK MAYOR;MAYOR ocupa la posición 0x23 de la RAM MENOR;MENOR ocupa la posición 0x24 de la RAM IGUAL;IGUAL ocupa la posición 0x25 de la RAM ENDC Si en el primer CBLOCK no se define el comienzo, los valores asignados comienzan con el cero (NO ES CORRECTO)

NAYIBE CHIO #DEFINE (Define a Text Substitution Label) : define una cadena de sustitución de texto #DEFINE [ ] #DEFINELEDONPORTB,0 #DEFINEBANCO1BSF STATUS,5 #DEFINEBANCO0BCF STATUS, BANCO1 BCF LEDON BANCO0 BSF LEDON

NAYIBE CHIO SALTOS INDEXADO : Dirección de salto = suma de un registro base (PCL) con un valor cargado en el registro trabajo W equivalente a un registro índice o valor de desplazamiento (offset)

NAYIBE CHIO _CONFIG _CP_OFF&_WDT_OFF&_PWRTE_ON&_XT_OSC LIST P = 16F877 INCLUDE ORG 0x00 CALL PUERTOS;configuración de puertos CICLO MOVF PORTB,0;lee varlor de variable de entrada ANDLW B’ ’;deja los dos bits de entrada ADDWF PCL,1;va al salto adecuado TABLA GOTO SALTO0 GOTO SALTO1 GOTO SALTO2 GOTO SALTO3 SALTO0 MOVLW B’ ’;Salto 0 GOTO SALIDA SALTO1 MOVLW B’ ’;Salto 1 GOTO SALIDA SALTO2 MOVLW B’ ’; Salto 2 GOTO SALIDA SALTO3 MOVLW B’ ’; Salto 3 GOTO SALIDA SALIDA MOVWF PORTD;Visualiza por el puerto de salida GOTO CICLO PUERTOS BSF STATUS,5;Banco 1 CLRF TRISD;PortD como salida MOVLW B’ ’:2 primeros bits PortB - entrada MOVWF TRISB BCF STATUS,5;Banco0 RETURN END

NAYIBE CHIO TAREA 1 Como se puede incluir un programa dentro de otro programa. Revisar la directiva INCLUDE. Explique con un ejemplo

NAYIBE CHIO TABLAS ADDWF PCL,1 RETLW DIRECTIVA ‘DT’ : Define tabla, sustituye el uso repetitivo de retlw DT “MICROCONTROLADORES”,0x08,.30

NAYIBE CHIO TAREA 2 Explique con un ejemplo que hacen las siguientes directivas : MESSG ERROR IF Y ENDIF

NAYIBE CHIO RETARDOS Qué es un ciclo de máquina? Cuánto tiempo tarda en ejecutarse una instrucción bsf con un cristal de 4 Mhz? Cuánto tiempo tarda en ejecutarse una instrucción call con un cristal de 4 Mhz? Cuántos ciclos de máquina se necesitan para generar un retardo de 1.5 ms con un cristal de 4 Mhz?

NAYIBE CHIO MPLAB : los tiempos se miden con el stopwatch. –Dubugger Stopwatch Instrucción NOP (No operación): 1 ciclo de máquina o de instrucción. No altera registros ni banderas

NAYIBE CHIO Retardo Lazo Simple Algoritmo 1.Carga contador con un valor inicial 2.Tiempo de espera 3.Decrementa contador 4.Contador llego a cero A. Si Termina B. No vuelve a 2

NAYIBE CHIO Ret_1ms;el llamado aporta 2 cm movlw d’249’;1 cm. Carga K movwf cont;1 cm Ciclo_1ms nop;1cm * K decfsz cont,1;(K-1)*1cm(No salta) + 2 cm (Salta) goto Ciclo_1ms;(K-1)*2cm return;2cm Tiempo = (K*1) + (K-1)* (K-1)*2 +2 Con K = 249 Tiempo = 1001 cm

NAYIBE CHIO Retardo Lazo anidado Algoritmo 1.Carga contador2 con un valor inicial 2.Carga contador1 con un valor inicial 3.Tiempo de espera 4.Decrementa contador1 5.Contador1 llego a cero A. Si va a 6 B. No vuelve a 4 6. Decrementa contador2 7. Contador2 llego a cero A. Si Termina B. No vuelve a 2

NAYIBE CHIO Ret_1ms;el llamado aporta 2 cm movlw d’1’;1 cm. Carga N movwf cont2;1 cm Ciclo_Ext movlw d’249’;N*1 cm. Carga K movwf cont1;N*1 cm Ciclo_Int nop;1cm * K *N decfsz cont1,1;(K-1)*N*1cm(No salta) + N*2 cm (Salta) goto Ciclo_Int;(K-1)*N*2cm decfsz cont2,1;(N-1)*1cm(No salta) + 2 cm (Salta) goto Ciclo_Ext;(N-1)*2cm return;2cm Tiempo = (N*1) + (N*1) + (K*N*1) +[(K-1)*N*1] +(N*2) + [(K-1)*N*2] + [(N-1)*1] +2 + [(N-1)*2] +2 Tiempo = 8+N+N+KN+KN-N+2N+2KN-2N+N-1+2N-2 Tiempo = 5 + 4N + 4KN = 1005 cm

NAYIBE CHIO TAREA 3 Cómo se conectan al microcontrolador los siguientes periféricos y que voltajes y corrientes pueden soportar? -Interruptores -Pulsadores -Entradas con optoacopladores -Sensores(óptico, infrarrojo, pasivo de luz,proximidad, realice la busqueda con 5 tipos de sensores) -Diodo Led -Display de 7 segmentos -Zumbador -Motor paso a paso -Motor de corriente continua -Servomotor -Relé -Fototriac -Triac

NAYIBE CHIO