Enhanced LiquidCrystal

you don't need to setCursor every time; just once above the loop. It should run about 3 times as fast then; x and y each take about as much time as a character.

You need to test >= 40 rather than ==.