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]