I use ATMEL 89c51 microcontroller with keypad 4x4. My problems is that my 1st row contain 1 2 3 A it display 1 2 3 A for every row i checked the code on proteus8 its working fine and also on 8051 kit its working fine. but on my PCB its showing 1 2 3 A for every row in column wise under 1 all are 1 and under 2 all are 2 and so on. I checked the PCB by interfacing the PCB with 8051 kit's keypad and it worked and then i connected my keypad to the alternate port of 8051 kit it is working well. but when i connect my keypad directly to the PCB it shows the problem again.What is the solution for it? <\b>
i checked the PCB with the multimeter.There is no short circuit with each other or with ground or vcc. The whole PCB is working fine after i use it with the kit.
You didn't check enough - you need to check the signal levels when the processor is reading the keypad and not the PCB trace resistances. Looking at the signal levels will tell you if your traces needs pull up/pull down on traces.
Debugging is the way you compare the values the processor sees with the values the multimeter sees and your own expectations and then figures out why you get a difference. Then you decide what changes you need to get the reality to get closer to your expectations before you test again.