51单片机(STC8H8K64U/STC8051U34K64)_RA8889驱动大屏_硬件SPI4_参考代码(v1.3)

news2024/12/24 0:34:12

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

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

【硬件部份】STC8H8K64U/STC8051U34K64 + RA8889开发板 + 7寸TFT 800x480

一、STC这两款单片机均提供多组硬件SPI接口,本范例采用P2口的硬件SPI接口如下红框:

(1)主控MCU: STC8H8K64U
在这里插入图片描述
实物连接图,请看接线标识
在这里插入图片描述

(2)主控MCU: STC8051U34K64
在这里插入图片描述

实物连接图,请看接线标识
在这里插入图片描述

二、单片机与RA8889的引脚接线图:

注意MCU的输入SDI(即MISO)必须接RA8889的输出DB[5] SDO;MCU的输出SDO(MOSI)必须接RA8889的输入DB[6] SDI。
在这里插入图片描述

三、实物展示(STC8H8K64U):

在这里插入图片描述

【软件部份】

一、IO口配置:
(1)STC8H8K64U使用P2.4 MISO作为输入:

P2M0 = 0xef; P2M1 = 0x00;         //P2.4(MISO)设置为双向口,其它为推挽模式(使用P2.SPI)

(2)STC8051U34K64使用P2.6 MISO作为输入:

P2M0 = 0xbf; P2M1 = 0x00;                //P2.6(MISO)设置为双向口,其它为推挽模式(使用P2.SPI)

二、SPI通信函数在RA8889_MCU_IF.c和头文件RA8889_MCU_IF.h这两份文件,这里进行重点说明:
(1)在初始化函数SPI4_Init()中,SPI时钟频率的选择,先选择低速16T,待通信成功之后可将速度调快:

SPCTL = (SPCTL & ~3) | 2;   //SPI 时钟频率选择, 0: 4T, 1: 8T,  2: 16T,  3: 2T  (时钟频率先调整到最慢,再依照自己的系统调整)

(2)SPI接口选择,设定P_SW1,根据硬件接线选择对应的通信组:

P_SW1 = (P_SW1 & ~(3<<2)) | (1<<2);     //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

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

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

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

【源码下载】

请使用PC端浏览标题下方,找到下载资源。
或者请至原文下载:
https://bbs.lcdvision.com.cn/forum.php?mod=viewthread&tid=59

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1929501.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java 反射用法和8道练习题

目录 一、什么是反射二、反射的核心接口和类三、测试代码 Bean 类和目录结构Person 类代码目录结构 四、获取 Class 对象五、获取构造方法 Constructor 并使用六、获取成员变量 Field 并使用七、获取成员方法 Method 并使用八、练习1. 使用反射获取String类的所有公有方法&…

在python里构建你的投资组合portfolio--最好用的pandas零基础

有人可能觉得软件数据分析门槛很高&#xff0c;自学也坚持不下来&#xff0c; 其实分解成一个小的功能和任务&#xff0c;对零基础自学者非常有帮助。 今天用python中最好用的数据分析包pandas为例&#xff1a; 用最简单的代码完成全流程 构建投资组合 → 获取数据 → 进行分…

均匀性大于98%均匀光源积分球

在光学技术的浩瀚星空中&#xff0c;均匀光源积分球犹如一颗璀璨的明珠&#xff0c;以其卓越的均匀性能&#xff0c;照亮了科研、检测、照明等多个领域的探索之路。当谈及均匀性超过98%的积分球时&#xff0c;我们不禁要深入其内部&#xff0c;探索这一科技奇迹背后的原理与应用…

phenocycler发现免疫治疗反应关键的肿瘤微环境区域

T 细胞介导的抗原特异性反应对于有效的免疫监视至关重要。然而T细胞如何进入肿瘤微环境并操纵局部组织微环境来实现效应器功能&#xff0c;以及这些局部的细胞结构如何对T细胞疗法或者其他免疫治疗做出反应仍然不清楚。近期来自斯坦福大学的研究者利用小鼠模型和临床患者样本&a…

10位工程师做SW大装配设计工作站怎么选

在日益复杂的工程环境中&#xff0c;SolidWorks&#xff08;SW&#xff09;作为一款全球装机量较大的三维设计、动画、仿真模拟计算软件&#xff0c;已成为工程师们不可或缺的工具。 对于涉及大型装配设计的项目&#xff0c;选择一款合适的SW工作站显得尤为关键。在选择SW大装…

【0630开发者活动】机器学习算法在存内计算芯片WTM2101上的部署

前言 WTM2101芯片是由Witin知存科技开发的高性能存内计算芯片&#xff0c;专为加速AI计算设计&#xff0c;如图1.1所示。存内计算作为一种革命性技术&#xff0c;其主要优势在于将计算功能直接集成到存储器中&#xff0c;从而显著减少数据在芯片内部的传输距离&#xff0c;降低…

【学术会议征稿】2024年第三届信息学,网络与计算技术国际学术会议(ICINC2024)

2024年第三届信息学&#xff0c;网络与计算技术国际学术会议(ICINC2024) 2024 3rd International Conference on Informatics,Networking and Computing (ICINC 2024) 2024年第三届信息学&#xff0c;网络与计算技术国际学术会议(ICINC2024)将于2024年10月25-27日于中国郑州召…

Django任务管理:项目定时执行及简单管理界面

1、用django-admin命令创建一个Django项目 django-admin startproject task_manager 2、进入到项目下用命令创建一个应用 cd task_manager python manage.py startapp tasks 3、进入models.py定义数学模型 第2步得到的只是应用的必要空文件&#xff0c;要开始增加各文件实际…

PostgreSQL的学习心得和知识总结(一百四十八)|查看 PostgreSQL 17 中的新内置排序规则提供程序

目录结构 注&#xff1a;提前言明 本文借鉴了以下博主、书籍或网站的内容&#xff0c;其列表如下&#xff1a; 1、参考书籍&#xff1a;《PostgreSQL数据库内核分析》 2、参考书籍&#xff1a;《数据库事务处理的艺术&#xff1a;事务管理与并发控制》 3、PostgreSQL数据库仓库…

MongoDB Atlas Vector Search再度荣获最受欢迎的向量数据库称号

最新发布的《2024 年 Retool AI 现状报告》显示&#xff0c;MongoDB Atlas Vector Search 再次荣获最受欢迎的向量数据库称号&#xff0c;这已是它连续第二年获此殊荣。 Atlas Vector Search 在净推荐值 &#xff08;NPS&#xff09;方面斩获最高分&#xff0c;这一指标精准反映…

【python】pandas报错:UnicodeDecodeError详细分析,解决方案以及如何避免

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

一文带你看懂SAP-HANA的基本架构与原理

注&#xff1a;本篇主要对SAP HANA做了总结与论述&#xff0c;如有错误欢迎读者提出并补充 创作不易,希望大家一键三连支持!!!♥♥♥ 创作不易,希望大家一键三连支持!!!♥♥♥ 创作不易,希望大家一键三连支持!!!♥♥♥ 目录 一. 背景引入1.1 硬件与数据库系统1.2 行业现状 …

MongoDB自学笔记(一)

一、MongoDB简介 MongoDB是一款基于C开发的文档型数据库。与传统的关系型数据库有所不同&#xff0c;MongoDB面向的是文档&#xff0c;所谓的文档是一种名为BSON &#xff08;Binary JSON&#xff1a;二进制JSON格式&#xff09;是非关系数据库当中功能最丰富&#xff0c;最像…

萝卜快跑爆火的背后,美格智能如何助力无人车商业化?

近期&#xff0c;“订单量超过600万单”等夺人眼球的信息&#xff0c;让无人驾驶出租车“萝卜快跑”从江城武汉爆火出圈&#xff0c;在2024年的炎炎夏日为这座大火炉再添了一把火。热度背后&#xff0c;不少地方主管部门&#xff0c;近期也纷纷针对无人驾驶出租车、无人驾驶运输…

【C++】多态-最全解析(多态是什么?如何使用多态?多态的底层原理是什么?)

目录 一、前言 二、多态是什么&#xff1f; 三、多态的定义及实现 &#x1f525; 多态的构成条件&#x1f525; &#x1f525; 虚函数的重写&#x1f525; &#x1f525;虚函数重写的两个例外 &#x1f525; &#x1f34d; 协变返回类型 &#x1f95d; 析构函数的重写…

OpenMesh入门,安装,运行示例Hello World

安装 环境 win10&#xff0c;qt5 源码下载编译 进入OpenMesh官网OpenMesh官网 https://www.graphics.rwth-aachen.de/software/openmesh/download/ 使用cmake gui 注意&#xff1a;先安装qt5 使用 CMake-Gui 构建 vs 2019 项目 注意 where is the source code 是<project…

Zotero推荐插件

绝大多数插件下载网址&#xff1a;Zotero 插件商店 适配&#xff1a;Zotero6 1. Zotero-style&#xff1a;标签分栏与阅读进度可视化 右键任意一个列的名字&#xff0c;会弹出一个右键菜单&#xff0c;可以勾选/取消勾选一个列&#xff0c;并且在最后有两个操作按钮是【列设置…

html5——CSS背景属性设置

目录 背景颜色 background-color 背景图像 背景定位 背景样式简写 背景尺寸 ​编辑渐变属性 背景颜色 background-color 背景图像 background-image background-image:url(图片路径); 背景重复方式&#xff1a; background-repeat 属性&#xff1a; repeat&#…

Spring Web MVC入门(2)(请求2)

目录 1.传递JSON数据 传递JSON对象 2.获取URL中的参数PathVariable 3.上传文件RequestPart 4.获取Cookie/Session (1)获取Cookie 简洁获取Cookie (2)获取Session Sesson读取 简洁获取Session(1) 简洁获取Session(2) 5.获取Header 简洁获取Header 1.传递JSON数据 J…

详解MySQL中的递归查询

MySQL中的递归查询主要通过WITH RECURSIVE语句来实现&#xff0c;这在处理具有层级关系或树形结构的数据时非常有用。下面将通过一个具体的例子来详细解释如何在MySQL中使用递归查询。 示例场景 假设我们有一个部门表&#xff08;departments&#xff09;&#xff0c;其中包含…