0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

第二讲:单片机STC89C52+RA8889驱动控制彩屏 代码移植介绍

51单片机驱动控制彩屏 来源:51单片机驱动控制彩屏 作者:51单片机驱动控制 2024-06-04 10:36 次阅读

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

第二讲:单片机STC89C52+RA8889驱动控制彩屏 代码移植介绍

一、RA8889核心文件有四个,分别是:

文件说明
RA8889.c底层API程序
RA8889_API.c用户层API程序(可选)
RA8889_MCU_IF.cMCU通信函数
UserDef.h参数配置:屏参、频率等

重点要移植的代码是RA8889.c,这份程序可以根据功能需求进行裁切移植,而RA8889_API.c这份是API接口程序,代码多,根据实际功能需求进行裁切。RA8889_MCU_IF.c则可以根据实际通信方式进行选择裁切。

UserDef.h 配置相关参数、宏定义,另外还有一份delay.c,这里的延时函数需要用户根据自己的主频进行调整。根据51单片机,移植好了核心代码放在 RA8889_01_Kernel 文件架里面:
51核心代码.png

上一讲已针对51基础功能进行了基础移植,并根据51单片机进行优化,该代码使用的是AT070TN92兼容屏,若您手上的液晶屏是其它型号,要变更屏的参数配置Set_LCD_Panel(),不清楚可以在本bbs论坛留言。
使用Keil来编辑时,程序添加到项目中:
树目录.png

路径包含:
库路径.png

二、单片机仅需要做三步:

/* SPI初始化 */
	SPI4_Init();
	
	/* RA8889硬件复位 */
	SPI_RST = 1;
	delay_ms(1);
	SPI_RST = 0;
	delay_ms(1);
	SPI_RST = 1;

	/* RA8889初始化 */
	RA8889_Initial();

这样初始化也就做完了,接下来单片机就可以开始绘图了。

三、绘图和显示文字:

  1. 下方代码演示颜色填充,根据函数名称不难理解,这些函数存放在RA8889_51.c里面:
/* 画矩形填充 */
	Foreground_color_16M(0x0);
	Square_Start_XY(0,0);
	Square_End_XY(799,479);
	Start_Square_Fill();

RA8889内建图形驱动引擎,可以绘制各种几何图形:方形,三角形,圆形,椭圆形等等,您可以根据需求再从RA8889标准参考程序里面找到RA8889.c,根据功能进行裁剪。

  1. 文字显示,下方是简单调用,此外文字显示还有多种功能:放大、加底色等,这些都可以从RA8889标准参考程序找到RA8889_API.c进行裁剪移植。
/* 内建文字显示测试 */
	Foreground_color_16M(0xFFFFFF);
	Goto_Text_XY(124,30);
	Show_String("Solution: 89C52 + RA8889.");
	Goto_Text_XY(124,60);
	Show_String("RA8889 is an efficient TFT LCD CONTROLLER.");
	Goto_Text_XY(124,90);
	Show_String("It has an embedded decoder for JPG and AVI.");

四:移植的调试

在移植时,有可能不成功,这里介绍一点经验:

  1. 检查SPI接线,SDO和SDI不要接反了,还要确认CS和地线;
  2. 可以无限循环RA8889_Initial()代码,再用示波器观察SDO、SDI、SCK及CS的波形,是否有周期的脉冲,这个方法定位会比较容易;
  3. 在MCU_Dev_Board.c代码中有一个通信测试Comm_Test(),通过该函数对RA8889进行读写,若正常则闪烁LED来指示;
  4. 另外可以调整delay.c,将延时先调得长一点进行测试,待通信正常再适当调快。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6037

    文章

    44559

    浏览量

    635504
  • STC89C52
    +关注

    关注

    41

    文章

    330

    浏览量

    82070
  • 驱动控制
    +关注

    关注

    0

    文章

    122

    浏览量

    15753
