Text LCD’s are handy for any occasion, a printer port on your PC is also darn handy as well. Mix together and add in a splash of linux and you get a very handy Linux device driver for a 16×2 LCD connected to the parallel port.
Electrically the LCD is wired up in a typical 4 bit mode, this allows the parallel port to use its 8 bit data register to write data, but also control the Register Select and Enable pins. Next is to make a module for linux to use, it seems like pretty standard fair for this type of screen.
Make the driver, insert the module so it can be loaded, and add a node so you know where to find it later, and your only an βecho Hello > /dev/my_lcd” away from finding all sorts of creative uses for your new external display.
A little research could have saved a lot of work. LCDProc has been around for ages.
Agreed, but I guess the code for creating a kernel driver is pretty nice to reference.
And there also exists the drivers/staging/panel/
which should work exactly the same way π
(although it probably needs some love)
Wait… What…. I though I was going through the 2004 archives π
“a printer port on your PC is also darn handy as well.” ????
Haven’t had a printer port on my rig for years.
…
That doesn’t make it any less handy. PCs are short on external GPIO pins.
GPIO can be done with a USBmicro U421 for I/O lines or the U451 which has a couple of relays.
I’ve always wanted to do this, but in DOS. And then use the LCD as the primary display. I could never figure it out, though.
short of writing a DOS-TSR i dont think its possible with a parallel, buuut what IS possible is to use MODE & CTTY commands to use the serial port (PLUS microcontroller) as you describe π
in my opingion, even if you COULD use the LPT port for OUTput with CTTY & MODE, the original(DOS) parallel port driver(block-device) only OUTputs on the data lines(wires) and input on this port is through the status wires… only 5 of em. no real standard way to INput from the parallel,,, until win95 and updated drivers were able to use BI-directional ports IN BI-DIRECTIONAL MODE!
as far as i know there is no way to OUTput the screen on one port and still use normal keyboard or keyboard over serial, in and out has to be same port.
so either way your stuck writing system TSRs/drivers
OR USE SERIAL PORT (and uC chip) AND ITS ALL DONE π
PS: once you have it working, you will NEVER KNOW! why? because DOS only “types” to the screen after you hit a button on the keyboard… the imaginary keyboard that is connected to the serial port alongside your display… impossible to test display UNTIL you also go to test your virtual serial-port-keyboard…
aka prompt wont show on ur screen UNTIL you hit enter and DOS “types” a second one imm. underneath.
of course all of that is solved by splicing two serial cables and two (DOS) computers (or one with windows and two copys of software running AND two seperate ports to splice to… happy programming π
Why would you even need input from the LPT port for this?
if you do NOT want to write YOUR OWN TSR / DRIVER FROM SCRATCH…
then the easyest option (included with DOS) is to use CTTY and MODE commands to have your DOS prompt on your external LCD…
the CTTY command redirects BOTH screen AND keyboard!!!!!!!!!!!!
so if your output LCD is connected to LPT and you use CTTY and MODE to transfer console control from console to parallel port,,, you will never know your LCD works! because DOS never prints to the screen UNTIL SOMETHING HAPPENS, like hitting enter and getting yet-another-fresh-prompt.
in fact, you will think you crashed your computer.
YOU MUST HIT ENTER AND GET THE DOS PROMPT RE-PRINTED TO THE SCREEN!
in order to hit enter,,, YOU NEED A KEYBOARD! or some other input device to hit enter for you!
like a self-made keyboard out of buttons, or maybe a cable splice for testing, taking the signal for RS232 “ENTER” from a second computer or port
I think I should do something similar with my Siemens lcd display.
Currently it only play’s some animated png files http://www.youtube.com/watch?v=smmy8NNW_1s
‘and your only an βecho Hello > /dev/my_lcdβ’
-_-
I wish the hackaday swap/store forum was still working, i have about 20 working LCD screens from bad creditcard terminals i’d like to make a few bucks off of.
Put them on ebay or something. New they sell for 15-20$
if your short on external parallel ports,
make one!
how?
THIS IS HOW TO BUILD A PARALLEL PORT:
well IF you have an UNUSED PATA/IDE port;
then throw in a port regester (CMOS or TTL) and a TRI-state buffer (TTL or CMOS) and you got a bi-directional 8-bit external port! now double it and attatch db25 dsub connector.
(parallel has 8 data, 4 out-only, and 5 in-only)
for a total of 17 bits.
hmm might have to multiplex one of the status bits as “IDE”/ISA is 16 bits …
only problem is if software goes haywire and tries to tell THE PRINTER if it’s out of paper,,, lol
connector not included.
oh, wait, you need a very simple passive RC timer and diode to pause the “IDE”/ISA bus while your register accepts the data (i think called wait state?), only nessesary when the bus speed is greater then the logic chip can take… use a fast register chip. and adjust RC for minimum time for IC to reliably register data.
remember a parallel’s maximum theoretical speed is usually limited in the first PCI based pentium 1’s and higher. ~500khz if i remember, modern ports can do more, i THNINK. and is why an ancient CNC machine designed for a 286/386 will never, ever, evereverever work on a modern PC,,, ISA bus speed was a reliable refrence back then until about pentium 1 i THINK.
now do a little linux/windows trickery with generic parallel drivers insalled MANUALLY at “unlikely” addresses (IDE address)
and voila! you now have your valued port back.
(bracket not included. lol)
PS: mainboards with it ARE available.
PPS: insert troll about buying only mainboards with it
PPPS: troll about just buying a PCI parallel port card.
hahahahaha i got trolled EDIT: OWNED
im so embarrassed!
i didnt even know(EDIT: realise) those existed!
WHY HASNT ANYONE MENTIONED THE EXISTENCE OF THOSE?!?!?!?!?!
i mean we all argue about ports all f**** day long!
every bloody month!
ROFL my solution actually worked but slows ISA subsystem down to the speed of the chip/chip’s RC… but ISA is _supposed_ to only be a very specific FIXED speed. 14-point-sumthin MHz i THINK.
lol
best troll ever, made my day π
Parallel port LCD have been around for a long time. LCD smartie does graphics, bar graphs, text,etc – http://lcdsmartie.sourceforge.net/
…but this is on linux, and it’s a kernel module.
So not really comparable to LCD smartie at all
One thing the author didn’t draw on his pin out diagram but should point out for the newbies is that you will want to tie together the ground pins on the com port to your power ground.
Hi MattQ:
I forgot to draw it…. Yes, exactly, it is a pitfall for newbies and even for a programmer who doesn’t have some electronics background…
I will update the circuit diagram soon,,,
Thanks for the information….
LCDSmartie fro Windows is really kickass. It supports 1×10, 1×16, 1×20, 1×24, 1×40,
2×16, 2×16, 2×20, 2×24, 2×40,
4×16, 4×20, 4×40 LCD’s, serial(COM port) parallel And USB