PDA

View Full Version : PIC16f877-20 to a PIC16f877A I/P Disaster



andyf
- 4th May 2005, 18:49
Just changed my PIC16f877-20 to a PIC16f877A I/P

Epic 2.45 fails to verify the programming of the PIC16f877A I/P.

I use In circuit serial programming.

I get code verify errors at 0000 and so on.

I have re-compiled my code using Pic Basic Pro 2.45

I have sellected PIC16f877A in Epic

Any Idea's?

cupajoe
- 4th May 2005, 19:40
If you use in circuit serial programming then you need to load the bootloader file for the 16F877A -20 as well as selecting the 16F877A.

Hope this helps.

Joe

andyf
- 4th May 2005, 19:51
Hi Joe,

I have to load a what?

:-)

Bruce
- 4th May 2005, 21:00
Have you tried programming this 877A in an EPIC zif socket?

andyf
- 4th May 2005, 21:17
I dont have a zif, its sitting in a solderless breadboard directly in the place where the 16f877 was, I keep trying idea's, swapping them around, reloading the appropriate hex file but still get the error when I verify.

I am using conventional In circuit programming, hardly any components on the breadboard and smooth voltages.

What works perfectly for the 877 does not for the 877A.

Tried erase before write.

Made sure I have the low-voltage programming pin (RB3) pulled to
ground when programming the device.

Above it was suggested about the bootloader, is a bootloader required if using the older in circuit programming or on the 877A must it be used no matter how, just a thought.

Its doing my head in, got a project on the go and cant store the code in the chip :-(

Bruce
- 4th May 2005, 21:36
Try to program it in-circuit without the crystal connected.

Try turning off the EPIC verify option. Then see if your code runs as expected.

Does either work?

andyf
- 4th May 2005, 21:47
Tried it Bruce and it made no difference, am going to cry soon.

Bruce
- 4th May 2005, 21:49
If you turn OFF the EPIC verify option you still get a "verify" error?

cupajoe
- 4th May 2005, 23:34
Hi Joe,

I have to load a what?

:-)
What program are you using to program your PIC? Is it a bootloader?

If you are programming your pic onboard thru a serial cable using a bootloader then you need to load the bootloader software onto your pic. This is a file specific to your pic and its osc setting. This file is usually supplied by the programmer company and its usually stored in a folder with the programming software.

If you are programming your PIC using a serial programmer then the problem may be hardware related. The breadboard could be causing you some problems. I have read of others who said that they had trouble with programming PICs in breadboards.

Regards,

Joe.

andyf
- 5th May 2005, 19:28
Ok, so this is where I got, not far.

I tried everthing and more but still no joy, waisted a lot of peoples time and ended up back to square one sorry and thanks for your help.

I feel there is a problem with these PICs or my epic is failing to store the code in the chip, I tried all night going over and over it then threw the towel in and gave up. I think the only sollution I have is to just use pic16f877-20/p which work fine instead of the pic16f877a i/p which give me problems.

working back using the pic16f877-20/p I have a new problem with ports http://www.picbasic.co.uk/forum/showthread.php?t=1683 any idea's guys

woodygjw
- 6th May 2005, 00:51
Hello andyf,

I may have an answer for you. Make sure that you compile your code for the PIC16f877A I/P, and also select this in the epic software. I duplicated your problem with a 16f873a. I compiled the code for a 16f873, then I set my programmer to 16f873a and loaded it into the 16f873a. I got the exact error that you got. So, check to make sure that your program is compiled for the PIC16f877A I/P and see if this helps.

Regards,

Greg

andyf
- 6th May 2005, 00:59
Hi Greg, thanks for the info, I did try that and still the pic didnt except the code.

I tried lots of things even testing the programming voltage was ok, I am begining to think the chips are duff but cant tell if its my version of epic and picbasic or duff chips. Just out of interest, what versions are you working with. you can reach me better at andyf97 at yahoo dot com.

Regards

Andy

Mark Scotford
- 6th May 2005, 15:57
I don't know the epic programmer/software, but I did take a quick look at the melabs web site, and it says that the 877A was not added till version 2.41 of the Epic Software, hope this helps.

andyf
- 6th May 2005, 17:27
Hi Mark, Iam using 2.45 albeit a beta version, I am wondering if beta = faulty

JoseFausto
- 19th November 2005, 22:39
I think the bootloader for PIC16F877A must be diferent, I tried with PIC16F877-20, and that works fine, But when I tried to use the same bootloader with PIC16F877A, I received message "reset required", I donot have harware problems, because is the same circuit, but only change the PIC, and I tried with diferents IC, for that I think the problem is the bootloader,
My question is: Exist a bootloader for PIC16F877A?

mytekcontrols
- 20th November 2005, 03:23
I couldn't help but notice that 2 different people kept talking about bootloaders. Just to set the record straight, I'm pretty sure we are talking about ICSP through the RB6, RB7, and MCLR pins and not about a USART style bootloader which is normally connected through the hardware USART pins RC6 and RC7.

:)

mugwamp
- 21st November 2005, 13:20
I think your problem has to be some sort of config issue, Andy. I just spent a whole lot of time scratching my head because a 16F877 will accept an 8 Mhz Xtal as "XT", but a 16F877A will only accept the same clock rate as "HS". With data sheets in 230 page range, it seems like someone at Microchip could have taken the time to compile a short section in the "A" datasheet on the differences between the chips. I guess that would have made it too easy.

ardhuru
- 21st November 2005, 17:11
Hi,

I had a similiar problem with 'A' parts, as against the earlier non-'A's.

I changed the original pull-ups on the clock and data lines from 10K to 1K.

Solved the problem, and worked fine with earlier (non-A) Pics as well.

You migh want to try that; to begin with, dont bother pulling out the 10Ks, just solder 1K resistors in parallel to the 10K on the underside of the PCB. If it works, you could replace the 10Ks.

Hope this helps.

Regards,

Anand Dhuru