Reading Serial and Printing to LCD

In addition to widbill's comments, think about what you are writing to the LCD. Some stuff changes often. Some stuff changes slowly. Some stuff never changes.

If you write the stuff that never changes once, in setup(), and write the stuff that rarely changes only when it changes, you can write the stuff that changes often more often without negative effects.

For example, you had this code:

  lcd.setCursor(10, 0); 
  lcd.print(analogValue*0.01566);
  lcd.setCursor(16,0);
  lcd.print("Front Turns = ");
  lcd.setCursor(30,0);
  lcd.print(FTurncount);
  lcd.setCursor(16,1);
  lcd.print("Rear Turns  = ");
  lcd.setCursor(30,1);
  lcd.print(RTurncount);

These parts:

  lcd.setCursor(16,0);
  lcd.print("Front Turns = ");
  lcd.print("Rear Turns  = ");
  lcd.setCursor(30,1);

never change. Move that code to setup().

That leaves:

  lcd.setCursor(10, 0); 
  lcd.print(analogValue*0.01566);
  lcd.setCursor(30,0);
  lcd.print(FTurncount);
  lcd.setCursor(30,1);
  lcd.print(RTurncount);

The FTurncount and RTurncount values likely do not change all that often. If you keep track of the previous values written, and only write new values when the current value is different, you will have only the one line left to print on every pass through loop.

If that is too often, and it may or may not be, then you can use millis() to determine if sufficient time has passed since the last write to warrant writing again. By reducing the amount of data written at one time, you can decrease the time between writes without affecting the overall speed of the system.