CONTENTS

WARNING

PROGRAMMING MODES

INTRODUCTION

FILE MENU

RESET

OPTIONS MENU

BUTTONS

PROGRAMMING A CHIP

FUSES

USB PORT

ICSP MODE

CODE PROTECT WARNING

COMMAND LINE

DEBUG VECTOR

PROTOCOL NUMBER AND UPGRADING

PROBLEM SUPPORT

CHIPINFO FILE


WARNING

Be aware that the chips used in your kit are sensitive to static electricity discharge and could be damaged by mishandling of the PCB. Be careful with the board and avoid touching any of the tracks or pads while assembling it. Try to handle it only by the edges.

VERY IMPORTANT

Please do not insert any chip into the programming socket unless the board is connected to the PC either via the serial port or the USB port and the MicroPro software is running.

The controller PICmicro® on the board is held in a reset state until MicroPro gains control of it. In this reset condition, there will be stray voltages present in the programming socket.

There is a modification that keeps these voltages turned off unless needed by the programmer. Please see “resmod.pdf” in your installation directory. Later version kits have this modification already installed.

Even will this modification, it is not advisable to turn the programmer board off and on while a chip is in the programming socket.

Clk & Dat Programming Pins

On the programmer board, the PICmicro® driver chip has the Clk and Dat pins set as inputs when the programmer is idle. These are set as outputs only when programming takes place.


PROGRAMMING MODES

This programmer does not support Low Voltage Programming Mode, only High Voltage Programming Mode.


INTRODUCTION

Welcome to the DIY MicroPro Programmer.

This programmer allows you to program a wide variety of PICMICRO® chips.

Peter Crowcroft

DIY Electronics (HK) Ltd

PO Box 88458, Sham Shui Po, Hong Kong

Voice: 852-2304 2250

Fax: 852-2729 1400

Web:  http://kitsrus.com

Email: peterhk@kitsrus.com

Number One in Electronic Kits Worldwide


Buttons

LOAD

SAVE

MERGE

REFRESH

PROGRAM

READ

VERIFY

BLANK

OSCAL

CANCEL

FUSES


PROGRAMMING A CHIP

Programming a chip is very easy to do. Here are some examples.

Make sure the programmer is connected to the PC serial/USB port and turn it on.

Run the MicroPro.exe program.

See the serial port section for using the PC ports.

Select the chip type from the Chip Selector.

Example -16F873.

Load a HEX file.

Make sure the fuse options are set correctly.

Place the 16F873 chip in the programming socket taking note of pin #1 location on the socket image on screen.

Press Program.

The programmer will verify that the chip in the programming socket is actually a 16F873, and if so programming will commence.

The chip will be erase checked and if it is not blank, you will receive a message asking if it is alright to overwrite the old data. Select Yes or No as appropriate.

If Yes was selected, then programming will commence.

During programming, some LEDs will light on the programmer and programming progress is displayed on screen.

You can stop programming anytime by pressing Cancel.

Once programming is complete, take the chip out of the programming socket and it is ready for use in your project.

READING

To read a chip, place a chip in the programming socket, select it’s type from the chip selector and press Read.

The chip type will be verified in the socket and if it matches, the data on the chip will be read and displayed on screen. It can then be saved to disc if need be.

Note, that if the chip is code protected, then the data that will be displayed will be all 0000’s.

VERIFYING

To verify a chip, place a chip in the programming socket, select it’s type from the chip selector and press Verify.

The chip type will be verified in the socket and if it matches, the data on the chip will be verified. Any verification errors will display an error dialog box.


FUSES

Fuses are used by the PICmicro® to set options like the oscillator type, watch dog timer enable, power up timers etc. The actual settings for fuse types are different from chip to chip and details for each can be found in the corresponding data sheets.

16F84 Example

The fuses shown should be WDT, PWRTE, Ocsillator and Code Protect.

If your project does not need the WDT enabled then click on the WDT list and select OFF or Disabled.

If your project does need the WDT enabled then click on the WDT list and select ON or Enabled.

