Hi Rebus, glad it's working (after a fashion).
I've never had any trouble with reset - even with a rats-nest construction the device should reset properly on power up.
Some things to check:- One of the 0.1uF capacitors should be close to the PIC to provide supply decoupling. Also check that pin1 (mclr) is tied to VDD. Check the circuitry around the crystal for stray capacitance etc, anything that may prevent the oscillator from starting consistently.
One thing you could try is connecting VDD to mclr via a 10k resistor then resetting by briefly pulling it to VSS - this should tell you whether it's resetting properly or whether there's an issue around the crystal (and 33pf caps).

There is a power on reset delay - this is the power up timer in the configuration bits, you could try enabling this although it shouldn't be necessary.

With regards the keypad - the circuitry around this is very simple. However I can't see the 4 x 10k pull up resistors on your circuit board, these are very important for correct operation. Finally check that pin 2 is at logic 0 - if not this can cause some strange effects (the circuitry around Q1 is responsible for this).

If you need any more help let me know.

Steve.



Quote Originally Posted by Rebus View Post
Hello Kwackers (and others..)

Thank you very much for your's configuration bits.
I don't like really using breadboard, and designed/etched quickly a PCB (Eagle).
With a good configuration bits, a valid display appears, but the reset part is totally erratic, and only key number 3 is accepted..... I have to investigate on the keyboard matrix....

I don't know if there is some starting oscillator delay to program as like AVR chips... actually I need around 20 power-on, power-off to have a valid display.

Using Icprog is not the best way, but I have removed Mplab long time ago, because I appreciated very much the Dallas DS89c4xx.
I'm not a professionnal, asm programming is only a hobby, so my device choice is more about pleasure than efficiency....

Best Regards to all, and thanks to share your experience.