Re: I/O signal conditioning question



In article <131ad89q9apo747@xxxxxxxxxxxxxxxxxx>, spam-not@xxxxxxxxxxx
says...
John S. Gaglione wrote:
Greetings Group:
I am working on the interface between an LCD display and
a PIC 16F877A.

The display multiplexes its "BUSY" signal on the same pin as
the 8th data bit.

My problem is that the PIC input pin cannot see the 2.4v BUSY signal.

I have tried buffering the signal through 2 gates on a 74LS04.
The PIC now can see this fine, but when the LCD switches the pin
over to read data it floats and the '04 gates turn on.
This causes the LCD to read the 8th bit "On" all the time,
interfering with the character data. I tried several
resistors to force the gate input down, but the PIC's data
doesn't get through reliably.

I found that this will work if I connect the signal directly
between the PIC and the LCD, and also connect it to the base
of a PNP transistor with a PCB mount speaker (piezo?),
connected between the Collector and +5, and Emitter to GND.

I don't want to keep the speaker in the circuit, because it seems
to draw a lot of current, and I don't understand why it works.

Any other suggestions for increasing the voltage of my BUSY
signal, without drowning out the signal from the PIC direction?

That's weird. I've always read the busy flag and every LCD I've ever used
(at least 5 completely different models), they've all worked ok. Are you
sure the output is only 2.4V? What Vcc are you using for the LCD? Are you
setting the whole PORT to input mode, or only the busy pin? You are
toggling the R/W line correctly, right? 2.4V sounds suspicously like an
oscillating pin, have you looked with a scope?



Thanks for the reply.

The 2.4v measurement is from the scope. I'm actually only setting
the one pin to input mode to read the busy signal. I just now tried
setting all 8 to input and it's the same. How do I tell if it's
oscillating? It looks like a (sort-of) square wave...

--
--
Near N39 40.750 W84 10.408
.


Quantcast