1 wire LCD driving

lanternfish

Senior Member
Hi all,

Whilst browsing the 'net, found this http://www.romanblack.com/shift1.htm. Should be PICAXEable.
He also has plenty of other interesting ideas/circuits that are well worth browsing his website for.

MPep.
Thanks for posting that MPep. I haven't seen that clock/latch delay circuit for a long time and an acquaintance was asking me about something similar the other day - I couldn't for the life of me remember how it was done.

Simple, elegant and highly functional.
 

moxhamj

New Member
Goodness me, that is highly cunning. I like it! Very useful for an 08/08M where it frees up pins for inputs.
 

westaust55

Moderator
Agree with Dr Acula that it is certainly a cunning/novel approach.
But as the Roman Black article mentions, it is slow.

By comparison with test I have done recently on msec/char data transfer:
0.006ms for a 6-wire direct –PICAXE to LCD module
0.140ms for a 3-wire 1 x 74HC595 shift register in 4-bit data transfer mode
0.060ms for a 3-wire 2 x 74HC595 shift register in 8-bit data transfer mode
0.055ms for a 2 wire 2 x 74HC4015 shift register in 8-bit data mode WITH back light control
4.00ms for the Roman Black 1-wire 1 x 74HC595 method with/without back light control

Note that the 2 x 74HC4015 method incurs some delay as it checks for the state of a backlight flag with every character sent.

There are certainly times when a 1 wire serial interface is needed, particularly with smaller PICAXE having limited IO. But reduced data transfer speed also means reduced speed for the remainder of the program as well.

I am currently working towards construction of the 2 x 74HC4015 shift register method – awaiting the IC’s to test. A proto bard and code is ready for the testing.
 

inglewoodpete

Senior Member
Isn't a serial LCD like the AXE033 a 1-wire device? At 4800baud, thats about 2mS/character and saves heaps of precious programme space.
 

MPep

Senior Member
I only posted it as an alternative idea. Yes I did read that it wasn't the fastest, but what is the point in following the already trodden path when the alternative path may be more fun? And educational!
 

westaust55

Moderator
Not saying that ROMAN BLACKs 1-wire LCD should not be built.
Just comparing the speed of various methods that I have looked at.

Yes, the AXE033 is a 1-wire device. Rev Ed literature does indicate that it is only 2400 baud (2400,N,8,1) ==> 4ms/char.

Certainly go ahead and have a go builting the Roman Black interface.
I for one cannot at this time offer a quick and cheap alternative.
The 2-wire method I am looking at is already derived from what others have done before me.
 
Last edited:

hippy

Technical Support
Staff member
If one can set the Data line RC timing so 10us = 1, 170us = 0, then this should be quite fast ...

SendB0:
b0 = b0 ^ $FF
b1 = 1
bit12 = bit0 : PulsOut TX_PIN, b1
bit12 = bit1 : PulsOut TX_PIN, b1
bit12 = bit2 : PulsOut TX_PIN, b1
bit12 = bit3 : PulsOut TX_PIN, b1
bit12 = bit4 : PulsOut TX_PIN, b1
bit12 = bit5 : PulsOut TX_PIN, b1
bit12 = bit6 : PulsOut TX_PIN, b1
bit12 = bit7 : PulsOut TX_PIN, b1
PulsOut TX_PIN, ? ' Load pulse
Return
 
Last edited:
Top