- 打卡等级:以坛为家I
- 打卡总天数:367
- 最近打卡:2026-06-13 07:31:59
高级会员
- 积分
- 977
|
用STC32G144K246的63例程
【63-QSPI-TFT_DMA_P2P外设到外设_显示视频级动画效果程序-ILI9341】
把屏改成V7789, 8位数据P2后黑屏(背光是亮的),
不知问题出在那?
请大家指点

void LCM_Init()
{
P2BP &= ~0xff; //使能LCM的D0~D8数据脚硬件自动设置端口模式
P4M0 |= 0x34; //RS,WR,RD设置成推挽输出
P4M1 &= ~0x34;
P5M0 |= 0x02; //RST设置成推挽输出
P5M1 &= ~0x02;
P4M0 |= 0x08; //CS设置成推挽输出
P4M1 &= ~0x08;
LCMIFCR = 0x80|CRMODE;
LCMIFCFG = 0x00; //8位模式
LCMIFCFG2 = 0x00; //
LCMIFSTA = 0x00;
}
void LCM_WriteCmd_CS(WORD cmd)
{
LCMIFDATL = cmd;
LCM_CS_L();
LCMIFCR = 0x84|CRMODE;
while (!(LCMIFSTA & 0x01));
LCMIFSTA = 0x00;
LCM_CS_H();
}
void LCM_WriteData_CS(WORD dat)
{
LCMIFDATL = dat;
LCM_CS_L();
LCMIFCR = 0x85|CRMODE;
while (!(LCMIFSTA & 0x01));
LCMIFSTA = 0x00;
LCM_CS_H();
}
void TFT_Init()
{
LCM_CS_H();
delay_ms(50);
LCM_RST = 0;
delay_ms(150);
LCM_RST = 1;
delay_ms(50);
LCM_WriteCmd_CS(0x11);
delay_ms(50);
LCM_WriteCmd_CS(0x36);
LCM_WriteData_CS(0x60);//FPC朝左(0xa0),FPC朝右(0x60)FPC朝上(0xc0)FPC朝下(0x48)
LCM_WriteCmd_CS(0x3A);
LCM_WriteData_CS(0x05);
LCM_WriteCmd_CS(0xB2);
LCM_WriteData_CS(0x0C);
LCM_WriteData_CS(0x0C);
LCM_WriteData_CS(0x00);
LCM_WriteData_CS(0x33);
LCM_WriteData_CS(0x33);
LCM_WriteCmd_CS(0xB7);
LCM_WriteData_CS(0x76);
LCM_WriteCmd_CS(0xBB);
LCM_WriteData_CS(0x26);
LCM_WriteCmd_CS(0xC0);
LCM_WriteData_CS(0x2C);
LCM_WriteCmd_CS(0xC2);
LCM_WriteData_CS(0x01);
LCM_WriteCmd_CS(0xC3);
LCM_WriteData_CS(0x1F);
LCM_WriteCmd_CS(0xC4);
LCM_WriteData_CS(0x20);
LCM_WriteCmd_CS(0xC6);
LCM_WriteData_CS(0x0F);
LCM_WriteCmd_CS(0xD0);
LCM_WriteData_CS(0xA7);
LCM_WriteData_CS(0xA1);
LCM_WriteCmd_CS(0xD0);
LCM_WriteData_CS(0xA4);
LCM_WriteData_CS(0xA1);
LCM_WriteCmd_CS(0xD6);
LCM_WriteData_CS(0xA1);
LCM_WriteCmd_CS(0xE0);
LCM_WriteData_CS(0xF0);
LCM_WriteData_CS(0x00);
LCM_WriteData_CS(0x06);
LCM_WriteData_CS(0x02);
LCM_WriteData_CS(0x04);
LCM_WriteData_CS(0x13);
LCM_WriteData_CS(0x30);
LCM_WriteData_CS(0x44);
LCM_WriteData_CS(0x46);
LCM_WriteData_CS(0x39);
LCM_WriteData_CS(0x14);
LCM_WriteData_CS(0x14);
LCM_WriteData_CS(0x2D);
LCM_WriteData_CS(0x36);
LCM_WriteCmd_CS(0xE1);
LCM_WriteData_CS(0xF0);
LCM_WriteData_CS(0x0A);
LCM_WriteData_CS(0x0E);
LCM_WriteData_CS(0x0E);
LCM_WriteData_CS(0x0B);
LCM_WriteData_CS(0x05);
LCM_WriteData_CS(0x2F);
LCM_WriteData_CS(0x43);
LCM_WriteData_CS(0x46);
LCM_WriteData_CS(0x36);
LCM_WriteData_CS(0x12);
LCM_WriteData_CS(0x12);
LCM_WriteData_CS(0x2A);
LCM_WriteData_CS(0x32);
LCM_WriteCmd_CS(0x21);
delay_ms(200);
LCM_WriteCmd_CS(0x29);
LCM_WriteCmd_CS(0x2C);
}//这个v7789我在32G12K128上通过
void TFT_ShowStart()
{
LCM_WriteCmd_CS(0x2A);
LCM_WriteData_CS(0);
LCM_WriteData_CS(0);
LCM_WriteData_CS((BYTE)(TFT_W>>8));
LCM_WriteData_CS(0x00FF&TFT_W);
LCM_WriteCmd_CS(0x2B);
LCM_WriteData_CS(0);
LCM_WriteData_CS(0);
LCM_WriteData_CS((BYTE)(TFT_H>>8));
LCM_WriteData_CS(0x00FF&TFT_H);
LCM_WriteCmd_CS(0x2C);
LCM_CS_L();
}//这个改成v7789后不知是否要改
|
-
|