• Domingo 17 de Noviembre de 2024, 01:51

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - frnaco_0610

Páginas: [1]
1
Microcontroladores / Una Orientacion a Principiante
« en: Viernes 29 de Octubre de 2004, 16:03 »
este es un pequño ejemplo de hacer parpadear un led con un retardo de 1 seg pero no comete su objetivo el led se vuelve intermitente y quisiera saber que estoy haciendo mal, ahora que configuracion debo hacer en el epicwin para poder utilizar un cristal de 20Mhz
   List P=16F877A
   Include "P16F877A.INC"

PDel0   EQU   0x20
PDel1   EQU   0x21
PDel2   EQU   0x22

#Define   BANCO_H   bsf   STATUS,RP1
#Define   BANCO_L   bcf   STATUS,RP1
#Define   BANCO1   bsf   STATUS,RP0
#Define   BANCO0   bcf   STATUS,RP0


#Define   BAUD   D'100'            ; Baud Rate Deseada en kbps
#Define   FOSC   D'4000'            ; Frecuencia del oscillator en kHz

   __config      (_CP_OFF & _DEBUG_OFF & _WRT_ENABLE_OFF & _CPD_OFF & _LVP_OFF & _BODEN_ON & _PWRTE_ON & _WDT_OFF & _XT_OSC)
 ;)  ;) no se que significa esto alguien puede ayudarme?????????
      org      0
      
      goto   INICIO
;************************************************************************************************
;               PROGRAMA PRINCIPAL
;************************************************************************************************
INICIO   BANCO_L
      BANCO1
      MOVLW   B'00000111'   
      MOVWF   ADCON1      ;SELECIONO LA OPCION DE E/S DIGITALES
      CLRF   TRISA      ;PORTA SON SALIDAS
      
      BANCO0
      CLRF   PORTA
   BUCLE   BSF   PORTA,0
      CALL   DEMORA
      BCF   PORTA,0
      CALL   DEMORA
                                GOTO        BUCLE

DEMORA  movlw     .14       ; 1 set numero de repeticion  ©
        movwf     PDel0     ; 1 |
PLoop0  movlw     .72       ; 1 set numero de repeticion  (B)
        movwf     PDel1     ; 1 |
PLoop1  movlw     .247      ; 1 set numero de repeticion  (A)
        movwf     PDel2     ; 1 |
PLoop2  clrwdt              ; 1 clear watchdog
        decfsz    PDel2, 1  ; 1 + (1) es el tiempo 0  ? (A)
        goto      PLoop2    ; 2 no, loop
        decfsz    PDel1,  1 ; 1 + (1) es el tiempo 0  ? (B)
        goto      PLoop1    ; 2 no, loop
        decfsz    PDel0,  1 ; 1 + (1) es el tiempo 0  ? ©
        goto      PLoop0    ; 2 no, loop
PDelL1  goto PDelL2         ; 2 ciclos delay
PDelL2  clrwdt              ; 1 ciclo delay
        return              ; 2+2 Fin.
      
   

      END

Páginas: [1]