There is a tutorial and code on the Arduino site on how to use a 74HC595 shift register to control a LCD Display here http://playground.arduino.cc/Main/LiquidCrystal. The Garden Station project uses a modified version of this library which adds the facility to add a second shift register for a second set of outputs, which I used to control the LED statuses. I’ve also used the QC pin to control the backlight via a MOSFET. As part of this I added a few extra methods (void setSecondPins(uint8_t secondPins),backlightOn() and backlightOff() ). The code is checked into github:-
The garden station code has also been updated to use this code.