Use the same method for the PWRTE and Code Protect fuse settings.

The Oscillator has 4 options available. If for example, your project uses 4MHz as the clock speed, then you would select HS from this fuse option.

When programming takes place this fuse data will be used to program the fuse register inside the PICMICRO© chip.

Please note that some chips after being code protected can no longer be re-programmed, so be careful.

You can also embed the fuse data inside the source code for your project. When MicroPro loads the assembled HEX file and finds fuse data, it will automatically set all the fuse options to match. See MPLAB® help for more details on CONFIG.


Options

Edit HEX Code

Edit Chip List

Fuse Value

Calibration Word(s)

Read Chip Info

Ignore Blank Check

Fly Window

Auto Update Files

ICSP Mode

Auto Program

Cal Program Options

EEPROM Override

Sound


Program

This button begins programming the PICMICRO©.

A blank test is performed before programming commences.

If the blank test fails then a message will appear and programming will cease unless you choose to continue.

The indicator under the chip selector will show the programming progress.

If a verify problem occurs then programming will cease and an error message will be displayed.


Merge

If you have a file already loaded then you can use this utility to load another HEX file and it will be merged into the existing one. Newer data will only be placed into blank data addresses. Any addresses that have non blank data will not be changed.

As an example, this feature can be used to merge bootloaders and data files together.

All merged files will appear in the Recent Files menu and can be reloaded by using Refresh.

All merged files will be used with the Auto File Update feature and when reloading on startup.


Refresh

This item will reload all of the HEX files currently in memory.


Verify

This button verifies the HEX code in the data list with that in the chip.

This button is inactive if you have not selected a chip to program.


Erase

This button tests whether the selected chip is blank or if you want to erase a FLASH type of chip.

This button is inactive if you have not selected a chip to program.


Save

This button saves the contents of the data list including the FUSE data and any EEPROM data.


Read

This button reads the contents of the selected chip.

This button is inactive if you have not selected a chip to program.


Load

This button loads in a HEX file to supply data for programming.

If the HEX files have Eeprom data or Fuse data embedded, then this data will be incorporated into the program list otherwise default values will be used.

See Merge also.


Cancel

This button stops any active programming function.


OSCAL

Some PICMICRO© chips have an internal oscillator which can be enabled and thus eliminate external clock components.

You should make sure that this value is not erased or reprogrammed with another value or the oscillator calibration value will not be correct when the chip is operating in the internal oscillator mode. It may be wise to record the value if in doubt.

This button will become active if the selected chip has this option available.

After pressing it, you will be able to edit the OSCAL calibration value in the data list.

See Cal Program Options


USB Port

Please connect the board to the USB port and apply power before running MicroPro.

When finished with the program, please shut down MicroPro before turning off the power to the PCB.

Failure to observe these sequences may result in the PC trying to find a USB port that is not there and slow your system down.

See Serial Port also


Code Protect Warning

On some JW PICMICRO© chips, it is very difficult, if not impossible, to take off the Code Protection once this fuse option has been programmed.

If this happens, you may not be able to reprogram the chip possibly making it useless.

A warning will be issued depending on the chip type.


Edit HEX Code

This item allows you to modify the contents of the HEX file shown in the list window.

To modify the ROM or EEPROM data, click on the ROM or EEPROM data cell.


Edit Chip List

This item allows you modify what chips are listed in the Chip Select list. Sometimes you only need a few listed and this can save you having to search through many devices.

Only chips that have ‘Y’ listed next to the name will be displayed.

Double click the ‘Y’ or ‘N’ to alternate the choice.


Fuse Value

This item allows you to see the actual HEX value of the fuse or fuses.


Calibration Word(s)

This item allows you to see the calibration word(s) value.

For this function to work, you must have performed a Read on a chip so that the calibration data is available from the PC memory buffer.

Please note that even though MicroPro reads the values from any chip, the data shown may have no meaning if the actual chip has no calibration data available from its memory mapping.

The calibration values are read from addresses 0x2008 and 0x2009.

An example of a chip that does have this feature available is the PIC16F688.


