单片机驱动TFT彩色液晶屏系列讲座
目录
第一讲 单片机最小系统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编码内的文字,显示出来就不会乱码了:
其它编码类似,同时强调一下不同编码只能存到不同文件并相应地保存编码,这样就可以显示不同编码的字体了。
我会将这段编码文件上传给大家下载!若需要更详细信息请访问官网:www.lcdvision.com.cn
关注我!带你用单片机玩转TFT液晶控制芯片!
第五讲 THE END
了解更多信息:http://www.lcdvision.com.cn