第五讲:51单片机+RA8889驱动控制彩屏 完整源码说明 【 源码v1.2 】

51单片机驱动控制彩屏系列讲座

第一讲:单片机STC89C52+RA8889驱动控制彩屏【 源码v1.0 】
第二讲:单片机STC89C52+RA8889驱动控制彩屏 代码移植介绍
第三讲:单片机STC89C52+RA8889驱动控制彩屏 代码的压缩(Keil编译器)
第四讲:单片机STC89C52+RA8889驱动控制彩屏 代码移植范例(包含API接口)【 源码v1.1 】
第五讲:51单片机+RA8889驱动控制彩屏 完整源码说明 【 源码v1.2 】

硬件:STC89C52 + RA8889开发板 + TFT彩屏(范例使用AT070TN92)
在这里插入图片描述
SPI通信接口定义:
P1.0 RES RA8889硬件复位
P1.4 SCS RA8889片选
P1.3 SDO 接RA8889的SDO
P1.2 SDI 接RA8889的SDI
P1.1 SCK SPI时钟

【v1.0 程序功能】
51单片机采用STC89C52即可,通过SPI接口与RA8889进行通信,驱动7寸(800x480)彩屏。
该版本仅作基础初始化,代码精简,作为基础演示。
绘图函数、用户接口API尚未移植。
请见第一讲。

【v1.2 程序功能】

  1. 该版本已将RA8889.c和RA8889_API.c进行移植,重新命名为RA8889_51.c和RA8889_API_51.c
    变更内容:
    (1)延时函数,仅提供ms级别,原始参考代码有一些采用us的延时级别
    (2)将特定关键字data修改为data_array
    (3)NAND FLASH功能函数移植起来相对复杂,暂时屏蔽(RA8889支持扩展NAND FLASH,但只有一两个型号通过验证)
    (4)自建字库占用RAM较多,在51单片机环境不太适合,故删除调用自建ASCII字库的相关函数

  2. 核心文件存放在RA8889_01_Kernel里面

  3. 演示以下常用功能:

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

由于代码较多输出文件大,单片机的FLASH需要选择更大容量,SRAM也需要更大容量,方可运行开所有演示代码。
我们在STC89C516RD+、STC12C5A60S2等单片机上均已测试通过。

实际演示效果:
【51单片机通过RA8889驱动控制TFT彩屏 各种功能演示 很强大!】

源码已上传,在PC端文章标题下方点击下载,或者至官方论坛下载。

源文地址:https://bbs.lcdvision.com.cn/forum.php?mod=viewthread&tid=48

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

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

相关文章

如何在C#中实现多线程

在C#中实现多线程有多种方式,包括使用System.Threading.Thread类、System.Threading.Tasks.Task类、System.Threading.Tasks.Parallel类以及异步编程模型(async和await)。下面我将为你展示每种方法的基本用法。 1. 使用System.Threading.Thr…

phpstudy的安装dvwa

phpstudy安装dvwa 1. 下载phpstudy Windows版phpstudy下载 - 小皮面板(phpstudy) (xp.cn) 2. 搭建dvwa靶场 下载地址:https://github.com/ethicalhack3r/DVWA/archive/master.zip 将其放入www文件夹中 3. 修改配置文件 将\DVWA-master\config中config.inc.php…

Java性能优化:实用技巧与策略全解析

引言 在软件开发中,性能常常是衡量应用成功的关键因素之一。对于Java应用来说,有效的性能优化不仅可以提高用户满意度,还能降低运营成本。本文将探讨一些高效的Java性能优化技巧,并通过实际代码示例展示如何实施这些策略。 垃圾…

STL-常用容器

3.1.1. string基本概念 本质: string是C风格的字符串,char*是C语言风格的字符串string本质上是一个类 string和char*的区别: char*是一个指针string是一个类,类内部封装并负责管理char*,是一个char*型的容器 特点&a…

ISCC2024 winterbegins

首先,用IDA打开程序,看到一大堆while(1)又套着while(1)的结构,肯定是控制流平坦化了,我们可以使用IDA插件d810去掉。 现在程序就好看多了。如果IDA没有显示这堆中文字符串,可以考虑使用IDA8.3,就可以显示…

stm32_HAL_CAN(特点:广播试,检测线路是否空,id有优先级)

UART I2C SPI 介绍 CAN(Controller Area Network)接口是一种常用于嵌入式系统中的通信接口,尤其在汽车和工业领域。它由Robert Bosch GmbH在1986年开发,旨在提供一种可靠、高效、灵活的车载通信网络。CAN总线的主要 特点包括&am…

eNSP学习——配置高级的访问控制列表

