Author Topic: help 89c51  (Read 2055 times)

datta

help 89c51
« on: January 11, 2008, 12:58:41 PM »


   :icon_question:hello can anybody help me i am designing a microcontroller 89c51 based circuit the problem i faced is when i turned the supply on momenterely the o/p of ports go high and then reset even i connected a reset capacitor . This is very problematic for me when i used interfacing ckt like 555 or flip flop ckt these get automatically triggered.

pjwhite

Re: help 89c51
« Reply #1 on: January 11, 2008, 03:08:51 PM »
When the 89C51 powers up, all I/O pins are programmed as inputs.  Some of the  ports have internal pullup resistors, and you are probably seeing the effect of these pullups on the inputs, before your program has a chance to set the pins to output mode.
One cure for this is to design your circuitry to repond to low level active signals from the microcontroller, instead of a high level.

Another way to handle the problem is to provide a delayed reset signal to your peripherals (555s, flip flops, etc) that holds them in an inactive state until the 89C51 has had a chance to finish its reset sequence and get stabilized.  For example, you could use one of the I/O pins on the 89C51 to provide a high level RESET signal.  After everything else is initialized, you would set this pin low, which would then enable your flip flops, etc.  A 4013 flip flop has high active set and reset inputs, so this would work OK.  The 555 has an active low reset input, so you would need to invert the RESET signal, which you could do with an NPN transistor and a couple of resistors.