找回密码
 立即注册
搜索
热搜: RA8889 RA8876 RA8875
查看: 876|回复: 15

初级课程:单片机如何驱动彩屏?介绍RA8889/RA6809基础应用方法

[复制链接]

59

主题

26

回帖

840

积分

管理员

积分
840
QQ
发表于 2025-1-22 15:46:50 | 显示全部楼层 |阅读模式
初级课程:单片机如何驱动彩屏?介绍RA8889/RA6809基础应用方法
第一节:简单演示显示文字

硬件:RT8H8K001+RT6809CNN01+1024x600
MCU:STC8H8K64U
控制器:RA6809/RA8889
液晶屏:7寸/1024x600/TTL接口(40/50PIN皆可)



演示代码:


开发板说明:
RA8889: https://bbs.lcdvision.com.cn/forum.php?mod=viewthread&tid=62
RA6809: https://bbs.lcdvision.com.cn/forum.php?mod=viewthread&tid=64
单片机:



开发板可以在淘宝店购买:
https://shop124860398.taobao.com









本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

59

主题

26

回帖

840

积分

管理员

积分
840
QQ
 楼主| 发表于 2025-2-10 17:12:15 | 显示全部楼层
初级课程:单片机如何驱动彩屏?介绍RA8889/RA6809基础应用方法
第二节:显示十进制、16进制数值以及内建字体


(1)在通用的UI设计中,显示16进制和十进制都是常用的功能,可以调用下方两个API:
  1. void Print_Internal_Font_Hexvariable(unsigned short x,unsigned short y,unsigned short X_W,unsigned short Y_H,unsigned long FontColor,unsigned long BackGroundColor,  unsigned int tmp2);
  2. void Print_Internal_Font_Decimalvariable(unsigned short x,unsigned short y,unsigned short X_W,unsigned short Y_H,unsigned long FontColor,unsigned long BackGroundColor,unsigned int tmp2);
复制代码
API的参数都相同,16进制为单字节,一次只能显示一个字节;10进制则不限,函数定义为无符号整形,若您是想使用长整形则需要修改API代码,逻辑还是比较容易读懂,可以自行修改。若不明白可以留言进行交流。

而如果是想显示浮点型怎么办呢?只需要用sprintf或者itoa函数进行转换即可,参考下方写法:
  1. char str[32];
  2.         float temp;
  3.         //........
  4.         sprintf(str, "%0.4f", temp);
  5.         Show_String(str);
复制代码



(2)下面介绍如何显示欧洲各国的文字,RA8889和RA6809内建ISO8859-1/2/4/5四套字符,字体大小为12x24,由于Keil支持语言有限,如涉及到欧洲各国特殊字符显示不出来,那么请使用VSCode先打开再编辑,再保存,然后Keil平台会提示“是否重新装载reload”,选择“是”,再进行编译即可下载使用,如下方式进行显示:
  1. Internal_CGROM_Select_ISOIEC8859_5();
  2. Print_Internal_Font_String(10,100,1024,600,0xFF0000,0x00FF00,"Какэтонадоело!");
复制代码


(3)视频介绍:




(4)视频范例代码下载链接:





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

59

主题

26

回帖

840

积分

管理员

积分
840
QQ
 楼主| 发表于 2025-2-10 17:12:29 | 显示全部楼层
初级课程:单片机如何驱动彩屏?介绍RA8889/RA6809基础应用方法
第三节:显示中文字体(外挂集通字库芯片)


(1)RA8889/RA6809内建字型只有英文及欧洲各国字符,没有中文,若要显示中文,最简单的方法是外挂集通专用字库芯片,支持的型号有这些:
GT21L16T1W
GT30L16U2W
GT30L24T3Y
GT30L24M1Z
GT30L32S4W
GT20L24F6Y
GT21L24S1W

每种芯片包含的字符集不同,大家可依照自己的需求进行选择,常用的是GT30L32S4W和GT30L24T3Y这两颗。

(2)显示中文字符,只要调用如下代码即可,中英文、半角及全角可以混和使用:
  1. Select_SFI_Font_Mode();
  2. Select_SFI_0();  //Serial Flash/ROM 0 I/F is selected.
  3. SPI_Clock_Period(0);  //SPI_clock= CORE_FREQ / ((Divisor+1)x2)
  4. CGROM_Select_Genitop_FontROM();
  5. GTFont_Select_GT30L32S4W();

  6. Font_Line_Distance(0);
  7. Set_Font_to_Font_Width(5);

  8. Select_Font_Height_WxN_HxN_ChromaKey_Alignment(32,1,1,0,0);
  9. Text_Mode();
  10. Foreground_color_16M(0xFFFF00);
  11. Background_color_16M(0x003333);

  12. Set_GTFont_Decoder(0);
  13. Goto_Text_XY(10,10);
  14. Show_String("瑞佑科技This is a test.  ");
复制代码
(3)下方为实物显示:


(4)教学影片:




(5)源码下载:















本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

59

主题

26

回帖

840

积分

管理员

积分
840
QQ
 楼主| 发表于 2025-2-10 17:12:58 | 显示全部楼层
初级课程(4) 占位

59

主题

26

回帖

840

积分

管理员

积分
840
QQ
 楼主| 发表于 2025-2-10 17:13:09 | 显示全部楼层
初级课程(5) 占位

59

主题

26

回帖

840

积分

管理员

积分
840
QQ
 楼主| 发表于 2025-2-10 17:13:16 | 显示全部楼层
初级课程(6) 占位

59

主题

26

回帖

840

积分

管理员

积分
840
QQ
 楼主| 发表于 2025-2-10 17:13:27 | 显示全部楼层
初级课程(7) 占位

59

主题

26

回帖

840

积分

管理员

积分
840
QQ
 楼主| 发表于 2025-2-10 17:13:38 | 显示全部楼层
初级课程(8) 占位

59

主题

26

回帖

840

积分

管理员

积分
840
QQ
 楼主| 发表于 2025-2-10 17:13:56 | 显示全部楼层
初级课程(9) 占位

59

主题

26

回帖

840

积分

管理员

积分
840
QQ
 楼主| 发表于 2025-2-10 17:14:03 | 显示全部楼层
初级课程(10) 占位
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|Lcdvision Technology ( 苏ICP备10203891号 )

GMT+8, 2025-3-15 01:20 , Processed in 0.090295 second(s), 28 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表