![]() |
angmall 发表于 2024-12-30 12:36 算了,不搞了,我还是个菜鸟,对C语言一知半解,仅限于会弄个流水灯 |
xiaoyuxinke 发表于 2024-12-30 10:06 右边这一排是你的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;//点亮背光 } |
angmall 发表于 2024-12-29 21:41 我只是用了S2SPI_S的11,也就是第四组P7.4-P7.5-P7.6-P7.7 P_SW3 = 0x30; 但是无法显示,只是白屏 不知道什么原因,头痛……。 |
xiaoyuxinke 发表于 2024-12-29 14:13 就是在那个LCD.h里面啊。 ![]() 这个是用硬件SPI,不可以随便换。 |
angmall 发表于 2024-12-28 20:52 这个程序引脚定义sbit在哪里啊,没找到 |
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并修改代码定义 //**************************************************************************************************/ |
113.3 KB, 下载次数: 0