📄 s6b0724-serial.c
字号:
/*---------------------------------------------------------------------
VDD=3.3V;VLCD=9.0V; 驱动IC:S6B0724;Write by SKEY; Date:2007/07/06
----------------------------------------------------------------------*/
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
#define xchar unsigned char code
sbit CS1 = P3^0;
sbit RST = P3^4;
sbit RS = P3^1;
sbit SCLK = P1^6;
sbit SID = P1^7;
xchar tab2[1024]=
{
/*------------------------------------------------------------------------------
; 源文件 / 文字 : C:\Documents and Settings\shy\My Documents\My Pictures\CGG12864M17.bmp
; 宽×高(像素): 128×64
------------------------------------------------------------------------------*/
0xFF,0x01,0xFD,0x05,0x85,0x15,0xA5,0x05,0x65,0xA5,0x65,0x25,0x65,0xA5,0x65,0x05,
0x85,0x85,0xF5,0x85,0x85,0xF5,0x05,0xE5,0x05,0x05,0xF5,0x05,0xA5,0xA5,0xE5,0x95,
0x95,0xC5,0x05,0xF5,0x05,0x85,0x45,0x05,0x05,0xE5,0x25,0x25,0x25,0xE5,0x25,0x25,
0x25,0xE5,0x05,0x05,0x45,0x55,0x65,0xC5,0x05,0xF5,0x15,0xD5,0x15,0xF5,0x05,0x05,
0x05,0x85,0xE5,0x15,0x45,0x45,0x45,0xF5,0x45,0x45,0x45,0x05,0x85,0x65,0x25,0xA5,
0x25,0x35,0xA5,0x25,0x25,0xA5,0x65,0x05,0x85,0x05,0x05,0x05,0xF5,0x05,0x05,0xF5,
0x05,0x05,0x85,0x05,0x05,0x05,0x85,0x75,0x05,0x05,0x35,0xC5,0x05,0x05,0x05,0x05,
0x85,0x95,0x95,0x95,0x95,0x95,0x95,0x95,0x15,0xF5,0x05,0x05,0x05,0xFD,0x01,0xFF,
0xFF,0x00,0xFF,0x00,0x10,0x7F,0x01,0x24,0x15,0x0C,0x04,0x7F,0x0C,0x14,0x25,0x00,
0x10,0x10,0x4F,0x48,0x20,0x1F,0x00,0x3F,0x00,0x00,0x7F,0x00,0x18,0x06,0x7F,0x42,
0x44,0x23,0x18,0x07,0x19,0x20,0x40,0x00,0x00,0x7F,0x22,0x22,0x22,0x3F,0x22,0x22,
0x22,0x7F,0x00,0x00,0x04,0x02,0x7F,0x44,0x40,0x27,0x18,0x07,0x78,0x47,0x70,0x00,
0x01,0x00,0x7F,0x40,0x49,0x49,0x49,0x7F,0x49,0x49,0x49,0x00,0x08,0x48,0x4A,0x4C,
0x29,0x18,0x0F,0x18,0x28,0x48,0x08,0x00,0x40,0x43,0x4C,0x40,0x7F,0x40,0x40,0x7F,
0x44,0x42,0x41,0x00,0x02,0x41,0x60,0x50,0x4C,0x43,0x28,0x30,0x61,0x02,0x02,0x00,
0x00,0x00,0x1E,0x12,0x12,0x12,0x1E,0x40,0x40,0x7F,0x00,0x00,0x00,0xFF,0x00,0xFF,
0xFF,0x00,0xFF,0x00,0xF8,0x04,0x04,0x04,0x0C,0x00,0xF0,0x08,0x04,0x44,0xCC,0x40,
0xF0,0x08,0x04,0x44,0xCC,0x40,0x00,0x08,0xFC,0x00,0x00,0x00,0x18,0x84,0x44,0x24,
0x18,0x00,0xD8,0x24,0x24,0x24,0xD8,0x00,0xF8,0x04,0x04,0x04,0xF8,0x00,0xF8,0x24,
0x24,0x2C,0xC0,0x00,0x40,0xB0,0x88,0xFC,0x80,0x00,0xFC,0x3C,0xC0,0x3C,0xFC,0x00,
0x00,0x08,0xFC,0x00,0x00,0x00,0x0C,0x04,0xE4,0x1C,0x04,0x00,0x20,0x20,0x20,0x20,
0x20,0x00,0x04,0x1C,0xE0,0x1C,0x04,0x00,0x04,0x04,0xFC,0x04,0x04,0x00,0xF0,0x08,
0x04,0x44,0xCC,0x40,0x20,0x20,0x20,0x20,0x20,0x00,0x04,0xFC,0x24,0x64,0x98,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0xFF,
0xFF,0x00,0x7F,0x40,0x41,0x42,0x42,0x42,0x41,0x40,0x40,0x41,0x42,0x42,0x41,0x40,
0x40,0x41,0x42,0x42,0x41,0x40,0x40,0x42,0x43,0x42,0x40,0x40,0x43,0x42,0x42,0x42,
0x42,0x40,0x41,0x42,0x42,0x42,0x41,0x40,0x41,0x42,0x42,0x42,0x41,0x40,0x41,0x42,
0x42,0x42,0x41,0x40,0x40,0x40,0x40,0x43,0x42,0x40,0x43,0x40,0x43,0x40,0x43,0x40,
0x40,0x42,0x43,0x42,0x40,0x40,0x40,0x40,0x43,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
0x40,0x40,0x40,0x42,0x43,0x42,0x40,0x40,0x42,0x42,0x43,0x42,0x42,0x40,0x40,0x41,
0x42,0x42,0x41,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x42,0x43,0x42,0x40,0x43,0x42,
0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x7F,0x00,0xFF,
0xFF,0x00,0xFE,0x02,0x02,0x02,0x22,0xE2,0x22,0x02,0x02,0x02,0xC2,0x22,0x22,0x22,
0x62,0x02,0x22,0xE2,0x22,0x22,0xC2,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x62,0x22,
0xE2,0x22,0x62,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
0x02,0x02,0xC2,0x02,0x02,0x02,0x02,0x02,0x22,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0xFE,0x00,0xFF,
0xFF,0x00,0xFF,0x00,0x00,0x00,0x10,0x1F,0x10,0x10,0x10,0x18,0x0F,0x10,0x10,0x10,
0x08,0x00,0x10,0x1F,0x10,0x10,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,
0x1F,0x10,0x00,0x00,0x00,0x0E,0x15,0x15,0x16,0x00,0x00,0x13,0x15,0x15,0x19,0x00,
0x00,0x01,0x0F,0x11,0x10,0x00,0x00,0x11,0x1F,0x10,0x00,0x00,0x11,0x1F,0x11,0x01,
0x1E,0x10,0x00,0x3A,0x55,0x55,0x53,0x21,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x7F,
0x51,0x11,0x0E,0x00,0x11,0x1F,0x12,0x01,0x01,0x00,0x00,0x0E,0x11,0x11,0x0E,0x00,
0x00,0x3A,0x55,0x55,0x53,0x21,0x11,0x1F,0x12,0x01,0x01,0x00,0x00,0x0A,0x15,0x15,
0x1E,0x10,0x1F,0x01,0x1F,0x01,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0xFF,
0xFF,0x00,0xFF,0x00,0x00,0x00,0x02,0x3E,0xC0,0x70,0x0E,0x02,0x02,0xFE,0x02,0x02,
0xFC,0x00,0x02,0xFE,0x02,0x02,0xFC,0x00,0x48,0x48,0x48,0x48,0x48,0x00,0x84,0x02,
0x12,0x12,0xEC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x84,0x02,0x12,0x12,0xEC,0x00,
0x02,0x3E,0xC0,0x70,0x0E,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x3E,0xC0,0x70,
0x0E,0x02,0x02,0xFE,0x02,0x00,0x00,0x80,0xFC,0x02,0x02,0x02,0x86,0x00,0x02,0xFE,
0x02,0x02,0xFC,0x00,0x48,0x48,0x48,0x48,0x48,0x00,0x1C,0xA2,0x22,0x22,0xFC,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x02,0x02,0x02,0xFC,0x00,0x02,0x3E,0xC0,0x70,
0x0E,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0xFF,
0xFF,0x80,0xBF,0xA0,0xA0,0xA0,0xA0,0xA0,0xA1,0xA0,0xA0,0xA0,0xA1,0xA1,0xA1,0xA1,
0xA0,0xA0,0xA1,0xA1,0xA1,0xA1,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA1,
0xA1,0xA1,0xA0,0xA0,0xA0,0xA1,0xA0,0xA0,0xA0,0xA0,0xA0,0xA1,0xA1,0xA1,0xA0,0xA0,
0xA0,0xA0,0xA1,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA1,0xA0,
0xA0,0xA0,0xA1,0xA1,0xA1,0xA1,0xA1,0xA1,0xA0,0xA1,0xA1,0xA1,0xA0,0xA0,0xA1,0xA1,
0xA1,0xA1,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA1,0xA1,0xA1,0xA0,0xA0,
0xA0,0xA1,0xA0,0xA0,0xA0,0xA0,0xA0,0xA1,0xA1,0xA1,0xA0,0xA0,0xA0,0xA0,0xA1,0xA0,
0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xBF,0x80,0xFF
};
void delayms(uint ms)
{
uint mm;
for(mm=0;mm<ms;mm++)
{ }
}
void delay(uint nnn)
{
uint mmm;
while(nnn-->0)
for(mmm=0;mmm<1000;mmm++)
{ }
}
void wcomd(uchar cdat)
{
int ic;
CS1=0;RS=0;
for(ic=8;ic>0;ic--)
{ cdat<<=1;
SID=CY;
SCLK=0;SCLK=1;
}
CS1=1;
}
void wdata(uchar ddat)
{
int id;
CS1=0;RS=1;
for(id=8;id>0;id--)
{ ddat<<=1;
SID=CY;
SCLK=0;SCLK=1;
}
CS1=1;
}
void initial()
{
delayms(150);
wcomd(0xe2); /* Reset */
delayms(250);
wcomd(0x40); /* Initial Display Line=0 */
wcomd(0xa2); /* LCD Bias Select(1/9) */
wcomd(0x25); /* Regulator Resistor Select */
wcomd(0x81); /* Set Reference Voltage Mode */
wcomd(0x33); /* Set Reference Voltage Register */
wcomd(0x2c); /* Power Control(VC=1) */
delayms(150);
wcomd(0x2e); /* Power Control(VR=1) */
delayms(150);
wcomd(0x2f); /* Power Control(VC,VR,VF=1) */
delayms(150);
wcomd(0xa0); /* ADC Select(seg132 to seg1) */
wcomd(0xc8); /* SHL Select(com1 to com64) */
wcomd(0xa6); /* Normal Display(Data is High to LCD is back) */
wcomd(0xa4); /* Entire Display */
wcomd(0xaf); /* Display On */
}
void disp_bmp(xchar *str)
{
uint i=0,j=0;
for(j=0;j<4;j++)
{
wcomd(j+0xb0);
wcomd(0x10);wcomd(0x01);
for(i=0;i<128;i++)
{
wdata(str[i+j*128+512]);
}
}
for(j=0;j<4;j++)
{
wcomd(j+0xb4);
wcomd(0x10);wcomd(0x01);
for(i=0;i<128;i++)
{
wdata(str[i+j*128]);
}
}
}
void disp_all(uint xx,uint yy)
{
uint i=0,j=0;
for(j=0xb0;j<0xb8;j++)
{
wcomd(j);
wcomd(0x10);wcomd(0x01);
for(i=0;i<64;i++)
{
wdata(xx);
wdata(yy);
}
}
}
void main(void)
{
RST=0;delay(5);RST=1;
while(1)
{
initial();
disp_bmp(tab2);delay(150);
wcomd(0xa7);delay(150); /* reverse Display */
wcomd(0xa6);delay(150);
disp_all(0xAA,0x55);delay(50);
disp_all(0x55,0xaa);delay(50);
disp_all(0xFF,0x00);delay(50);
disp_all(0x00,0xFF);delay(50);
disp_all(0x55,0x55);delay(50);
disp_all(0xaa,0xaa);delay(50);
disp_all(0xff,0xff);delay(50);
disp_all(0x00,0x00);delay(50);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -