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

📄 s6b0144.c

📁 1.77寸液晶屏初始化代码(s6b0144),128X160
💻 C
字号:
#include <reg51.H>
#include <intrins.h>

#define _BUS  P1
sbit _WR=P3^3;
sbit _RS=P3^4;
sbit _CS=P3^5;
sbit _RD=P3^1;
sbit _RST=P3^0;

unsigned char code pic[]=
{


};


void  Delay(unsigned int t)
{
	unsigned int n,m;
	for(n=0;n<t;n++)
		for(m=0;m<300;m++);
}

void Write_Index(unsigned char id)
{
    _RD=1;
    _RS=0;
	_CS=0;

    _BUS=0x00;
    _WR=0;
	_nop_();
    _WR=1;

    _BUS=id;
    _WR=0;
	_nop_();
    _WR=1;

	_CS=1;
    return;
}

void Write_Data(unsigned char dat_h,unsigned char dat_l)
{
    _RD=1;
    _RS=1;
	_CS=0;

	_BUS=dat_h;
    _WR=0;
	_nop_();
    _WR=1;


	_BUS=dat_l;
    _WR=0;
	_nop_();
    _WR=1;

	_CS=1;
    return;
}

void Write_Register(unsigned char id,unsigned char  dat_h,unsigned char dat_l)
{
    Write_Index(id);
    Write_Data(dat_h,dat_l);
    return;
}

void Initial_LCD()
{
    _RST=0;
	Delay(50);
    _RST=1;
	Delay(200);
    Write_Register(0x00,0x00,0x01);
	Delay(50);
    Write_Register(0xb4,0x00,0x10);
    Write_Register(0x12,0x00,0xb3);
    Write_Register(0x13,0x08,0x0d);
    Write_Register(0x14,0x78,0xd7);
    Write_Register(0x10,0x19,0x0c);
    Delay(100);
    Write_Register(0x13,0x08,0x1d);
    Delay(50);
    Write_Register(0x01,0x01,0x14);
    Write_Register(0x02,0x01,0x00);
    Write_Register(0x03,0x00,0x30);
    Write_Register(0x08,0x02,0x02);
    Write_Register(0x0b,0x00,0x00);
    Write_Register(0x0c,0x00,0x00);

    /*Gamma setting*/

    Write_Register(0x30,0x00,0x00);
    Write_Register(0x31,0x00,0x00);
    Write_Register(0x32,0x00,0x00);
    Write_Register(0x33,0x00,0x00);
    Write_Register(0x34,0x00,0x00);
    Write_Register(0x35,0x00,0x00);
    Write_Register(0x36,0x00,0x00);
    Write_Register(0x37,0x00,0x00);
    Write_Register(0x38,0x00,0x00);
 
    Write_Register(0x11,0x00,0x00);
     /*Gamma setting*/

    Write_Register(0x40,0x00,0x00);
    Write_Register(0x44,0x7f,0x00);
    Write_Register(0x45,0x9f,0x00);
 
    Write_Register(0x61,0x00,0x18);
    Write_Register(0x69,0x00,0x00);
    Write_Register(0x70,0x00,0x00);
    Write_Register(0x71,0x00,0x00);
    Write_Register(0x73,0x00,0x00);
    Write_Register(0xb3,0x00,0x00);
	
    Write_Register(0xbd,0x00,0x00);
    Write_Register(0xbe,0x00,0x00);

    Write_Register(0x07,0x00,0x01);
    Delay(5);
    Write_Register(0x07,0x00,0x21);
    Write_Register(0x07,0x00,0x23);
    Delay(60);
    Write_Register(0x07,0x00,0x37);
    return;
}

void Display_Color(unsigned char dat_h,unsigned char dat_l)
{
    unsigned char i,j;
	Write_Register(0x21,0x00,0x00);
	Write_Index(0x22);
	for(i=0;i<0xa0;i++)
	{
	    for(j=0;j<0x80;j++)
		    Write_Data(dat_h,dat_l);
	} 
}

void Display_Picture(unsigned char pic[])
{
    register unsigned char  j;
    register unsigned int  i,tmp1=0;
	Write_Register(0x21,0x00,0x00);
	Write_Index(0x22);
    for(j=0;j<0xa0;j++)
	{
        for(i=0;i<256;i+=2)
		{
		    tmp1+=2;
            Write_Data(pic[tmp1],pic[tmp1+1]);
	    }
	}
    return;
}
/*
void Display_Grid(void)
{
    unsigned char i,j;
	Write_Register(0x21,0x00,0x00);
	Write_Index(0x22);
    for(j=0;j<0xa0;j++)
	{
        for(i=0;i<64;i++)
		{
            Write_Data(0x00,0x00);
            Write_Data(0xff,0xff);
	    }
	} 
    Delay(500);
    for(j=0;j<0xa0;j++)
	{
        for(i=0;i<64;i++)
		{
            Write_Data(0xff,0xff);
            Write_Data(0x00,0x00);
	    }
	} 
	Delay(500);
    for(j=0;j<0x50;j++)
	{
        for(i=0;i<128;i++)
            Write_Data(0xff,0xff);
        for(i=0;i<128;i++)
		    Write_Data(0x00,0x00);
	}
    Delay(500);
    for(j=0;j<0x50;j++)
	{
        for(i=0;i<128;i++)
            Write_Data(0x00,0x00);
        for(i=0;i<128;i++)
		    Write_Data(0xff,0xff);
	}
    Delay(500);
    return;
}
*/

void Display_Grid(void)
{
    unsigned char i,j,k;
	Write_Register(0x21,0x00,0x00);
	Write_Index(0x22);
    for(j=0;j<0x02;j++)
	{
        for(i=0;i<10;i++)
		{
		    for(k=0;k<128;k++)
            Write_Data(0x00,0x00);
	    }
        for(i=0;i<10;i++)
		{
			for(k=0;k<128;k++)
            Write_Data(0xff,0xff);
	    }
        for(i=0;i<10;i++)
		{
		    for(k=0;k<128;k++)
            Write_Data(0xf8,0x00);
	    }
        for(i=0;i<10;i++)
		{
		    for(k=0;k<128;k++)
            Write_Data(0xff,0xe0);
	    }
        for(i=0;i<10;i++)
		{
		    for(k=0;k<128;k++)
            Write_Data(0x07,0xe0);
	    }
        for(i=0;i<10;i++)
		{
		    for(k=0;k<128;k++)
            Write_Data(0x07,0xff);
	    }
        for(i=0;i<10;i++)
		{
		    for(k=0;k<128;k++)
            Write_Data(0x00,0x1f);
	    }
        for(i=0;i<10;i++)
		{
		    for(k=0;k<128;k++)
            Write_Data(0xf8,0x1f);
	    }
	} 
    return;
}

void main(void)
{
    Initial_LCD();
	while(1)
	{
	Display_Grid();
    Delay(500);
	Display_Picture(pic);
    Delay(500);
    Display_Color(0xf8,0x00);
    Delay(500);
    Display_Color(0x07,0xe0);
    Delay(500);
	Display_Color(0x00,0x1f);
    Delay(500);
	}
    return;
}

⌨️ 快捷键说明

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