Both keypad and and LCD are fully functional - all 12 keys are readable and the LCD can be written and read.
It doesn't use any special tricks and even uses the existing MikroC LCD library routines - so you can even port it to another compiler!
All you do is call two routines: one before using the LCD and one before using the keypad. These set up each peripheral so that they co-exist on the same port.
You can even use the LVP mode when the routines are used on the RB port but in this case you loose a column of keys - but you still have 8 which is a lot. (Note unstested in LVP mode).
The project is completely free.
To get the project unlock code please visit the E-Zine subscription page.
Locked Project Page: To jump to the project page click here
Switch debounce: Three different ways to debounce input push switches with one amazing method that you can't miss.
How to Easily Use the DS18B20 Maxim One-Wire thermometer with Arduino example code showing external or parasitic power modes.
How to use the BMP280 for weather pressure measurement or altitude change detection.
How to use the TCS230 (/TCS3200) Color detector chip and easily add it to any of your projects.
How to use MC78M05BDTRKG for maximum current without using too large a heatsink pad and how to select the optimum input voltage.
How to use fixed point maths to save microcontroller memory by avoiding use of the floating point library.