//------------------------------------------------- // Shenzhen TOPWAY Technology Co.,Ltd. // LCD Module: LM6063A // Display Size: 128x64 // Driver/Controller: ST7565R // Interface: serial mode // by: Kenny // Date: 2007-09-28 // note: 4x booster setting //------------------------------------------------- #include #include #include #define uchar unsigned char // 0~255 #define uint unsigned int // 0~65535 sbit _CS = P3^4; sbit _RST = P3^5; sbit A0 = P3^6; sbit SCLK = P1^6; sbit SID = P1^7; uchar ContrastLevel; // for contrast setting level //----------------------------------- // dispaly data (128x64) //----------------------------------- uchar code Logo[]={ 0x07,0x01,0x01,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,0x7F,0x7F,0x7F,0x7F,0x7D,0x7D, 0x41,0x7D,0x7D,0x7F,0x63,0x5D,0x5D,0x5D,0x63,0x7F,0x41,0x75,0x75,0x75,0x7B,0x7F, 0x61,0x5F,0x6F,0x5F,0x61,0x7F,0x47,0x6B,0x6D,0x6B,0x47,0x7F,0x7D,0x7B,0x47,0x7B, 0x7D,0x7F,0x7F,0x7F,0x7F,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,0x01,0x01,0x07, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x40,0x88,0x10,0x00,0x30,0x90,0x50,0x90,0x10,0x50,0x90,0x30,0x00, 0x80,0x80,0xF8,0x80,0x80,0xF8,0x00,0x00,0xF0,0x00,0x00,0xF8,0x00,0x40,0x40,0xF8, 0x40,0x40,0x10,0x90,0x70,0x10,0x10,0x10,0x10,0x00,0x00,0x60,0xA0,0x28,0xF0,0x20, 0x20,0xF0,0x28,0xA0,0x60,0x20,0x00,0x20,0x10,0x88,0x70,0x40,0x78,0x40,0x70,0x80, 0x78,0xC0,0x40,0x00,0x80,0x90,0x90,0xF0,0x88,0x80,0x20,0x40,0x00,0xF8,0x00,0x00, 0x00,0x40,0x40,0xF8,0x40,0x00,0x40,0x40,0x40,0xF8,0x40,0x40,0x40,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,0x08,0x7C,0x02,0x20,0x22,0x12,0x0A,0x7F,0x0A,0x12,0x22,0x22,0x00, 0x10,0x30,0x1F,0x48,0x28,0x1F,0x00,0x00,0x1F,0x00,0x00,0x7F,0x00,0x04,0x44,0x7F, 0x02,0x05,0x02,0x7F,0x22,0x22,0x22,0x7E,0x00,0x00,0x01,0x01,0x01,0x7D,0x55,0x55, 0x55,0x55,0x55,0x7D,0x01,0x01,0x00,0x02,0x7F,0x40,0x21,0x1D,0x05,0x3D,0x51,0x27, 0x18,0x27,0x40,0x00,0x08,0x04,0x02,0x7F,0x02,0x0C,0x09,0x0A,0x08,0x7F,0x04,0x04, 0x00,0x04,0x42,0x7F,0x01,0x40,0x40,0x47,0x29,0x11,0x29,0x47,0x40,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,0xF8,0x08,0x08,0x08,0x08,0x08,0xE8,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28, 0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28, 0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28, 0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0xE8,0x08,0x08,0x08,0x08,0x08,0xF8, 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,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x7D,0x45,0x45,0x45,0x45,0x45,0x7D,0x00,0x00,0x00,0x00,0xFE,0x80,0x80,0x80, 0x80,0x00,0xFE,0x04,0x08,0x04,0xFE,0x00,0x7C,0x92,0x92,0x92,0x64,0x00,0x7C,0x82, 0x82,0x82,0x7C,0x00,0x7C,0x92,0x92,0x92,0x64,0x00,0x44,0x82,0x82,0x92,0x6C,0x00, 0xF8,0x14,0x12,0x14,0xF8,0x00,0x00,0x00,0x00,0x7D,0x45,0x45,0x45,0x45,0x45,0x7D, 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,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x3F,0x21,0x21,0x21,0x21,0x21,0x2F,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28, 0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28, 0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28, 0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x2F,0x21,0x21,0x21,0x21,0x21,0x3F, 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,0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x80,0x00, 0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00, 0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00,0x00,0x80, 0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00, 0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0xE0,0x80,0x93,0x24,0x24,0x24,0x19,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x02, 0x04,0x08,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x20,0x20,0x20,0x20,0x00,0x1F, 0x20,0x20,0x20,0x11,0x00,0x3F,0x20,0x20,0x11,0x0E,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x21,0x3F,0x20,0x00,0x00,0x21,0x30,0x28,0x24,0x23,0x00,0x1B,0x24, 0x24,0x24,0x1B,0x00,0x22,0x14,0x08,0x14,0x22,0x00,0x1F,0x24,0x24,0x24,0x18,0x00, 0x0C,0x0A,0x09,0x3F,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x0A,0x0A,0x0A,0x04, 0x00,0x00,0x22,0x3E,0x20,0x00,0x00,0x22,0x14,0x08,0x14,0x22,0x00,0x1C,0x2A,0x2A, 0x2A,0x0C,0x00,0x00,0x20,0x3F,0x20,0x00,0x00,0x24,0x2A,0x2A,0x2A,0x90,0x80,0xE0}; uchar code Symbol[]={ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x01,0x01,0x01,0x01,0x01, 0x01,0x01,0x01,0x01,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, 0x7F,0x81,0x01,0x01,0x01,0x01,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00,0x00, 0x00,0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01,0x01,0x01,0x01,0x01,0x81,0x7F,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x82,0x01,0x01,0x01, 0x01,0x01,0x82,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0xFC,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x07,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x07,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0xFC,0x00, 0xFC,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04, 0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0xFC,0x00, 0x00,0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00,0x00,0x00,0x00,0x01,0x02, 0x01,0x00,0x00,0x00,0x00,0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01,0x00,0x00,0x00, 0xF8,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x09,0x09,0x09, 0x09,0x09,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x00, 0x1F,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0xF0,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0xF0,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x1F,0x00, 0x1F,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10, 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x1F,0x00, 0x00,0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01,0x00,0x00,0x00,0x00,0x80,0x40,0x20, 0x40,0x80,0x00,0x00,0x00,0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00,0x00, 0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x88,0x48,0x48,0x48, 0x48,0x48,0x88,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x0F,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x40,0x40,0x40,0x40,0x40, 0x40,0x40,0x40,0x40,0x7F,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, 0x7F,0x40,0x40,0x40,0x40,0x40,0x40,0x20,0x10,0x08,0x04,0x02,0x01,0x00,0x00,0x00, 0x00,0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x40,0x40,0x40,0x40,0x40,0x7F,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x20,0x40,0x40,0x40, 0x40,0x40,0x20,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0xF8,0x04,0xF2,0x09,0x05,0x05,0x05,0x05,0x09,0xF2,0x04,0xF8,0x00,0x00,0x00, 0x00,0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01,0x01,0x01,0x01,0x01,0x81,0x7F,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x60,0x18,0x06,0x01, 0x06,0x18,0x60,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01,0x01,0x01,0x01,0x01,0x01, 0x01,0x01,0x01,0x01,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00,0x00,0x00,0x00, 0x00,0xE0,0x20,0x20,0x20,0x20,0x20,0x20,0x1F,0x01,0x01,0x01,0x01,0x01,0x3F,0x20, 0x20,0x20,0x20,0x20,0x1F,0x01,0x01,0x01,0x01,0x01,0x3F,0x20,0x20,0x20,0xE0,0x00, 0x00,0x01,0x02,0x04,0x09,0x0A,0x0A,0x0A,0x0A,0x89,0x44,0x22,0x11,0x08,0x04,0x02, 0x01,0x00,0x00,0x00,0x00,0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x60,0x18,0x06,0x01,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x01,0x06,0x18,0x60,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0xFC,0x02,0x01,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,0x01,0x02,0xFC,0x00, 0x00,0x0F,0x08,0x08,0x08,0x08,0x08,0xF8,0x00,0x00,0x00,0x00,0x00,0xF0,0x08,0x08, 0x08,0x08,0x08,0xF8,0x00,0x00,0x00,0x00,0x00,0xF0,0x08,0x08,0x08,0x08,0x0F,0x00, 0x00,0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01,0x00,0x00,0x00,0x00,0x80,0x40,0x20, 0x10,0x08,0x04,0xE2,0x11,0xC8,0x24,0x14,0x14,0x14,0x14,0x24,0xC8,0x10,0xE0,0x00, 0x00,0x00,0x00,0x80,0x60,0x18,0x06,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x06,0x18,0x60,0x80,0x00,0x00,0x00,0x00, 0x1F,0x20,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x40,0x20,0x1F,0x00, 0xFC,0x04,0x04,0x04,0x04,0x04,0x04,0x03,0x00,0x00,0x00,0x00,0x00,0x07,0x04,0x04, 0x04,0x04,0x04,0x03,0x00,0x00,0x00,0x00,0x00,0x07,0x04,0x04,0x04,0xFC,0x00,0x00, 0x7F,0x40,0x40,0x40,0x40,0x40,0x40,0x20,0x10,0x08,0x04,0x02,0x01,0x00,0x00,0x00, 0x00,0x00,0x00,0x07,0x08,0x13,0x24,0x28,0x28,0x28,0x28,0x24,0x13,0x08,0x07,0x00, 0x60,0x58,0x46,0x41,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40, 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x41,0x46,0x58,0x60,0x00, 0x00,0x00,0x00,0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x40,0x40,0x40,0x40,0x40, 0x40,0x40,0x40,0x40,0x40,0x20,0x10,0x08,0x04,0x02,0x01,0x00,0x00,0x00,0x00,0x00, 0x01,0x01,0x01,0x01,0x01,0x7F,0x40,0x40,0x40,0x40,0x40,0x7E,0x01,0x01,0x01,0x01, 0x01,0x7F,0x40,0x40,0x40,0x40,0x40,0x7E,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00}; //----------------------------------- // 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) } //----------------------------------- // Init LCD module //----------------------------------- void initLCDM(void) { _RST=1; // hardware reset LCD module _RST=0; delayms(1); _RST=1; delayms(10); ContrastLevel=0x21; // default Contrast Level SdCmd(0xaf); // display on SdCmd(0x40); // display start line=0 SdCmd(0xa1); // ADC=1 SdCmd(0xa6); // normal display SdCmd(0xa4); // Display all point = off SdCmd(0xa2); // LCD bias = 1/9 SdCmd(0xc0); // Common output mode select= reverse SdCmd(0x2f); // Power control = all on SdCmd(0x25); // RA/RB setting SdCmd(0xf8);SdCmd(0x00);// Booster Ratio Set= 2x,3x,4x (2byte command) SdCmd(0x81); // E-Vol setting SdCmd(ContrastLevel); // (2byte command) } //----------------------------------- // Main Program //----------------------------------- void main() { SP=0x60; EA = 0; // disable interrupts _CS =1; _RST =1; A0 =1; SCLK =0; SID =1; initLCDM(); while(1) { WriteScreen(Logo); delayms(1000); WriteScreen(Symbol); delayms(1000); } } //end of program