Truncated match.
PICList
Thread
'Re[2]: HD44780 LCD and 4-bit mode using 16F84'
1997\12\09@171729
by
ERIC SCHLAEPFER
|
Hi Dave, ( And everyone else who replied to my cry for help. )
Looks good. I'll have to try the file out. Also, if the I/O is write only,
that means a shift register could be put in to shift out 4-bit data using
only 2 I/O lines. Add 2 data lines to the E line and the C/D line, and you
have 4 I/O pins for the LCD. Not bad.
Thanks for all your help.
Later,
Eric
______________________________ Reply Separator _________________________________
Subject: Re: HD44780 LCD and 4-bit mode using 16F84
Author: DREITEK <spam_OUTDREITEKTakeThisOuT
AOL.COM> at INTERNET
Date: 12/9/97 4:06 PM
In a message dated 97-12-09 15:49:45 EST, you write:
<<
Thanks in advance,
Eric
>>
Eric,
One more thing.....The code I sent in the previous Email, assumes that the RW
line on the LCD display is tied low. That will save you one more I/O line.
For most things you don't need to read from the display anyway.
Dave Duley
1997\12\10@113138
by
Tom Handley
|
Eric, Dave and others have provided good advice but if your are going
to use the display in a write-only mode, study the timing of the commands.
For example, the Clear Display and Cursor Home commands require at least
1.64mS. The rest of the commands (excluding reading the Busy Flag which
does'nt apply in your case) requires at least 40uS.
- Tom
At 02:15 PM 11/8/97 -0800, you wrote:
{Quote hidden}>Hi Dave, ( And everyone else who replied to my cry for help. )
>
>Looks good. I'll have to try the file out. Also, if the I/O is write only,
>that means a shift register could be put in to shift out 4-bit data using
>only 2 I/O lines. Add 2 data lines to the E line and the C/D line, and you
>have 4 I/O pins for the LCD. Not bad.
>
>Thanks for all your help.
>
>Later,
>
>Eric
>
>
>
>
>______________________________ Reply Separator
_________________________________
{Quote hidden}>Subject: Re: HD44780 LCD and 4-bit mode using 16F84
>Author: DREITEK <
.....DREITEKKILLspam
@spam@AOL.COM> at INTERNET
>Date: 12/9/97 4:06 PM
>
>
>In a message dated 97-12-09 15:49:45 EST, you write:
>
><<
>
> Thanks in advance,
>
> Eric
> >>
>Eric,
>One more thing.....The code I sent in the previous Email, assumes that the RW
>line on the LCD display is tied low. That will save you one more I/O line.
>For most things you don't need to read from the display anyway.
>
>Dave Duley
>
>
1997\12\10@120256
by
Keith Howell
Hi.
I've been using a VFD with a micro interface like many LCDs.
We learnt several things:
1. Takes a few 100 ms to get ready to read
2. Most actions are a few us but it was quicker to write a screen full of spaces
than to
use the Clear Display command.
3. The display will flicker if you repeatedly write characters to the screen.
Dots that are off have no problem, but when they are on they do.
Even if the characters stay the same, the intensity dips.
Probably not noticed on LCDs though.
4. It was a real pig to ensure getting into the right mode (4-bit).
You can't guarantee which mode it starts up in, so you need a procedure
that gets to the mode you want from either mode.
5. I really wish the original designer had used 8-bit interface.
This speeds up data transfer, and opens doors for optimisation.
You could always have the high-nibble bits doing double duty.
Keep the bit order clean. Saves many code bytes!
1997\12\10@124838
by
DREITEK
In a message dated 97-12-09 18:12:19 EST, you write:
<<
Hi Dave, ( And everyone else who replied to my cry for help. )
Looks good. I'll have to try the file out. Also, if the I/O is write only,
that means a shift register could be put in to shift out 4-bit data using
only 2 I/O lines. Add 2 data lines to the E line and the C/D line, and you
have 4 I/O pins for the LCD. Not bad.
Thanks for all your help.
>>
Hello Eric,
There is one more thing... I think you have to have the port B weak pullups
turned off. That is a faint and feeble memory so I would try it both ways.
Good luck
Dave
1997\12\10@125224
by
DREITEK
In a message dated 97-12-10 11:36:03 EST, you write:
<<
Eric, Dave and others have provided good advice but if your are going
to use the display in a write-only mode, study the timing of the commands.
For example, the Clear Display and Cursor Home commands require at least
1.64mS. The rest of the commands (excluding reading the Busy Flag which
does'nt apply in your case) requires at least 40uS.
- Tom >>
Hello Tom!
I knew if I posted my quick and dirty code someone would pick it apart! The
code was intended to get a display working in a bare minimum form to use as a
debugging tool.
The code does work as I have several devices around the shop that use it. You
are correct in thinking that the timing might need to be altered for different
clock frequencies. Oh well....
Dave Duley
1997\12\10@191032
by
Peter Gee
|
Well, I am not normally into one up mans ship, but I think people may want to know that I have got an LCD working in 4 bit mode with three pins on the PIC. Now, I am using compiled basic, so it will be slower than the guys using asm, who will have to pay more attention to timing.
I am using a standard PICF84, with an 8 bit serial to parallel shift register.
The PIC is connected to shift_data, shift_clock, and LCD_enable.
Data is sent to the writeLCD routine via an 11 bit variable in the form (8bit/4bit),RS,RW,D7-D0
The 8bit/4bit is required by my routine because the LCD would not initialise properly if I did not send the initial set up chars in 8bit (as mentioned somewhere in the dox)
Anyway my routine just shifts 4 bits of data, RS, RW then an enable pulse to the LCD (twice).
The other great thing is that I was all about to read bit7 to test the busy status of the LCD, but it worked fine without it, so I didn't bother !! ;-)
Another titbit is that if you don't want to change the character position of the display (ie move to second row, that sort of thing) and you aren't using the extended character set, then there is no need to use DB7
I still want to get I2C working with my LCD....... ;-)
At 02:15 PM 11/8/97 -0800, you wrote:
>Hi Dave, ( And everyone else who replied to my cry for help. )
>
>Looks good. I'll have to try the file out. Also, if the I/O is write only,
>that means a shift register could be put in to shift out 4-bit data using
>only 2 I/O lines. Add 2 data lines to the E line and the C/D line, and you
>have 4 I/O pins for the LCD. Not bad.
>
1997\12\10@191432
by
Peter Gee
|
Well, I am not normally into one up mans ship, but I think people may want to know that I have got an LCD working in 4 bit / write only mode with three pins on the PIC. Now, I am using compiled basic, so it will be slower than the guys using asm, who will have to pay more attention to timing.
I am using a standard PIC F84 with an 8 bit serial to parallel shift register.
The pic is connected to shift_data, shift_clock, and LCD_enable.
Data is sent to the writeLCD routine via an 11 bit variable in the form (8bit/4bit),RS,RW,D7-D0
The 8bit/4bit is required by my routine because the LCD would not initialise properly if I did not send the initial set up chars in 8bit (as mentioned somewhere in the dox)
Anyway my routine just shifts 4 bits of data, RS, RW then an enable pulse to the LCD (twice).
The other great thing is that I was all about to read bit7 to test the busy status of the LCD, but it worked fine without it, so I didn't bother !! ;-) This meant that I didn't really need to connect the RW wire, (RW is required to read busy status) but by that stage it was there and working..... (if it don't broke don't fix it) ;-)
Another titbit is that if you don't want to change the character position of the display (ie move to second row, that sort of thing) and you aren't using the extended character set, then there is no need to use DB7
I still want to get I2C working with my LCD....... ;-)
At 02:15 PM 11/8/97 -0800, you wrote:
>Hi Dave, ( And everyone else who replied to my cry for help. )
>
>Looks good. I'll have to try the file out. Also, if the I/O is write only,
>that means a shift register could be put in to shift out 4-bit data using
>only 2 I/O lines. Add 2 data lines to the E line and the C/D line, and you
>have 4 I/O pins for the LCD. Not bad.
>
1997\12\11@105252
by
Tom Handley
|
Dave, I was'nt referring to your code. Just pointing out to Eric that
he needs to watch the timing ;-)
- Tom
At 12:43 PM 12/10/97 EST, you wrote:
{Quote hidden}>In a message dated 97-12-10 11:36:03 EST, you write:
>
><<
> Eric, Dave and others have provided good advice but if your are going
> to use the display in a write-only mode, study the timing of the commands.
> For example, the Clear Display and Cursor Home commands require at least
> 1.64mS. The rest of the commands (excluding reading the Busy Flag which
> does'nt apply in your case) requires at least 40uS.
>
> - Tom >>
> Hello Tom!
>I knew if I posted my quick and dirty code someone would pick it apart! The
>code was intended to get a display working in a bare minimum form to use as a
>debugging tool.
>The code does work as I have several devices around the shop that use it. You
>are correct in thinking that the timing might need to be altered for different
>clock frequencies. Oh well....
>
>Dave Duley
>
>
More... (looser matching)
- Last day of these posts
- In 1997
, 1998 only
- Today
- New search...