SoloCodigo

Programación Específica => Microcontroladores => Mensaje iniciado por: ijfa en Viernes 6 de Enero de 2006, 16:01

Título: Help...necesito Un Delay...
Publicado por: ijfa en Viernes 6 de Enero de 2006, 16:01
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 :( ...
Título: Re: Help...necesito Un Delay...
Publicado por: © Jonathan © en Viernes 6 de Enero de 2006, 22:51
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/ (http://www.solocodigo.com/vftp/Microcontroladores/PIC/Utilidades/)  el archivo se llama retardos_pic.zip .. Saludos :)
Título: Re: Help...necesito Un Delay...
Publicado por: ijfa en Sábado 7 de Enero de 2006, 23:20
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:
Título: Re: Help...necesito Un Delay...
Publicado por: Kain589 en Domingo 8 de Enero de 2006, 13:22
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
Título: Re: Help...necesito Un Delay...
Publicado por: ijfa en Lunes 9 de Enero de 2006, 18:29
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: