• Miércoles 6 de Noviembre de 2024, 05:47

Autor Tema:  Help...necesito Un Delay...  (Leído 1921 veces)

ijfa

  • Nuevo Miembro
  • *
  • Mensajes: 12
    • Ver Perfil
Help...necesito Un Delay...
« en: Viernes 6 de Enero de 2006, 16:01 »
0
Hola necesito de su ayuda...necesito un delay de 10 ms.............para un pic16f874..kon un kristal de 20MHz.....yo hice uno pero no me funciono....pliss :( ...

© Jonathan ©

  • Moderador
  • ******
  • Mensajes: 1671
  • Nacionalidad: ar
    • Ver Perfil
    • http://www.einstec.com.ar
Re: Help...necesito Un Delay...
« Respuesta #1 en: Viernes 6 de Enero de 2006, 22:51 »
0
Cita de: "ijfa"
Hola necesito de su ayuda...necesito un delay de 10 ms.............para un pic16f874..kon un kristal de 20MHz.....yo hice uno pero no me funciono....pliss :( ...
Holas.. talves te sea util el programita para generar retardos que tenemos en el FTP de Solocodigo.. puedes ingresar en http://www.solocodigo.com/vftp/Microcontro...PIC/Utilidades/  el archivo se llama retardos_pic.zip .. Saludos :)
EINSTEC Tecnología «La única fuente del conocimiento es la experiencia.»

«Lo importante es no dejar de hacerse preguntas.»

ijfa

  • Nuevo Miembro
  • *
  • Mensajes: 12
    • Ver Perfil
Re: Help...necesito Un Delay...
« Respuesta #2 en: Sábado 7 de Enero de 2006, 23:20 »
0
gracias voy a revisarlo... :comp: thx


Esto es lo ke me entrego:
Código: Text
  1. ; Descripcion: Delay 50000 ciclos
  2. ;-------------------------------------------------------------
  3. DEMORA  movlw     .55      &#59; 1 set numero de repeticion  (B)
  4.         movwf     PDel0    &#59; 1 |
  5. PLoop1  movlw     .181     &#59; 1 set numero de repeticion  (A)
  6.         movwf     PDel1    &#59; 1 |
  7. PLoop2  clrwdt             &#59; 1 clear watchdog
  8.         clrwdt             &#59; 1 ciclo delay
  9.         decfsz    PDel1, 1 &#59; 1 + (1) es el tiempo 0  ? (A)
  10.         goto      PLoop2   &#59; 2 no, loop
  11.         decfsz    PDel0,  1&#59; 1 + (1) es el tiempo 0  ? (B)
  12.         goto      PLoop1   &#59; 2 no, loop
  13.         return             &#59; 2+2 Fin.
  14. ;-------------------------------------------------------------
  15.  
  16.  
  17.  
  18. Requerimientos  
  19. -----------------
  20. - Declaracion de PDel0 (registro)
  21. - Declaracion oe PDel1 (registro)
  22. - 1 nivel Stack
  23.  
  24. Ejemplo de uso
  25. --------------
  26. call DEMORA     &#59; Delay 50000 ciclos (incluyen  call+return)
  27.  
  28.  



tengo una duda kon esos rekerimientos....PDel0....y PDel1...los tengo ke deklarar??...no entiendo eso...los buske komo registros del PIC pero no los pille...a lo mejor es tonta la duda..pero...jejje :whistling:

Kain589

  • Miembro activo
  • **
  • Mensajes: 53
    • Ver Perfil
Re: Help...necesito Un Delay...
« Respuesta #3 en: Domingo 8 de Enero de 2006, 13:22 »
0
Esos reguistros los debes declarar al inicio del programa, despues de declarar el dispositivo, por ejemplo:

Citar
;dispositivo
   LIST P=PIC16F876
   INCLUDE <P16f876.INC>
;el include sirve para que cargue un archivo que declara los registros del sistema
;status,trisb,intcon,option_reg...(todos en mayusculas)
;variables necesarias
PDe10 EQU 20H
PDe11 EQU 21H 

Esto asigna tus variables a los registros determinados por esas direcciones, lo unico que debes tener en cuenta es no hacerlo sobre registros del sistema, en el pic16f84 creo que es a patir de la direccion 0C, eso lo puedes mirar en el datasheet
EDITO>> Para el 16f874 no los conozco, si es como el 876 sera a partir de la direccion 20

ijfa

  • Nuevo Miembro
  • *
  • Mensajes: 12
    • Ver Perfil
Re: Help...necesito Un Delay...
« Respuesta #4 en: Lunes 9 de Enero de 2006, 18:29 »
0
Gracias Kain...klaro ke no necesito deklarar el pic a usar puesto ke estoy programando en C...kon el kompilador CC5X....y el MPLAB te hace eso automagikamente...jeje
pero igual tengo ke deklarar esos registros :comp: