Publicaciones

FUSES - Palabras de configuración del PIC

Cuando vamos a usar un microcntrolador cómo por ejemplo un PIC que no conocemos, muchas dudas es que no sabemos con certeza las palabras de configuración de los PIC. La realidad es que si usamos el MPLAB v8 o el MPLAB X te vienen ya incluido, sólo hay que buscarlos.




Los PICs que más me preguntan los visitantes son esta pequeña lista.

PIC12F508A
__CONFIG   _CP_OFF & _WDT_ON & _MCLRE_ON & _ExtRC_OSC

PIC12F629
__CONFIG   _CP_OFF & _CPD_OFF & _BODEN_OFF & _MCLRE_ON & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT

PIC16F84A
__CONFIG   _CP_OFF & _WDT_ON & _PWRTE_ON & _RC_OSC
 
PIC16F628A
__CONFIG   _CP_OFF & _DATA_CP_OFF & _LVP_OFF & _BOREN_OFF & _MCLRE_ON & _WDT_OFF & _PWRTE_ON & _INTOSC_OSC_NOCLKOUT

PIC16F88
__CONFIG    _CONFIG1, _CP_OFF & _CCP1_RB0 & _DEBUG_OFF & _WRT_PROTECT_OFF & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _MCLR_ON & _PWRTE_ON & _WDT_OFF & _INTRC_IO
     __CONFIG    _CONFIG2, _IESO_OFF & _FCMEN_OFF

PIC16F886
__CONFIG    _CONFIG1, _LVP_OFF & _FCMEN_ON & _IESO_OFF & _BOR_OFF & _CPD_OFF & _CP_OFF & _MCLRE_ON & _PWRTE_ON & _WDT_OFF & _INTRC_OSC_NOCLKOUT
 __CONFIG    _CONFIG2, _WRT_OFF & _BOR21V

PIC16F887
__CONFIG    _CONFIG1, _LVP_OFF & _FCMEN_ON & _IESO_OFF & _BOR_OFF & _CPD_OFF & _CP_OFF & _MCLRE_ON & _PWRTE_ON & _WDT_OFF & _INTRC_OSC_NOCLKOUT
    __CONFIG    _CONFIG2, _WRT_OFF & _BOR21V

PIC16F1827
__CONFIG _CONFIG1, _FOSC_INTOSC & _WDTE_OFF & _PWRTE_OFF & _MCLRE_ON & _CP_OFF & _CPD_OFF & _BOREN_OFF & _CLKOUTEN_ON & _IESO_OFF & _FCMEN_OFF
    __CONFIG _CONFIG2, _WRT_OFF & _PLLEN_OFF & _STVREN_OFF & _BORV_19 & _LVP_OFF

PIC18F2550
CONFIG    FOSC = XT_XT (En realidad es una gran lista. En el MPLAB v8, puedes verlos en la barra de herramientas arriba, Configure-->Configuration Bits).

PIC18F4550
CONFIG    FOSC = XT_XT (Lo mismo arriba).

Hay visitantes que no tienen instalado el MPLAB en este momento, así, este documento les puede ayudar y ahorrar tiempo.

La ubicación se encuentra en este directorio:
C:\Archivos de programa\Microchip\MPASM Suite\Template\Code


Si quieres encontrar donde están los templates, por ejemplo, del PIC16F88, encuentras el archivo llamado 16F88TEMP.ASM y lo abres.

Puede dar el caso que quieras cambiar la configuración del oscilador interno al exteno y que sea del cuarzo. Un ejemplo abajo.

LIST P=16F88 ; Procesador.
#INCLUDE ; Definición de los operandos utilizados.

__CONFIG _CONFIG1, _CP_OFF & _DEBUG_OFF & _WRT_PROTECT_OFF & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _MCLR_ON & _PWRTE_ON & _WDT_OFF & _XT_OSC

; _CP_OFF: Protección de código DESACTIVADO.
; _DEBUG_OFF: Debug en circuito DESACTIVADO.
; _WRT_PROTECT_OFF: Protección a escritura en memoria de programa DESACTIVADO.
; _CPD_OFF: Protección de código de datos DESACTIVADO.
; _LVP_OFF: Programación en baja tensión DESACTIVADO.
; _BODEN_OFF: Reset por Brown-out DESACTIVADO.
; _MCLRE_ON: Reset por pin externo ACTIVADO.
; _PWRTE_ON: Retraso al reset ACTIVADO.
; _WDT_OFF: Watchdog DESACTIVADO.
; _XT_OSC: Oscilador externo del tipo XT.

__CONFIG _CONFIG2, _IESO_OFF & _FCMEN_OFF

; _IESO_OFF: Modo de intercambio de externo a interno DESACTIVADO.
; _FCMEN_OFF: Monitor de CLK DESACTIVADO.


Hay que encontrar las directivas del PIC16F88 que está en la ubicación:
C:\Archivos de programa\Microchip\MPASM Suite

 
El archivo se llama P16F88.INC y lo abrimos para localizar la palabra de configuración del oscilador externo de cuarzo.

Si abriste el archivo P16F88.INC con el notepad de Windows, pulsa "Control B" y busca "CONFIG1 Options", de todas las configuraciones que hay, se usa el _XT_OSC, por ejemplo el oscilador XT a 4MHz o el 20MHz.

Puedes simplificar el __CONFIG sólo introduciendo hexadecimales en vez de los textos aunque resulte más engorroso de interpretar. Cuando lo tengas configurados la configuración de Bits en el MPLAB, lo miras y apuntas.

Ejemplo 1:

    LIST        P=16F88
    INCLUDE       
        __CONFIG    _CONFIG1, _CP_OFF & _CCP1_RB0 & _DEBUG_OFF & _WRT_PROTECT_OFF & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _MCLR_ON & _PWRTE_ON & _WDT_OFF & _XT_OSC
        __CONFIG    _CONFIG2, _IESO_OFF & _FCMEN_OFF

Ejemplo 2:

    LIST        P=16F88
    INCLUDE       
        __CONFIG    _CONFIG1, 0x3F21
        __CONFIG    _CONFIG2, 0x3FFC 

Los dos ejemplos son exactamente lo mismo, sólo que te ahorra tiempo y espacio en escribirlo, aún así, es más aconsejable, legible y recomendable el primer ejemplo. Puedes buscar más información en las ayudas del MPLAB escribiendo __config.

NOTA:

No olvidar que "_ _ CONFIG" tiene dos guiones bajo, no uno. Se escribe así __CONFIG. Es importante tenerlo encuenta ya que los primeros programas puedes poner solo uno guión bajo y es un error frecuente.
Share this Article on :
 
d Copyright Electrónica Net Andino 2006 | Design by Net Andino | Published by Editor de Templates | Powered by Net Andino .