//------------------------------------------------- // Shenzhen TOPWAY Technology Co.,Ltd. // LCD Module: LM6069DFW-1 // Display Size: 216x64 // Driver/Controller: IST3020 // Interface: 68 mode // System: AT89s52 12MHz // Rev 01 : by Dong 2014-11-06 // note: new; //------------------------------------------------- #include #include #include #define uchar unsigned char // 0~255 #define uint unsigned int // 0~65535 //----------------------------------- // dispaly data (216x64) //----------------------------------- uchar code Logo[]={ /*-- Invoking a picture:C:LM6069D-logo.bmp --*/ /*-- width x height=216 x 64 --*/ 0xFF,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, 0x01,0x81,0x01,0x81,0x01,0x81,0x01,0x81,0x01,0x81,0x41,0x81,0x41,0x81,0x41,0xA1, 0x41,0xA1,0x41,0xA1,0x51,0xA1,0x51,0xA1,0x51,0xA9,0x51,0xA9,0x51,0x29,0x55,0x29, 0x95,0x89,0xD5,0xC9,0xC5,0xE9,0xE5,0xF1,0xF5,0xF1,0xF1,0xF9,0xF9,0xF9,0xF9,0xF9, 0xF9,0x01,0x01,0x01,0x81,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, 0x01,0x01,0x81,0x01,0x01,0x81,0x01,0x01,0x01,0x01,0x01,0x81,0x01,0x01,0x01,0x01, 0x01,0x01,0x81,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x81,0x01,0x01,0x01, 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x81,0x01,0x01,0x01,0x01,0x81, 0x01,0x01,0x01,0x01,0x01,0x01,0x81,0x01,0x01,0x81,0x01,0x01,0x01,0x81,0x01,0x01, 0x01,0x01,0x01,0x01,0x01,0x81,0x01,0x01,0x01,0x01,0x81,0x01,0x01,0x01,0x01,0x01, 0x81,0x01,0x01,0x01,0x01,0x01,0x81,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x81, 0x01,0x01,0x81,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, 0x01,0x01,0x81,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00, 0x01,0x00,0x01,0x82,0x51,0xAA,0x55,0xAA,0x55,0xAA,0x55,0x2A,0x95,0xCA,0xE5,0xF2, 0xF1,0xFA,0xF9,0xFC,0xFE,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x84,0xC8,0x21,0x00,0x23, 0x29,0xA5,0xF9,0xA1,0x25,0x29,0x23,0x00,0x08,0x08,0xFF,0x88,0x88,0xFF,0x00,0x00, 0xFF,0x00,0x00,0xFF,0x00,0x02,0x02,0xFA,0x0A,0x0A,0x0A,0xFF,0x0A,0x0A,0xFA,0x03, 0x02,0x00,0x44,0x44,0xFF,0x24,0x54,0x21,0xF9,0x27,0x21,0x21,0xE1,0x01,0x00,0x10, 0x16,0x1A,0xD2,0x5F,0x52,0x52,0x5F,0x52,0xDA,0x16,0x12,0x00,0x22,0xF1,0x08,0x17, 0xD4,0x57,0xD4,0x17,0x78,0x87,0x7C,0x04,0x00,0x88,0x49,0x29,0xFF,0x28,0xC8,0x92, 0xA4,0x80,0xFF,0x40,0x40,0x00,0x44,0x24,0xFF,0x14,0x00,0x04,0x74,0x94,0x1F,0x94, 0x74,0x04,0x00,0x20,0x10,0x08,0x06,0xC1,0x30,0x00,0x81,0x06,0x08,0x10,0x20,0x00, 0x04,0x05,0xF5,0x95,0x95,0x95,0xF5,0x05,0x05,0x01,0xFF,0x01,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF, 0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x50,0xA8,0x55,0x2A,0x95,0xCA,0xE5,0xF2, 0xF9,0xFC,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0x40,0x40,0x40,0x47,0x40,0x42,0x42,0x41,0x40,0x47,0x40,0x41,0x42,0x42,0x40, 0x41,0x43,0x41,0x44,0x42,0x41,0x40,0x40,0x41,0x40,0x40,0x47,0x40,0x40,0x40,0x43, 0x40,0x40,0x40,0x47,0x40,0x42,0x43,0x40,0x40,0x40,0x40,0x44,0x47,0x40,0x40,0x40, 0x47,0x42,0x42,0x42,0x47,0x40,0x40,0x40,0x40,0x40,0x47,0x45,0x45,0x45,0x45,0x45, 0x47,0x40,0x40,0x40,0x40,0x47,0x44,0x42,0x41,0x40,0x43,0x45,0x42,0x41,0x42,0x44, 0x40,0x40,0x40,0x40,0x47,0x40,0x40,0x40,0x40,0x40,0x47,0x40,0x40,0x40,0x40,0x44, 0x47,0x40,0x44,0x44,0x44,0x42,0x41,0x42,0x44,0x44,0x40,0x40,0x40,0x42,0x47,0x42, 0x42,0x42,0x42,0x43,0x46,0x40,0x40,0x40,0x40,0x40,0x41,0x40,0x40,0x40,0x41,0x40, 0x42,0x44,0x43,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x40,0x28,0x95,0xC2, 0xF1,0xF8,0xFE,0xFF,0xF7,0xF7,0x87,0xF7,0xF7,0xFF,0xCF,0xB7,0xB7,0xB7,0xCF,0xFF, 0x87,0xD7,0xD7,0xD7,0xEF,0xFF,0xC7,0xBF,0xDF,0xBF,0xC7,0xFF,0x9F,0xCF,0xD7,0xCF, 0x9F,0xFF,0xF7,0xEF,0x9F,0xEF,0xF7,0xFF,0xFF,0x00,0x00,0x02,0x02,0xFE,0x02,0x02, 0x00,0x78,0x84,0x02,0x02,0x02,0x84,0x78,0x00,0xFE,0x22,0x22,0x22,0x1C,0x06,0x78, 0x80,0x60,0x1C,0x02,0x1C,0x60,0x80,0x78,0x06,0x80,0x60,0x5C,0x42,0x5C,0x60,0x80, 0x00,0x02,0x0C,0x10,0xE0,0x10,0x0C,0x02,0x00,0x00,0x00,0x00,0x02,0x02,0xFE,0x02, 0x02,0x00,0xF0,0x28,0x28,0x28,0xB0,0x00,0xF0,0x08,0x08,0x08,0x90,0x00,0xFE,0x10, 0x08,0x08,0xF0,0x00,0xF8,0x08,0x08,0x08,0xF0,0x00,0xF0,0x08,0x08,0x08,0xF0,0x00, 0xFE,0x00,0xF0,0x08,0x08,0x08,0xF0,0x00,0xF0,0x08,0x08,0x90,0xF8,0x00,0x18,0x60, 0x80,0x60,0x18,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x08,0xFE,0x08,0x00, 0xF0,0x08,0x08,0x90,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF, 0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, 0x01,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x00, 0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x01,0x00, 0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x00, 0x00,0x01,0x01,0x01,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x01,0x00,0x00,0x00, 0x01,0x00,0x00,0x01,0x01,0x01,0x00,0x00,0x01,0x00,0x00,0x01,0x01,0x01,0x00,0x00, 0x04,0x05,0x05,0x04,0x03,0x00,0x00,0x04,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x01, 0x01,0x01,0x01,0x01,0x00,0x01,0x01,0x00,0x00,0x01,0x01,0x00,0x01,0x00,0x00,0x01, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x04,0xFC,0xFC,0xFC,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x04,0xFC,0xFC,0xFC,0xFC,0xE0,0x00,0xE0,0xFC,0xFC,0xFC,0xFC,0x04,0x00,0x00,0xC0, 0xF0,0xF8,0xFC,0x1C,0x0C,0x0C,0x0C,0x3C,0x3C,0x38,0x00,0x00,0x00,0x00,0xC0,0xF0, 0xF8,0xFC,0x1C,0x0C,0x0C,0x1C,0xFC,0xF8,0xF0,0xC0,0x00,0x00,0x00,0xC0,0xF0,0xF8, 0xFC,0x1C,0x0C,0x0C,0x0C,0x3C,0x3C,0x38,0x00,0x00,0x00,0x00,0xF0,0xF8,0xFC,0x3C, 0x0C,0x0C,0x0C,0x0C,0x7C,0xF8,0xF8,0xE0,0x00,0x00,0x00,0x04,0xFC,0xFC,0xFC,0x0C, 0x0C,0x0C,0x1C,0xFC,0xF8,0xF0,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF, 0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x3F,0xFF,0xFF,0xFE,0xFF, 0x1F,0xFF,0xFF,0xFF,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x9F,0x06,0x06,0x02,0x06,0x1E, 0xFE,0xFC,0xF8,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xE1,0x00,0x00,0x00,0x00,0xE1,0xFF, 0xFF,0xFF,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x9F,0x06,0x06,0x02,0x06,0x1E,0xFE,0xFC, 0xF8,0x00,0x00,0x00,0x07,0x0F,0x1F,0x1E,0x18,0x10,0x18,0x1C,0xFE,0xFF,0xFF,0xFF, 0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x80,0x80,0x80,0x80,0x80,0x80,0x80, 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80, 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80, 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80, 0x80,0x80,0x88,0x8F,0x8F,0x8F,0x88,0x88,0x88,0x88,0x8C,0x8E,0x8F,0x8F,0x80,0x80, 0x88,0x8F,0x8F,0x88,0x87,0x8F,0x8F,0x83,0x88,0x8F,0x8F,0x8F,0x88,0x80,0x80,0x81, 0x83,0x87,0x8F,0x8E,0x8C,0x88,0x8C,0x8F,0x8F,0x87,0x83,0x80,0x80,0x80,0x80,0x83, 0x87,0x8F,0x8E,0x8C,0x8C,0x8E,0x8F,0x87,0x83,0x80,0x80,0x80,0x80,0x81,0x83,0x87, 0x8F,0x8E,0x8C,0x88,0x8C,0x8F,0x8F,0x87,0x83,0x80,0x80,0x80,0x80,0x87,0x8F,0x8F, 0x8C,0x8C,0x8C,0x8F,0x8F,0x87,0x81,0x80,0x80,0x80,0x80,0x88,0x8F,0x8F,0x8F,0x8C, 0x8C,0x8C,0x8E,0x8F,0x87,0x83,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80, 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80, 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80, 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xFF }; //------------------------------------------------ // 驱动子程序 68mode #define LCDBUS P1 sbit RS = P3^6; sbit _CS = P3^4; sbit _RST = P3^5; sbit E = P3^2; sbit R_W = P3^7; uchar ContrastLevel; // for contrast setting level //----------------------------------- // Delay Routine //----------------------------------- void delayms(uint m) // 12MHz Xtal, close to ms value { uint j; uint i; for(i=0; i0x00) { ContrastLevel--; } SdCmd(0x81); // E-Vol setting SdCmd(ContrastLevel); // (2byte command) delayms(50); } //----------------------------------- // Init LCD module //----------------------------------- void initLCDM(void) { _RST=1; // hardware reset LCD module _RST=0; delayms(1); _RST=1; delayms(800); ContrastLevel=0x1F; // default Contrast Level SdCmd(0x40); // 起始行定义0 SdCmd(0xa0); // ADC=0 SdCmd(0xa6); // 正向显示 SdCmd(0xa4); // 全显功能关闭 SdCmd(0xa2); // LCD bias = 1/9 SdCmd(0xc8); // 行顺序63--0 SdCmd(0x82); SdCmd(0x0e); //刷屏频率65Hz SdCmd(0x30); //M信号0行反转 SdCmd(0x23); // 电阻比 SdCmd(0x2c); // 打开VC delayms(50); SdCmd(0x2e); // 打开VC,VR delayms(50); SdCmd(0x2f); // 打开VC,VR,VF delayms(50); SdCmd(0x81); // 对比度调节 SdCmd(ContrastLevel); // (2byte command) SdCmd(0xab); //开启系统时钟 SdCmd(0xaf); // 开显示 } //----------------------------------- // Main Program //----------------------------------- void main() { SP=0x60; EA = 0; // disable interrupts _CS =1; RS =1; R_W =1; E =1; _RST =1; // hardware reset LCD module initLCDM(); WriteScreen(Logo); while(1); } //end of program