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

📄 12864.c

📁 本人收集的一些C语言程序
💻 C
📖 第 1 页 / 共 2 页
字号:
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};

/*------------------延时子程序-----------------------------*/
void delay(unsigned int t)
{
	unsigned int i,j;
	for(i=0;i<t;i++)
		for(j=0;j<10;j++)
			;
}

/*------------------写命令到LCD------------------------------*/
void write_com(unsigned char cmdcode)
{
	Di=0;RW=0;

	Lcd_Bus=cmdcode;delay(0);
	Enable=1;delay(0);
	Enable=0;
}

/*-------------------写数据到LCD----------------------------*/
void write_data(unsigned char Dispdata)
{
	Di=1;RW=0;

	Lcd_Bus=Dispdata;delay(0);
	Enable=1;delay(0);
	Enable=0;
}

/*------------------------读LCD数据----------------------------
unsigned char read_data(void)
{
	unsigned char tmpin;

	Di=1;RW=1;delay(0);

	Enable=1;delay(0);
	Enable=0;

	tmpin=Lcd_Bus;

	return tmpin;
}

/*------------------------显示边框-------------------------------*/
void frame(void)
{
	unsigned char i;
	
	Mcs=1;Scs=1;
	write_com(Page_Add+0);
	write_com(Col_Add+0);
	for(i=0;i<64;i++) 
		write_data(0x01);

	write_com(Page_Add+7);
	write_com(Col_Add+0);

	for(i=0;i<64;i++) 
		write_data(0x80);

	for(i=0;i<8;i++)
	{
		Mcs=0;Scs=1;
		write_com(Page_Add+i);
		write_com(Col_Add+63);
		write_data(0xff);

		Mcs=1;Scs=0;
		write_com(Page_Add+i);
		write_com(Col_Add+0);
		write_data(0xff);
	}
}

/*--------------------------清除内存------------------------------*/
void Clr_Scr(void)
{
	unsigned char j,k;
	
	Mcs=1;Scs=1;
 	write_com(Page_Add+0);
 	write_com(Col_Add+0);

 	for(k=0;k<8;k++)
	{
		write_com(Page_Add+k);
  		for(j=0;j<64;j++)
			write_data(0x00);
 	}
}

/*--------------------------指定位置显示汉字16*16-----------------------*/
void hz_disp16(unsigned char pag,unsigned char col, unsigned char code *hzk)
{
	unsigned char j=0,i=0;
	for(j=0;j<2;j++)
	{
		write_com(Page_Add+pag+j);
		write_com(Col_Add+col);
		for(i=0;i<16;i++) 
			write_data(hzk[16*j+i]);
	}

	delay(2000);//延时,显示时有跳动感
}

/*----------------------指定位置显示字母或数字8*16-----------------------*/
void e_disp16(unsigned char pag,unsigned char col, unsigned char code *hzk)
{
	unsigned char j=0,i=0;
	for(j=0;j<2;j++)
	{
		write_com(Page_Add+pag+j);
		write_com(Col_Add+col);
		for(i=0;i<8;i++) 
			write_data(hzk[8*j+i]);
	}

	delay(2000);//延时,显示时有跳动感
}

/*------------------显示128*64图片-------------------------------------*/
void Disp_Img(unsigned char code *img)
{
	unsigned char j,k;

 	for(k=0;k<8;k++)
	{
  		Mcs=1;Scs=0;delay(10);
  		write_com(Page_Add+k);
  		write_com(Col_Add+0);
  		for(j=0;j<64;j++) write_data(img[k*128+j]);

  		Mcs=0;Scs=1; delay(10);
  		write_com(Page_Add+k);
  		write_com(Col_Add+0);
  		for(j=64;j<128;j++) write_data(img[k*128+j]);
 	}
}

/*------------------显示64*64图片---------------------------------------
void Disp_Img2(unsigned char code *img)
{
	unsigned char j,k;
 	for(k=0;k<8;k++)
	{
  		Mcs=1;Scs=0;delay(10);
  		write_com(Page_Add+k);
  		write_com(Col_Add+0);
  		for(j=0;j<64;j++) write_data(img[k*64+j]);
 	}
}

/*-------------------------------初始化LCD屏---------------------------*/
void init_lcd(void)
{
	Lcd_Rst=0;delay(100);
	Lcd_Rst=1;delay(100);

	Mcs=1;Scs=1;delay(100);

	write_com(Disp_Off);
	write_com(Page_Add+0);
	write_com(Start_Line+0);
	write_com(Col_Add+0);
	write_com(Disp_On);
}

/*------------------------------信息显示-------------------------------*/
void Msg(void)
{
	Clr_Scr();   //清除内存
	frame();   //边框

	Mcs=1;Scs=0;//显示欢迎光临
	hz_disp16(1,32,huan);
	hz_disp16(1,48,ying);

	Mcs=0;Scs=1;
	hz_disp16(1,0,guang);
	hz_disp16(1,16,lin);
             
	Mcs=1;Scs=0;//湘灵电子工作室
	hz_disp16(3,0,xiang);
	hz_disp16(3,16,ling);
	hz_disp16(3,32,dian);
	hz_disp16(3,48,zi); 

	Mcs=0;Scs=1;
	hz_disp16(3,0,gong);
	hz_disp16(3,16,zuo);
	hz_disp16(3,32,shi);

	Mcs=1;Scs=0;//显示www.mculover.net
	e_disp16(5,0,w);
	e_disp16(5,8,w);
	e_disp16(5,16,w);
	e_disp16(5,24,di);
	e_disp16(5,32,m);
	e_disp16(5,40,c);
	e_disp16(5,48,u);
	e_disp16(5,56,l);

	Mcs=0;Scs=1;
	e_disp16(5,0,o);
	e_disp16(5,8,v);
	e_disp16(5,16,e);
	e_disp16(5,24,r);
	e_disp16(5,32,di);
	e_disp16(5,40,n);
	e_disp16(5,48,e);
	e_disp16(5,56,t);
}

/*------------------------------------------------------------------*/
void LED_on(void)
{
	led = on;
}

/*------------------------------------------------------------------*/
void LED_off(void)
{
	led = off;
}

/*---------------------------主程序---------------------------------*/
void main(void)
{
	LED_on();//D点亮背光灯!
	while(1)
	{
		init_lcd();
		Disp_Img(logo);
		delay(10000);
		Clr_Scr();   //清除内存
		Msg();
		delay(10000);
	}
}

⌨️ 快捷键说明

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