This program is ZY-FGD1442701V1's demo code.

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 
00003 DigitalOut CS(p21);
00004 DigitalOut A0(p22);
00005 DigitalOut E(p23);
00006 DigitalOut WRB(p24);
00007 DigitalOut RES(p25);
00008 
00009 BusOut P1(p10, p11, p12, p13, p14, p15, p16, p17);
00010 
00011 void WriteCOM(unsigned char a) {
00012     CS=0;
00013     E=1;
00014     A0=0;
00015     P1=a;
00016     WRB=0;
00017     WRB=1;
00018     CS=1;
00019 }
00020 
00021 void WriteDAT(unsigned char b) {
00022     CS=0;
00023     E=1;
00024     A0=1;
00025     P1=b;
00026     WRB=0;
00027     WRB=1;
00028     CS=1;
00029 }
00030 
00031 
00032 int main() {
00033     int i,j;
00034 
00035     RES=1;
00036     wait_ms(100);
00037     RES=0;
00038     wait_ms(100);
00039     RES=1;
00040     wait_ms(120);
00041 
00042     WriteCOM(0x01);
00043     wait_ms(50);
00044 
00045     WriteCOM(0x11);//SLEEP OUT
00046     wait_ms(200);
00047 
00048     WriteCOM(0xFF);
00049     WriteDAT(0x40);
00050     WriteDAT(0x03);
00051     WriteDAT(0x1A);
00052 
00053     WriteCOM(0xd9);
00054     WriteDAT(0x60);
00055     WriteCOM(0xc7);
00056     WriteDAT(0x90);
00057     wait_ms(200);
00058 
00059     WriteCOM(0xB1);
00060     WriteDAT(0x04);
00061     WriteDAT(0x25);
00062     WriteDAT(0x18);
00063 
00064     WriteCOM(0xB2);
00065     WriteDAT(0x04);
00066     WriteDAT(0x25);
00067     WriteDAT(0x18);
00068 
00069     WriteCOM(0xB3);
00070     WriteDAT(0x04);
00071     WriteDAT(0x25);
00072     WriteDAT(0x18);
00073     WriteDAT(0x04);
00074     WriteDAT(0x25);
00075     WriteDAT(0x18);
00076 
00077     WriteCOM(0xB4);
00078     WriteDAT(0x03);
00079 
00080     WriteCOM(0xB6);
00081     WriteDAT(0x15);
00082     WriteDAT(0x02);
00083 
00084     WriteCOM(0xC0);// POWER CONTROL 1 GVDD&VCI1
00085     WriteDAT(0x02);
00086     WriteDAT(0x70);
00087 
00088     WriteCOM(0xC1);// POWER CONTROL 2 GVDD&VCI1
00089     WriteDAT(0x07);
00090 
00091     WriteCOM(0xC2);// POWER CONTROL 3 GVDD&VCI1
00092     WriteDAT(0x01);
00093     WriteDAT(0x01);
00094 
00095     WriteCOM(0xC3);// POWER CONTROL 4 GVDD&VCI1
00096     WriteDAT(0x02);
00097     WriteDAT(0x07);
00098 
00099     WriteCOM(0xC4);// POWER CONTROL 5 GVDD&VCI1
00100     WriteDAT(0x02);
00101     WriteDAT(0x04);
00102 
00103     WriteCOM(0xFC);// POWER CONTROL 6 GVDD&VCI1
00104     WriteDAT(0x11);
00105     WriteDAT(0x17);
00106 
00107     WriteCOM(0xC5);//VCOMH&VCOML
00108     WriteDAT(0x3c);
00109     WriteDAT(0x4f);
00110 
00111     WriteCOM(0x36);//MV,MX,MY,RGB
00112     WriteDAT(0xC8);
00113 
00114 
00115     WriteCOM(0x3a);//GAMMA SET BY REGISTER
00116     WriteDAT(0x05);
00117 
00118 //***********************GAMMA*************************
00119     WriteCOM(0xE0);
00120     WriteDAT(0x06);
00121     WriteDAT(0x0E);
00122     WriteDAT(0x05);
00123     WriteDAT(0x20);
00124     WriteDAT(0x27);
00125     WriteDAT(0x23);
00126     WriteDAT(0x1C);
00127     WriteDAT(0x21);
00128     WriteDAT(0x20);
00129     WriteDAT(0x1C);
00130     WriteDAT(0x26);
00131     WriteDAT(0x2F);
00132     WriteDAT(0x00);
00133     WriteDAT(0x03);
00134     WriteDAT(0x00);
00135     WriteDAT(0x24);
00136 
00137     WriteCOM(0xE1);
00138     WriteDAT(0x06);
00139     WriteDAT(0x10);
00140     WriteDAT(0x05);
00141     WriteDAT(0x21);
00142     WriteDAT(0x27);
00143     WriteDAT(0x22);
00144     WriteDAT(0x1C);
00145     WriteDAT(0x21);
00146     WriteDAT(0x1F);
00147     WriteDAT(0x1D);
00148     WriteDAT(0x27);
00149     WriteDAT(0x2F);
00150     WriteDAT(0x05);
00151     WriteDAT(0x03);
00152     WriteDAT(0x00);
00153     WriteDAT(0x3F);
00154 
00155 //***************************RAM ADDRESS*******************
00156     WriteCOM(0x2A);
00157     WriteDAT(0x00);
00158     WriteDAT(0x02);
00159     WriteDAT(0x00);
00160     WriteDAT(0x81);
00161 
00162     WriteCOM(0x2B);
00163     WriteDAT(0x00);
00164     WriteDAT(0x03);
00165     WriteDAT(0x00);
00166     WriteDAT(0x82);
00167 
00168     WriteCOM(0x29);
00169     wait_ms(100);
00170 
00171     WriteCOM(0x2C);
00172 
00173 
00174     for (i=0;i<128;i++) {
00175         for (j=0;j<128;j++) {
00176             WriteDAT(0xf8);
00177             WriteDAT(0x00);  //display red
00178         }
00179     }
00180 }