16f77 CPU configuration

Each attribute in the configuration table below has two or more possible values associated with it.

e.g. the watchdog attribute (labelled field D ) has the possible values

one and only one of these values must be specified when configuring the CPU

The 16f77 CPU has 5 configuration attributes (labelled field A to E in the table below). The attributes specific to the 16f77 CPU are defined in the file hwreg-p16f77.h To correctly configure the 16f77 CPU each attribute must be set to a valid value. This is done by using one "pragma cpu_config" statement per attribute. A valid configuration for 16f77 would look like:

e.g.
	include "hwreg-p16f77.h"

	pragma cpu_config CFG_BODEN_ON
	pragma cpu_config CFG_CP_ALL
	pragma cpu_config CFG_PWRTE_ON
	pragma cpu_config CFG_WDT_ON
	pragma cpu_config CFG_RC_OSC

NOTE: All attributes for a given processor must be specified, attributes for different processors may not be mixed.

Field
Attribute
XCSB value
Description
A
Brown-Out Reset CFG_BODEN_ON Brown-Out Reset enabled
CFG_BODEN_OFF Brown-Out Reset disabled
B
Program Memory Code Protect CFG_CP_ALL code protect all program memory
CFG_CP_OFF do not code protect any program memory
C
Power-Up Timer CFG_PWRTE_ON power-up timer enable
CFG_PWRTE_OFF power-up timer disable
D
Watchdog timer CFG_WDT_ON watchdog timer enable
CFG_WDT_OFF watchdog timer disable
E
Oscillator CFG_RC_OSC Resistor Capacitor (RC) oscillator
CFG_HS_OSC High Speed Crystal / Resonator (HS) oscillator
CFG_XT_OSC Crystal / Resonator (XT) oscillator
CFG_LP_OSC Low Power Crystal (LP) oscillator