SlideShare uma empresa Scribd logo
1 de 2
Controlando el tiempo.

                                       Esquema de Montaje




Descripción: Programa que ilustra cómo realizar una temporización sin emplear
interrupciones.

Programa en Assembler:

Código:
   LIST P=16f84
   RADIX HEX
; ------------------------------------------------------------------------

   PUERTAA EQU 0x06
   OPTION EQU 0x01
   ESTADO EQU 0x03
   TMR   EQU 0x01

; ------------------------------------------------------------------------

   ORG 0 ; Inicio del programa en
       ; dirección 0

; ------------------------------------------------------------------------

   bsf ESTADO,5 ; Banco 1
   movlw b 1101 0110 ; Valor a cargar en
             ; OPTION
   movwf OPTION
   movlw 0x00
   movwf PUERTAB       ; La Puerta B salida
   bcf ESTADO,5 ; Banco 0
   clrf PUERTAB     ; Las líneas de salida
; de PB a 0

  parpa bsf PUERTAB,7 ; Enciende el led RB7 = 1
  call retardo     ; Llamada a subrutina de
               ; RETARDO
  bcf PUERTAB,7 ; Apaga el led, RB7 = 0
  call retardo
  goto parpa

  retardo          clrf TMR0 ; TMR0 = 0 y empieza su
              ; incremento

  explora         btfss TMR0,4; TMR0<4> = 1?
  goto explora     ; No ha llegado TMR0 a 16d
  return        ; Ha llegado TMR0 al
             ; valor 16d y retorna
             ; al programa principal

  END

Programa en C:

Código:
#include <16C84.H>
#use      delay( clock = 1000000 ) /* Especifica reloj de 1 MHz */
#byte     puertab = 06          /* Dirección de la puerta B */
void main( void )
{
  set_tris_b( 0x00 );
  puertab = 0;
  do
  {
     delay_us( 8700 ); /* Crea un bucle de espera de 8700 microsegundos */
     bit_set(puertab,7); /* Enciende el LED */
     delay_us(8700);      /* Espera */
     bit_clear(puertab,7);/* Apaga el LED */
  }while(true);        /* Repetir siempre */

Mais conteúdo relacionado

Mais procurados

Parcial t1 2011 sol
Parcial t1 2011 solParcial t1 2011 sol
Parcial t1 2011 solJair BG
 
Micc final sep02_2010 solucion
Micc final sep02_2010 solucionMicc final sep02_2010 solucion
Micc final sep02_2010 solucionJair BG
 
Micc mejoramiento-sept2011-solucion
Micc mejoramiento-sept2011-solucionMicc mejoramiento-sept2011-solucion
Micc mejoramiento-sept2011-solucionJair BG
 
Práctica final acl
Práctica final aclPráctica final acl
Práctica final aclchinazo
 
Parcial dic 13 t2 2008 sol
Parcial dic 13 t2 2008 solParcial dic 13 t2 2008 sol
Parcial dic 13 t2 2008 solJair BG
 
Parcial t1 2010 sol
Parcial t1 2010 solParcial t1 2010 sol
Parcial t1 2010 solJair BG
 
Micc temas examen
Micc temas examenMicc temas examen
Micc temas examenJair BG
 
Parcial 2 tdic10_2010
Parcial 2 tdic10_2010Parcial 2 tdic10_2010
Parcial 2 tdic10_2010Jair BG
 
Micc final feb14_2009_soluc
Micc final feb14_2009_solucMicc final feb14_2009_soluc
Micc final feb14_2009_solucJair BG
 
Micc parcial dic9_2010 - copia (1)_sol
Micc parcial dic9_2010 - copia (1)_solMicc parcial dic9_2010 - copia (1)_sol
Micc parcial dic9_2010 - copia (1)_solJair BG
 
A tmega164p guide datashet
A tmega164p guide datashetA tmega164p guide datashet
A tmega164p guide datashetHamil FC
 
Micp mej feb18_2011_solucion
Micp mej feb18_2011_solucionMicp mej feb18_2011_solucion
Micp mej feb18_2011_solucionJair BG
 

Mais procurados (20)

Nueva secuencia
Nueva secuenciaNueva secuencia
Nueva secuencia
 
Parcial t1 2011 sol
Parcial t1 2011 solParcial t1 2011 sol
Parcial t1 2011 sol
 
Micc final sep02_2010 solucion
Micc final sep02_2010 solucionMicc final sep02_2010 solucion
Micc final sep02_2010 solucion
 
Micc mejoramiento-sept2011-solucion
Micc mejoramiento-sept2011-solucionMicc mejoramiento-sept2011-solucion
Micc mejoramiento-sept2011-solucion
 
Práctica final acl
Práctica final aclPráctica final acl
Práctica final acl
 
14 Fusibles Programables
14 Fusibles Programables14 Fusibles Programables
14 Fusibles Programables
 
Irdt practica 5
Irdt practica 5Irdt practica 5
Irdt practica 5
 
Practica 3 irdt
Practica 3 irdtPractica 3 irdt
Practica 3 irdt
 
Parcial dic 13 t2 2008 sol
Parcial dic 13 t2 2008 solParcial dic 13 t2 2008 sol
Parcial dic 13 t2 2008 sol
 
Parcial t1 2010 sol
Parcial t1 2010 solParcial t1 2010 sol
Parcial t1 2010 sol
 
Micc temas examen
Micc temas examenMicc temas examen
Micc temas examen
 
Parcial 2 tdic10_2010
Parcial 2 tdic10_2010Parcial 2 tdic10_2010
Parcial 2 tdic10_2010
 
Módulo EUSART del PIC16F887
Módulo EUSART del PIC16F887Módulo EUSART del PIC16F887
Módulo EUSART del PIC16F887
 
Micc final feb14_2009_soluc
Micc final feb14_2009_solucMicc final feb14_2009_soluc
Micc final feb14_2009_soluc
 
Micc parcial dic9_2010 - copia (1)_sol
Micc parcial dic9_2010 - copia (1)_solMicc parcial dic9_2010 - copia (1)_sol
Micc parcial dic9_2010 - copia (1)_sol
 
Practica 5 irdt
Practica 5 irdtPractica 5 irdt
Practica 5 irdt
 
A tmega164p guide datashet
A tmega164p guide datashetA tmega164p guide datashet
A tmega164p guide datashet
 
Practica 5 irdt
Practica 5 irdtPractica 5 irdt
Practica 5 irdt
 
Micp mej feb18_2011_solucion
Micp mej feb18_2011_solucionMicp mej feb18_2011_solucion
Micp mej feb18_2011_solucion
 
Practica 5 irdt
Practica 5 irdtPractica 5 irdt
Practica 5 irdt
 

Semelhante a Control de tiempo sin interrupciones

TIMERS&TEMPORIZADORES EN "C"
TIMERS&TEMPORIZADORES EN "C"TIMERS&TEMPORIZADORES EN "C"
TIMERS&TEMPORIZADORES EN "C"Diego Rojas Ruiz
 
Curso de microcontroladores capitulo 06
Curso de microcontroladores capitulo 06Curso de microcontroladores capitulo 06
Curso de microcontroladores capitulo 06Hamiltonn Casallas
 
Interrupciones y Temporizadores pucesi
Interrupciones y Temporizadores   pucesiInterrupciones y Temporizadores   pucesi
Interrupciones y Temporizadores pucesiDavid Narváez
 
Microcontroladores: Fundamentos de microprocesadores y microcontroladores
Microcontroladores: Fundamentos de microprocesadores y microcontroladoresMicrocontroladores: Fundamentos de microprocesadores y microcontroladores
Microcontroladores: Fundamentos de microprocesadores y microcontroladoresSANTIAGO PABLO ALBERTO
 
Micc mej feb18_2010
Micc mej feb18_2010Micc mej feb18_2010
Micc mej feb18_2010Jair BG
 
Microcontroladores: Introducción al AVR Studio
Microcontroladores: Introducción al AVR StudioMicrocontroladores: Introducción al AVR Studio
Microcontroladores: Introducción al AVR StudioSANTIAGO PABLO ALBERTO
 
Microcontroladores AVR y Arduino: Programación del microatmega328p en ensambl...
Microcontroladores AVR y Arduino: Programación del microatmega328p en ensambl...Microcontroladores AVR y Arduino: Programación del microatmega328p en ensambl...
Microcontroladores AVR y Arduino: Programación del microatmega328p en ensambl...SANTIAGO PABLO ALBERTO
 
Arduino: Reporte de diseño controlador acuario con Arduino
Arduino: Reporte de diseño controlador acuario con ArduinoArduino: Reporte de diseño controlador acuario con Arduino
Arduino: Reporte de diseño controlador acuario con ArduinoSANTIAGO PABLO ALBERTO
 
Micc final feb14_2009_soluc
Micc final feb14_2009_solucMicc final feb14_2009_soluc
Micc final feb14_2009_solucJair BG
 
Leccion3 y4 agosto25_2011solucion
Leccion3 y4 agosto25_2011solucionLeccion3 y4 agosto25_2011solucion
Leccion3 y4 agosto25_2011solucionJair BG
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxJose Manuel Mansilla Carrasco
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxfreddymadriz
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxJose Manuel Mansilla Carrasco
 
Micc mej feb18_2010_solucion
Micc mej feb18_2010_solucionMicc mej feb18_2010_solucion
Micc mej feb18_2010_solucionJair BG
 
Micc mejoramiento feb_28_2009_soluc
Micc mejoramiento feb_28_2009_solucMicc mejoramiento feb_28_2009_soluc
Micc mejoramiento feb_28_2009_solucJair BG
 
Micc mej sept16_2010
Micc mej sept16_2010Micc mej sept16_2010
Micc mej sept16_2010Jair BG
 
Curso de microcontroladores capitulo 05
Curso de microcontroladores capitulo 05Curso de microcontroladores capitulo 05
Curso de microcontroladores capitulo 05Hamiltonn Casallas
 
Micc final feb14_2009
Micc final feb14_2009Micc final feb14_2009
Micc final feb14_2009Jair BG
 

Semelhante a Control de tiempo sin interrupciones (20)

TIMERS&TEMPORIZADORES EN "C"
TIMERS&TEMPORIZADORES EN "C"TIMERS&TEMPORIZADORES EN "C"
TIMERS&TEMPORIZADORES EN "C"
 
Curso de microcontroladores capitulo 06
Curso de microcontroladores capitulo 06Curso de microcontroladores capitulo 06
Curso de microcontroladores capitulo 06
 
Interrupciones y Temporizadores pucesi
Interrupciones y Temporizadores   pucesiInterrupciones y Temporizadores   pucesi
Interrupciones y Temporizadores pucesi
 
Microcontroladores: Fundamentos de microprocesadores y microcontroladores
Microcontroladores: Fundamentos de microprocesadores y microcontroladoresMicrocontroladores: Fundamentos de microprocesadores y microcontroladores
Microcontroladores: Fundamentos de microprocesadores y microcontroladores
 
Micc mej feb18_2010
Micc mej feb18_2010Micc mej feb18_2010
Micc mej feb18_2010
 
Microcontroladores: Introducción al AVR Studio
Microcontroladores: Introducción al AVR StudioMicrocontroladores: Introducción al AVR Studio
Microcontroladores: Introducción al AVR Studio
 
Microcontroladores AVR y Arduino: Programación del microatmega328p en ensambl...
Microcontroladores AVR y Arduino: Programación del microatmega328p en ensambl...Microcontroladores AVR y Arduino: Programación del microatmega328p en ensambl...
Microcontroladores AVR y Arduino: Programación del microatmega328p en ensambl...
 
Arduino: Reporte de diseño controlador acuario con Arduino
Arduino: Reporte de diseño controlador acuario con ArduinoArduino: Reporte de diseño controlador acuario con Arduino
Arduino: Reporte de diseño controlador acuario con Arduino
 
Micro2 tema 5
Micro2 tema 5Micro2 tema 5
Micro2 tema 5
 
Micc final feb14_2009_soluc
Micc final feb14_2009_solucMicc final feb14_2009_soluc
Micc final feb14_2009_soluc
 
Leccion3 y4 agosto25_2011solucion
Leccion3 y4 agosto25_2011solucionLeccion3 y4 agosto25_2011solucion
Leccion3 y4 agosto25_2011solucion
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xx
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xx
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xx
 
Micc mej feb18_2010_solucion
Micc mej feb18_2010_solucionMicc mej feb18_2010_solucion
Micc mej feb18_2010_solucion
 
Micc mejoramiento feb_28_2009_soluc
Micc mejoramiento feb_28_2009_solucMicc mejoramiento feb_28_2009_soluc
Micc mejoramiento feb_28_2009_soluc
 
Micc mej sept16_2010
Micc mej sept16_2010Micc mej sept16_2010
Micc mej sept16_2010
 
Curso de microcontroladores capitulo 05
Curso de microcontroladores capitulo 05Curso de microcontroladores capitulo 05
Curso de microcontroladores capitulo 05
 
Micc final feb14_2009
Micc final feb14_2009Micc final feb14_2009
Micc final feb14_2009
 
Niple diapopsitiva
Niple   diapopsitivaNiple   diapopsitiva
Niple diapopsitiva
 

Control de tiempo sin interrupciones

  • 1. Controlando el tiempo. Esquema de Montaje Descripción: Programa que ilustra cómo realizar una temporización sin emplear interrupciones. Programa en Assembler: Código: LIST P=16f84 RADIX HEX ; ------------------------------------------------------------------------ PUERTAA EQU 0x06 OPTION EQU 0x01 ESTADO EQU 0x03 TMR EQU 0x01 ; ------------------------------------------------------------------------ ORG 0 ; Inicio del programa en ; dirección 0 ; ------------------------------------------------------------------------ bsf ESTADO,5 ; Banco 1 movlw b 1101 0110 ; Valor a cargar en ; OPTION movwf OPTION movlw 0x00 movwf PUERTAB ; La Puerta B salida bcf ESTADO,5 ; Banco 0 clrf PUERTAB ; Las líneas de salida
  • 2. ; de PB a 0 parpa bsf PUERTAB,7 ; Enciende el led RB7 = 1 call retardo ; Llamada a subrutina de ; RETARDO bcf PUERTAB,7 ; Apaga el led, RB7 = 0 call retardo goto parpa retardo clrf TMR0 ; TMR0 = 0 y empieza su ; incremento explora btfss TMR0,4; TMR0<4> = 1? goto explora ; No ha llegado TMR0 a 16d return ; Ha llegado TMR0 al ; valor 16d y retorna ; al programa principal END Programa en C: Código: #include <16C84.H> #use delay( clock = 1000000 ) /* Especifica reloj de 1 MHz */ #byte puertab = 06 /* Dirección de la puerta B */ void main( void ) { set_tris_b( 0x00 ); puertab = 0; do { delay_us( 8700 ); /* Crea un bucle de espera de 8700 microsegundos */ bit_set(puertab,7); /* Enciende el LED */ delay_us(8700); /* Espera */ bit_clear(puertab,7);/* Apaga el LED */ }while(true); /* Repetir siempre */