目录 主要命令 原理概述 实验目的 实验内容 实验拓扑 实验编址 实验步骤 1、基本配置 2、搭建OSPF网络 3、配置Telnet 4、配置高级ACL控制访问 需要eNSP各种配置命令的点击链接自取:华为eNSP各种设备配置命令大全PDF版_ensp配置命令大全资源-…

数据结构01 栈及其相关问题讲解

栈是一种线性数据结构,栈的特征是数据的插入和删除只能通过一端来实现,这一端称为“栈顶”,相应的另一端称为“栈底”。 栈及其特点 用一个简单的例子来说,栈就像一个放乒乓球的圆筒,底部是封住的,如果你想…

【简单介绍下Sass,什么是Sass?】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…

Linux:多线程的操作

多线程操作 进程与线程线程的创建 create_pthread创建线程池给线程传入对象的指针 线程等待 pthread_join退出线程 pthread_exit线程等待参数 retval 与 线程退出参数 retval 线程中断 pthread_cancel获取线程编号 pthread_self线程分离 pthread_detach 进程与线程 进程是资源…

史上最全,呕心沥血总结oracle推进SCN方法(八)

作者介绍:老苏,10余年DBA工作运维经验,擅长Oracle、MySQL、PG数据库运维(如安装迁移,性能优化、故障应急处理等) 公众号:老苏畅谈运维 欢迎关注本人公众号,更多精彩与您分享。前面介…

17-C语言中的变量生命周期——自动存储期、青苔存储期、自定义存储期

17-C语言中的变量生命周期——自动存储期、青苔存储期、自定义存储期 文章目录 17-C语言中的变量生命周期——自动存储期、青苔存储期、自定义存储期一、自动存储期示例 二、静态存储期2.1 示例 三、自定义存储期3.1 如何申请内存3.2 如何释放内存3.3 如何清空内存3.4 示例 概念…

salesforce保存记录后,根据条件弹出对话框提示

首先创建一个Visualforce页面并添加到页面布局。 Visualforce页面 条件语句: 在Visualforce页面的条件语句中,您需要使用正确的Visualforce表达式语法来插入JavaScript代码。此外,Visualforce的表达式语法不支持JavaScript直接调用&#xff…

Redis面试题(个人总结)

1、Redis特点 1、Redis是一个高性能且基于内存的数据库,所有的数据形式都是以键值对的方式来存储的 2、Redis支持丰富的数据类型,例如string,list,set,sorted set,hash,这些类型指的是键值对中的值的类型 3、Redis支持持久化 4、Redis单线程…

MQTT通讯协议接入

1.MQTT协议概述 MQTT是一种基于发布/订阅模式的轻量级消息传输协议,常用于低带宽、不可靠网络环境下传输消息,适用于物联网设备之间的通信。 1.1 MQTT协议的组件 客户端(Client):连接到MQTT代理服务器的设备&#xff…

触摸芯片在物联网和人工智能上的应用

在科技更新换代频繁的时代,触摸芯片作为一种重要的人机交互技术,已经在逐渐融入我们的生活。为我们带来了更加便捷、直观的电子产品操作体验,让人与机器之间的沟通变得更加自然流畅。今天我们就来说一说触摸芯片。 触摸芯片的核心是电容感应…

dijkstra 算法为什么高效?

Dijkstra算法的高效性主要体现在其解决有权图中最短路径问题时所采用的方法和策略上。以下是对Dijkstra算法高效性的详细解释: 贪心策略: Dijkstra算法基于贪心原理,在每一步中总是选择具有最小暂定距离的节点。这种策略保证了算法首先探索一…

计算机组成原理(六)

0x12345678和12345678H都是指同一个十六进制,也就是12345678,不过是不同的编程语言的写法而已 具体来说,如果有 n 根地址线,计算机可以寻址的内存空间大小是 2^n 字节。 24根地址线: 如果一个系统有24根地址线,意味着它…

Codeforces Round 952 (Div. 4)

题解写到博客园了,懒得复制过来了了,放个链接 https://www.cnblogs.com/yxcblogs/p/18243276 推广一下自己记录的算法编程竞赛模板仓库 GitHub - yxc-s/programming-template: This repository contains C programming templates optimized for competi…

汇编程序设计之 位操作指令、顺序程序设计

文章目录 位操作类指令逻辑运算指令NOTORANDXORTEST 移位指令逻辑移位算数移位循环移位指令 处理机控制类指令顺序结构程序设计概念例子 位操作类指令 逻辑运算指令 NOT OR 对于每一个位,有1即为1 AND 同时为1才是1 XOR 不相同才为1 TEST 和and 一样的功能&…