I do it all the time. I take it the serial LCD receives commands the same format as parallel comms, so: Point to the beginning address of the LCD and write "Time Left xx:xx" When I start coding, I write the actual "xx:xx" as well, this helps with spacing when I write the numbers, later I replace it with spaces. Now you set the DRAM address (Display RAM of the LCD, what is in the RAM is copied on the LCD display) where you want to place the actual numbers. When I do this, I don't rely on the auto increment of the cursor, I set the first DRAM address, write number, set next address, write next number, etc. Remember to skip the address for the ":", or resend the ASCII for ":" at that address. You also don't have to rewrite the whole "Time Left xx:xx" everytime (actually, you should not, as your display can flicker to much) you just point to the start of the numbers everytime The "Time Left" part will stay on the display as you do not write over it. I normally use a Macro for this: DISP_AT MACRO ARG1, ARG2 MOVLW ARG1 CALL SEND_CMD MOVF ARG2,W MOVWF TEMP MOVLW 0X030 ADDWF TEMP,W CALL SEND_CHAR ENDM ARG1 is the DRAM address (constant) and ARG2 (register) is the value. Hope this helps, I know a wrote this a bit on the fly. Quentin Hardware Engineering wrote: > > I'm looking at using an '871 to interface with a Scott Edwards serial LCD, and > wonder (after looking at some of the code), can you write to just a certain > part of the LCD line by simply pointing to the beginning address for the > location in display memory? > > ie, I want the display to show > > Time Left xx:xx > > and only update the xx:xx values > -- http://www.piclist.com hint: To leave the PICList mailto:piclist-unsubscribe-request@mitvma.mit.edu