6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Fri Nov 22, 2024 7:06 am

All times are UTC




Post new topic Reply to topic  [ 11 posts ] 
Author Message
 Post subject: HD44780 type diplay
PostPosted: Mon Jan 17, 2011 6:08 pm 
Offline
User avatar

Joined: Fri Dec 12, 2008 10:40 pm
Posts: 1007
Location: Canada
Does anyone have any experience with HD44780 type displays?

I am trying to use one that is based on a S6B0108 controller and it seems to be 100% HD44780 compatible right down to the timing. Initialization appears to be working, I can move the cursor, set it to flash or not, blank the display, clear it, etc… However, when I send it a character to display, all that happens is the cursor moves. No character is displayed.

What could I be doing wrong?

Are there known timing issues with 650xs and these devices? This does not seem likely because I can get the thing to anything I want, except display a character. I’m using a 6507 at 1.8432 Mhz and the data is holding for 100ns after the enable strobe, which seems to be well within spec.

Any thoughts appreciated.

_________________
Bill


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon Jan 17, 2011 7:40 pm 
Offline
User avatar

Joined: Tue Nov 16, 2010 8:00 am
Posts: 2353
Location: Gouda, The Netherlands
Have you tried reading back the characters ?


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon Jan 17, 2011 7:40 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8543
Location: Southern California
I've used those LCDs tons. It sounds like you're going too fast for it. 1MHz is a good limit to stick to. In the first design where I used one of these displays, the 65c02 switched between 1MHz and 180kHz (to save power when it didn't have much to do), so I put the LCD right on the bus. After that I always interfaced to the display through a VIA.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon Jan 17, 2011 9:27 pm 
Offline
User avatar

Joined: Fri Dec 12, 2008 10:40 pm
Posts: 1007
Location: Canada
Arlet wrote:
Have you tried reading back the characters ?


I'm going to try that when I get a chance.

_________________
Bill


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon Jan 17, 2011 9:30 pm 
Offline
User avatar

Joined: Fri Dec 12, 2008 10:40 pm
Posts: 1007
Location: Canada
GARTHWILSON wrote:
I've used those LCDs tons. It sounds like you're going too fast for it. 1MHz is a good limit to stick to. In the first design where I used one of these displays, the 65c02 switched between 1MHz and 180kHz (to save power when it didn't have much to do), so I put the LCD right on the bus. After that I always interfaced to the display through a VIA.


I'm writing to it pretty slowly (time between writes) to begin with and given that it responds correctly to every command, I'd say it's capable of receiving the data sent to it.

I'll try to read a character back when I get a chance. It may just be a dud.

_________________
Bill


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon Jan 17, 2011 10:37 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8543
Location: Southern California
BillO wrote:
GARTHWILSON wrote:
I've used those LCDs tons. It sounds like you're going too fast for it. 1MHz is a good limit to stick to. In the first design where I used one of these displays, the 65c02 switched between 1MHz and 180kHz (to save power when it didn't have much to do), so I put the LCD right on the bus. After that I always interfaced to the display through a VIA.

I'm writing to it pretty slowly (time between writes) to begin with and given that it responds correctly to every command, I'd say it's capable of receiving the data sent to it.

I'm not talking about the amount of time you give it between writes, but of course you do have to pay attention to that too. The ones I've used needed a write time of something like 450ns which is almost the entire phase-2-high time at 1MHz, and too long any way you work your glue logic at 1.8432MHz.


Top
 Profile  
Reply with quote  
 Post subject: Re: HD44780 type diplay
PostPosted: Sat Jan 22, 2011 6:38 pm 
Offline

Joined: Wed May 20, 2009 1:06 pm
Posts: 491
BillO wrote:
Does anyone have any experience with HD44780 type displays?


It is a standard display sold at Adafruit and tutorials / datasheet are available here:

http://www.adafruit.com/index.php?main_ ... cts_id=181

You might be able to get some help and translate it to the project / microprocessor you are working with.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Tue Jan 25, 2011 8:58 pm 
Offline
User avatar

Joined: Fri Dec 12, 2008 10:40 pm
Posts: 1007
Location: Canada
Control data is getting in but not display data. For some reason there is a double enable occurring when I go through the Tiny Basic call.

The data is not asserted when the first one occurs and the display may be busy when the second one comes. However, this does not explain why it will respond to control commands.

I have to put this project down or a while but will try a ML routine to test it next time to avoid this weird double enable.


Thanks the for input folks.

_________________
Bill


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Tue Jan 25, 2011 10:20 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10985
Location: England
Could the problem be the 6502's extra accesses?

Or even the Basic combined with the address decoding. (For example, I think I saw that BBC Basic implements a byte-sized peek using a word-sized peek, which means it does four reads to adjacent addresses)

Do you have the source for your Tiny Basic? We could see what it does for PEEK and POKE.

Cheers
Ed


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Jan 26, 2011 4:40 am 
Offline
User avatar

Joined: Fri Dec 12, 2008 10:40 pm
Posts: 1007
Location: Canada
Similar writes to the I/O via ML routines do not cause the same double enable.

The Tiny Basic is a disassembly of Tom Pitman’s version written for 6502. It was originally written or the KIM-1 and I extracted it from a hex file he had on his site. Tom put a very early version of what I did up on his site. You can see that version there, but it will not be revealing in this case. There is no real PEEK or POKE. There a small bits of code that are called via the USR() call that perform these functions. I have a newer version I’ve not yet passed over to Tom that is a bit better formatted and documented, but even then, following the code is difficult.

If anyone is interested I guess I could send it to them via e-mail, but this site does not allow attachments (??!?).

_________________
Bill


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sat Mar 05, 2011 4:10 pm 
Offline

Joined: Wed May 20, 2009 1:06 pm
Posts: 491
I found another tutorial on this LCD. How is the project going, by the way?

How to Use LCD Module
HD44780 Character LCD Controller
http://elm-chan.org/docs/lcd/hd44780_e.html


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 11 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 17 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: