Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

24/06/2008 #1


Duda rutina temporizacion pic16f84
Hola! Miren que tengo una duda de una temporizacion de 10ms que encontre en un libro. Hace asi:

RETRASO10 bcf INTCON,2 ; borra flag del TMR0
movlw 08
movwf TMR0 ;carga el TMR0 con el valor 39

RETRASO10_1 btfss INTCON,2 ;espera rebosamiento del TMR0
goto RETRASO10_1
decfsz TEMPORAL_1,F
goto RETRASO10
return

Mas o menos entiendo todo, pero no tengo ni idea de lo que es D8 y porque dice que con eso le ha cargado el valor 39.

Luego hace otro retraso pero de 1 segundo, basandose en esta rutina de 10ms, repitiendola 100 veces:

RETRASO1S movlw 0x64
movwf TEMPORAL_1
call RETRASO10
return

Aqui tampoco entiendo lo del 0x64, es que estoy empezando un poquillo...muchas gracias de antemano!
24/06/2008 #2

Avatar de asherar

Re: Duda rutina temporizacion pic16f84
Maria dijo:

RETRASO10 bcf INTCON,2 ; borra flag del TMR0
movlw 08 ; = 216
movwf TMR0 ; carga el TMR0 con el valor 39
Lo que carga es el complemento de 39 con respecto a 256: 255 - 39 = 216 = 08.
Al cargar el valor 216 en TIMER0, luego de 39 pasos desbordará al pasar 255.
En el otro carga una variable que usa dentro de RETRASO10. 0x64 es 100 en decimal.
Adentro de RETRASO10 seguramente va restando de a uno hasta que TEMPORAL_1
sea cero y en ese momento termina y sale.

Maria dijo:
RETRASO1S movlw 0x64
movwf TEMPORAL_1
call RETRASO10
return
24/06/2008 #3


Vale ya esta pillao! Muchiiisimas gracias!
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.