PIC 16F1503 - cambia la frecuencia del oscilador interno

3

Mis bits de configuración son los siguientes:

#include <P16F1503.inc> 
__CONFIG _CONFIG1, _FOSC_INTOSC & _WDTE_OFF & _PWRTE_ON & _MCLRE_OFF & _CP_OFF & _BOREN_OFF & _CLKOUTEN_OFF
__CONFIG _CONFIG2, _WRT_OFF & _STVREN_OFF & _LVP_OFF

La parte relevante del código que estoy usando para cambiar la frecuencia es esta:

banksel OSCCON
movlw   b'01101000'     ; Int. osc. 4 MHz
movwf   OSCCON
btfss   OSCSTAT, HFIOFR ; Is internal oscillator running?
goto    $-1             ; No, loop one line back...
btfss   OSCSTAT, HFIOFS ; Is internal oscillator stable?
goto    $-1             ; No, loop one line back...

Desafortunadamente, mi herramienta de depuración es solo un simulador. El problema es que la ejecución nunca llega al punto de interrupción en la línea 192:

¿Esto significa que el oscilador interno nunca se estabiliza?

Estoy usando:

  • IDE: MPLAB X IDE v1.20
  • Compilador: MPASM v5.45

¿Qué estoy haciendo mal?

    
pregunta PrimosK

1 respuesta

2

Si está utilizando el simulador, debe comentar esas dos pruebas para que el oscilador funcione o esté estable. Como no tienes ningún hardware en ejecución, las pruebas siempre fallarán. Deberían estar bien si utiliza un depurador como el PICkit 2/3 o el ICD 3.

    
respondido por el Leon Heller

Lea otras preguntas en las etiquetas