📄 lcd-test.c
字号:
/* Controller : SED1065 D0B */
/* Tester : 66731 */
/* Interface : Serial */
#include "io51.h"
#define CS P3.2
#define A0 P3.0
#define RES P3.1
#define SDI P1.7
#define SCK P1.6
#define PAUSE P3.5
unsigned char *ptr;
unsigned char Index_page;
void DelayPAUSE (unsigned int Count);
void Delay (unsigned int DelayCount);
void WriteData ( unsigned char Data );
void WriteIns (unsigned char Ins );
void SerialTrans (unsigned char Sdata);
void InitialSetting ();
/* display any location and any size picture or character */
void DisplayXY (unsigned char SegAdd,unsigned char StartPage,
unsigned char SegNum,unsigned char PageNum);
/* display fixed one frame (8 page )*/
void FrameDisplay();
void FrameDisplay1();
void LogoDisplay();
void DspSnow();
void DspVertical();
void DspHorz();
void DspClear();
void DspAll();
void DspQQQ();
void Dspframe();
void DspLogo();
static const char Snow[]={
0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,
0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55
};
static const char Ver[]={
0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,
0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff
};
static const char Horz[]={
0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,
0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55
};
static const char Clear[]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
static const char All[]={
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff
};
static const char Qpat[]={
0x00,0x3E,0x41,0x51,0x21,0x5E,0x00,0x3E,0x41,0x51,0x21,0x5E,
0x00,0x3E,0x41,0x51,0x21,0x5E,0x00,0x3E,0x41,0x51,0x21,0x5E
};
static const char Frame[]={
0x00,0x01,0x80,0xff
};
static const char logo[]={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFC,0xCE,0xC6,
0xC6,0xC6,0xC4,0x6C,0x7C,0xFC,0xE6,0xE7,0xE3,0x83,0x07,0x0E,0x38,0xF8,0x10,0x10,
0x10,0x10,0x10,0x10,0x30,0x18,0x08,0x0C,0x0C,0x0C,0x0C,0x18,0xF0,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xEF,0x3D,0x30,0x6C,0x4E,
0x4F,0x6F,0x38,0x18,0x08,0x08,0x0F,0x0F,0x0F,0x08,0x08,0x0C,0x0E,0x07,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x0C,0x3F,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x62,0x26,0x7F,0xFF,0xE6,0x26,0x00,0x00,
0x00,0x00,0x38,0x38,0x38,0x00,0x00,0x00,0x00,0x00,0xC0,0x40,0x40,0xC0,0x80,0x00,
0x00,0x00,0x00,0x00,0x10,0x38,0x30,0x00,0x00,0x00,0x48,0xCC,0xEC,0xFF,0x8E,0x88,
0x08,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,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,0x06,0x06,0x03,0x07,0x1F,0x18,
0x30,0x30,0x60,0x60,0x60,0x60,0xC0,0xC0,0xC0,0xC0,0x61,0x39,0x09,0x19,0x38,0x20,
0xE0,0xE0,0xE0,0xE0,0xE0,0xF0,0xF0,0x78,0x7A,0x2E,0x2E,0x2F,0x6D,0x78,0xD0,0x80,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xF8,0x08,
0x0C,0x04,0x04,0x04,0xFC,0xFE,0x0F,0x01,0x0F,0x3F,0x78,0xC8,0x8C,0x8C,0x84,0xC6,
0xFF,0x7F,0x00,0x07,0x0F,0x79,0xC8,0x18,0x18,0x18,0x18,0x18,0x08,0x08,0x08,0x0F,
0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x0C,
0x18,0x18,0x10,0x10,0x3F,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x31,0x31,0x30,
0x30,0x30,0x30,0x30,0x30,0x30,0x33,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
void pause()
{
while (PAUSE);
}
unsigned char Base;
void main (void)
{
int i;
RES=0; /* hardware reset */
Delay(10000); /* delay 15 ms */
RES=1;
InitialSetting();
Base=0x10;
while(1)
{
DspSnow();
DspHorz();
DspVertical();
DspAll();
Dspframe();
DspQQQ();
/* DspLogo(); */
/* DspClear(); */
}
}
void InitialSetting ()
{
WriteIns(0xa3);/* bias set 1/7 */
WriteIns(0xa0);/* adc select:normal */
WriteIns(0xc0);/* common output select:normal */
/*extended command to change high frequency*/
/*WriteIns(0xa9);
WriteIns(0xc2);*/
WriteIns(0x26);/* internal regulator resistor ratio*/
WriteIns(0x2f);/* boot on;v/r on ;v/f on */
Delay(2000); /* delay 3 ms */
WriteIns(0x81);/* electrontic volume mode set*/
WriteIns(34); /* Vop筿溃 63 level*/
WriteIns(0x10);/* start line add for com0*/
WriteIns(0xaf);/* display on */
}
void DelayPAUSE (unsigned int Count)
{
while (Count>0)
{
Count--;
while (PAUSE)
{
}
}
}
void Delay (unsigned int DelayCount)/* delay time : per DelayCount about 1.5us*/
{
while (DelayCount>0)
{
DelayCount--;
}
}
void SerialTrans (unsigned char Sdata)
{
unsigned char i;
for (i=0;i<=7 ;i++ ) /* total bit is 8*/
{
SCK=0;
if ( (Sdata & 0x80 )==0x80 )
{
SDI=1;
}
else
{
SDI=0;
}
SCK=1;
Sdata=Sdata<<1;
}
}
void WriteIns (unsigned char Ins )
{
A0=0;
CS=0;
SerialTrans(Ins);
CS=1;
}
void WriteData ( unsigned char Data )
{
A0=1;
CS=0;
SerialTrans(Data);
CS=1;
}
void DisplayXY (unsigned char SegAdd,unsigned char StartPage,
unsigned char SegNum,unsigned char PageNum)
{
unsigned char SegMsb,SegLsb,j;
/* segmemt address decode */
SegLsb=(SegAdd & 0x0f );
SegMsb=((SegAdd & 0xf0 )>>4);
do
{
/* specificy start display address */
WriteIns(0xb0+StartPage++); /* start page command */
WriteIns(0x10+SegMsb);
WriteIns(SegLsb);
/* start to write display data */
for (j=0;j<SegNum ;j++ )
{
WriteData(*ptr);
ptr++;
}
PageNum--;
}
while (PageNum>0);
}
void FrameDisplay()
{
unsigned char p,m,n;
for (p=0;p<=7 ;p++ )/* toatal page num*/
{
WriteIns(0xb0+p); /* start page command */
WriteIns(0x10); /* segment msb address*/
WriteIns(0x0); /* segment lsb address*/
for (m=1;m<=132 ;m++ )
{
WriteData(*(ptr+(m%12)));
}
}
}
void FrameDisplay1()
{
int i,j,k;
unsigned char p,m,n;
for (p=0;p<=7 ;p++ )/* toatal page num*/
{
WriteIns(0xb0+p); /* start page command */
WriteIns(0x10); /* segment msb address*/
WriteIns(0x0); /* segment lsb address*/
for(i=0;i<128;i++)
{
if ( (i==0) || (i==127) ) k=3;
if ( (p>=1) && (p<=6) && (i>=1) && (i<=126) ) k=0;
if ( (p==0) && (i>=1) && (i<=126) ) k=1;
if ( (p==7) && (i>=1) && (i<=126) ) k=2;
WriteData(*(ptr+k));
}
}
}
void LogoDisplay()
{
int i,j,k;
unsigned char p,m,n;
for (p=0;p<8;p++)/* toatal page num*/
{
WriteIns(0xb0+p); /* start page command */
WriteIns(0x10); /* segment msb address*/
WriteIns(0x00); /* segment lsb address*/
for(i=0;i<128;i++)
{
WriteData(*(ptr++));
}
}
}
void DspSnow()
{
ptr=&Snow[0];
FrameDisplay();
Delay(60000);
pause();
}
void DspVertical()
{
ptr=&Ver[0];
FrameDisplay();
Delay(60000);
pause();
}
void DspHorz()
{
ptr=&Horz[0];
FrameDisplay();
Delay(60000);
pause();
}
void DspClear()
{
ptr=&Clear[0];
FrameDisplay();
pause();
}
void DspAll()
{
ptr=&All[0];
FrameDisplay();
Delay(60000);
pause();
}
void DspQQQ()
{
ptr=&Qpat[0];
FrameDisplay();
Delay(60000);
pause();
}
void Dspframe()
{
ptr=&Frame[0];
FrameDisplay1();
Delay(50000);
pause();
}
void DspLogo()
{
ptr=&logo[0];
LogoDisplay();
Delay(50000);
pause();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -