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

📄 0561.c

📁 杭州qingda光电5.6吋256色液晶屏的C51控制程序
💻 C
字号:
#include <reg51.h>
#include <absacc.h>

#define X_ADDR XBYTE[0x0000]
#define Y_ADDR XBYTE[0x0100]
#define CMD XBYTE[0x0200]
#define DAT XBYTE[0x0300]
void delay(void);
unsigned char code picture[];//单色图形
unsigned char code biaozhi[];//公司标志
unsigned char code hz1[];//清达光电
unsigned char code hz2[];//液晶显示专家
unsigned char code picture1[];//256色312*234图片
//unsigned char code picture3[];

void delay(void)
 {unsigned char i,j;
   for(i=32;i>0;i--)
    for(j=255;j>0;j--);
 }
main()
{

unsigned int x,y,k,m,n,z;
unsigned int i;
unsigned long r;
unsigned char j;

loop:



///////////////////////以下是测试基本功能//////////////////////////////////////
CMD=0x00;
for (y=0;y<234;y++)
 {  x=0;
    X_ADDR = x;
    X_ADDR = x/256;
    Y_ADDR = y;
    for (;x<320;x++)  DAT = 0xff;//清屏
  }

//*******************以下为公司图标及汉字显示*********************************
//用数组biaozhi,hz1,hz2
CMD = 0x02;DAT=0xe3;//DAT=0xe0;//前景色 紫色
CMD = 0x04;DAT=0xff;//背景色
CMD=0x01;

i=0;
for( y=70;y<116;y++ )//显示公司图标
{
 X_ADDR = 40;
 X_ADDR = 0;
 Y_ADDR = y;
 for( x=0;x<6;x++ )DAT=biaozhi[i++];
}

CMD=0x01;

i=0;
for(m=0;m<4;m++)
{
for( y=70;y<118;y++ )//    清达光电
{
 X_ADDR = (48*m+92)%256;
 X_ADDR = (48*m+92)/256;
 Y_ADDR = y;
 for( x=0;x<6;x++ )DAT=hz1[i++];}
}

CMD=0x01;

i=0;
for(m=0;m<6;m++)
{for( y=130;y<178;y++ )//    液晶显示专业
{

X_ADDR = (48*m+16)%256;
 X_ADDR = (48*m+16)/256;
 Y_ADDR = y;
 for( x=0;x<6;x++ )DAT=hz2[i++];}
}
for(y=0;y<30;y++){x=1;while(x!=0)x++;}
//***************************************************

CMD = 0x00;
for (y=0;y<234;y++)
 {  x=0;
    X_ADDR = x;
    X_ADDR = x/256;
    Y_ADDR = y;
    for (;x<320;x++)  DAT = 0xe0;//红色清屏
  }

CMD = 0x00;
for (y=0;y<234;y++)
 {  x=0;
    X_ADDR = x;
    X_ADDR = x/256;
    Y_ADDR = y;
    for (;x<320;x++)  DAT = 0x1c;//绿
  }

CMD = 0x00;
for (y=0;y<234;y++)
 {  x=0;
    X_ADDR = x;
    X_ADDR = x/256;
    Y_ADDR = y;
    for (;x<320;x++)  DAT = 0x03;//蓝
  }

i=0;
for(j=0;j<8;j++)//显示彩色方格
  {for (z=0;z<18;z++)
    {for (k=0;k<13;k++)
         {x=j*40;
          y=z*13+k;
          X_ADDR = x;
          X_ADDR = x/256;
          Y_ADDR = y;
          for (m=0;m<40;m++)DAT = i;
          }
     i++;
     }
  }

///////////////////////以下是单色图片测试程序 picture 为漫画1///////////////////////////////////////
//8点写模式下清屏DAT=0;
for(m=0;m<255;m++)//256色单色图形写入  可任意修改仅显示几幅
{


CMD = 0x02;DAT=m;//DAT=0xe0;//前景色
CMD = 0x04;DAT=0xff;//背景色
CMD = 0x01;
i=0;
for( y=0;y<234;y++ )//用前景色清屏
{
 X_ADDR = 0;
 X_ADDR = 0;
 Y_ADDR = y;
 for( x=0;x<20;x++ )DAT=picture[i++];

}

//for(y=0;y<30;y++){x=1;while(x!=0)x++;}
CMD = 0x02;DAT=0xff;//前景色
CMD = 0x04;DAT=m;//背景色
CMD = 0x01;
i=0;
for( y=0;y<234;y++ )//用前景色清屏
{
 X_ADDR = 160;
 X_ADDR = 0;
 Y_ADDR = y;
 for( x=0;x<20;x++ )DAT=picture[i++];
 }


for(y=0;y<8;y++){x=1;while(x!=0)x++;}


CMD = 0x02;DAT=0xff;//DAT=0xe0;//前景色
CMD = 0x04;DAT=m;//背景色
CMD = 0x01;
i=0;
for( y=0;y<234;y++ )//用前景色清屏
{
 X_ADDR = 0;
 X_ADDR = 0;
 Y_ADDR = y;
 for( x=0;x<20;x++ )DAT=picture[i++];

}


//for(y=0;y<30;y++){x=1;while(x!=0)x++;}
CMD = 0x02;DAT=m;//前景色
CMD = 0x04;DAT=0xff;//背景色
CMD = 0x01;
i=0;
for( y=0;y<234;y++ )//用前景色清屏
{
 X_ADDR = 160;
 X_ADDR = 0;
 Y_ADDR = y;
 for( x=0;x<20;x++ )DAT=picture[i++];

}

for(y=0;y<8;y++){x=1;while(x!=0)x++;} //延时

}
//*************************以上单色图形显示**********************************
//*************************以下为256色全彩图形显示程序Picture1图片312*234

⌨️ 快捷键说明

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