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 + -
显示快捷键?