Read Chip Info

This item will allow you to read the chip ID and it’s version.

The ID is the value that the software will check for before attempting to read or program a device.

Sometimes the chip ID is not listed in the data sheet for a particular device so this is an easy way to find it.

Please note that some chips like the 16F84 series do not have chip IDs.


Programmer - RESET

This item pulls the MCLR pin low on the main PICMICRO© chip in the programmer for about 200mS. This causes it to be reset.

You should see “Board connected” appear if the reset function succeeded.

Polarity

Some programmer boards have opposite reset voltage levels applied to them. The software will try to find out what programmer it is talking to when the board is powered up but may fail if it is connecting while trying to use the wrong level. The software may even report that the board is connected, but in fact it isn’t.

If you can’t get the board to program or read chips and you have seen “Board connected”, then make sure the Programmer Style is correctly set.


Fly Window

This option minimises the main window and opens a small “fly” window. This should stay on top of any open application.

It is useful if you are using MPLAB® to develop your code. After you assemble the ASM code, you can press the program button on the fly window to program a chip in the programmer.

To use this function properly, MicroPro must have the current HEX file loaded and the correct chip selected.

For example, if you are currently working on a project called LEDflash.asm in MPLAB® and you assemble it to produce LEDflash.hex, then LEDflash.hex must be loaded into Micropro.

When you press the Program Button on the fly window, MicroPro will check for the latest version of the current hex file before programming. In the example case, LEDflash.hex.

If the currently loaded file is older than the one found on the hard disc, then the newest file will be loaded before programming takes place.


Auto Update Files

This option, if active, will check to see if the current HEX file has been changed when the Program button is pressed. If the file has been changed then the new version will be loaded before programming takes place.

If this item is not checked, the file data on screen will be programmed.


File Menu

Load

Save

Merge

Refresh

Clear

Programmer

Port

Serial Off

Recent Files

MPLAB®


Recent Files

This item allows you to load from a list of previously loaded files.

The menu items will also list all merged files and all will be loaded if selected.


MPLAB®

This menu item allows you to start the MPLAB® compiler from Microchip.

Start

When clicked on, and providing the path for MPLAB® is valid, MPLAB® will start.

Path

This item allows you to set the path name for MPLAB.exe.

It may be located in…

C:\Program Files\MPLAB\……

or

C:\Program Files\MPLAB IDE\dlls\…


Clear

This item clears the memory buffer.


COM Port

This item opens a window to allow you to alter the COM port setting.

The serial port can also be changed by double clicking on the COM x label at the bottom of the screen.

A dialog will open allowing you to change the port value. If the port successfully opens, then the label will show COM plus the port number.

If the port did not open, then the label will show COM x and an error message will be displayed.

Please note that a COM port can open successfully but the programmer software may still not find the hardware. This is usually due to the hardware being connected to a different COM port than that selected.

Example, you may have selected COM1 which opened successfully, but your hardware is connected to COM2.

See USB port also.


Serial Off

This item allows you to turn off the serial port while leaving the MicroPro application running so that another application can use it.


ICSP Mode

This mode allows you to program via the ICSP port.

Please note that K128, K128-ICSP, and K182 all have high impedance voltage sources for the high voltage program mode. This means that the target circuit must not draw any significant current from the programmer VPP pin. It is only intended as a voltage level for the FLASH PICmicros®, not a current source.

There are 2 VPP voltage sources available on the programming socket. Either one is automatically selected depending on the chip type selected.

When ICSP mode is selected, only VPP1 is used even if VPP2 should be used for the particular chip. Therefore, do not attempt to program chips in the programming socket when ICSP mode is enabled or chip damage may result.

See the construction PDF file in your installation directory for more ICSP connection information. This will have the same name as your kit type - eg. k149.pdf.

Please note that ICSP programming will not work in all cases. Things that may cause problems are...

high capacitive loads on the programming pins

long programming leads

inability of the programmer to control the MCLR pin

inability of the programmer to control the VCC voltage

If any of these or other problems exist, then you may have to isolate the programming pins on the target board.


