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,将延时先调得长一点进行测试,待通信正常再适当调快。

审核编辑 黄宇

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

    关注

    6074

    文章

    45340

    浏览量

    663548
  • STC89C52
    +关注

    关注

    41

    文章

    330

    浏览量

    84110
  • 驱动控制
    +关注

    关注

    0

    文章

    143

    浏览量

    16287
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    单片机怎么驱动电机?

    在各类自动化设备和智能装置中,电机是重要的执行部件,而单片机作为控制核心,需要通过特定的方式驱动电机运转。单片机驱动电机并非直接连接即可,而
    的头像 发表于 07-25 09:31 439次阅读

    机智云配网教程第三期:单片机代码移植实战

    前言本篇文章将分享单片机移植的经验。可以下载并按步骤移植,也可以直接使用已移植好的工程文件。文中将介绍我在
    的头像 发表于 07-01 17:32 952次阅读
    机智云配网教程第三期:<b class='flag-5'>单片机</b><b class='flag-5'>代码</b><b class='flag-5'>移植</b>实战

    AT89C51 单片机中文资料

    电子发烧友网站提供《AT89C51 单片机中文资料.pdf》资料免费下载
    发表于 06-24 15:29 1次下载

    STC单片机范例程序

    电子发烧友网站提供《STC单片机范例程序.zip》资料免费下载
    发表于 06-04 16:27 8次下载

    2.4寸TFT彩屏配套测试程序-51单片机

    如题,2.4寸TFT彩屏配套测试程序-51单片机
    发表于 06-04 16:26 0次下载

    STC8H 单片机 + RA8889/RA6809:重新定义嵌入式触控交互_高流畅、低延迟、零基础的人机界面(一)

    STC8H 单片机 + RA8889/RA6809:重新定义嵌入式触控交互_高流畅、低延迟、零基础的人机界面
    的头像 发表于 05-28 16:01 821次阅读
    <b class='flag-5'>STC</b>8H <b class='flag-5'>单片机</b> + <b class='flag-5'>RA8889</b>/<b class='flag-5'>RA</b>6809:重新定义嵌入式触控交互_高流畅、低延迟、零基础的人机界面(一)

    瑞萨RA8系列教程 | 基于 Keil 开发 RA8单片机

    本文结合瑞萨Cortext-M85单片机RA8D1、Keil MDK,以及瑞萨自家的代码初始化工具(Smart Configurator)给大家描述一下,快速在Keil MDK上点亮Cortext-M85
    的头像 发表于 04-22 17:41 1052次阅读
    瑞萨<b class='flag-5'>RA</b>8系列教程 | 基于 Keil 开发 <b class='flag-5'>RA</b>8<b class='flag-5'>单片机</b>

    中小尺寸彩屏TFT-LCD显示控制RA8889ML3N电路原理图

    中小尺寸彩屏TFT-LCD显示控制RA8889ML3N电路原理图,最高驱动1366*2048分辨率,支持并口/串口(SPI)主控接口,支持图形绘图引擎,支持JPEG视频硬解码. 原理
    发表于 04-03 14:33

    STC单片机声卡PCB和源码资料

    STC单片机声卡PCB和源码资料
    发表于 04-03 11:14 0次下载

    基于瑞萨RA8单片机的智能小车项目方案 附源代码

    基于瑞萨RA8单片机,e2studio开发环境,给大家讲述一下智能小车项目的方案,并附上主要的源代码
    的头像 发表于 03-07 14:36 2083次阅读
    基于瑞萨<b class='flag-5'>RA</b>8<b class='flag-5'>单片机</b>的智能小车项目方案 附源<b class='flag-5'>代码</b>

    第三篇 RA8889 实现酷炫车载液晶仪表系列文章:RA8889初始化

    由液晶驱动控制芯片RA8889实现车载液晶仪表的方案,本系列文章会从最基本的UI界面制作,硬件平台的介绍,以及软件代码实现来详细
    的头像 发表于 02-25 15:34 1094次阅读
    第三篇 <b class='flag-5'>RA8889</b> 实现酷炫车载液晶仪表系列文章:<b class='flag-5'>RA8889</b>初始化

    第二RA8889 实现酷炫车载液晶仪表系列视频: UI类界面介绍

    本系列文章介绍 RA8889 实现液晶仪表HMI UI界面,分为两大部分来介绍,本期介绍如何制作UI类界面,其中包括使用PS软件制作静态类UI界面,Ae软件制作动态类的UI:指针转动的
    的头像 发表于 02-25 15:27 889次阅读
    <b class='flag-5'>第二</b>篇 <b class='flag-5'>RA8889</b> 实现酷炫车载液晶仪表系列视频: UI类界面<b class='flag-5'>介绍</b>

    第一篇 RA8889 实现酷炫车载液晶仪表系列文章:简介及平台介绍

    由液晶驱动控制芯片RA8889实现车载液晶仪表的方案,本系列文章会从最基本的UI界面制作,硬件平台的介绍,以及软件代码实现来详细
    的头像 发表于 02-25 14:56 1032次阅读
    第一篇 <b class='flag-5'>RA8889</b> 实现酷炫车载液晶仪表系列文章:简介及平台<b class='flag-5'>介绍</b>

    单片机学习—C51源代码和Proteus仿真文件

    单片机学习—C51源代码和Proteus仿真文件.zip, 有各种例子
    发表于 02-10 13:46 2次下载

    STC89C51是不是不可以通过串口读取ADS1118的数据,因为单片机是8位的?

    STC89C51是不是不可以通过串口读取ADS1118的数据,因为单片机是8位的?
    发表于 12-20 06:11