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

📄 mcg-g9867dfsw-5w-e.txt

📁 信利c-stn屏MCG-G9867DFSW-5W-E初始化程序
💻 TXT
字号:
/**************************Color_lcd.h***********************************/
#define LCD_data  PTAD
#define CS        PTGD_PTGD2
#define RS        PTGD_PTGD1
#define WR        PTGD_PTGD0        

void Delayms(unsigned char de)
{
    while(de--)
        __RESET_WATCHDOG();
}
void LCD_WriteCommand(unsigned char cmd1)
{
      PTGD=0X00; 
      LCD_data=cmd1;
      __RESET_WATCHDOG();
      WR=1;
      CS=1;
      Delayms(12);
} 

void LCD_WriteDouCommand(unsigned char cmd1,unsigned char cmd2)
{
     LCD_WriteCommand(cmd1);
     LCD_WriteCommand(cmd2);
}
           
void LCD_WriteData(char data1)
{
      PTGD=0X02;     
      LCD_data=data1;     
      __RESET_WATCHDOG();
      WR=1;
      CS=1;
      Delayms(12);
}

void LCD_DispINTByte(unsigned int intb)
{
    unsigned char i;
    for(i=0;i<16;i++)
    {
        if(intb&0x8000)
        {
           LCD_WriteData(0xe0);
           LCD_WriteData(0xe0);
        }
        else 
        {
           LCD_WriteData(0x18);
           LCD_WriteData(0x18);
        }
        intb<<=1;
    }
}

/*void LCD_DispWord_Column(unsigned char x,unsigned char y,unsigned char f_color,unsigned char b_color,const unsigned int *wb)
{
    unsigned char i;
    unsigned char row;
    //LCD_WriteDouCommand(0x10,2);    //Column address
    //LCD_WriteDouCommand(0x70,0x63); //Row    address
    LCD_WriteDouCommand(0xF5,x);    //y  start address |
    LCD_WriteDouCommand(0xF7,y+15); //y  end address   |
    LCD_WriteDouCommand(0xF4,y);    //x  start address - 
    LCD_WriteDouCommand(0xF6,x+15); //x  end address   -
    row=x+y*16;
    for(i=0;i<row;i++)
    {
      LCD_WriteData(b_color);   
      LCD_WriteData(b_color);   
    }
       
    for(i=0;i<16;i++)
    {
       LCD_DispINTByte(f_color,b_color,wb[i]);
    }
}*/
void fill(unsigned char n)
{
    unsigned char i;
    for(i=0;i<=n;i++)
    {
       LCD_WriteData(0x18);   
       LCD_WriteData(0x18);
    }
}
void LCD_WelcomePage(const unsigned int *w1,const unsigned int *w2,const unsigned int *w3,const unsigned int *w4,const unsigned int *w5,const unsigned int *w6,const unsigned int *w7,const unsigned int *w8)
{
    unsigned char i;
    LCD_WriteDouCommand(0xF5,0);  //y  start address |
    LCD_WriteDouCommand(0xF7,66); //y  end address   |
    LCD_WriteDouCommand(0xF4,0);  //x  start address - 
    LCD_WriteDouCommand(0xF6,97); //x  end address   -
    
    for(i=0;i<16;i++)
    {
          fill(65);
          LCD_DispINTByte(w1[i]);
          LCD_DispINTByte(w2[i]);
    }
    for(i=0;i<16;i++)
    {
          fill(65);
          LCD_DispINTByte(w3[i]);
          LCD_DispINTByte(w4[i]);
    }
    for(i=0;i<16;i++)
    {
          fill(65);
          LCD_DispINTByte(w5[i]);
          LCD_DispINTByte(w6[i]);
    }
    for(i=0;i<16;i++)
    {
          fill(65);
          LCD_DispINTByte(w7[i]);
          LCD_DispINTByte(w8[i]);
    }
}
void LCD_Init(void)
{
   unsigned char i;             
   unsigned char j;
   LCD_WriteCommand(0xE2);    //System Reset
   Delayms(50);
   LCD_WriteCommand(0xA3);    //Set Line Rate
   LCD_WriteCommand(0xC0);    //Set LCD Mapping Control
   LCD_WriteCommand(0xE9);    //Bias Ratio
   LCD_WriteCommand(0x28);    //Panel
   LCD_WriteCommand(0x2f);    //Pump  
   
   LCD_WriteDouCommand(0x81,190);	  //Set Contrast
   
   LCD_WriteCommand(0xD1);   //Color Pattern
   LCD_WriteCommand(0xD4);   //Color Mode:256 color
   
   LCD_WriteDouCommand(0xf1,66);   //Set COM End
   
   //LCD_WriteDouCommand(0xF2,0);  //Partial start and end address 
   //LCD_WriteDouCommand(0xF3,60);
   //LCD_WriteCommand(0x86);       //Enable Partial
   
                                //Window start and end address
   LCD_WriteDouCommand(0xF4,0);  //x  start address - 
   LCD_WriteDouCommand(0xF5,0);  //y  start address |
   LCD_WriteDouCommand(0xF6,97); //x  end address   -
   LCD_WriteDouCommand(0xF7,66); //y  end address   |
   
   LCD_WriteDouCommand(0x10,0);    //Column address
   LCD_WriteDouCommand(0x70,0x60); //Row    address
   LCD_WriteCommand(0x89);         //RAM Address Control, 
   LCD_WriteCommand(0xc2);         //Mirror X 
   LCD_WriteCommand(0xf9);         //Enable Window progam
   //LCD_WriteCommand(0xa7);       //Set All Pixel ON
   LCD_WriteCommand(0xaf);         //Set Display Enable 
   Delayms(5);                
   for(i=0;i<=66;i++)
     for(j=0;j<=97;j++)
     {
        LCD_WriteData(0x18);       //Set bottom color
        LCD_WriteData(0x18); 
     }
   LCD_WriteDouCommand(0xF4,0);    //Window start and end address
   LCD_WriteDouCommand(0xF5,0);
   LCD_WriteDouCommand(0xF6,63);
   LCD_WriteDouCommand(0xF7,63); 
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -