The last project for first year students in my uni was to design and develop a REV counter which could cope with frequencies ranging from 15Hz to 150hz (900 RPM - 9000 RPM) using 8051 micro-controller. This is the project where we had to implement 7 segment display to show the data, and because of my previous experience we not only implemented the 7 segment display but LCD character display as well.
This was an interesting project, it really helped me and my friend understand how to preciselly calculate the time with micro-controller. Technician were kind enough to provide us with LCD display, because we finished in less than a week the asked task . We even could almost measure as low as 0.15 Hz and as high as 10kHz. Anyway, after some studying we wrote our own header file for controlling the LCD character display with custom characters for 8051, You can download it down below. It's not perfect, but it was more than enough for our project, if you find it useful you can use it as you wish, however if you are an egnineering student, I would encourage you to develop this header file on your own, it's not that difficult.
But to those who just want to use my header, you can set the pins and ports for EN, RW, RS in the header file. To use the library, of course, just include it in your main application, and run the following commands:
LCD Initialziation and write out data:
initdisp(); lcdClear(); lcdWrite("This is"); goLine2(); lcdWrite("SPARTA!!");
Here is the BIG picture: