lcd.c

来自「LCD240X128 8051驱动 带keil完整工程」· C语言 代码 · 共 216 行 · 第 1/3 页

C
216
字号
}



void LCD_Initialize()
{
	LCD_Write_Command3(LCD_TXT_STP,0x00,0x00);
	LCD_Write_Command3(LCD_TXT_WID,32,0x00);
	LCD_Write_Command3(LCD_GRH_STP,0x00,0x00);
	LCD_Write_Command3(LCD_GRH_WID,32,0x00);
	LCD_Write_Command(LCD_MOD_OR);
	LCD_Write_Command(LCD_DIS_SW|0x08);
}

void  LCD_FillAll(uint8 dat)
{  uint32  i;

   LCD_Write_Command3(LCD_ADR_POS, 0x00, 0x00);			// 置地址指针
   LCD_Write_Command(LCD_AUT_WR);						// 自动写
   for(i=0;i<240*128;i++)
   {  
   LCD_Write_Data(dat);
   }
   LCD_Write_Command(LCD_AUT_OVR);						// 自动写结束
   LCD_Write_Command3(LCD_ADR_POS,0x00,0x00);			// 重置地址指针
}

void  LCD_UpdatePoint(uint32 x, uint32 y,uint8 dat)
{  uint32  addr; 
 
   /* 找出目标地址 */
   addr = y*(256>>3) + (x>>3);
   LCD_Write_Command3(LCD_ADR_POS, addr&0xFF, addr>>8);	// 置地址指针
   
   /* 输出数据 */
   LCD_Write_Command1(LCD_INC_WR, dat);
}

void Disp_LCD(uint8 *dat)
{
	uint8 i,j;
	for(j=0;j<127;j++)
	{
		for(i=0;i<239;)
		{
			LCD_UpdatePoint(i,j,*dat);
			dat++;
			i+=8;
		}
	}
}
void main()
{				 
	uint32 i,j;
	uint8 *dat;
	dat=BMP;
	CS1=0;
	CS2=0;
	LCD_Initialize();
//	LCD_FillAll(0x81);
//	LCD_Write_Command3(LCD_ADR_POS,0,0);
	CS1=1;CS2=0;
	Disp_LCD(BMP1);
	CS1=0;CS2=1;
	Disp_LCD(BMP);

	while(1);
}



⌨️ 快捷键说明

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