51单片机(STC8051U34K64)_RA8889_SPI4参考代码(v1.3)

news2024/9/17 9:22:40

硬件:STC8051U34K64 + RA8889开发板(硬件跳线变更为SPI-4模式,PS=101,R143,R141短接,R142不接)

STC8051U34K64是STC最新推出来的单片机,主要用于替换传统的8051单片机,与标准的8051指令集兼容,同时又是内建超高速32位8051内核(1T)。
其内部集成2+32KB的SRAM,以及64KB的大容量程序存储空间,具有更宽的工作电压:1.9~5.5V,更宽的工作温度:-40℃ ~ 125℃。

RA8889是RAIO推出来的一款集成度很高的液晶控制芯片,最大可支持1366*2048分辨率大小的TFT彩屏。
其内建JPEG硬件解码引擎,可以显示JPG、AVI文件,解码速度超快!
该芯片内建128Mbit的显存,使得UI缓存相当充裕,软件代码使用简单易用,开发会十分高效!

本程序结合该MCU进行驱动TFT彩屏的测试,同时提供移植好的代码供大家使用!

实物连接图:
在这里插入图片描述

RA8889开发板硬件跳线:
在这里插入图片描述

单片机-RA8889连接电路:
在这里插入图片描述

代码说明:
(1)该代码采用SPI-4,通信接口定义:
P2.7 SPI_SS RA8889片选 DB[4] (XnSCS)
P2.6 SPI_MISO 接RA8889的SDO DB[5] (XSSDO)
P2.5 SPI_MOSI 接RA8889的SDI DB[6] (XSSDI)
P2.4 SPI_SCK SPI时钟 DB[7] (XSSCL)
P2.3 RA8889_RST RA8889硬件复位

(2)使用J-Link等工具将RA8889_Demo文件夹内的RA8889_Demo_F103_SPI_firmware.hex烧录到RA8889开发板上,将F103与RA8889的接线设定为高阻态。

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

(4)演示以下常用功能:
Introduction(); //文字介绍
Geometry_Demo(); //几何绘图演示
Show_JPG(); //调用FLASH的JPG图片显示
Show_BMP(); //调用FLASH的BMP图片显示
Fade_in_Fade_out(); //图片淡入淡出演示
Show_AVI(); //调用FLASH的AVI影片播放
Show_PNG(); //调用FLASH的PNG图片显示

源码下载:
请使用PC端阅读本篇,在标题下方有下载链接。

或者至原文下载:https://bbs.lcdvision.com.cn/forum.php?mod=viewthread&tid=55

视频演示,硬件和软件之详细介绍(STC8051U34K64和STC8H8K64U用法相近):

STC8051U34K64单片机通过RA8889驱动TFT彩屏之方案详细解说

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

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

相关文章

大佬,简单解释下“嵌入式软件开发”和“嵌入式硬件开发”的区别

在开始前刚好我有一些资料,是我根据网友给的问题精心整理了一份「嵌入式的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!!首先,嵌入式硬…

【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第一篇 嵌入式Linux入门篇-第十九章 Linux 工具之make 工具和 makefile 文件

i.MX8MM处理器采用了先进的14LPCFinFET工艺,提供更快的速度和更高的电源效率;四核Cortex-A53,单核Cortex-M4,多达五个内核 ,主频高达1.8GHz,2G DDR4内存、8G EMMC存储。千兆工业级以太网、MIPI-DSI、USB HOST、WIFI/BT…

【car】深入浅出学习机械燃油车知识、结构、原理、维修、保养、改装、编程

汽车的五大总成通常是指发动机、变速器、前后桥、车架和悬挂系统。 发动机:是汽车的动力来源,负责将燃料的化学能转化为机械能,驱动汽车行驶。常见的发动机类型有内燃机(如汽油发动机、柴油发动机)和电动机&#xff0…

hypermill软件许可优化解决方案

Hypermill软件介绍 hyperMILL的最大优势表现在五轴联动方面 五轴联动被广泛应于汽车、工具、模具、机械、航空航天等领域,比如航空叶轮、叶片、结构件的铣削。现在很多机床和控制器都可以适应五轴铣削要求,然而在软件方面多采取定位加工方式(…

案例|LabVIEW连接S7-1200PLC

附带: 写了好的参考文章: 通讯测试工具和博图仿真机的连接教程【内含图文完整过程软件使用】 解决博图V15 V16 V17 V18等高版本和低版本在同款PLC上不兼容的问题 目录 前言一、准备条件二、步骤1. HslCommunicationDemo问题1:连接失败?问题…

..质数..

先弄清楚我们在上小学时 学的概念。 1、什么是质因数? -质因数是指能够整除给定正整数的质数。每个正整数都可以被表示为几个质数的乘积,这些质数就是该数的质因数。质因数分解是将一个正整数分解成若干个质数相乘的过程。例如,数字 12…

[激光原理与应用-109]:南京科耐激光-激光焊接-焊中检测-智能制程监测系统IPM介绍 - 12 - 焊接工艺之影响焊接效果的因素

目录 一、影响激光焊接效果的因素 1.1、光束特征 1.2、焊接特征 1.3、保护气体 二、材料对焊接的影响 2.1 材料特征 2.2 不同材料对激光的吸收率 (一)、不同金属材料对不同激光的吸收率 1. 金属材料对激光的普遍反应 2. 不同波长激光的吸收率差…

ant design pro多页签功能

效果: 原理: 1、所有需要页签页面,都需要一个共同父组件 2、如何缓存,用的是ant的Tabs组件,在共同父组件中,实际是展示的Tabs组件 3、右键,用的是ant的Dropdown组件,当点击时&…

SpringBoot新手快速入门系列教程十:基于docker容器,部署一个简单的项目

前述: 本篇教程将略过很多docker下载环境配置的基础步骤,如果您对docker不太熟悉请参考我的上一个教程:SpringBoot新手快速入门系列教程九:基于docker容器,部署一个简单的项目 使用 Docker Compose 支持部署 Docker 项…

MySQL某个字段按指定值排序,其他值按创建时间排序

项目场景: MySQL某个字段按指定值排序,其他值按创建时间排序,我们需要用到FIELD() 函数,它是一种对查询结果排序的方法,可以根据指定的字段值顺序进行排序。 order by FIELD() 函数的语法如下: ORDER BY …

[GHCTF 2024 新生赛]ezzz_unserialize

源码&#xff1a; <?php /*** Author: hey* message: Patience is the key in life,I think youll be able to find vulnerabilities in code audits.* Have fun and Good luck!!!*/ error_reporting(0); class Sakura{public $apple;public $strawberry;public function …

LiteOS增加执行自定义源码

开发过程注意事项&#xff1a; 源码工程路径不能太长 源码工程路径不能有中文 一定要关闭360等杀毒软件&#xff0c;否则编译的打包阶段会出错 增加自定义源码的步骤: 1.创建源码目录 2. 创建源文件 新建myhello目录后&#xff0c;再此目录下再新建源文件myhello_demo.c 3. 编…

GitHub Codespace从入门到放弃

洞悉技术的本质&#xff0c;享受科技的乐趣 背景 我在使用腾讯云主机打开使用github使用免费云空间编译代码。 遇到问题 在打开过程中 提升如下错误 你遇到的问题 别人也可能遇到 https://github.com/orgs/community/discussions/109419 我做了什么 阅读官方文档 https://docs.…

集群管理脚本

虚拟机集群管理脚本 文章目录 虚拟机集群管理脚本一、远程调用脚本(remote_call.sh)二、远程复制目录脚本(remote_copy.sh) 一、远程调用脚本(remote_call.sh) 如果有传命令参数&#xff0c;则执行该命令&#xff1b;如果没有传命令参数&#xff0c;则不执行。 #!/bin/bashcm…

用python识别二维码(python实例二十三)

目录 1.认识Python 2.环境与工具 2.1 python环境 2.2 Visual Studio Code编译 3.识别二维码 3.1 代码构思 3.2 代码实例 3.3 运行结果 4.总结 1.认识Python Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python 的设计具有很强的可读性&…

获取时间的函数

#include <func.h>int main(){time_t mainNow;time(&mainNow);printf("main time %s\n",ctime(&mainNow));return 0;} 结果如下&#xff1a; #include <stdio.h> #include <time.h> int main() {time_t mainNow;struct tm *tm_info;ch…

Windows环境+C#实现显示接口测试

代码如下&#xff1a; using Models; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.ComponentModel; using System.ComponentModel.Design; using System.Data; using System.Diagnostics; using System.Drawing; using System.IO; …

ThreadLocal与ThreadLocalMap

参考&#xff1a;理清ThreadLocal、ThreadLocalMap、Thread之间的关系 - 翎野君 - 博客园 (cnblogs.com) ThreadLocalMap 是 ThreadLocal 类中的一个静态内部类&#xff0c;但它存在于每个线程的 Thread 对象内部&#xff0c;而不是 ThreadLocal 实例本身。 ThreadLocal 类&am…

怎么压缩视频?推荐7款必备视频压缩软件免费版(强烈建议收藏)

如今&#xff0c;视频内容日益丰富&#xff0c;并占据了许多人的日常娱乐和工作生活。然而&#xff0c;随着高清和超高清视频的普及&#xff0c;视频文件的体积也越来越大&#xff0c;给存储和传输带来了挑战。因此&#xff0c;学会如何压缩视频文件成为了许多人的需求之一。本…

Spring Web MVC入门(1)(建立连接)

一.什么是Spring Web MVC? Spring Web MVC是基于ServletAPI构建的原始Web框架,从一开始就包含在Spring框架中.它的正式名称"Spring Web MVC"来自其源模块的名称(Spring-webmvc),但它通常被称为"Spring MVC". 二.MVC的定义 MVC是Model View Controller的缩…