Auto Program-Enable

This allows you to program chips without having to touch the Windows interface.

When active, the software will detect when a chip is inserted into the socket and automatically commence the program/verify process.

Once the chip is programmed, the software will wait until the next chip is inserted before programming continues.

Press CANCEL when you wish to exit this mode.

Any errors that are encountered while programming will terminate the auto program mode.

If you are not concerned about testing the chip to see if it is blank before programming you can check the Ignore Blank Check item before enabling the Auto Program mode.


Programmer

This item allows you to match the programmer software to the kit version that you have.

For example, if you have the K149-A programmer board, then you should select K149-A from the list provided.

This is normally accomplished when MicroPro first makes contact with the programmer board.

Some styles allow you to change a Reset Polarity. This alternates whether the programmer board resets with a True signal or resets with a False signal.

This function is there in case any of the MicroPro compatible programmer boards need a reset polarity change and will be advised in any upgrade notes.

See Reset Programmer for more details.


Ignore Blank Check

This item, if active, bypasses the blank checking of chips before programming takes place. This can save time if the Auto Program mode is selected.

This may cause problems if you are trying to program chips that are not FLASH types as these cannot be erased by the programmer before programming takes place.


Command Line

MicroPro can be started by a command line.

The format is…

Micropro.exe  [Filename]  [Chip Type]  [Fly Window switch] [Quit switch] [Port (Optional)]

There is a space between each option and switch.

Chip Type can be written as 16F873 or PIC16F873.

Example

Wanting MicroPro to start and load the file called c:\hexfiles\test.hex, and use a 16F873 chip, and show the Fly Window on start up.

Micropro.exe c:\hexfiles\test.hex 16f873 /F /q

Example

Wanting MicroPro to start and load the file called c:\files\first.hex, and use a 16F84 chip, and not show the Fly Window on start up.

Micropro.exe c:\files\first.hex 16f84 /f /q

or

Micropro.exe c:\files\first.hex 16f84

MicroPro can also be started from the command line, stay minimised, program a chip and then close again when finished.

Example

Run MicroPro, load a file, select a chip, No Fly, and Quit after programming.

Micropro.exe c:\files\first.hex 16f84 /f /Q

You can also optionally specify the PORT to use on start up.

Example

Micropro.exe c:\files\first.hex 16f84 /f /Q 1

If the port is not valid, then MicroPro will not continue.


Protocol Number and Upgrading

V210803 and above.

The protocol number can be accessed from the [HELP] -> Protocol menu item.

This should display two matching numbers similar to these…

MicroPro: P009	Board: P009.

These two numbers should match or the programmer will not work properly.

To check files before upgrading, load the HEX file for your programmer board.

For example, if you have a K149-B kit, select PIC16F628 from the chip list and load the file called diyk149b.hex from your installation directory.

In the EEPROM section of the data list you will see the protocol number. If it doesn’t match the MicroPro protocol number then don’t upgrade with this HEX file or the project will not work.


Cal Program Options

Some chips have a calibration value for the internal oscillator and a bandgap calibration value. These are pre-programmed into the new chip by the factory and should be preserved when your new code is programmed into the chip.

Message Prompt

With this option enabled, the OSCAL and Bandgap values will be read from the chip in the programming socket and they will be compared with the values in the loaded HEX file. If there is a difference in the values, a continue prompt dialog will open before programming commences.

Insert Original Into File

With this option enabled, the OSCAL and Bandgap values will be read from the chip in the programming socket and inserted into the HEX file before programming takes place.

Please note that your ORIGINAL HEX file will not be changed, so if you reload it and verify the just programmed chip, it may report an error with the FUSE and at the CAL location.

Use File

With this option enabled, the OSCAL and BandGap values will be programmed from the loaded HEX file.


Debug Vector

This option allows you to program an address that can be used a debug vector for some F series of PICmicro© chips. Please see appropriate data sheets for more information on this chip feature.


EEPROM Override

