I'm having problems finding out any relevant info regarding this, only some guy who suggested creating a whole new character set with the letters flipped over.
What I'd like to know is if there's a possibility to rotate a 20x4 display 180 dgr. so I can have its right angle headers sticked in a breadboard with the display standing up. I just soldered the 16 pins header to have it mounted vertically on a breadboard and learned the hard way that apparently there's no way to flipping over the characters.
There are some displays that have the 16 pin header below the display instead of above. Be aware that most of those have a non-standard pin-out.
In other words although the pin numbers match those of more conventional displays, pin 1 is not always near the outer edge of the board and pin 16 is not always closest to the center of the board.
"standard" Hitachi LCD controller is a "character" display (stored in ROM) , not pixel display.
But you knew that, right?
Now you also know that you can create custom characters, but you are limited only to 8 of them.
However, 20x4 has two controllers , so in theory you could have 16 custom characters,
but the Hitachi documentation probably does not cover that. I did not look.
I wonder if you could build the custom characters " on the fly", that could be one and maybe only option. I would guess you could glean that info form the Hitachi document, it is one of the oldest and pretty good one, IMHO.
Of course you can select different set of characters ( I believe simplified Chinese ) , but that won't help in your task.
I guess the other option is to get pixel driven LCD, than you can go wild.
BINGO
I wonder if you could build the custom characters " on the fly", that could be one and maybe only
Check this one out - about second page down!
However, 20x4 has two controllers , so in theory you could have 16 custom characters,
The 20x4 has one main controller and four auxiliary controllers. Only the main controller can store custom characters and it is limited to eight of them.
You probably are referring to a 40x4 display which does have two main controllers, each with the capability to store eight custom characters. Although this type of display can store a total of 16 characters they are limited to any of eight on the upper two lines and any of the other eight on the lower two lines.
Check this one out - about second page down!
What exactly are we looking for in that page?
EDIT: I think you may be referring to this comment "...but you can always change the content of CG RAM on the fly to generate new characters."
This is correct as far as it goes. But - any previously generated characters that are being displayed will be replaced by the new characters as soon as the new ones are defined in CGRAM.
By the way the author of that page does not seem to understand the difference between a DDRAM address and the instruction that is used to access that address. The addresses themselves each use seven bits, with the high bit = '0'. The instruction that accesses such an address has the high bit = '1'.
For example the third character on the top row has an address of 00000010 or 0x02. To access that address you would use the instruction 10000010 or 0x82.
This is correct as far as it goes. But - any previously generated characters that are being displayed will be replaced by the new characters as soon as the new ones are defined in CGRAM.
Seems odd.
Unless there is some kinda of refresh cycle going on to keep the display on, but makes sense.
To the OP and other like me that would like to have a flipped 20x4 LCD Module (or rotated 180 degrees)...
No I didn't find a magic way to do it... But there are options on eBay and the OEM supplier that has the connectors on both the top and bottom edges of the PCB.