Interfacing an LCD
Here I describe how to interface a Character LCD based on HD47780 or compatible controllers.
Ext IF # LCD # D0 1 D0 7 D1 2 D1 8 D2 3 D2 9 D3 4 D3 10 D4 5 D4 11 D5 6 D5 12 D6 7 D6 13 D7 8 D7 14 A0 9 RS 4 A1 10 E 6 A2 11 RW 5 A3 12 – +5V 13 VDD 2 /CS 14 – /RD 15 – /WR 16 – /INT 17 – GND 18 VSS 1 Vo (contrast) 3 Vo … connect a 10k poti between VDD and GND and the wiper to Vo.
For a better bus interface I have to look on the function of the /CS line in more detail so that the LCD doesn’t get disturbed by misc. data.
To get some data onto the display I modified diag.c the kernel module that is used by OpenWRT to set the Router’s LEDs and to fetch some keys. diag.c can be found in: /location_where_you_unziped_openwrt/target/linux/packages/diag/src/. I added a own /proc entry called extif. And so I was able to display data that way:
echo “iHello OpenWRT
” > /proc/diag/extif
The “i” is only there to tell the module to initialize the display first.
My Module
Next step will be that i write a module on my own that handels everything
–> Read here more about the module…
December 29th, 2006 at 19:52
Hi
… my other problem … I’m using original ASUS software …
very nice … now search a working LCD
Is there an unused bit at the port? Maybe it is possible to use a backlight lcd and switch light on / off by time daemon or manual with this bit?
I’ll test this version after new year …
Thanks and have a good new year
Martin