收到了实验箱,来交作业了。
不过寄来的屏是8位并口屏,不能配套SPI的程序。
手里有个ST7789的240*240 IPS屏,初步改一下看。
附件:STC8051U-ST7789-SPI+QSPI.rar
QSPI DMA + SPI DMA驱动液晶屏程序
按住矩阵键盘7后上电,芯片进入FLASH下载模式,使用6.94P版的ISP下载软件中的“串行Flash编程器”
工具将多幅图片(0-4)下载到实验箱的Flash中,然后重新上电(不要按矩阵键盘7),即可进入动画显示模式
显示时QSPI 读取Flash图片数据,通过P2P DMA直接发送数据到SPI-TFT显示图片。
QSPI读取Flash与SPI-TFT显示DMA的数据长度动态调节。
一共5个图片文件:
第一张为开机图(240 *240)
第二三四为动画图片(112 *152)
第五张为表盘图(240 *240)
表盘用来指示采集ADC键盘按键的数据
TFT-SPI模式, 用到P3口的SPI数据线, 实验箱需要交换MOSI和MISO的设置
sbit LCD_CLK = P3^2; //SPI时钟
sbit LCD_SDI = P3^3; //SPI写
sbit LCD_RST = P4^7; //复位
sbit LCD_DC = P1^1; //数据/命令切换
//sbit LCD_CS = P3^5; //片选 ***
sbit LCD_BL = P3^5; //背光
(手中的ST7789屏没有CS引脚,默认为一直有效,有需要自行修改。)
QSPI Flash 接口:
sbit QSPI_CS = P4^0;
sbit QSPI_SDI_IO0 = P4^1;
sbit QSPI_SDO_IO1 = P4^2;
sbit QSPI_SCK = P4^3;
sbit QSPI_WP_IO2 = P5^2;
sbit QSPI_HLD_IO3 = P5^3;
下载时, 选择时钟 40MHz