找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

求大神帮忙点亮TFT彩屏

查看数: 1731 | 评论数: 7 | 收藏 2
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2024-12-28 10:57

正文摘要:

近日朋友送了个TFT3.5寸的彩屏,用的是ILI9488的驱动这个是屏的正面:

回复

ID:61140 发表于 2024-12-30 20:03
angmall 发表于 2024-12-30 12:36
右边这一排是你的TFT彩屏 初始化参数。他和我的彩屏初始化参数不一样,你可以换一下。

算了,不搞了,我还是个菜鸟,对C语言一知半解,仅限于会弄个流水灯
ID:155507 发表于 2024-12-30 12:36
xiaoyuxinke 发表于 2024-12-30 10:06
我只是用了S2SPI_S的11,也就是第四组P7.4-P7.5-P7.6-P7.7
P_SW3 = 0x30;
但是无法显示,只是白屏


右边这一排是你的TFT彩屏 初始化参数。他和我的彩屏初始化参数不一样,你可以换一下。


void LCD_Init(void)
{
        SPI_init(); //初始化硬件SPI
        LCD_ResetFun(); //初始化之前复位
//************* ILI9488初始化**********//        //ILI9488+CTC3.5
        LCD_WR_REG(0XF7);                                        WriteComm(0XF7);
        LCD_WR_DATA(0xA9);                                        WriteData(0xA9);
        LCD_WR_DATA(0x51);                                        WriteData(0x51);
        LCD_WR_DATA(0x2C);                                        WriteData(0x2C);
        LCD_WR_DATA(0x82);                                        WriteData(0x82);

        LCD_WR_REG(0xC0);                                        WriteComm(0xC0);
        LCD_WR_DATA(0x11);                  WriteData(0x10);
        LCD_WR_DATA(0x09);                  WriteData(0x10);

        LCD_WR_REG(0xC1);                                        WriteComm(0xC1);
        LCD_WR_DATA(0x41);                  WriteData(0x41);

        LCD_WR_REG(0XC5);                                        WriteComm(0xC5);
        LCD_WR_DATA(0x00);                  WriteData(0x00);
        LCD_WR_DATA(0x0A);                  WriteData(0x22);
        LCD_WR_DATA(0x80);                  WriteData(0x80);

        LCD_WR_REG(0xB1);                                        WriteComm(0xB1);
        LCD_WR_DATA(0xB0);                  WriteData(0xB0);
        LCD_WR_DATA(0x11);                  WriteData(0x11);

        LCD_WR_REG(0xB4);                                        WriteComm(0xB4);
        LCD_WR_DATA(0x02);                  WriteData(0x02);

        LCD_WR_REG(0xB6);                                        WriteComm(0xB6);
        LCD_WR_DATA(0x02);                  WriteData(0x02);
        LCD_WR_DATA(0x42);                  WriteData(0x02);

        LCD_WR_REG(0xB7);                                        WriteComm(0xB7);
        LCD_WR_DATA(0xc6);                  WriteData(0xC6);

        LCD_WR_REG(0xBE);                                        //WriteComm(0XBE);
        LCD_WR_DATA(0x00);                  //WriteData(0x00);
        LCD_WR_DATA(0x04);                  //WriteData(0x04);

        LCD_WR_REG(0xE9);                                        WriteComm(0xE9);
        LCD_WR_DATA(0x00);                  WriteData(0x00);

        LCD_WR_REG(0x36);                                                        WriteComm(0x36);
        LCD_WR_DATA((1<<3)|(0<<7)|(1<<6)|(1<<5));   WriteData(0x48);

        LCD_WR_REG(0x3A);                                WriteComm(0x3A);       
        LCD_WR_DATA(0x66);              WriteData(0x66);

        LCD_WR_REG(0xE0);                                WriteComm(0xE0);
        LCD_WR_DATA(0x00);              WriteData(0x00);
        LCD_WR_DATA(0x07);              WriteData(0x07);
        LCD_WR_DATA(0x10);              WriteData(0x0f);
        LCD_WR_DATA(0x09);              WriteData(0x0D);
        LCD_WR_DATA(0x17);              WriteData(0x1B);
        LCD_WR_DATA(0x0B);              WriteData(0x0A);
        LCD_WR_DATA(0x41);              WriteData(0x3c);
        LCD_WR_DATA(0x89);              WriteData(0x78);
        LCD_WR_DATA(0x4B);              WriteData(0x4A);
        LCD_WR_DATA(0x0A);              WriteData(0x07);
        LCD_WR_DATA(0x0C);              WriteData(0x0E);
        LCD_WR_DATA(0x0E);              WriteData(0x09);
        LCD_WR_DATA(0x18);              WriteData(0x1B);
        LCD_WR_DATA(0x1B);              WriteData(0x1e);
        LCD_WR_DATA(0x0F);              WriteData(0x0f);

        LCD_WR_REG(0XE1);                                WriteComm(0xE1);               
        LCD_WR_DATA(0x00);              WriteData(0x00);
        LCD_WR_DATA(0x17);              WriteData(0x22);
        LCD_WR_DATA(0x1A);              WriteData(0x24);
        LCD_WR_DATA(0x04);              WriteData(0x06);
        LCD_WR_DATA(0x0E);              WriteData(0x12);
        LCD_WR_DATA(0x06);              WriteData(0x07);
        LCD_WR_DATA(0x2F);              WriteData(0x36);
        LCD_WR_DATA(0x45);              WriteData(0x47);
        LCD_WR_DATA(0x43);              WriteData(0x47);
        LCD_WR_DATA(0x02);              WriteData(0x06);
        LCD_WR_DATA(0x0A);              WriteData(0x0a);
        LCD_WR_DATA(0x09);              WriteData(0x07);
        LCD_WR_DATA(0x32);              WriteData(0x30);
        LCD_WR_DATA(0x36);              WriteData(0x37);
        LCD_WR_DATA(0x0F);              WriteData(0x0f);

        LCD_WR_REG(0x11);  //Sleep OUT (11h)
        delay_ms(120);
        LCD_WR_REG(0x29);  //Display ON (29h)        

        //设置LCD属性参数
        LCD_direction(USE_HORIZONTAL);//设置LCD显示方向
        LCD_BL=1;//点亮背光         
}



