📄 lcd.c
字号:
#include "lcd.h"
//uchar xdata phototable[64][16]= {0x00};
uchar xdata phototable[64][16]=
{
0x00,0x00,0x0F,0xE7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x01,0xFF,0xFE,0x00,
0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x7F,0xF8,0x00,
0x00,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0x00,0x0F,0xC0,0x00,
0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0x7F,0xFF,0xE0,0x00,0x00,0x00,0x00,
0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0x7F,0xFF,0xF0,0x00,0x00,0x00,0x00,
0x00,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0x7F,0xFF,0xF8,0x00,0x00,0x00,0x00,
0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0x7F,0xFF,0xF8,0x00,0x00,0x00,0x00,
0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0x7F,0xFF,0xFC,0x00,0x00,0x00,0x00,
0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0x7F,0xFF,0xFE,0x00,0x00,0x00,0x00,
0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0x78,0x07,0xFE,0x00,0x00,0x00,0x00,
0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0x78,0x07,0xFF,0x00,0x00,0x00,0x00,
0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0x07,0xFF,0x80,0x00,0x78,0xF0,
0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0x07,0xFF,0xC0,0x00,0xFF,0xF8,
0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0x07,0xFF,0xC0,0x01,0xFF,0xFC,
0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0x07,0xFF,0xE0,0x01,0xFF,0xFC,
0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0x07,0xFF,0xE0,0x01,0xFF,0xFC,
0x00,0x40,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0x07,0xFF,0xF0,0x00,0xFF,0xF8,
0x01,0xC0,0x1F,0xFF,0xFF,0xE0,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0x00,0xFF,0xF8,
0x07,0xC0,0x1F,0xFF,0xFF,0xE0,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0x00,0x7F,0xF0,
0x07,0xC0,0x1F,0xFF,0xFF,0xE0,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0x3F,0xE0,
0x0F,0xC0,0x0F,0xFF,0xFF,0x80,0x1F,0xF8,0x07,0xFF,0xFF,0xFF,0xFF,0xE0,0x1F,0xC0,
0x0F,0xC0,0x0F,0xFF,0xF8,0x00,0x1F,0xF8,0x07,0xFF,0xFF,0xFF,0xFF,0xF8,0x07,0x00,
0x1F,0xC0,0x0F,0xFF,0xF0,0x00,0x1F,0xF8,0x07,0xFF,0xFF,0xFF,0xFF,0xFE,0x00,0x00,
0x1F,0xC0,0x0F,0xFF,0xF0,0x00,0x1F,0xF8,0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,
0x1F,0xE0,0x07,0xFF,0xF0,0x00,0x1F,0xF8,0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0x00,
0x7F,0xE0,0x07,0xFF,0xF0,0x00,0x1F,0xF8,0x07,0xFF,0x00,0x3F,0xFF,0xFF,0xC0,0x00,
0x7F,0xE0,0x07,0xFF,0xF0,0x00,0x1F,0xF8,0x07,0xFF,0x00,0x3F,0xFF,0xFF,0xC0,0x00,
0xFF,0xE0,0x07,0xFF,0xF0,0x00,0x1F,0xF8,0x07,0xFF,0x00,0x07,0xFF,0xFF,0xE0,0x00,
0xFF,0xF0,0x07,0xFF,0xF0,0x00,0x1F,0xFF,0xFF,0xFF,0x00,0x07,0xFF,0xFF,0xF0,0x00,
0xFF,0xF0,0x07,0xFF,0xF0,0x00,0x1F,0xFF,0xFF,0xFF,0x00,0x07,0xFF,0xE1,0xC0,0x00,
0xFF,0xF0,0x07,0xFF,0xF0,0x00,0x1F,0xFF,0xFF,0xFF,0x00,0x07,0xFF,0xDE,0x3C,0x00,
0xFF,0xF0,0x07,0xFF,0xF0,0x00,0x3F,0xFF,0xFF,0xFF,0x00,0x07,0xFF,0xBF,0xFE,0x00,
0xFF,0xF8,0x07,0xFF,0xFF,0x80,0x3F,0xFF,0xFF,0xFF,0x00,0x07,0xFF,0x7F,0xFF,0x00,
0xFF,0xF8,0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x07,0xFF,0x7F,0xFF,0x00,
0xFF,0xF8,0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x07,0xFF,0x7F,0xFF,0x00,
0xFF,0xF8,0x07,0xFE,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0x00,0x07,0xFF,0xBF,0xFE,0x00,
0xFF,0xF8,0x00,0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0x00,0x07,0xFF,0xBF,0xFE,0x00,
0xFF,0xF8,0x00,0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0x00,0x07,0xFF,0xDF,0xFD,0x00,
0xFF,0xF8,0x00,0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0x00,0x07,0xFF,0xEF,0xFB,0x00,
0xFF,0xF8,0x00,0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0x80,0x0F,0xFF,0xF7,0xF7,0x00,
0xFF,0xF8,0x00,0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0x80,0x0F,0xFF,0xF9,0xCF,0x00,
0xFF,0xF8,0x00,0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0x80,0x0F,0xFF,0xFE,0x3F,0x00,
0xFF,0xF8,0x00,0x00,0x00,0x3F,0xFF,0xF0,0x00,0xFF,0xC0,0x0F,0xFF,0xFF,0xFF,0x00,
0x7F,0xF8,0x00,0x00,0x01,0xFF,0xFF,0xE0,0x00,0x7F,0xC0,0x0F,0xFF,0xFF,0xFF,0x00,
0xFF,0xF8,0x00,0x0F,0xFF,0xFF,0xFF,0xE0,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,
0xFF,0xF8,0x00,0x3F,0xFF,0xFF,0xFF,0xC0,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,
0xFF,0xF8,0x00,0x3F,0xFF,0xFF,0xFE,0x00,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x00,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,0x00,0x1F,0xFF,0xF7,0xFF,0xFF,0xFF,0xE0,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,0x00,0x1F,0xFF,0xF7,0xFF,0xFF,0xFF,0xF0,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE7,0xFF,0xFF,0xFF,0xF8,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE3,0xFF,0xFF,0xFF,0x3C,/*"X:\1281.bmp",0*/
};
void delay(unsigned int cnt)
{
while(cnt--);
}
void neicun()
{SFRPAGE=0x00;
EMI0CF =0x10;//片内内存,地址不复用,置于P0-P3口
}
void writezkst(bit b,uchar x)
{ uchar i,j;
SFRPAGE=0x0f;
cs=1;sid=1;
for(i=0;i<5;i++)
{clk=0;_nop_();clk=1;
}
sid=0;
clk=0;_nop_();clk=1;
sid=b;
clk=0;_nop_();clk=1;
sid=0;
clk=0;_nop_();clk=1;
for(j=0;j<2;j++) //后面是数据
{
for(i=0;i<4;i++)
{sid=x&0x80;
clk=0;_nop_();clk=1;
x<<=1;
}
sid=0;
for(i=0;i<4;i++)
{ clk=0;_nop_();clk=1;
}
}
cs=0;
//delay(40);
delay(100);
}
void cshzkst()
{writezkst(0,0x30);
writezkst(0,0x30);
writezkst(0,0x0c);
writezkst(0,0x01);
delay(10000);
writezkst(0,0x06);
}
void wlinest(uchar x,uchar *p)
{uchar i;
writezkst(0,x);
for(i=0;i<16;i++)
{writezkst(1,p[i]);
}
}
void photo(uchar p[][16])
{uchar i,j,k,x=0x80,y=0x80;
//uint as=0;
writezkst(0,0x34);
// writezkst(0,0x80);
writezkst(0,0x01);
delay(10000);
for(k=0;k<2;k++)
{
for(j=(0+k*32);j<(32+32*k);j++)
{ writezkst(0,y);
writezkst(0,x);
for(i=0;i<16;i++)
{
writezkst(1,p[j][i]);
//p++;
}
y+=1;
}
x=0x88;y=0x80;
}
writezkst(0,0x36);
writezkst(0,0x30);
}
void qpnc(uchar p[][16])
{char i,j;
for(i=0;i<64;i++)
for(j=0;j<16;j++)
p[i][j]=0x00;
}
void suanma(uchar x,uchar y)//x列 y行 x:0-127,y:0-63
{ uchar wei,ddt=0x01; //ddt=0x80;
wei=x%8; //wei=x%8;
wei=7-wei; //这句不要
ddt<<=wei; //ddt>>=wei;
phototable[y][x/8]|=ddt;
}
void boxing(uchar m)
{uchar i;
float ww,wf;
for(i=0;i<128;i++)
{
ww=i*((pi*2)/64);
wf=sin(ww);
if(wf>0)
ww=31-31*wf;
else
{ww=31*fabs(wf)+31;
}
wf=(uchar)ww;
if(ww-wf>0.5)wf++;
suanma((i+m)%128,wf);
}
}
/*
void main()
{ uchar i;//,qq;
SFRPAGE=0x0f;
psb=0;rst=1;
cshzkst();
while(1)
{
qpnc(phototable);
boxing(i);i++;
photo(phototable);
delay1s();
}
while(1);
/*
wlinest(0x80,h1);
wlinest(0x90,h2);
wlinest(0x88,h3);
wlinest(0x98,h4);
//for(i=0;i<0xff;i++)
//XBYTE[i]=0x77;
//for(i=0;i<0xff;i++)
//qq= XBYTE[i];
//qq= XBYTE[0x0eff];
while(1);
} */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -