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

📄 lcd-tupian.c

📁 完整的LCD12864图片显示程序(显示:蓝极风电子)
💻 C
📖 第 1 页 / 共 2 页
字号:
0x80,0x00,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x07,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x81,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x81,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x09,0x29,0x29,0x20,0xF1,0x24,0xE7,0x92,0x40,0xE3,0x8E,0xC0,0x00,0x01,
0x80,0x04,0x0A,0xAA,0xAA,0xA0,0x89,0x25,0x14,0x55,0x41,0x14,0x49,0x20,0x40,0x01,
0x80,0x07,0x8A,0xAA,0xAA,0xA0,0x89,0x25,0xF4,0x55,0x41,0x04,0x49,0x23,0xC0,0x01,
0x80,0x04,0x0A,0xCA,0xCA,0xC0,0x89,0x25,0x04,0x55,0x81,0x04,0x49,0x20,0x40,0x01,
0x80,0x00,0x04,0x44,0x44,0x46,0x89,0x25,0x14,0x48,0x8D,0x14,0x49,0x20,0x00,0x01,
0x80,0x00,0x04,0x44,0x44,0x46,0xF1,0x1C,0xE7,0x88,0x8C,0xE3,0x89,0x20,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
};
			        
/************************************延时**********************************/
void delay100(int n)
{
	unsigned char i;
	while(n--)
	for(i=0;i<40;i++);
}

/*******************************LCD 忙标志查询*****************************/               
void lcd_busy(void)
{
 P0 = 0xff;
 RS = 0;
 RW = 1;
do {
    E = 1;
	busy = P0;
	E = 0;
	}while(busy>0x7f);
}

/*******************************写单字节函数*****************************/
void write(uchar x,uchar Data)
{
   lcd_busy();	                                //忙查询
   if(x == 0) 	   
   {
   	  RS = 0; RW = 0;                           //写单字节命令字
   }  
   else if(x == 1) 
   {
      RS = 1; RW = 0;                          //写单字节数据
   }	
   E  = 1;
   P0 = Data;
   E  = 0;
   P0 = 0xff;
}

/********************************LCD初始化*******************************/               
void Init_lcd(void)
{
  delay100(10);                                //启动等待,等LCM讲入工作状态

  write(0,0x30);	                           //8 位介面,基本指令集
  delay100(10);

  write(0,0x0c);	                           //显示打开,光标关,反白关
  delay100(10);

  write(0,0x01);	                           //清屏,将DDRAM的地址计数器归零
  delay100(10);
}

/****************************图形方式下显示图形***********************/
void lcdtest(void)
{ 
	unsigned char i,j,k;	                  //先设垂直地址再设水平地址(连续写入两个字节的资料来完成垂直与水平的坐标地址)
	int x=0;
	
	LCD_X=0x80;
	for(k=0;k<2;k++)                          //K=0->写上半屏数据;  K=1->写下半屏数据
	{
		write(0,0x80);
		for(i=0;i<32;i++)	                  //写垂直(Y轴)数据							   
		{
			write(0,0x80+i);write(0,LCD_X);
			for(j=0;j<16;j++) 	              //写水平(X轴)数据
			{
				write(1,pic[x]);  
				x++;
			}	   
		}
		LCD_X=0x88;	                         //重新设置X轴的起始地址
	}
}

void lcdtest2(void)
{ 
	unsigned char i,j,k;	                //先设垂直地址再设水平地址(连续写入两个字节的资料来完成垂直与水平的坐标地址)
	int x=0;
	
	LCD_X=0x80;
	for(k=0;k<2;k++)                        //K=0->写上半屏数据;  K=1->写下半屏数据
	{
		write(0,0x80);
		for(i=0;i<32;i++)	                //写垂直(Y轴)数据							   
		{
			write(0,0x80+i);write(0,LCD_X);
			for(j=0;j<16;j++) 	            //写水平(X轴)数据
			{
				write(1,pic2[x]);  
				x++;
			}	   
		}
		LCD_X=0x88;	                       //重新设置X轴的起始地址
	}
}


/*****************************清除屏幕******************************/
void lcdcls(void) 
{ 
	write(0,0x01); 
	write(0,0x34); 
	write(0,0x30); 
}

 
/******************************主程序*******************************/			
void main(void)
{
	delay100(500);
	Init_lcd();
	delay100(10);
	while(1)
	{

		write(0,0x36);                     //设置显示图形方式
		lcdtest();	                       //图形方式下显示(我的电脑和我的文档)
		delay100(5000);
		lcdcls();	                       //清除当前显示

		delay100(100);

		write(0,0x36);                    //设置显示图形方式
		lcdtest2();	                      //图形方式下显示(我的电脑和我的文档)
		delay100(5000);
		lcdcls();	                      //清除当前显示

	}
}

/******************************END***********************************/			 

⌨️ 快捷键说明

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