The circuit and code in this project is compatible with PCF8833 STN RGB - 132*132*3 LCD driver.
This LCD driver has been used for some Nokia tiny LCDs such as 1208, 1209, 1600, 2126, 2310, 6100 and 6125, 6136, N71 back LCD.
The LCD that I have worked on it is a 98*70 pixel LCD which I have removed from a wrecked Nokia 6125.
This LCD needs a board-to-board connector which I removed from Nokia's PCB. The transaction line for my LCD is a 9-bit SPI which has no transmit line and only receives the data or command from the host.
The host (controller, driver or etc.) that I have used is an ATMega8A microcontroller.
I wanted to use my WiCard module to driving it but unfortunately, my WiCard module has not been impressive for anyone so far and I don't understand why. My dream about WiCard has turned to a nightmare.
Anyway, ATMega8A has a 8-bit SPI feature, not a 9-bit, so I have used the I/Os directly instead of the internal SPI module.The Circuit
Here's my circuit on a breadboard:
Here's the pinout of my LCD:
6. Back light LED+, 7.5V
7. Back light LED-, GND
9. VddAN, 2.8V... 3.3V
10. VddIO, 1.8V... 3.3V
Here's the schematic:
When Reset# pin is low, that means LCD is in reset state and doesn't accept the command and data.
When CS# is low, the LCD will accept the commands/data.
Here's command protocol in 9-bit SPI:
__ __ __ __ __ __ __ __ __ CLK ___|C1|_|C2|_|C3|_|C4|_|C5|_|C6|_|C7|_|C8|_|C9|____... Data_______<b7 ><b6 ><b5 ><b4 ><b3 ><b2 ><b1 ><b0 > ... _ __ CS# |______________________________________________| ...
Here's data protocol in 9-bit SPI:
__ __ __ __ __ __ __ __ __ CLK ___|C1|_|C2|_|C3|_|C4|_|C5|_|C6|_|C7|_|C8|_|C9|____... ___ Data_| |_<b7 ><b6 ><b5 ><b4 ><b3 ><b2 ><b1 ><b0 > ... _ __ CS# |______________________________________________| ...
For the initialization I sent these commands and data first:
Data: 97 (Number of pixel column - 1)
Data: 69 (Number of pixel lines or rows - 1)Source Code Example
This is the source code example for the GIF cover image of the project.