?? s0025701(s6b0719, 68mode, example).c
字號:
//-------------------------------------------------// LCD Module: S6B0719// Display Size: 128x64// Driver/Controller: ST7565P// Interface: 68 mode// by: Kenny// Date: 2007-09-20// System: AT89S52 (12MHz)//-------------------------------------------------#include <stdio.h>#include <reg52.h>#include <intrins.h>#define uchar unsigned char // 0~255#define uint unsigned int // 0~65535#define LCDBUS P1sbit _CS = P3^4;sbit _RST = P3^5;sbit A0 = P3^6;sbit _RW = P3^7;sbit E = P3^3;uchar ContrastLevel; // for contrast setting level //-----------------------------------// dispaly data (128x64)//-----------------------------------uchar code Logo[]={0xFF,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,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,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,0xFF,0xFF,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,0xFF,0xFF,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,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,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,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,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,0x4E,0x8A,0x8A,0x8A,0x72,0x00,0x4C,0x92,0x92,0x92,0x7C,0x00,0xFE,0x92,0x92,0x92,0x6C,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,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,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,0xFF,0xFF,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x80,0x00,0x00,0x00,0x80,0x00,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,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,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,0xFF,0xFF,0x80,0xBF,0x84,0x84,0x84,0x80,0x80,0x93,0xA4,0xA4,0xA4,0x99,0x80,0x80,0x80,0xBF,0x80,0x80,0x80,0xBF,0x82,0x84,0x88,0xBF,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xBF,0xA0,0xA0,0xA0,0xA0,0x80,0x9F,0xA0,0xA0,0xA0,0x91,0x80,0xBF,0xA0,0xA0,0x91,0x8E,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xA1,0xBF,0xA0,0x80,0x80,0xA1,0xB0,0xA8,0xA4,0xA3,0x80,0x9B,0xA4,0xA4,0xA4,0x9B,0x80,0xA2,0x94,0x88,0x94,0xA2,0x80,0x9F,0xA4,0xA4,0xA4,0x98,0x80,0x8C,0x8A,0x89,0xBF,0x88,0x80,0xBE,0x8A,0x8A,0x8A,0x84,0x80,0x80,0xA2,0xBE,0xA0,0x80,0x80,0xA2,0x94,0x88,0x94,0xA2,0x80,0x9C,0xAA,0xAA,0xAA,0x8C,0x80,0x80,0xA0,0xBF,0xA0,0x80,0x80,0xA4,0xAA,0xAA,0xAA,0x90,0x80,0xFF};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; i<m; i++) for(j=0; j<109; j++) _nop_();}//-----------------------------------// IO Routine (68 mode)//-----------------------------------void SdCmd(uchar Command) //send command{ A0 = 0; _RW = 0; LCDBUS = Command; _CS = 0; E = 1; E = 0; _CS = 1;}void SdData(uchar DData) //send data{ A0 = 1; _RW = 0; LCDBUS = DData; _CS = 0; E = 1; E = 0; _CS = 1;}//-----------------------------------// Write a Screen//-----------------------------------void WriteScreen(uchar *DisplayData) // DisplayData should be 164x64/8 = 1312byte{ uchar TempData; uchar i, j; for(i=0;i<8;i++) { SdCmd(0xb0 | i); // select page 0~7 SdCmd(0x10); // start form column 4 SdCmd(0x00); // (2byte command) for(j=0;j<128;j++) { TempData=(*(DisplayData+(i*128)+j)); SdData(TempData); } }}//-----------------------------------// Init LCD module//-----------------------------------void initLCDM(void){ _RST=1; // hardware reset LCD module _RST=0; delayms(1); _RST=1; delayms(1); ContrastLevel=0x1a; // Contrast Level set close to middle SdCmd(0xaf); // display on SdCmd(0x40); // display start line=0 SdCmd(0xa0); // ADC=0 SdCmd(0xa6); // normal display SdCmd(0xa4); // Duisplay all point = off SdCmd(0xa2); // LCD bias = 1/9 SdCmd(0xc8); // Common output mode select= reverse SdCmd(0x2f); // Power control = all on SdCmd(0x26); // Rab Ratio SdCmd(0xf8); // Booster Ratio = 4x SdCmd(0x00); // (two byte 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; E =0; initLCDM(); while(1) { WriteScreen(Logo); delayms(1000); WriteScreen(Symbol); delayms(1000); }}//end of program
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -