Is it possible to use a 2x16 lcd and TLC5916

I have a project where I need an LCD screen and I have to utilize 8 LED's via a TLC5916 on an Arduino Uno. From what I understand from reading the various tutorials on both LCD's and the TLC5916, it appears they both use SPI (so all the examples I have seen want to use pins 10 and 11). Is it possible to use both the LCD and the TLC5916? If so, can someone point me in the right direction so that I can move on with this project. I searched the forum, but could not find any information that would help me out.

I do not have any other pins available since I have various button and potentiometer inputs (I am pushing the Uno I/O to the max). I do have enough outputs to run the LCD (6 pins) and the TLC5916 (3 pins) based on the various examples I have found. Also, I do not want to change my micro as I have an abundance of ATMega328's at my disposal.

Thanks for your help

Many LCD examples show pins 10 and 11 being used as two of the six required I/O lines but they do not emphasize (or even mention) that the six I/O choices are purely arbitrary.

Any available output pin, including the so called analog pins, can be used to drive any of the LCD pins. Typically you would assign pins with special functions to devices that require those functions and then use the remaining pins for your LCD.

It is the function of the numbers within the argument of the constructor (the string of numbers in parentheses) to tell the Liquid Crystal library which Arduino pin is connected to which LCD pin.

It would all be much clearer if the perpetrators of the library and the authors of the Tutorial had been more liberal with their use of comments:

//LiquidCrystal lcd(RS, E, D4, D5, D6, D7);
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);      // put your pin numbers here

Don

floresta: It would all be much clearer if the perpetrators of the library and the authors of the Tutorial had been more liberal with their use of comments:

//LiquidCrystal lcd(RS, E, D4, D5, D6, D7);
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);      // put your pin numbers here

Don

Or just written a clearer constructor definition in the examples:

// declare & define which arduino pin is connect to each LCD signal here
const int rs=7, en=8, d4=9, d5=10, d6=11, d7=12;

// define LiquidCrystal lcd object
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);