SlideShare una empresa de Scribd logo
1 de 9
SUBRUTINAS
CICLO MÁQUINA
El tiempo que tarda en ejecutarse un programa depende de la frecuencia del oscilador
conectado al microcontrolador y del número de ciclos máquinaejecutados.
Un ciclo de Máquina es la unidad básica de tiempo que utiliza el microcontrolador para
el PIC 16F84, el ciclo máquina equivale a 4 ciclos de reloj, por lo tanto el tiempo que
tarda en producirse un ciclo de máquina es igual a cuatro veces el período del
oscilador.
CICLO MÁQUINA
Las instrucciones en elmicrocontrolador PIC 16F84 necesitan 1 ciclo de máquina para
ejeciutarse, excepto las de salto (goto, calla, btfss, btfsc, return, etc.) que necesitan de
dos ciclos máquina.
El tiempo que tarda el microcontrolador en ejecutar una tarea se determina por:
Tiempo = 4 1/f cm
F= frecuencia del oscilador
Cm= número de ciclos de máquina que tarda en ejecutar la tarea.
CICLO MÁQUINA
Ejemplo: Calcular la duración de 1 ciclo máquina para un PIC
16F84 que utiliza un cristal de cuarzo de 4 Mhz.
𝑇𝑖𝑒𝑚𝑝𝑜 = 4
1
𝑓
cm = 4
1
4𝑀ℎ𝑧
1 = 1 µs
Calcular el tiempo que tarda en ejecutarse la instrucción call si el
sistema funciona con un cristal de cuarzo de 4MHz.
La instrucción call dura 2 ciclos máquina.
𝑇𝑖𝑒𝑚𝑝𝑜 = 4
1
𝑓
(2)cm = 4
1
4𝑀ℎ𝑧
(2) = 2 µs
CICLO MÁQUINA
Ejemplo: En un sistema con microcontrolador PIC 16F84 y cristal
de cuarzo de 4 Mhz. Se desea generar un retardo de 1,5 ms.
Calcular el número de ciclos máquina necesarios.
𝑇𝑖𝑒𝑚𝑝𝑜 = 4
1
𝑓
cm → cm= tiempo
𝑓
4
= 1500µs
4𝑀ℎ𝑧
4
= 1500 cm
Con el cristal de 4 Mhz. El período del oscilador será de 0,25 µs
Y el ciclo máquina tendrá una duración cuatro veces mayor, 1 µs
Parac conseguir 1,5 ms serán necesarios 1500 ciclos máquina.
Medir tiempos con el MPLAB
El MPLAB dispone de una opción de cronómetro denominada
Stopwach que permite medir el tiempo de ejecución de las
instrucciones de los programas.
El cronómetro Stopwacht calcula el tiempo basándose en la
ferecuencia de reloj del microcontrolador PIC que se está
simulando.. Es necesario fijar previamente la frecuencia del
oscilador empleado, para eso, se activa desde el menú Debugger
> Settings > Stopwach, con esto se abre la ventana que muestra
el tiempo transcurrido y los ciclos máquina empleados en la
ejecución de cada instrucción.
INSTRUCCIÓN “NOP”
La instrucción nop (No Operation) no realiza operación alguna.
En realidad consume un ciclo máquina sin hacer nada. Se utiliza
para hacer gastar tiempo al microcontrolador sin alterar el
estado de los registros ni de los flags. Esta instrucción tarda 1
ciclo máquina en ejecutarse.
RETARDOS MEDIANTE LAZO SIMPLE
En muchas aplicaciones resulta necesario generar tiempos de
espera, denominados tiempo de retardo. Estos intervalos
pueden conseguirse mediante una subrutina de retardo, basada
en un lazo simple de algunas instrucciones que se repiten tantas
veces como sea necesario, hasta conseguir el retardo pretendido.
Como el tiempo de ejecución de cada instrucción es conocido, lo único que hay que
hacer es calcular el valor inicial que debe tener el registro R_ContA, que actúa como
contador del número de iteracciones en el lazo para obtener el tiempo de retardo
deseado.
RETARDOS MEDIANTE LAZO SIMPLE
E muchas aplicaciones resulta necesario generar tiempos de
espera, denominados tiempo de retardo. Estos intervalos
pueden conseguirse mediante una subrutina de retardo, basada
en un lazo simple de algunas instrucciones que se repiten tantas
veces como sea necesario, hasta conseguir el retardo pretendido.
Como el tiempo de ejecución de cada instrucción es conocido, lo único que hay que
hacer es calcular el valor inicial que debe tener el registro R_ContA, que actúa como
contador del número de iteracciones en el lazo para obtener el tiempo de retardo
deseado.

