⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcd-test.c

📁 Controller SED1065lcd显示测试程式
💻 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 + -