找回密码
 立即注册
查看: 1159|回复: 4

STC8H8K64U搭配RA8889如何控制TFT彩屏(附SPI4源码)

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2024-07-16 17:00:04

5

主题

14

回帖

375

积分

中级会员

积分
375
发表于 2024-7-1 23:35:34 | 显示全部楼层 |阅读模式
本帖最后由 bwsu 于 2024-7-16 16:29 编辑

文章导引:

(1)STC8H8K64U搭配RA8889如何控制TFT彩屏(附SPI4源码)
(2)51单片机(STC8H8K64U)加上RA8889可以点高分辨率TFT彩屏(附I2C源码下载)
(3)51单片机(STC8H8K64U/STC8051U34K64)_RA8889_8080参考代码(v1.3)
(4)51单片机(STC8H8K64U/STC8051U34K64)_RA8889驱动大屏_硬件SPI4_参考代码(v1.3)

单片机实际不限,这里采用的STC最新、主推的型号,比如STC8H8K64USTC8051U34K64进行实验测试,您可以换用不同型号。目前测试这两个系列,显示速度均相当不错,软件设计也是极为简单。各篇文章下方均提供源码供参考下载。

本例提供软件模拟SPI-4通信代码,下方简单做一下介绍。


【硬件部份】

一、STC8H8K64U+RA8889开发板+7寸TFT LCD(兼容AT070TN92接口即可,分辨率800x480、1024x600均有兼容接口)
RA8889是瑞佑科技推出的一款高集成的液晶控制芯片,其内建强大的图形驱动引擎,支持JPEG硬件解码、AVI解码等功能,与单片机可通过8080/6800/SPI/I2C接口进行通信,输出信号为TTL电平RGB:888,最大可以支持1366x2048的分辨率。先介绍基本硬件框架,如下图:
RA8889方框图_new.png


直接看看实物连接:
这里采用RA8889开发板来测试,使用SPI-4进行举例,开发板零件虽然比较多,但基本上只用到左半部份。
该例中单片机与开发板的实际连接只用到SPI 4条线和1条RA8889的复位线,另外红、黑线为单片机的供电电压3.3V和地线。
STC8H_RA8889实物接线.jpg



二、SPI-4连接电路图:
单片机(注意要使用3.3V供电)和RA8889的接口支持SPI-3线和4线,在这里采用SPI-4线来测试,连接电路图如下:
SPI4电路连接图.png





【软件部份】

三、RA8889核心文件存放在RA8889_01_Kernel文件夹下:
        RA8889_51.c                为底层接口文件
        RA8889_API_51.c         为用户层接口文件
        RA8889_MCU_IF.c         为单片机接口文件(通信接口定义及通信函数)
        UserDef.h                     为用户自定义参数文件
        delay.c                         延迟函数,请根据单片机的主频修正

上面这些添加进工程,同时在main.c中包含对应的.h头文件:
kernel.png


四、通信引脚配置:
  1. /* SPI-4 IO口配置*/
  2. sbit SPI_SS   = P2 ^ 7; // Slave Select(RA8889片选)
  3. sbit SPI_MISO = P2 ^ 6; // Master In Slave Out(接RA8889的SDO)
  4. sbit SPI_MOSI = P2 ^ 5; // Master Out Slave In(接RA8889的SDI)
  5. sbit SPI_SCK  = P2 ^ 4; // Serial Clock
  6. sbit RA8889_RST  = P2 ^ 3; // Reset RA8889(通过IO口接到RA8889进行硬件复位)
复制代码
***该配置在RA8889_MCU_IF.h文件内。

五、GPIO引脚配置:
STC8H8K64U单片机的GPIO引脚要做一下配置,这点与标准的51单片机有所不同,单片机的P2.6作为MISO,接到RA8889的SDO输出,故该引脚要这样配置:
  1. P2M0 = 0xBF;        //设置P2.6为双向口模式,其它为挽输出模式
  2. P2M1 = 0x00;
复制代码
***该配置放在main.c文件内执行一次即可。

六、其他代码不需要变化,按51单片机的代码正常写:
  1.         /* SPI初始化 */
  2.         SPI4_Init();
  3.         /* RA8889硬件复位 */
  4.         RA8889_RST = 1;
  5.         delay_ms(10);
  6.         RA8889_RST = 0;
  7.         delay_ms(10);
  8.         RA8889_RST = 1;
  9.         /* RA8889初始化 */
  10.         RA8889_Initial();
  11.         /* 循环功能演示 */
  12.         while(1)
  13.         {
  14.                 Introduction();    //文字介绍
  15.                 Geometry_Demo();   //几何绘图演示
  16.                 Show_BMP();      //调用FLASH的BMP图片显示
  17.                 Show_JPG();       //调用FLASH的JPG图片显示
  18.                 Fade_in_Fade_out();   //图片淡入淡出演示
  19.                 Show_AVI();        //调用FLASH的AVI影片播放
  20.                 Show_PNG();        //调用FLASH的PNG图片显示
  21.         }
复制代码


七、实物效果展示:


八、源码下载:
STC8H_RA8889_SPI4_v1.3.zip (12.48 MB, 下载次数: 113)


(1)pic文件夹:存放图资,已打包为flash.bin,先烧录到RA8889扩展的FLASH芯片上;
(2)STC89_RA8889_SPI4: Keil源码,推荐使用Keil5。
folder.png









回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:220
  • 最近打卡:2025-05-01 18:20:12

79

主题

631

回帖

1132

积分

金牌会员

积分
1132
发表于 2024-9-11 08:17:54 | 显示全部楼层
我是初学者,记录下自己的理解。大佬不要笑话。
0xBF 是 1011_1111  其中Pin6(也就是第7位) 配置为0 ,即stc8的2端口6引脚配置成了输出。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2024-07-16 17:00:04

5

主题

14

回帖

375

积分

中级会员

积分
375
发表于 2024-9-11 09:00:49 | 显示全部楼层
duro*** 发表于 2024-9-11 08:17
我是初学者,记录下自己的理解。大佬不要笑话。
0xBF 是 1011_1111  其中Pin6(也就是第7位) 配置为0 ,即st ...

没有关系!SPI接法确实容易引起混淆,不熟悉的话对MISO和MOSI都可能迷糊了。
MISO: 主机作为输入端,从机作为输出端;
MOSI:反之。

这里使用的是模拟SPI时序,将P2.6设置为双向口模式,接到RA8889的SPI_MISO,该处单片机为主机,RA8889为从机,此时该脚信号是发送给单片机的。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:220
  • 最近打卡:2025-05-01 18:20:12

79

主题

631

回帖

1132

积分

金牌会员

积分
1132
发表于 2024-9-11 17:11:18 | 显示全部楼层
本帖最后由 durongze 于 2024-9-11 17:13 编辑

我贴下RA8889的8080图,
截图202409111709479865.jpg
和6800图


截图202409111711052194.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:220
  • 最近打卡:2025-05-01 18:20:12

79

主题

631

回帖

1132

积分

金牌会员

积分
1132
发表于 2024-9-11 17:40:46 | 显示全部楼层
截图202409111740426566.jpg
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-3 00:55 , Processed in 0.374481 second(s), 74 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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