On Mon, 25 Oct 1999 22:08:22 -0400 John Considine writes: > I am having a problem when I try to check the busy flag coming from > the > LCD display (BUSY_FLAG? subroutine shown below). It is always busy The PIC must read the data from the LCD while E is high. The LCD returns the data pins to tri-state as soon as E goes low. Your program just pulses E, the data has gone way by the time it reads it. Rearrange to something like: bsf PORTA,E movfw PORTB bcf PORTB,E Not that you're doing it here, but another common mistake is to hold E high and read the data repeatedly. The LCD will not change the data output while E is high. To find out when it becomes not busy you need to pulse E for each read. ___________________________________________________________________ Get the Internet just the way you want it. Free software, free e-mail, and free Internet access for a month! Try Juno Web: http://dl.www.juno.com/dynoget/tagj.