Más contenido relacionado

La actualidad más candente

3 2 circuitos-disparo
3 2 circuitos-disparo3 2 circuitos-disparo
3 2 circuitos-disparoAxtridf Gs
 
Pulsos de reloj de Circuito integrado 555
Pulsos de reloj de Circuito integrado 555Pulsos de reloj de Circuito integrado 555
Pulsos de reloj de Circuito integrado 555Israel Magaña
 
Generar retardos-para-pic-en-mplab
Generar retardos-para-pic-en-mplabGenerar retardos-para-pic-en-mplab
Generar retardos-para-pic-en-mplabYeni Ochoa
 
Sistema de control para llenado de tanques con microcontrolador pic
Sistema de control para llenado de tanques con microcontrolador picSistema de control para llenado de tanques con microcontrolador pic
Sistema de control para llenado de tanques con microcontrolador picRoberto Di Giacomo
 
Automatismo de control para el acceso a un garaje
Automatismo de control para el acceso a un garajeAutomatismo de control para el acceso a un garaje
Automatismo de control para el acceso a un garajeJomicast
 
Sistemas de segundo orden
Sistemas de segundo  ordenSistemas de segundo  orden
Sistemas de segundo ordenHenry Alvarado
 
Ejercicios plc
Ejercicios plcEjercicios plc
Ejercicios plcCincoC
 
Sistemas lineales invariantes en el tiempo
Sistemas lineales invariantes en el tiempoSistemas lineales invariantes en el tiempo
Sistemas lineales invariantes en el tiempoMari Colmenares
 
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
 
Solucionario-de-Circuitos-Electricos-de-Joseph-A-Edminister-Schaum.docx
Solucionario-de-Circuitos-Electricos-de-Joseph-A-Edminister-Schaum.docxSolucionario-de-Circuitos-Electricos-de-Joseph-A-Edminister-Schaum.docx
Solucionario-de-Circuitos-Electricos-de-Joseph-A-Edminister-Schaum.docxHayramPatraca
 
cascada electroneumatica
cascada electroneumaticacascada electroneumatica
cascada electroneumaticaDimas Rumay
 

La actualidad más candente (20)

Ejercicios ladder
Ejercicios ladderEjercicios ladder
Ejercicios ladder
 
3 2 circuitos-disparo
3 2 circuitos-disparo3 2 circuitos-disparo
3 2 circuitos-disparo
 
Practica 7 Flip Flop
Practica 7 Flip FlopPractica 7 Flip Flop
Practica 7 Flip Flop
 
Pulsos de reloj de Circuito integrado 555
Pulsos de reloj de Circuito integrado 555Pulsos de reloj de Circuito integrado 555
Pulsos de reloj de Circuito integrado 555
 
Generar retardos-para-pic-en-mplab
Generar retardos-para-pic-en-mplabGenerar retardos-para-pic-en-mplab
Generar retardos-para-pic-en-mplab
 
LabVIEW - Estructuras
LabVIEW - EstructurasLabVIEW - Estructuras
LabVIEW - Estructuras
 
Practica Filtro pasa bajos
Practica Filtro pasa bajosPractica Filtro pasa bajos
Practica Filtro pasa bajos
 
Sistema de control para llenado de tanques con microcontrolador pic
Sistema de control para llenado de tanques con microcontrolador picSistema de control para llenado de tanques con microcontrolador pic
Sistema de control para llenado de tanques con microcontrolador pic
 
Trabajo flip flop
Trabajo flip flopTrabajo flip flop
Trabajo flip flop
 
Circuitos secuenciales
Circuitos secuencialesCircuitos secuenciales
Circuitos secuenciales
 
Pic retardos por software
Pic retardos por softwarePic retardos por software
Pic retardos por software
 
MEMORIAS DE LOS PLC
MEMORIAS DE LOS PLCMEMORIAS DE LOS PLC
MEMORIAS DE LOS PLC
 
Automatismo de control para el acceso a un garaje
Automatismo de control para el acceso a un garajeAutomatismo de control para el acceso a un garaje
Automatismo de control para el acceso a un garaje
 
Sistemas de segundo orden
Sistemas de segundo  ordenSistemas de segundo  orden
Sistemas de segundo orden
 
Ejercicios plc
Ejercicios plcEjercicios plc
Ejercicios plc
 
