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

Temas similares

28/08/2009 #1


Configuara oscilador del p16f883
Saludos...siempre he trabajado con el P16F873A pero ahora comence con el p16f883 pero tengo el problema de que no se como se configura el oscilador interno, por favor podria agregale lo que le hace falta para que me funcione. el codigo me mi programa es:
Código:
;Tomar una señal anologa del pin RA0(potenciometro) y enceder un 
;led de acuerdo al vol obtenido
;Led1 -> 0.0 - 1.5
;Led2 -> 1.5 - 3.0
;Led3 -> 3.0 - 50

D1        EQU 20H
D2        EQU 21H
          Include "P16F873A.inc"
          ORG 00H
INICIO    BSF    STATUS,RP0   ;cambiamos de banco
          BCF    STATUS,RP1
          CLRF   TRISB        ;Puerto B es salida
          BSF    TRISA,0      ;Puerto A es entrada  
          MOVLW  b'00001110'  ;Configuracion de ADCON (tabla)
          MOVWF  ADCON1       ;Configuracion al registro de ADCON1
          BCF    STATUS,RP0   ;Banco 1 al banco 0, donde esta el A
          CLRF PORTB
CICLO     MOVLW  b'01000001'  ;Configuracion ADCON1
          MOVWF  ADCON0      
          CALL   RETARDO
          BSF    ADCON0,2 
      
CONVERTIR BTFSC  ADCON0,2
          GOTO   CONVERTIR       
          MOVFW  ADRESH
COMP1     
          MOVLW d'77'
          SUBWF ADRESH,W
          BTFSC STATUS,C
          GOTO  COMP2
          GOTO  PRENDER1
PRENDER1
         BSF   PORTB,0
         BCF   PORTB,1
         BCF   PORTB,2
         GOTO  CICLO
COMP2     
          MOVLW d'153'
          SUBWF ADRESH,W
          BTFSC STATUS,C
          GOTO  COMP3
          GOTO  PRENDER2

PRENDER2
         BCF   PORTB,0
         BSF   PORTB,1
         BCF   PORTB,2
         GOTO  CICLO

COMP3     
          MOVLW d'220'
          SUBWF ADRESH,W
          BTFSC STATUS,C
          GOTO  CICLO
          GOTO  PRENDER3
   
PRENDER3
         BCF   PORTB,0
         BCF   PORTB,1
         BSF   PORTB,2
         GOTO  CICLO

RETARDO
                  ;9993 cycles
          movlw    0xCE
          movwf    D1
          movlw    0x08
          movwf    D2
RETARDO_0
          decfsz    D1, f
          goto    $+2
          decfsz    D2, f
          goto    RETARDO_0
                   ;3 cycles
          goto    $+1
          nop
                    ;4 cycles (including call)
         return
         END
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.