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

51单片机(AI8051U/8H8K64U)_RA8889驱动TFT彩屏_硬件SPI4通信_(源码v1.3)

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

5

主题

14

回帖

375

积分

中级会员

积分
375
发表于 2024-7-16 15:30:26 | 显示全部楼层 |阅读模式
本篇介绍单片机使用硬件SPI通信方式控制RA8889驱动彩屏。
提供 AI8051U 8H8K64U 的参考代码。
【硬件部份】
AI8051U/STC8H8K64U + RA8889开发板 + 7寸TFT 800x480
文章导引:
(1)STC8H8K64U搭配RA8889如何控制TFT彩屏(附SPI4源码--软件模拟方式)
(2)51单片机(STC8H8K64U/STC8051U34K64)_RA8889驱动TFT彩屏_软件模拟I2C通信(源码v1.3)
(3)51单片机(STC8H8K64U/STC8051U34K64)_RA8889_8080参考代码(v1.3)
(4)51单片机(STC8H8K64U/STC8051U34K64)_RA8889驱动TFT彩屏_硬件SPI4通信_(源码v1.3)
(5)51单片机(STC8H8K64U/STC8051U34K64)_RA8889驱动TFT彩屏_硬件I2C通信_参考代码(v1.3)

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

RA8889是一款瑞佑科技推出的高性能液晶控制芯片,单片机下指令即可,
可以驱动最高1366x768等液晶屏,其内建JEPG解码引擎,图形驱动引擎,
因此显示速度相当不错,是单片机扩展彩屏UI的好搭档。
也有低阶的型号比如RA8871M,RA8873M等,可根据实际需求选择。
RA8889功能方框图:
RA8889方框图_new.png

一、STC这两款单片机均提供多组硬件SPI接口,本范例采用P2口的硬件SPI接口:
(1)如果主控MCU是 STC8H8K64U,SPI接口见下图红框
STC8H8K64U引脚图.png

实物连接图,请看下图接线标识
STC8H8K64U_RA8889_硬件SPI_实物连接图_放大_logo.jpg

(2)如果主控MCU是 STC8051U-34K64,SPI接口见下图红框
STC8051U34K64引脚图.png

实物连接图,请看下图接线标识
STC8051U34K64_RA8889_硬件SPI_实物连接图_放大_logo.jpg

二、单片机与RA8889的引脚接线图:
注意MCU的输入SDI(即MISO)必须接RA8889的输出DB[5] SDO;
MCU的输出SDO(MOSI)必须接RA8889的输入DB[6](SDI)。
SPI4电路连接图.png

三、实物展示(STC8H8K64U):

STC8H8K64U_RA8889_硬件SPI实物连接图.jpg

【软件部份】

一、IO口配置:
(1)STC8H8K64U使用P2.4 MISO作为输入:
  1. P2M0 = 0xef; P2M1 = 0x00; //P2.4(MISO)设置为双向口,其它为推挽模式(使用P2.SPI)
复制代码


(2)STC8051U34K64使用P2.6 MISO作为输入:
  1. P2M0 = 0xbf; P2M1 = 0x00;                //P2.6(MISO)设置为双向口,其它为推挽模式(使用P2.SPI)
复制代码



二、SPI通信函数在RA8889_MCU_IF.c和头文件RA8889_MCU_IF.h这两份文件,这里进行重点说明:
(1)在初始化函数SPI4_Init()中,SPI时钟频率的选择,先选择低速16T,待通信成功之后可将速度调快:
  1. SPCTL = (SPCTL & ~3) | 2;   //SPI 时钟频率选择, 0: 4T, 1: 8T,  2: 16T,  3: 2T  (时钟频率先调整到最慢,再依照自己的系统调整)
复制代码


(2)SPI接口选择,设定P_SW1,根据硬件接线选择对应的通信组(此处STC8H8K64U与STC8051U34K64有一点点不同,请留意!):
  1. P_SW1 = (P_SW1 & ~(3<<2)) | (1<<2);     //STC8H: IO口选择P2. 0:P1.2/P5.4 P1.3 P1.4 P1.5  ||  1:P2.2 P2.3 P2.4 P2.5  ||  2:P5.4 P4.0 P4.1 P4.3  ||  3:P3.5 P3.4 P3.3 P3.2
复制代码
  1. P_SW1 = (P_SW1 & ~(3<<2)) | (1<<2);     //STC8051U: IO口选择P2. 0:P1.4 P1.5 P1.6 P1.7  ||  1:P2.4 P2.5 P2.6 P2.7  ||  2:P4.0 P4.1 P4.2 P4.3  ||  3:P3.5 P3.4 P3.3 P3.2
复制代码


其它部份与软件模拟SPI相同,请参考文章导引”相关文章。


【硬件SPI和IO口软件模拟SPI通信比较】

初步测试信息提供参考:
1. 接口配置二者相同;
2. 时钟速度上,硬件SPI会比软件模拟SPI速度要快不少,但软件模拟对于不同MCU比较友好,容易调试;
3. 该代码在面包上跳接线,单片机和RA8889通信时钟最快可达11MHz左右,频率越快越容易受干扰,
RA8889的SPI最高可以接受到50MHz,因此要根据实际硬件环境进行调试;
4. RA8889控制TFT彩屏,只要简单的指令即可对UI进行变化,
    在没有大量数据传输的情况下使用硬件SPI和软件模拟SPI的速度差别不大。

【源码下载】
STC8H_RA8889_HW_SPI4_v1.3.zip (15.35 MB, 下载次数: 107)
STC8051U_RA8889_SPI4_HW_v1.3.zip (16.36 MB, 下载次数: 95)

1 喜欢他/她就送朵鲜花吧,赠人玫瑰,手有余香!
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:41
  • 最近打卡:2024-11-28 14:10:29

0

主题

18

回帖

226

积分

中级会员

积分
226
发表于 2024-9-24 17:04:13 | 显示全部楼层
驱动板哪一家买的
回复 支持 反对

使用道具 举报 送花

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

5

主题

14

回帖

375

积分

中级会员

积分
375
发表于 2024-9-24 23:18:19 | 显示全部楼层
恍如*** 发表于 2024-9-24 17:04
驱动板哪一家买的

瑞佑官方做的。淘宝搜 RA8889开发板 就能找到。电路图等都是开放。和STC单片机一样全开放的
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:41
  • 最近打卡:2024-11-28 14:10:29

0

主题

18

回帖

226

积分

中级会员

积分
226
发表于 2024-9-29 18:36:46 | 显示全部楼层
触屏的没写
回复 支持 反对

使用道具 举报 送花

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

5

主题

14

回帖

375

积分

中级会员

积分
375
发表于 2024-9-30 08:27:21 | 显示全部楼层

是的,触摸的逻辑由单片机处理,参考代码没有包含这一块。
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-2 22:04 , Processed in 0.169742 second(s), 78 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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