Adding color LCD to your project makes it look elegant.You can add graphics and color logo.But cost of color LCD hurts the designer.Low cost solution is to use color LCD of cell phones.It is recommended that you are familiar with alphanumeric LCD programming. In this tutorial you will be interfacing Nokia 6610 color LCD with AT89C51.Nokia 6610 LCD are available having one of the two graphic driver either EPSON S1D15G00 or PHILIPS PCF 8833.This interface is given for LCD having PHILIPS PCF8833 graphic controller using 8-bit per pixel (8bpp) color mode. 132 x132 pixel,9 bit serial interface, 3.3V.Main Source of this post.Take a Look
Pin Diagram
Circuit Diagram
Note:Connector used for interfacing AT89C51 and LCD is similar to DF23 Hirose 10pin receptacles. This connection is very fragile so take care.
Serial Bus Protocol
It has 3 wire 9-bit SPI.
When SCE is HIGH, SCLKs are ignored. The serial interface is initialized during the HIGH time of SCE.
At the falling edge of SCE SCLK must be LOW.
SDIN is sampled at the rising edge of SCLK.
D/C indicates, whether the byte is a command (D/C = 0) or data (D/C = 1). It is sampled with the first rising SCLK edge.
If SCE stays LOW after the last bit of a data/command byte, the serial interface will receive the D/C bit of the next byte at the next rising edge of SCLK
Addressing Pixel
Nokia 6610 LCD with Phillips PCF 8833 controller has 132x132 pixels. To address specific pixel you have to specify starting and ending address of PageAddress Set(row YS and YE) and Column Address Set command (columns XS and XE). Your starting pixel will be (XS, YS) and ending pixel will be at address (XE, YE).
XS < p="">
YS
After specifying the start and end pixel the address pointer is auto incremented after every data send to RAM. Address pointer increments in X direction first up to XE pixel and it resets to XS and increments Y direction. This continues until YE is reached. Hence after pixel (XE, YE) address pointer is set to (XS, YS).This is similar to drawing square on graph paper.
To point one pixel make XS =XE and YS = YE.
See program code for more detail.
Color Interface Pixel Format
Most important thing in interfacing color LCD is to know how color is defined to a given pixel. PCF 8833 has three modes of color interface pixel format. These modes are selected by sending the Color Interface Pixel Format command (0x3A) followed by a single data byte defining one of the three modes. We have used 8bpp.
LCD Intialization
In any LCD interface the biggest hurdle is the initialization sequence. If proper initialization is done than 90% of your job is done. For the definition of Function Set refer the PCF 8833 datasheet. Here the LCD in set for 8bpp in Inverse mode and Y mirror on. LCD initialization routine is included in the code.
Display Image
You can send image having 132x132 pixels and 256 colors.
Set normal display. No X and Y mirror.
Convert this image to Hex Array.
Set the page address set and column address set to (0, 0) and (131,131).
Send RAM write command.
Send bytes using LCD_DATA routine. Loop this for 132X132 pixels.
Source Code: Nokia6610_philips.asm
0 comments:
Post a Comment