Ummm... Have pull-down resistors on data lines, Register select, and enable line? I got bitten by this a few times. If the MCU sleeps or resets, the pins float, and may shift in spurious data. - Robert >-----Original Message----- >From: pic microcontroller discussion list [mailto:PICLIST@MITVMA.MIT.EDU] >On Behalf Of Lucian >Hello again with another question on a different topic... > >I have an LCD 2x16 module driven by a PIC16F648A in 4 bit mode. It >initialises ok, displays normally, but sometimes it displays the >characters at unwanted screen locations or displays unwanted characters. >I had a clock with blinking ":" displayed, but sometimes the time was >displayed at the first row instead of the second. >I have a menu displayed but sometimes it displays unwanted characters >instead of the correct ones, I observed that often with one character >ahead, e.g. "MEMU" instead of "MENU". >I searched all the web, but only found a post for PIC Basic (I am using >Hi-Tech PIC C) that was saying that it might be the interrupt service >routine which doesn't save all the context before jumping to the >interrupt so that sometimes the LCD routines are interrupted and don't >execute correctly. I cannot disable the interrupts in the LCD routines >as I have some timers and serial communication. >I am sure that you know more than me on this issue. Could you please >help ? > >Lucian > -- http://www.piclist.com hint: The list server can filter out subtopics (like ads or off topics) for you. See http://www.piclist.com/#topics