Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Problems programing a PIC16F57 using MPLAB and PICSTAR PLUS

Status
Not open for further replies.

FusionITR

Member
I just got some 16F57's in (im using these for the price and number of I/O pins), and for some reason MPLAB reads these devices as already programed and copy protected even though they are brand new from digikey.

I go and try to erase then, and the devices do not want to erase. MPLAB doesnt give me an error when erasing the device, but I know they are not erased because I do a check and it reports this:

Code:
Device is NOT blank:
   Program Memory
   Configuration Bits
   IDs

When I try to program over it anyway, it gives me this error:

Code:
Program Memory is code protected. Reprogram the entire
part.  If "Auto select memory areas and range" on the
Memory Ranges tab of the programmer settings is enabled,
it must be disabeled  before proceeding.

I've tried to disable this option and manually put it to overwrite all the memory ranges but I still get that same error.

Anybody ever run into this program or anything to suggest I'd try?
 
Nigel Goodwin said:
When did you last upgrade the firmware in your PICStart+?.

About a week ago.

Using 44001, which comes with MPLAB 7.30. I just got these chips in today, so my programmer was already updated to the newest version before trying these chips.

I also forgot to mention, my 16F84A's and 16F627A's still erase and program just fine, this only happens with the 16F57's.
 
Something interesting:

MPLAB gives the same results when running all test as if the chip is not in the zif socket at all (same exact errors/program with the chip in and chip out of the zif socket). Its making me thing that either the zif socket is not properly making contact with the chip or theres a broken lead on the pcb when programing 28pin devices (the other chips I were testing were 18 pin).

Do you know what pins I should be reading voltages from when programming? I'm going to test if Im getting proper voltages in the right places during programming with a multimeter.

Problem is, I dont know where I should be reading voltages.
 
Checkout the readme for the picstart plus found in the MPLAB install folder. The best way to view it is to launch the MPLAB IDE document viewer found in the MPLAB IDE START Menu. See section 9 regarding an adapter recommended for use of these devices.

From ETN #22:

Symptom: PIC16C55A, PIC16C57C and PIC16F57 devices do not verify correctly
using the PICSTART Plus. When a blank device is read, program memory
values of 0xBFF are reported.

Problem: The OSC2 pin on the PIC16C55A, PIC16C57C and 16F57 tries to
overdrive RB6. This causes invalid voltage levels for verification.

Solution: To program the PIC16C55A, PIC16C57C and the 16F57 in DIP
packages on a PICSTART Plus, a modified adapter must be used. The
adapter can be created using a 28- or 40-pin ZIF, LIF or standard
socket by cutting the connector pin that corresponds to pin 26 the
device. After creating this modified adapter, secure the device in
the adapter, then place the modified adapter in the PICSTART Plus.
This adapter should only be used when programming these devices.
 
motion said:
Checkout the readme for the picstart plus found in the MPLAB install folder. The best way to view it is to launch the MPLAB IDE document viewer found in the MPLAB IDE START Menu. See section 9 regarding an adapter recommended for use of these devices.

From ETN #22:

Symptom: PIC16C55A, PIC16C57C and PIC16F57 devices do not verify correctly
using the PICSTART Plus. When a blank device is read, program memory
values of 0xBFF are reported.

Problem: The OSC2 pin on the PIC16C55A, PIC16C57C and 16F57 tries to
overdrive RB6. This causes invalid voltage levels for verification.

Solution: To program the PIC16C55A, PIC16C57C and the 16F57 in DIP
packages on a PICSTART Plus, a modified adapter must be used. The
adapter can be created using a 28- or 40-pin ZIF, LIF or standard
socket by cutting the connector pin that corresponds to pin 26 the
device. After creating this modified adapter, secure the device in
the adapter, then place the modified adapter in the PICSTART Plus.
This adapter should only be used when programming these devices.

So basically, get some kind of DIP socket and make sure pin 26 of the device ist connected to the board when programming? I'll give it a try and report back.
 
Ok I can confirm this is the problem. I just lazy and bent pin 26 so it wasnt connected to the zif socket and the device blanks and programs corretly.

Thanks for getting that info for me, I tried googling but came up with nothing.
 
Status
Not open for further replies.

Latest threads

Back
Top