HomeCases › 第五讲 单片机驱动彩色液晶屏 显示文字:Part1.内部字库
English is not ready for this page. Showing Chinese for now.

第五讲 单片机驱动彩色液晶屏 显示文字:Part1.内部字库

2024-01-02

目录

第一讲 单片机最小系统STM32F103C6T6通过RA8889驱动彩色液晶屏播放视频

第二讲 单片机最小系统STM32F103C6T6控制RA8889驱动彩色液晶屏硬件框架

第三讲 单片机驱动彩色液晶屏 控制RA8889软件:如何初始化

第四讲 单片机驱动彩色液晶屏 控制RA8889软件:绘图

第五讲 单片机驱动彩色液晶屏 控制RA8889软件:显示文字:Part1.内部字库

第六讲 单片机驱动彩色液晶屏 控制RA8889软件:显示文字:Part2.外接字库

第七讲 单片机驱动彩色液晶屏 控制RA8889软件:显示文字:Part3.自建字库

第八讲 单片机驱动彩色液晶屏 控制RA8889软件:显示图片

第九讲 单片机驱动彩色液晶屏 控制RA8889软件:认识显存并进行读、写、复制

第十讲 单片机驱动彩色液晶屏 控制RA8889软件:图像运算

第十一讲 单片机驱动彩色液晶屏 控制RA8889软件:播放avi视频

第十二讲 单片机驱动彩色液晶屏 如何打包bin档

第十三讲 单片机驱动彩色液晶屏 bin档的烧录方法

 

如何通过RA8889 / RA8876来显示文字?

UI界面需求最大的两个功能,第一个是显示图形,第二个是显示文字。文字部分有ASCII和中文,或者是多国语言,下面我们就专门针对RA8889如何显示文字展开介绍。本章涉及内容较多,会分为三篇进行介绍。

 
 

 

单片机在没有使用嵌入式OS的情况下,显示文字有很多方法。先介绍如何调用RA8889内建文字。这颗控制芯片内建12x24 ASCII字体的ROM,字体为ISO/IEC 8859-1/2/4/5字符集。

调用内建字符出来显示的速度很快且只占用MCU很少的资源,用户可指定前景、背景色,以及是否为透明色,文字可以放大1~4倍,只是越大锯齿会越明显,参考下图实例:

显示内建文字,调用API举例:

**
Internal_CGROM_Select_ISOIEC8859_1();  //选择字符集

Select_Font_Height_WxN_HxN_ChromaKey_Alignment(24,4,4,0,0);  //设定文字的尺寸、透明色、对齐方式,根据函数名也可以看出来参数含义

Font_Line_Distance(0);  //行间距

Set_Font_to_Font_Width(0); //文字间距

Print_Internal_Font_String(100,330,800,480,0xFFFFFF,0x000000,"Embeded Fonts of RA8889");

如果只是要调用通用的ASCII字符,那么无需多言,这篇文章您看到这边即可。

如果您的产品有西欧各国文字显示的需求,那么您接着往下看!

RA8889内建了ISO/IEC 8859-1/2/4/5字符集,各字符集先简要说明一下:

字符集表如下,常用ASCII存放在0x00 ~ 0x7F,0x80 ~ 0xFF存放西欧字符。

显示内建的西欧文字实际效果展示:

 

调用API代码如下:

**
 // 设定字体格式

 Select_Font_Height_WxN_HxN_ChromaKey_Alignment(24, 1, 1, 0, 0);

 

 // 显示4种欧洲文字字符演示

 Internal_Font_Europe_ISO8859_1();

 Internal_Font_Europe_ISO8859_2();

 Internal_Font_Europe_ISO8859_4();

 Internal_Font_Europe_ISO8859_5();

 

其中,函数是这样写的:

注意到了吗?文字是乱码!该文件是使用Keil打开的,即使我们将编码改为UTF-8,显示出来一样是乱码!Keil内核编码支持还是有限。

 

经过测试,我们找到一种可行的方法。使用VS Code平台安装EIDE扩展后,再导入编辑Keil工程,保存相应的编码即可。

方法如下:

(1)先打开文件,再同时按住Ctrl+Shift+P,输入“更改文件编码”:

(2)选中后,再选择“通过编码保存”:

 

(3)选中后,再输入“8859-1”即可找到“Westen(ISO 8859-1)”这个选项:

 

保存好后,再输入或者贴上ISO8859-1编码内的文字,显示出来就不会乱码了:

 

其它编码类似,同时强调一下不同编码只能存到不同文件并相应地保存编码,这样就可以显示不同编码的字体了。

这些代码文件可下载参考:

Europe_Fonts.zip

第五讲 THE END

 

				分享到: