LCD data read and show on computer
It sounds like you've got







simulate this circuit &ndash; Schematic created using CircuitLab

and you want to tap off the data somewhere. You have two choices:


Tap off the digital signal before the PIC and write your own code to process the data and display it.
Monitor the parallel data into the LCD. To do this you would need to monitor all the data lines with a micro - Arduino, for example. In micro memory create 2 * 16 memory registers and figure out what each command written to the LCD means and update your registers with the displayed values. You then transmit all 32 registers or the few you're interested in to your PC over serial.




Arduino.cc image of LCD setup. In your case you would be monitoring the LCD rather than writing to it.

I hope you have plenty of time available. Your going to need it.

Pseudo code

The main problem here will be keeping up with the LCD writing while trying to serial print the received data. I suggest that you try and capture one complete LCD update, serial print it, then wait for the start of the next update. (Watch for control code to move back to position 0 or whatever.)

void setup() {
  int chars[80]; // Line 1 uses DDRAM address 0x00 to 0x0F.
                 // Line 2 uses DDRAM address 0x40 to 0x4F.
}

void loop() {
  if(picWriting) {
    char = readLCDdata();            // Read the LCD byte.
    if(isControlCode) {              // Is it a control code or a character?
      updateLcdDdramPointer(char);   // Point to the array location for this character.
    } else {
      storeCharacter(char, pointer); // Put this character into the array.
    }
  }
  if(pointer == lastChar) {          // The last character has been read.
    // Serial.print out all the characters of interest.
  }
  // If printing takes too long the PIC may have started updating the display already.
  // Wait for start of next LCD refresh.
}