Sistemas lineales invariantes en el tiempo
Sistemas lineales invariantes en el tiempoSistemas lineales invariantes en el tiempo
Sistemas lineales invariantes en el tiempo
 
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,
 
Reporte compuertas logicas
Reporte compuertas logicas Reporte compuertas logicas
Reporte compuertas logicas
 
Solucionario-de-Circuitos-Electricos-de-Joseph-A-Edminister-Schaum.docx
Solucionario-de-Circuitos-Electricos-de-Joseph-A-Edminister-Schaum.docxSolucionario-de-Circuitos-Electricos-de-Joseph-A-Edminister-Schaum.docx
Solucionario-de-Circuitos-Electricos-de-Joseph-A-Edminister-Schaum.docx
 
cascada electroneumatica
cascada electroneumaticacascada electroneumatica
cascada electroneumatica
 

Similar a Subrutinas de retardo

Similar a Subrutinas de retardo (20)

Relacion Ejercicios 1
Relacion Ejercicios 1Relacion Ejercicios 1
Relacion Ejercicios 1
 
Programacion pic116f84a
Programacion pic116f84aProgramacion pic116f84a
Programacion pic116f84a
 
Rendimiento del CPU
Rendimiento del CPURendimiento del CPU
Rendimiento del CPU
 
Lab# 2 - Temporizador.pdf
Lab# 2 - Temporizador.pdfLab# 2 - Temporizador.pdf
Lab# 2 - Temporizador.pdf
 
Ciclos de instrucciones 8085
Ciclos de instrucciones 8085Ciclos de instrucciones 8085
Ciclos de instrucciones 8085
 
Metrica rendimiento ec4
Metrica rendimiento ec4Metrica rendimiento ec4
Metrica rendimiento ec4
 
Procesamiento segmentado
Procesamiento segmentado   Procesamiento segmentado
Procesamiento segmentado
 
Balanceo de lineas con velocidad de banda transportadora
Balanceo de lineas  con velocidad de banda transportadoraBalanceo de lineas  con velocidad de banda transportadora
Balanceo de lineas con velocidad de banda transportadora
 
balance_de_lineas_pptx.pptx
balance_de_lineas_pptx.pptxbalance_de_lineas_pptx.pptx
balance_de_lineas_pptx.pptx
 
Round robin apa
Round robin apaRound robin apa
Round robin apa
 
Tarjeta integradora de aplicaciones (06)
Tarjeta integradora de aplicaciones (06)Tarjeta integradora de aplicaciones (06)
Tarjeta integradora de aplicaciones (06)
 
2.3.1
2.3.12.3.1
2.3.1
 
Tema 5. Sentencias de Control 19-03-23.pdf
Tema 5. Sentencias de Control 19-03-23.pdfTema 5. Sentencias de Control 19-03-23.pdf
Tema 5. Sentencias de Control 19-03-23.pdf
 
El ciclo de instrucciones
El ciclo de instruccionesEl ciclo de instrucciones
El ciclo de instrucciones
 
Interrupciones y Temporizadores pucesi
Interrupciones y Temporizadores   pucesiInterrupciones y Temporizadores   pucesi
Interrupciones y Temporizadores pucesi
 
Pipelining
PipeliningPipelining
Pipelining
 
Timer0
Timer0Timer0
Timer0
 
In terrupciones pic
In terrupciones picIn terrupciones pic
In terrupciones pic
 
Clase no11
Clase no11Clase no11
Clase no11
 
Ciclo de instruccion ensayo
Ciclo de instruccion ensayoCiclo de instruccion ensayo
Ciclo de instruccion ensayo
 

Último

Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Katherine Concepcion Gonzalez
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONamelia poma
 
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...JAVIER SOLIS NOYOLA
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxroberthirigoinvasque
 
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOTIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOPsicoterapia Holística
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfGruberACaraballo
 
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...JoseMartinMalpartida1
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOluismii249
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIAFabiolaGarcia751855
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxFernando Solis
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfapunteshistoriamarmo
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfMercedes Gonzalez
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOluismii249
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfpatriciaines1993
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptAlberto Rubio
 
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.pptFUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.pptNancyMoreiraMora1
 

Último (20)

Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
 
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
 
Novena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan EudesNovena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan Eudes
 
PP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomasPP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomas
 
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOTIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdf
 
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdf
 
Sesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdfSesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdf
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.pptFUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
 

