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.
This is only a test connection and it's not very usable by now. You can get some random stuff on your display when other data is transfered on the bus.
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 :)
The Module
07.12.2006. 03:48
Comments
Hi very nice ... now search a working LCD :-) ... my other problem ... I'm using original ASUS software ... 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
Write a comment
* = required field