Here’s a design circuit for simple circuit controls a popular 2-line x 16-character LCD by a PC via printer port. It doesn't use the Bi-directional feature found on newer printer ports, thus it should work with most, if not all Parallel Ports. These LCD Modules are very common these days, and are quite simple to work with, as all the logic required to run them is on board. This is the figure of the circuit;
The LCD panel's Enable and Register Select is connected to the Control Port. The Control Port is an open collector/open drain output. While most Parallel Ports have internal pull-up resistors, there are a few which don't. Therefore by incorporating the two 10K external pull up resistors, the circuit is more portable for a wider range of computers, some of which may have no internal pull up resistors. The 10k Potentiometer controls the contrast of the LCD panel. The software source code has been written in Borland C++.