No announcement yet.

MCLR/Power On Reset

  • Filter
  • Time
  • Show
Clear All
new posts

  • MCLR/Power On Reset

    Not sure if I should have posted in 'programmer' section, so apologies if that's the case.
    Anyway, any time I've made a circuit board for a PIC, I've tied the MCLR to + supply through a resistor as suggested. But all my boards use the ICSP. So I've found I've had to disconnect the pull-up resistor when programming.

    Is there anyway around using a pull-up. I am thinking that when programming, one designates 'POR' that would take care of it, no? Or does that pin still need the pull-up under any circumstance?

    I just dislike having to design a jumper on the board to remove the resistor during programming and when debugging code, this can become tiresome.

    I'm using a 16F886 in this design and the MCLR pin is dedicated to ICSP (otherwise, unused).

    Thanks, Keith

  • #2
    There is no reason to disconnect the pull-up resistor from MCLR/VPP during programming, unless the value of the resistor is too low.

    Suitable pull-up resistors are between 4.7K and 10K.

    The 16F88x family also allows you to disable the MCLR function.
    When disabled, the external pull-up resistor is not required.
    PBP3 Manual : Microchip Datasheets - 10F, 12F, 16F, 18F
    Never download a PIC datasheet from anywhere but


    • #3
      Speaking of this programming and the in-circuit pins, I have always had problems with components on the clock and data lines while programming. Could this be a conflict of any level voltages on these same lines via these components on these pins. Again, in this case, I wind up having a way to jumper the circuit in and out when programming and then debugging. Or is this something else I'm over-looking.
      Thanks, Keith


      • #4
        The ICSP Dat and Clk pins are Schmitt Trigger inputs.
        Which means that @ 5V VDD, the voltage has to rise above 4V to register a 1, and go below 1V to register a 0.

        The programmers have series resistors in-line with the signals for over-current protection.
        The U2 uses 200 ohms.

        So any resistive load on the Dat or Clk pins may drop the voltage to a point where it won't reach 4V, or won't go down below 1V.

        Any capacitive load (along with the series resistor) will round off the signals or delay them enough to disrupt the programming timing.

        In general, if you have pushbuttons in your circuit, they should be on the ICSP pins.
        Just don't press the buttons during programming.

        If you have other circuits on the ICSP pins, they must be isolated with AT LEAST a 1K resistor to maintain greater than 4V ICSP signals.
        PBP3 Manual : Microchip Datasheets - 10F, 12F, 16F, 18F
        Never download a PIC datasheet from anywhere but


        • #5
          Sounds good Darrel.
          So in this particular application the icspclk pin is shared with the gate of a MOSFET, so I assume that pin is safe. However the icspdat pin is shared with the Vout of the attached schematic. There's a ~.1uf cap, a 50K trimmer(for the prototype at least; will become a fixed resistance) an NPN transistors emitter (although this data sheet I cut this schematic from shows 3 connections, the component is really just 2 leads, will have to figure that out). It does not spec the 'on' resistance but I figure while programming, I can cover the sensor (I'm assuming that gives the highest resistance since the light current is proportional to the illumination of the device). Maybe I should throw a resistor on this line to the PIC, yes?
          Attached Files


          • #6
            Yes, you will definitely need a resistor to isolate that circuit.
            With that capacitor in there, I might recommend going a little higher ... maybe 2.2K.

            With the high impedance input on the PIC, 2.2K will not affect the operation of the input.
            PBP3 Manual : Microchip Datasheets - 10F, 12F, 16F, 18F
            Never download a PIC datasheet from anywhere but