This was a project that started as me trying to interface with a 16x2 character display and then became me interfacing both the character display and a PS/2 style keyboard using interrupts. The first two pictures are after I just started getting the display working. I had it display a message on the top line and a countdown on the second line. After the countdown reached zero, the microcontroller was told to reset and the whole process started again. The most difficult part of this project was figuring out that a 16x2 display needs to be initialized to work!
Countdown Picture 1
Countdown Picture 2
After I had the display working, I wanted to interact with it in a meaningful way. I also wanted to try somthing new, so I started researching communicating with keyboards. This looked like fun so I switched to a PIC18F2520 so I had more pins to work with and started coding. I used interrupts driven by the keyboard clock signal to input the data.
Since I've taken these pictures and video I've updated the code to now handle the some of the "special" keys on the keyboard, so now the shift key works properly. (Displays capital letters, and symbols above number keys)