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

📄 lcd.c

📁 用F0404这一款单片机
💻 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 + -