ID:61140 发表于 2024-12-30 10:06
angmall 发表于 2024-12-29 21:41
就是在那个LCD.h里面啊。

我只是用了S2SPI_S的11,也就是第四组P7.4-P7.5-P7.6-P7.7
P_SW3 = 0x30;
但是无法显示,只是白屏
不知道什么原因,头痛……。
ID:155507 发表于 2024-12-29 21:41
xiaoyuxinke 发表于 2024-12-29 14:13
这个程序引脚定义sbit在哪里啊,没找到

就是在那个LCD.h里面啊。


这个是用硬件SPI,不可以随便换。

ID:61140 发表于 2024-12-29 14:13
angmall 发表于 2024-12-28 20:52
SPI驱动TFT屏ILI9488的程序@STC32
===STC32G12K128, STC8H8K64U, 开源代码源程序见附件

这个程序引脚定义sbit在哪里啊,没找到
ID:155507 发表于 2024-12-28 10:57
SPI驱动TFT屏ILI9488的程序@STC32
===STC32G12K128, STC8H8K64U, 开源代码源程序见附件




/=========================================电源接线================================================//
//5V接DC 5V电源
//GND接地
//=======================================液晶屏数据线接线==========================================//
//本模块默认数据总线类型为SPI
//液晶屏模块            单片机
// SDI(MOSI)     接       P23        //SPI写信号
// SDO(MISO)     接       P         //SPI读信号,如果不需要读功能,此管脚可不接
//=======================================液晶屏控制线接线==========================================//
//液晶屏模块            单片机
//  CS           接       P34       //片选控制信号
//  RESET        接       P43       //复位信号
//  DC           接       P45       //数据/命令选择控制信号
//  SCK          接       P25       //SPI时钟信号
//  LED          接       P42       //背光控制信号,如果使用STC89C52RC单片机或者不需要控制,接3.3V
//=========================================触摸屏接线=========================================//
//不使用触摸或者模块本身不带触摸,则可不连接

//触摸屏使用的数据总线类型为SPI
//触摸屏模块            单片机
//  T_CLK        接       P25       //触摸屏SPI时钟信号
//  T_CS         接       P52       //触摸屏片选控制信号
//  T_DIN        接       P23       //触摸屏SPI写信号
//  T_DO         接       P24       //触摸屏SPI读信号
//  T_IRQ        接       P36       //触摸屏响应检查信号,如单片机无P4组,请自行更改其他可用IO并修改代码定义
//**************************************************************************************************/





STC32G_ILI9488.zip

113.3 KB, 下载次数: 0

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表