IRCFL Fuse Setting

PIC16F628A fuse setting

The following fuse setting are used for firmware version 2.0 versions (other versions are different).

What does this mean?

Fuse setting in the program

The following is provided for reference only for specific projects and is not relevant for the normal firmware upgrade.

P16F628A

Fuse Name Definitions

[CONFIGSTART]

BODEN_ON EQU 0X3FFF

BODEN_OFF EQU 0X3FBF

BOREN_ON EQU 0X3FFF

BOREN_OFF EQU 0X3FBF

CP_ON EQU 0X1FFF

CP_OFF EQU 0X3FFF

DATA_CP_ON EQU 0X3EFF

DATA_CP_OFF EQU 0X3FFF

PWRTE_OFF EQU 0X3FFF

PWRTE_ON EQU 0X3FF7

WDT_ON EQU 0X3FFF

WDT_OFF EQU 0X3FFB

LVP_ON EQU 0X3FFF

LVP_OFF EQU 0X3F7F

MCLRE_ON EQU 0X3FFF

MCLRE_OFF EQU 0X3FDF

RC_OSC_CLKOUT EQU 0X3FFF

RC_OSC_NOCLKOUT EQU 0X3FFE

ER_OSC_CLKOUT EQU 0X3FFF

ER_OSC_NOCLKOUT EQU 0X3FFE

INTOSC_OSC_CLKOUT EQU 0X3FFD

INTOSC_OSC_NOCLKOUT EQU 0X3FFC

INTRC_OSC_CLKOUT EQU 0X3FFD

INTRC_OSC_NOCLKOUT EQU 0X3FFC

EXTCLK_OSC EQU 0X3FEF

HS_OSC EQU 0X3FEE

XT_OSC EQU 0X3FED

LP_OSC EQU 0X3FEC

[CONFIGEND]

Default Configuration Definitions

[DEFCONFIGSTART]

ifndef CONFIG_REQ

ifdef WATCHDOG_REQ

__config HS_OSC & WDT_ON & PWRTE_ON & BODEN_OFF & LVP_OFF & CP_OFF & MCLRE_ON & DATA_CP_OFF

else

__config HS_OSC & WDT_OFF & PWRTE_ON & BODEN_OFF & LVP_OFF & CP_OFF & MCLRE_ON & DATA_CP_OFF

endif

endif

[DEFCONFIGEND]

P16F88

Fuse Name Definitions

[CONFIGSTART]

_CONFIG1 EQU 0X2007

_CONFIG2 EQU 0X2008

;Configuration Byte 1 Options

CP_ALL EQU 0X1FFF

CP_OFF EQU 0X3FFF

CCP1_RB0 EQU 0X3FFF

CCP1_RB3 EQU 0X2FFF

DEBUG_OFF EQU 0X3FFF

DEBUG_ON EQU 0X37FF

WRT_PROTECT_OFF EQU 0X3FFF ;No program memory write protection

WRT_PROTECT_256 EQU 0X3DFF ;First 256 program memory protected

WRT_PROTECT_2048 EQU 0X3BFF ;First 2048 program memory protected

WRT_PROTECT_ALL EQU 0X39FF ;All of program memory protected

CPD_ON EQU 0X3EFF

CPD_OFF EQU 0X3FFF

LVP_ON EQU 0X3FFF

LVP_OFF EQU 0X3F7F

BODEN_ON EQU 0X3FFF

BODEN_OFF EQU 0X3FBF

MCLR_ON EQU 0X3FFF

MCLR_OFF EQU 0X3FDF

PWRTE_OFF EQU 0X3FFF

PWRTE_ON EQU 0X3FF7

WDT_ON EQU 0X3FFF

WDT_OFF EQU 0X3FFB

EXTRC_CLKOUT EQU 0X3FFF

EXTRC_IO EQU 0X3FFE

INTRC_CLKOUT EQU 0X3FFD

INTRC_IO EQU 0X3FFC

EXTCLK EQU 0X3FEF

HS_OSC EQU 0X3FEE

XT_OSC EQU 0X3FED

LP_OSC EQU 0X3FEC

;Configuration Byte 2 Options

IESO_ON EQU 0X3FFF

IESO_OFF EQU 0X3FFD

FCMEN_ON EQU 0X3FFF

FCMEN_OFF EQU 0X3FFE

; To use the Configuration Bits, place the following lines in your source code

; in the following format, and change the configuration value to the desired

; setting (such as CP_OFF to CP_ALL). These are currently commented out here

; and each __CONFIG line should have the preceding semicolon removed when

; pasted into your source code.

;Program Configuration Register 1

; __CONFIG _CONFIG1, _CP_OFF & _CCP1_RB0 & _DEBUG_OFF & _WRT_PROTECT_OFF & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _MCLR_OFF & _PWRTE_OFF & _WDT_OFF & _HS_OSC

;Program Configuration Register 2

; __CONFIG _CONFIG2, _IESO_OFF & _FCMEN_OFF

[CONFIGEND]

Default Configuration Definitions

[DEFCONFIGSTART]

ifndef CONFIG_REQ

ifdef WATCHDOG_REQ

ifdef DEBUG@REQ ; Do we require DEBUG ?

__CONFIG _CONFIG1, HS_OSC & WDT_ON & PWRTE_ON & BODEN_OFF & LVP_OFF & PWRTE_ON & WRT_PROTECT_OFF & CP_OFF & CPD_OFF & DEBUG_ON

else

__CONFIG _CONFIG1, HS_OSC & WDT_ON & PWRTE_ON & BODEN_OFF & LVP_OFF & PWRTE_ON & WRT_PROTECT_OFF & CP_OFF & CPD_OFF & DEBUG_OFF

endif

else

ifdef DEBUG@REQ

__CONFIG _CONFIG1, HS_OSC & WDT_OFF & PWRTE_ON & BODEN_OFF & LVP_OFF & PWRTE_ON & WRT_PROTECT_OFF & CP_OFF & CPD_OFF & DEBUG_ON

else

__CONFIG _CONFIG1, HS_OSC & WDT_OFF & PWRTE_ON & BODEN_OFF & LVP_OFF & PWRTE_ON & WRT_PROTECT_OFF & CP_OFF & CPD_OFF & DEBUG_OFF

endif

endif

endif

[DEFCONFIGEND]