收藏 人收藏

    评论

    相关推荐

    采用AT89C52单片机作为路灯控制系统的支路控制

    本系统采用AT89C52单片机作为路灯控制系统的支路控制器,采用光敏极管 检测光强度、红外对管检测移动物体经过的位置等方法
    发表于 11-24 14:37 0次下载

    89C52单片机控制直流24V电机输出,数码管显示乱码?

    一电子板,89C52单片机控制直流24V电机输出,带93C86读取用户数据,能正常运行,但起动10-20秒内不能控制,数码管显示乱码?
    发表于 11-10 19:06

    基于51单片机的7人多数投票表决器设计

    设计编号:P13 1.主要功能:           基于51单片机AT89C51/52(与AT89S51/52、AT
    的头像 发表于 11-09 09:48 861次阅读
    基于51<b class='flag-5'>单片机</b>的7人多数投票表决器设计

    51单片机STC8H8K64U通过RA8889/RA8876如何控制彩屏 I2C源码下载

    用51单片机STC8H8K64U驱动彩屏控制器采用瑞佑RA8889. 使用软件模拟I2
    的头像 发表于 11-01 11:02 443次阅读
    51<b class='flag-5'>单片机</b><b class='flag-5'>STC</b>8H8K64U通过<b class='flag-5'>RA8889</b>/<b class='flag-5'>RA</b>8876如何<b class='flag-5'>控制</b><b class='flag-5'>彩屏</b> I2<b class='flag-5'>C</b>源码下载

    单片机驱动彩屏最简方案:单片机_RA8889最小开发板驱动控制TFT彩屏介绍(一)

    本文介绍使用单片机+RA8889驱动控制彩屏的最小方案。文章从
    发表于 08-22 17:31

    51单片机(STC8H8K64U/STC8051U34K64)_RA8889_HW_SPI4参考代码(v1.3) 硬件SPI方式驱动大屏显示

    文章导引: (1)51单片机(STC8051U34K64)_RA8889_SPI4参考代码(v1.3) (2)51单片机
    发表于 07-17 11:15

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

    文章导引: (1)51单片机(STC8051U34K64)_RA8889_SPI4参考代码(v1.3) (2)51单片机
    发表于 07-05 10:55

    51单片机STC8H8K64U通过RA8889/RA8876如何控制彩屏(SPI源码下载)

    /RA8876控制芯片刚好可以完美搭配用于工控、医疗等各个领域。我们这样接线就可以了: 、SPI-4连接电路图: RA8889单片机的接
    发表于 06-26 14:13

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

    51单片机驱动控制彩屏系列讲座 硬件:STC89C52 + RA8889开发板 + TFT
    发表于 06-13 17:23

    第四单片机STC89C52+RA8889驱动控制彩屏 代码移植范例(包含API接口)

    51单片机通过RA8889控制驱动彩屏移植API参考程序
    的头像 发表于 06-06 13:59 1458次阅读
    第四<b class='flag-5'>讲</b>:<b class='flag-5'>单片机</b><b class='flag-5'>STC89C52+RA8889</b><b class='flag-5'>驱动</b><b class='flag-5'>控制</b><b class='flag-5'>彩屏</b> <b class='flag-5'>代码</b><b class='flag-5'>移植</b>范例(包含API接口)

    第三单片机STC89C52+RA8889驱动控制彩屏 代码的压缩(Keil编译器)

    51单片机驱动控制芯片RA8889,源代码函数冗余较多,移植时可能会碰到输出程序过大,这里
    的头像 发表于 06-05 11:05 563次阅读
    第三<b class='flag-5'>讲</b>:<b class='flag-5'>单片机</b><b class='flag-5'>STC89C52+RA8889</b><b class='flag-5'>驱动</b><b class='flag-5'>控制</b><b class='flag-5'>彩屏</b> <b class='flag-5'>代码</b>的压缩(Keil编译器)

    第一单片机STC89C52+RA8889驱动控制彩屏 极简方案(源码公开)

    本章介绍如何使用51单片机驱动控制彩屏控制器彩用瑞佑的R
    的头像 发表于 06-04 08:45 709次阅读
    第一<b class='flag-5'>讲</b>:<b class='flag-5'>单片机</b><b class='flag-5'>STC89C52+RA8889</b><b class='flag-5'>驱动</b><b class='flag-5'>控制</b><b class='flag-5'>彩屏</b> 极简方案(源码公开)

    RA8889/RA8876显示自定义ASCII字符方法

    本文介绍用户自己生成的ASCII字库如何通过RA8889/RA8876显示到液晶屏上。 先上一张实例效果图: 再上程序代码: int main(void) { unsigned sho
    发表于 04-02 16:09

    基于单片机多功能洗衣控制

    需注意仿真中51单片机芯片是兼容的,AT89C51,AT89C52是51单片机的具体型号,内核是一样的。相同的原理图里,无论stc还是at都
    发表于 03-18 10:13 704次阅读
    基于<b class='flag-5'>单片机</b>多功能洗衣<b class='flag-5'>机</b><b class='flag-5'>控制</b>

    stc51单片机怎么烧录

    步骤 常见问题与解决方法 STC51单片机是一种常见的8位单片机,广泛应用于各种嵌入式系统。它具有高性能、低成本、易于学习和使用等优点。STC51
    的头像 发表于 01-02 17:41 3464次阅读