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>
The solution is obviously to press a button and with the button pressed verify the state of all signals to see where you goofed with your own hardware. The word debugging was introduced because there was a need for a word to describe the process of figuring out why things doesn't work as expected.
Sometimes people think their posts needs to be written in bold or italic or formatted as code - what is the solution to that?
Something is wrong with your design, and as you're the only person who has the board or design files, it sounds like you're going to have to pull out a scope or multimeter and figure out what's wrong with it.
Probably a compiler bug or library bug. Contact IAR support.
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. I GUESS it is not working when you use P0.
the other ports have "weak" pullup. you - regardless of which port - need pullups on P0 mandatory, on other ports "sluggishness prevention"
Probably a compiler bug or library bug. Contact IAR support. first why a compiler bug (very unlikely), second why contact IAR support when using Keil
View all questions in Keil forum