Subrutinas de retardo

  • 2. CICLO MÁQUINA El tiempo que tarda en ejecutarse un programa depende de la frecuencia del oscilador conectado al microcontrolador y del número de ciclos máquinaejecutados. Un ciclo de Máquina es la unidad básica de tiempo que utiliza el microcontrolador para el PIC 16F84, el ciclo máquina equivale a 4 ciclos de reloj, por lo tanto el tiempo que tarda en producirse un ciclo de máquina es igual a cuatro veces el período del oscilador.
  • 3. CICLO MÁQUINA Las instrucciones en elmicrocontrolador PIC 16F84 necesitan 1 ciclo de máquina para ejeciutarse, excepto las de salto (goto, calla, btfss, btfsc, return, etc.) que necesitan de dos ciclos máquina. El tiempo que tarda el microcontrolador en ejecutar una tarea se determina por: Tiempo = 4 1/f cm F= frecuencia del oscilador Cm= número de ciclos de máquina que tarda en ejecutar la tarea.
  • 4. CICLO MÁQUINA Ejemplo: Calcular la duración de 1 ciclo máquina para un PIC 16F84 que utiliza un cristal de cuarzo de 4 Mhz. 𝑇𝑖𝑒𝑚𝑝𝑜 = 4 1 𝑓 cm = 4 1 4𝑀ℎ𝑧 1 = 1 µs Calcular el tiempo que tarda en ejecutarse la instrucción call si el sistema funciona con un cristal de cuarzo de 4MHz. La instrucción call dura 2 ciclos máquina. 𝑇𝑖𝑒𝑚𝑝𝑜 = 4 1 𝑓 (2)cm = 4 1 4𝑀ℎ𝑧 (2) = 2 µs
  • 5. CICLO MÁQUINA Ejemplo: En un sistema con microcontrolador PIC 16F84 y cristal de cuarzo de 4 Mhz. Se desea generar un retardo de 1,5 ms. Calcular el número de ciclos máquina necesarios. 𝑇𝑖𝑒𝑚𝑝𝑜 = 4 1 𝑓 cm → cm= tiempo 𝑓 4 = 1500µs 4𝑀ℎ𝑧 4 = 1500 cm Con el cristal de 4 Mhz. El período del oscilador será de 0,25 µs Y el ciclo máquina tendrá una duración cuatro veces mayor, 1 µs Parac conseguir 1,5 ms serán necesarios 1500 ciclos máquina.
  • 6. Medir tiempos con el MPLAB El MPLAB dispone de una opción de cronómetro denominada Stopwach que permite medir el tiempo de ejecución de las instrucciones de los programas. El cronómetro Stopwacht calcula el tiempo basándose en la ferecuencia de reloj del microcontrolador PIC que se está simulando.. Es necesario fijar previamente la frecuencia del oscilador empleado, para eso, se activa desde el menú Debugger > Settings > Stopwach, con esto se abre la ventana que muestra el tiempo transcurrido y los ciclos máquina empleados en la ejecución de cada instrucción.
  • 7. INSTRUCCIÓN “NOP” La instrucción nop (No Operation) no realiza operación alguna. En realidad consume un ciclo máquina sin hacer nada. Se utiliza para hacer gastar tiempo al microcontrolador sin alterar el estado de los registros ni de los flags. Esta instrucción tarda 1 ciclo máquina en ejecutarse.
  • 8. RETARDOS MEDIANTE LAZO SIMPLE En muchas aplicaciones resulta necesario generar tiempos de espera, denominados tiempo de retardo. Estos intervalos pueden conseguirse mediante una subrutina de retardo, basada en un lazo simple de algunas instrucciones que se repiten tantas veces como sea necesario, hasta conseguir el retardo pretendido. Como el tiempo de ejecución de cada instrucción es conocido, lo único que hay que hacer es calcular el valor inicial que debe tener el registro R_ContA, que actúa como contador del número de iteracciones en el lazo para obtener el tiempo de retardo deseado.
  • 9. RETARDOS MEDIANTE LAZO SIMPLE E muchas aplicaciones resulta necesario generar tiempos de espera, denominados tiempo de retardo. Estos intervalos pueden conseguirse mediante una subrutina de retardo, basada en un lazo simple de algunas instrucciones que se repiten tantas veces como sea necesario, hasta conseguir el retardo pretendido. Como el tiempo de ejecución de cada instrucción es conocido, lo único que hay que hacer es calcular el valor inicial que debe tener el registro R_ContA, que actúa como contador del número de iteracciones en el lazo para obtener el tiempo de retardo deseado.