This file holds the data required by MicroPro to determine the chip parameters to use when programming.
You can modify this file at any time to add or delete chips or modify the fuse labels to make them more readable to you.
Do not alter the format as listed or it will create errors and MicroPro will not use it.
File Format
CHIPname=12C508
This item is the text name of the chip and will be listed in the Chip Selector.
Include=Y
This item enables you to include or not include this chip in the Chip Selector.
Include=N Chip will not be listed
Include=Y Chip will be listed
See Edit Chip List
SocketImage=8pin
This item specifies the chip graphic that will be displayed on the PC when a chip is selected.
Allowable types:
8pin
14pin
18pin
28Npin
28Wpin
40pin
EraseMode=0
This item specifies which erase algorithm to use for a selected chip.
Allowable Types and examples:
0; 16C8x, 16F8x, 16F87x
1; 16F7x
2; 12F67x
3; 16F7x7
4; 18Fxxxx
5; 16F87xA, F818, F87
Non FLASH chips ignore this parameter, set it as “EraseMode=0”
FlashChip=N
This item specifies whether the chip is FLASH or not.
Flash=N; not flash chip
Flash=Y; is flash chip
PowerSequence=VccVpp2
This item specifies the chip powerup sequence when programming.
Vpp1 is usually used for 28 and 40 pin devices.
Vpp2 is usually used for 8 and 18 pin devices
Vcc is the 5V programming supply
Example:
Turn Vpp1 on before Vcc
PowerSequence=Vpp1Vcc
Allowable Types and examples:
Vcc; no use yet
VccVpp1; 16C62A, 16C76, 16F870
VccVpp2; 16F84, 16F819, 12C508
Vpp1Vcc; not used
Vpp2Vcc; 12F679
VccFastVPP1; 16F7x7
VccFastVPP2; no use yet
ProgramDelay=1
This item specifies the program delay for FLASH chips and is in multiples of 100uS.
Max value is 255.
Examples:
12C508ProgramDelay=1; 100uS
18F4320ProgramDelay=10; 1mS
ProgramTries=8
This item specifies how many times the software will try to program a memory location before reporting an error.
Max value is 255.
Example:
16C765ProgramTries=25
FLASH chips ignore this parameter, set it as “ProgramTries=1”
OverProgram=12
This item specifies how many over program pulses are programmed into each location. This value is multiplied by the ProgramTries total that occurred while programming.
Max value is 255.
Example:
16C765OverProgram=3
CoreType=bit12_A
This item specifies the core type of the chip. This is used by the programmer to determine what programming algorithm to use.
Example:
16F88CoreType=bit14_G
Allowable types and examples:
bit12_A12C50x
bit14_A12C67x, 16C50x, 16Cxxx,
bit14_B16C8x 16F8x, 16F87x 16F62x
bit14_C16F7x, 16F7x7
bit14_D12F67x
bit14_E16F87x-A
bit14_F16F818
bit14_G16F87, 88
bit16_A18Fx230x330
bit16_B18Fxx2xx8
ROMsize=000200
This item specifies the ROM size of the chip in a HEX value.
Example:
16F630000400
This chip has a ROM size of 1K which is 400h.
EEPROMsize=00000040
This item specifies the EEPROM size of the chip in a HEX value.
Example:
16C8300000040
This chip has a EEPROM size of 64 bytes which is 40h.
Non FLASH chips ignore this parameter, set it as “EEPROMsize=00000000”
FUSEblank=0FFF
This item specifies the blank (erased) value of each FUSE.
FUSE value counts currently supported are: 1, 2 and 7.
Fuse Blank values start at FUSE 1 and finish at FUSE 7.
Examples:
16F4320FUSEblank=CF00 1F0F 8300 0085 C00F E00F 400F
16F84FUSEblank=3FFF
16F87FUSEblank=3FFF 3FFF
CPwarn=N
This item specifies whether an information dialog will appear before programming commences that informs the user that the selected device may not be able to be erased if the code protect fuses are set.
Examples:
CPwarn=N; no warning message is displayed
CPwarn=Y; warning message is displayed
CALword=Y
This item specifies whether the chip has a Oscillator calibration value.
Examples:
CALword=N; chip has no calibration value
CALword=Y; chip has a calibration value
12C508CALword=Y
16F84CALword=N
BandGap=N
This item specifies whether the chip has a Bandgap calibration value.
Examples:
BandGap=N; chip has no bandgap value
Bandgap=Y; chip has a bandgap value
12F675BandGap=Y
12C508BandGap=N
ICSPonly=N
This item specifies whether the selected chip can only be programmed in ICSP Mode.
Some chips, due to the pin layout, cannot be programmed using the ZIF socket.
Examples
16F877ICSPonly=N; chip can be programmed in the socket
18F1220ICSPonly=Y; chip cannot be programmed in the socket
ChipID=FFFF
This item specifies the identification value of the chip.
The format of this value from the data sheets is as follows.
I I I I I I I I I I I R R R R R
I is the ID bit, R is a revision bit.
The revision bits are ignored by MicroPro.
Examples:
18F452ChipID=0420
16F871ChipID=0D20
Some chips do not have a chip ID, so leave the value blank.
Example:
12C508ChipID=FFFF
Fuses
This section of the record holds the information on the fuses.
Each fuse has a name and a number of items associated with that name. Each item has a value that specifies a status.
The format is:
LISTnumber[spc]FUSEnumber[spc]FUSEname[spc]FUSEitem_n[spc] FUSEitem_n1[spc]…FUSEitem_nX
[spc] = Space
Do not allow word wrapping to occur on any line as you enter it. MicroPro will only scan the chipinfo file 1 line at a time and considers all data to be in it.
LISTnumber
This item specifies the drop down list that will be shown on the FUSE Edit screen. These numbers must be listed in single incrementing numbers. The maximum number allowed per chip is 33.
Examples:
LIST1
LIST20
FUSEnumber
This item specifies the FUSE number from the chip. The 16F84 only has 1 fuse, so this value can only be FUSE1. The 18F4320 has 7 fuses, so this number can range from FUSE1..FUSE7. These should be in ascending order throughout the record.
Examples:
FUSE1
FUSE7
FUSEname
This item specifies the name of the FUSE and will be displayed next to it’s drop down list on the FUSE edit window. It must be enclosed in double quotes.
Examples:
“WDT”
“Oscillator”
FUSEitem
This item specifies the name(s) and value(s) that will be included in the associated drop down list. It is made up of two parts – NAME and VALUE. The name must be enclosed in double quotes and the value must be in 4 digit HEX.
Examples:
“Enabled”=3FFF
“Disabled”=3FFB
FUSE Examples:
16F84Only has 1 FUSE register.
LIST1 FUSE1 "WDT" "Enabled"=3FFF "Disabled"=3FFB
LIST2 FUSE1 "PWRTE" "Disabled"=3FFF "Enabled"=3FF7
LIST3 FUSE1 "Oscillator" "RC"=3FFF "HS"=3FFE "XT"=3FFD "LP"=3FFC
LIST4 FUSE1 "Code Protect" "Disabled"=3FFF "Enabled"=000F
This will cause 4 drop down lists to be displayed in the FUSE edit window, all associated with FUSE 1.
The FUSE names are WDT, PWRTE, Oscillator and Code Protect.
The WDT has 2 state names: Enabled and Disabled.
The HEX enabled value = 3FFF
The HEX disabled value = 3FFB.
MicroPro starts of with the FUSE blank value and will logically AND the selected FUSE value. Therefore, if you have [WDT Disabled] selected in the drop down list, the blank value [3FFF] will be ANDed with [3FFB] which gives a value of [3FFB] which will be used to program the FUSE.
LIST3 FUSE1 has 4 FUSE items that will be listed in drop down list 3.
RC, HS, XT, LP
NOTE: State names cannot have the ampersand character (&) in them.
18F4320Has 7 FUSE registers
LIST12 FUSE4 "Background Debug" "Disabled"=FFFF "Enabled"=FF7F
LIST13 FUSE4 "Low Voltage Program" "Enabled"=FFFF "Disabled"=FFFB
LIST14 FUSE4 "Stack Overflow Reset" "Enabled"=FFFF "Disabled"=FFFE
This part of the FUSE listing adds 3 more drop down lists – 12, 13, and 14 to the FUSE edit window. These are all associated with FUSE 4.
The names are Background Debug, Low Voltage Program and Stack Overflow Reset.
Each has a Disabled and Enabled item and the associated selection value.
Dual FUSE Values.
Some new PICmicros© have fuse functions split over two fuse registers. You can specify this by adding an extra HEX value.
Example:
BOR uses bit 0 in FUSE 1 and bit 0 in FUSE 2 which will generate 4 states.
FUSE1FUSE2
11ON
01EXT
10INT
00OFF
LIST1 FUSE1 "BOR" "ON"=3FFF&3FFF "EXT"=3FFE&3FFF "INT"=3FFF&3FFE "OFF"=3FFE&3FFE
The data will be interpreted by MicroPro as FUSE1&FUSE2. Each value will be ANDed with the FUSE1 and FUSE2 values respectively.
The dual FUSE function will only work with PICmicros© with 2 FUSE registers.
Do not duplicate the dual function in both FUSE1 and FUSE2 listings.