HEX code files can store the EEPROM data separated by 0x00 bytes, and have only 8 data bytes per line, or it can have 16 data bytes per line. Usually the EEPROM data is stored in 8 bytes per line format for the 14 bit cores such as the 16F87x family, but it has appeared in this format for the 16 bit core families as well. MicroPro cannot differentiate between the formats and only loads the HEX file according to the selected chip type. This may result in loading the data spaced with 0x00 bytes when this is not desirable.

This option, if selected, allows you to override the 16 byte per line format and ignore the 0x00 bytes in between the data.

The data file will be reloaded when this item is changed.


Sound

This item, if active, will produce voice annotations for most of the programmer functions.

These are just wav sounds and can be modified by the user for your own purposes. They can be found in the installation directory. Do not change the names of the files or they won’t be used.


Problem Support

If you are experiencing problems with the programmer please look through these items.

Programmer Not Responding

This can have many causes.

Reset Polarity

Try changing the reset polarity option.

Check the one that is NOT checked and try resetting again.

Components and Connections

DO NOT TOUCH THE BOARD CONNECTIONS. SOME COMPONENTS MAY BE DAMAGED OR DEGRADED BY STATIC ELECTRICITY DISCHARGES.

Please go over your construction work and check all parts orientation and placement. Also check for shorted tracks and solder bridges.

On Kit 149-A, diode D3, has a via next to the component hole on the anode side. Make sure this component is placed correctly.

Make sure all polarised components like electrolytic capacitors and chips are inserted correctly.

Make sure the crystal(s) are 6MHz in all kits.

Look closely at the FTDI chip connections and make sure they have been presoldered properly at the factory.

Power Supply

K149-A, K149-B and K150 need at least 16VDC to operate properly. 18VDC is preferred. The supply must be able to provide at least 200mA at these voltages.

The power connector for these kits has a centre positive connection.

K128 is powered from the USB port.

Verify that the red PWR indicator LED is on after powering up the kit. K128 will flash red/green before settling to red.

Using a voltmeter…

On K149 kits, check that 5VDC is appearing on the test pads.

On K150 you can only measure the voltage on the PICMICRO© pins 14(+ve) and 5(-ve). You should read 5V.

Please select 16F877 chip. With no chip in the programming socket. Connect a volt meter +ve to socket pin 1 (top left corner), and -ve to test GND on PCB.

Click [READ] and don't cancel when error messages appear.

Verify that 12-13VDC appears while reading.

Connect a volt meter +ve to socket pin 35 (right side, 6th from top), and -ve to test GND on PCB. Click [READ] and don't cancel when error messages appear.

Verify that approx 5VDC appears while reading.

If not, you need to check the PCB for problems.

The power supply jack is 5.5mm OD, 2.5mm ID DC type.

Inadvertent short circuits in the programmer socket may cause the programming voltage control transistors to be damaged.

Serial connection

Check your serial cable. It should not be a NULL modem type. It needs to be a straight through type. Eg. Pin 1 to Pin 1, Pin 2 to Pin 2 etc.

Make sure the COM port is selected properly and open and the serial cable is connected to the selected COM port.

Make sure the COM port is active in MicroPro.

If you are using the USB connection, make sure the cable is connected correctly and the FTDI drivers are installed properly. Visit their web site to download them.

http://www.ftdichip.com/FTWinDriver.htm

Do not use the new enhanced drivers.

Any problems related to the USB driver should be directed to the FDTI web site.

http://www.ftdichip.com/

If [COM x] is showing in the MicroPro status area then the COM port is not active. (Serial or USB)

On K149-A and K149-B make sure the COM switch is set to [USB] if you are using USB and [Serial] if you are using the COM port.

Make sure the cables are connected and apply power.

If you have a terminal program, run it and set it to 19200 baud, 8 bit, No Parity and 1 Stop Bit. (19200, 8, N, 1)

Send HEX values, 0x50 then 0x16.

The firmware will respond and send the ASCII protocol number back.

It will have the ASCII format 'P' 'P' '0' '0' '?' where '?' is the protocol number.

If this does not occur, then you need to verify your connections and circuitry around the ICL232 chip, or the FTDI USB chip.

