📄 0561.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 + -