PIC burned out, gets hot after pressing reset?

Thread Starter

lowprofile

Joined Oct 31, 2011
33
Hello!

I just started a class in microcontrollers. I was following the lab book at home and had a PIC 16F877A on my breadboard. I had programmed it to blink an LED with in-circuit programming, and that was working. I left that running for hours and it worked fine. Then I realized I had never tried the RESET button.

The !MCLR line, pin 1, is tied to +5V with a 10k resistor, and a switch connects it to ground.

I pressed the Reset button a few times. The LED stopped blinking, the button got HOT while I pressed it, and the PIC also got hot!

Now the chip does not function. I have not tried to re-program it in case it could cause damage to the programmer (is this possible?).

It seems to me that when I pressed the Reset button, which connects !MCLR/pin 1 to ground, that a lot of current flowed through the switch, causing it to heat up. This current flow damaged the PIC. But why did it happen?

I have looked in the datasheet and I see that they say the following:
The behavior of the ESD protection on the MCLR pin
differs from previous devices of this family. Voltages
applied to the pin that exceed its specification can
result in both Resets and current consumption outside
of device specification during the Reset event. For this
reason, Microchip recommends that the MCLR pin no
longer be tied directly to VDD. The use of an RCR
network, as shown in Figure 14-5, is suggested.
My school's text doesn't use the capacitor, but MCLR is also not tied directly to VDD, but through a resistor. Also, the datasheet does not mention using a button to reset.

So in summary, I don't know what I did! Any advice?
 

kubeek

Joined Sep 20, 2005
5,732
AFAIK on PICs you can choose to use the reset pin as another I/O pin, so maybe it was outputting high and you shorted it to ground?
What kind of switch and power supply do you use? That must have been a hefty current to make the switch hot..
 

mik3

Joined Feb 4, 2008
4,843
It looks like the push button is on a pin configured as an output. The output was high (5V) and was shorted by the switch to 0V causing the PIC and the small switch to overheat.
 

Thread Starter

lowprofile

Joined Oct 31, 2011
33
I found my problem, as usual every problem is a lesson in troubleshooting. There was a short in my ICSP header that was causing !MCLR to contact +5V directly. Thanks people, sorry that the answer is something so disappointing. I wish I had found it before asking, so let this be a lesson to others! Check your assumptions!

Also, this tells me I have a need for current limiting on my supply. I am using an ATX power supply modded to have banana jacks, and there is no current limit. The 5V rail can supply several amps. I suppose I should put a fuse on the outputs, or maybe some kind of circuit breaker (resettable).

Thanks, and sorry for the tempest in a teapot!
 

spinnaker

Joined Oct 29, 2009
7,835
I found my problem, as usual every problem is a lesson in troubleshooting. There was a short in my ICSP header that was causing !MCLR to contact +5V directly. Thanks people, sorry that the answer is something so disappointing. I wish I had found it before asking, so let this be a lesson to others! Check your assumptions!

Also, this tells me I have a need for current limiting on my supply. I am using an ATX power supply modded to have banana jacks, and there is no current limit. The 5V rail can supply several amps. I suppose I should put a fuse on the outputs, or maybe some kind of circuit breaker (resettable).

Thanks, and sorry for the tempest in a teapot!
If you don't burn you don't learn. :)
 
Top