The electronics distributor https://www.pollin.de/ is often selling surplus displays, but normally these are not very well documented. The TIAN MA A2C00096100 LCD module is a 90 mm x 20 mm character display with on-board chip-on-glass controller. It has 20 alphanumeric character positions, actually 18+2 since there is a vertical 1-pixel wide bar separating the last two characters, as well as 29 icons or symbols. The controller is an PCF2119AU with an I2C interface connected out, as has been figured out in a discussion on https://www.mikrocontroller.net/topic/434123.
However, it appears that the investigation in the forum did not cover all details, especially not the icons under the display. It might be doubtful if you ever would want to use these symbols in your own project unless you are designing a car stereo, but it might at the same time interfere with the use of custom characters for the font.
The character set contains all standard ASCII characters, many European accented characters and an interesting set of arrows.
The PCF2119 controller chip – much like the well-known HD44780 – has two volatile RAM areas, the DDRAM for the alphanumeric characters were each memory location serves as an index to the character font. The character codes 0x00 to 0x0F are referring to the CGRAM where groups of 8 subsequent memory locations form a single, user definable character. The display is only 5 pixels wide, stretching bit positions 0-4, and 7 rows high, corresponding to the first 7 out of 8 bytes per block.
Interestingly, the symbol row below the display directly maps to bits contained in the second CGRAM block at addresses 0x09 to 0x0F, which also means that you should not use this block for your own user characters. The following image shows the mapping of the character display positions, which is a bit odd, as well as the mapping of the icons.
One special case is the character position at DDRAM address 0x0D which is only representing a single column instead of a 5 column wide character. However, it derives its contents from the bit 4 of the font data for the character stored at 0x0D in DDRAM. In order to fully control the display at this position you will have to sacrifice one user-defined character from the CGRAM and set/clear the corresponding bit 4 at the rows 0-7.
The following is a slight modification from the code I used in the youtube video above in order to test and highlight the features of this display and should make it possible for you to use this display in your own projects. The code was tested on an ATmega32U4 running at 8 MHz and utilizing the I2C hardware master library from Peter Fleury.
Latest Comments