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

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

[复制链接]

50

主题

3

回帖

591

积分

管理员

积分
591
QQ
发表于 2024-4-7 12:13:18 | 显示全部楼层 |阅读模式
本文介绍用户自己生成的汉字字库如何通过RA8889/RA8876显示到液晶屏上。


一、实例效果图:




汉字字库通过第三方软件生成,点阵是从右到右排列,左高位排法,网上有许多软件可用,这边就不再列举。

汉字表如下,可根据需求量生成,而不是全部几千上万个汉字,这种方法占用的空间比较小,汉字表是存放在MCU的FLASH中的:
  1. // ------------------  汉字字模的数据结构定义 ------------------------ //
  2. typedef struct                 // 汉字字模数据结构
  3. {
  4.        signed char Index[2];              // 汉字内码索引
  5.        char Msk[72];                      // 点阵码数据
  6. }typFNT_GB24;

  7. /////////////////////////////////////////////////////////////////////////
  8. // 汉字字模表                                                          //
  9. // Font:宋体24,,横向取模左高位,数据排列:从左到右从上到下               //
  10. /////////////////////////////////////////////////////////////////////////
  11. typFNT_GB24 code_GB_24[] =        // 数据表
  12. {
  13. "苏", 0x00,0x00,0x00,0x00,0x82,0x00,0x00,0x83,
  14.       0x00,0x00,0x83,0x08,0x7F,0xFF,0xFC,0x00,
  15.       0x83,0x00,0x00,0x83,0x00,0x00,0xB3,0x00,
  16.       0x00,0x30,0x00,0x00,0x30,0x00,0x1F,0xFF,
  17.       0xE0,0x00,0x20,0xC0,0x00,0x20,0xC0,0x00,
  18.       0x20,0xC0,0x08,0x60,0x98,0x08,0x40,0x8C,
  19.       0x18,0x40,0x8C,0x30,0x80,0x84,0x01,0x80,
  20.       0x80,0x01,0x01,0x80,0x06,0x1D,0x80,0x08,
  21.       0x07,0x00,0x10,0x00,0x00,0x00,0x00,0x00,

  22. "州", 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  23.       0x10,0x03,0x00,0x18,0x03,0x04,0x10,0x02,
  24.       0x04,0x10,0x02,0x04,0x10,0x02,0x04,0x10,
  25.       0x02,0x04,0x10,0x02,0x45,0x10,0x12,0x44,
  26.       0x90,0x12,0x24,0xD0,0x32,0x24,0xD0,0x32,
  27.       0x24,0x10,0x02,0x04,0x10,0x02,0x04,0x10,
  28.       0x06,0x04,0x10,0x04,0x04,0x10,0x04,0x04,
  29.       0x10,0x08,0x04,0x10,0x08,0x04,0x10,0x10,
  30.       0x00,0x10,0x20,0x00,0x18,0x40,0x00,0x00
  31. };
复制代码



二、演示代码:
  1. int main(void)
  2. {
  3. /* System Clocks Configuration */
  4. RCC_Configuration();
  5. delay_init(72);
  6. GPIO_Configuration();
  7. //NVIC_Configuration();
  8. //SPI_Peripheral_Init();

  9. /* Enable the FSMC Clock */
  10. RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC, ENABLE);
  11. delay_ms(1);
  12. FSMC_LCD_Init_H();

  13. /*RA8889初始化*/
  14. RA8889_Initial();

  15. /*清屏,填充黑色0x0*/
  16. BTE_Solid_Fill(0,canvas_image_width,0,0,0x0,LCD_Width,LCD_Height);

  17. /*MCU写入GB2312汉字 功能例程测试*/
  18. User_Font_Init(0,canvas_image_width,0,color65k_white,color65k_blue);
  19. Show_User_Font_32(code_GB_32,200,100,"苏州菱致电子有限公司");
  20. User_Font_Init(0,canvas_image_width,1,color65k_green,color65k_blue);
  21. Show_User_Font_24(code_GB_24,320,150,"瑞佑科技");
  22. User_Font_Init(0,canvas_image_width,1,color65k_yellow,color65k_blue);
  23. Show_User_Font_16(code_GB_16,280,200,"提供专业的液晶显示方案");

  24. while(1);
  25. }
复制代码



三、程序流程图:



四、源代码下载:


分享名称:02_RA8889_MCU_FLASH_User_Defined_GB2312.zip
分享链接:http://pan.lcdvision.com.cn/#s/-SVZlvgQ
访问密码:font


本帖子中包含更多资源

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

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-21 16:31 , Processed in 0.104059 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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