If you did manage to read the protocol number then run MicroPro and verify that it is the same as the version you are using. If not, check the KitsRus web sit for the latest upgrade. You may need another PICmicro® programmer to perform the upgrade.

http://www.kitsrus.com

USB mode may be slightly slower than Serial mode because the USB driver must convert the data from Serial -> USB -> Serial.

Programmer Verify

To verify the programmer, connect it to the PC and apply power. Run MicroPro and you should see Board Connected appear. The software may auto connect if a different programmer is selected.

If the programmer appears to work, but only programs 1 or 2 locations and then reports a connection error, then it is likely that the firmware is not matched to MicroPro. Check the protocol number in Help -> About.

Reading and all 0000’s appear

This may mean that the Code Protect Fuse is set on the chip you are trying to read from, or the chip has not been inserted into the programmer socket properly. The chip may also be damaged. Check the PCB as described above.

K128 was not designed for ICSP programming, although some have tried and it does work. The high voltage programming supply for K128 is very HI-Impedance and may not work.

HEX File Won’t Load

Some chips require HEX files to be of a certain type.

12 and 14 bit PICmicro® chips can have HEX file types of INHX8M or INHX32, but PICmicro® chips in the 18F family require INHX32 only.

See your compiler for details.

“F” series chips program, but “C” series won’t

Check that your programmer power supply is supplying at least 18VDC at 200mA.

You cannot ERASE a “C” series chip unless it is a JW type and you have a UV eraser.

Is the “C” series blank before programming.

“C” Series PICmicro® chips cannot be programmed by the K128 programmer. It will only program FLASH type “F” series chips.

What is the LOW ICSP Programmer Connection?

This is an open collector output and may be used to pull the LVP or OCS1 pins low while programming. It may also be used for some other function on the target board.

Check your source code

If all else fails, maybe your code does not work. Please check your source code. It may be the solution to the problem. Maybe your FUSE settings are incorrect.

Chip ID’s

Some PICmicro® chips do not have a chip ID. The 16F84 is an example. You may receive an error message stating this.

My chip gets warm in the programming socket

This should NOT happen. Please check your hardware for problems. Make sure there are no stray voltages present in the programming socket when the board is idle. Check that your chip is inserted correctly.

There is a PCB modification for Kits 149A 149B and 150. Please see the file called “resmod.pdf” in your installation directory.


ChipInfo File

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:

12C508	ProgramDelay=1	; 100uS

18F4320	ProgramDelay=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:

16C765	ProgramTries=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:

16C765	OverProgram=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:

16F88	CoreType=bit14_G

Allowable types and examples:

bit12_A	12C50x

bit14_A	12C67x, 16C50x, 16Cxxx,

bit14_B	16C8x 16F8x, 16F87x 16F62x

bit14_C	16F7x, 16F7x7

bit14_D	12F67x

bit14_E	16F87x-A

bit14_F	16F818

bit14_G	16F87, 88

bit16_A	18Fx230x330

bit16_B	18Fxx2xx8

ROMsize=000200

This item specifies the ROM size of the chip in a HEX value.

Example:

16F630	000400

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:

16C83	00000040

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:

16F4320	FUSEblank=CF00 1F0F 8300 0085 C00F E00F 400F

16F84	FUSEblank=3FFF

16F87	FUSEblank=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

12C508	CALword=Y

16F84	CALword=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

12F675	BandGap=Y

12C508	BandGap=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

16F877	ICSPonly=N	; chip can be programmed in the socket

18F1220	ICSPonly=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:

18F452	ChipID=0420

16F871	ChipID=0D20

Some chips do not have a chip ID, so leave the value blank.

Example:

12C508	ChipID=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:

16F84	Only 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.

18F4320	Has 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.

FUSE1	FUSE2

1	1	ON

0	1	EXT

1	0	INT

0	0	OFF

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.


ERASE

Erase Check

Check this item when you want to verify that the chip is erased.

Erase Chip

Check this item when you want to erase a FLASH type of chip.