stm32f103开发板控制TFTLCD显示中文

2023-10-08 08:10

本文主要是介绍stm32f103开发板控制TFTLCD显示中文,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 前言
  • 一、中文字库的建立
    • 1.配置取模软件
    • 2.汉字取模
  • 二、配置工程源码
    • 1.导入字库
    • 2.中文显示函数
    • 3.在主函数中调用
  • 三、运行结果
  • 总结


前言

这篇文章记录了如何用stm32f103开发板控制TFTLCD显示屏显示中文。

一、中文字库的建立

1.配置取模软件

这里用的取模软件是PCtoLCD2002完美版。
点击字模生成液晶面板选项,完成如图配置。

在这里插入图片描述

根据自己的需求配置字体的种类、大小,这里以16字号宋体为例。
在这里插入图片描述

2.汉字取模

取模软件配置完毕后,输入所要取模的汉字,点击生成字模,并复制所生成的点阵集,如图所示。
在这里插入图片描述

二、配置工程源码

1.导入字库

打开正点原子标准例程——TFTLCD显示实验
将所复制的点阵集按如下格式整理导入到font.h文件中
在这里插入图片描述
导入完毕。

2.中文显示函数

将以下代码添加到lcd.c文件中


void Chinese_Show_one(u8 x, u8 y,  u8 num, u8 size,u8 mode)
{u8 temp,t,t1;u8 y0=y;u8 csize=(size/8 + ((size%8)?1:0)) * size;   for(t=0;t<csize;t++){  if(size==16)     temp = chinese_one_1616[num][t];           else return;  	for(t1=0;t1<8;t1++){if(temp&0x80) LCD_Fast_DrawPoint(x,y,POINT_COLOR);else LCD_Fast_DrawPoint(x,y,BACK_COLOR);temp<<=1;y++;if((y-y0)==size){y=y0;x++;break;}}    } 	
}

3.在主函数中调用

int main(void){	 delay_init();	    	 	  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);	uart_init(115200);	 	LCD_Init();POINT_COLOR=RED;  LCD_Clear(WHITE);  POINT_COLOR=RED;	Chinese_Show_one(90,140,0,16,0);Chinese_Show_one(110,140,1,16,0);	 Chinese_Show_one(130,140,2,16,0);Chinese_Show_one(150,140,3,16,0);while(1);			 
}

三、运行结果

在这里插入图片描述

总结

更详细、更完整的工程源码请见TFTLCD显示汉字

这篇关于stm32f103开发板控制TFTLCD显示中文的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/163922

相关文章

Redis出现中文乱码的问题及解决

《Redis出现中文乱码的问题及解决》:本文主要介绍Redis出现中文乱码的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 问题的产生2China编程. 问题的解决redihttp://www.chinasem.cns数据进制问题的解决中文乱码问题解决总结

Spring如何使用注解@DependsOn控制Bean加载顺序

《Spring如何使用注解@DependsOn控制Bean加载顺序》:本文主要介绍Spring如何使用注解@DependsOn控制Bean加载顺序,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录1.javascript 前言2. 代码实现总结1. 前言默认情况下,Spring加载Bean的顺

SpringSecurity显示用户账号已被锁定的原因及解决方案

《SpringSecurity显示用户账号已被锁定的原因及解决方案》SpringSecurity中用户账号被锁定问题源于UserDetails接口方法返回值错误,解决方案是修正isAccountNon... 目录SpringSecurity显示用户账号已被锁定的解决方案1.问题出现前的工作2.问题出现原因各

基于Python开发Windows屏幕控制工具

《基于Python开发Windows屏幕控制工具》在数字化办公时代,屏幕管理已成为提升工作效率和保护眼睛健康的重要环节,本文将分享一个基于Python和PySide6开发的Windows屏幕控制工具,... 目录概述功能亮点界面展示实现步骤详解1. 环境准备2. 亮度控制模块3. 息屏功能实现4. 息屏时间

Python远程控制MySQL的完整指南

《Python远程控制MySQL的完整指南》MySQL是最流行的关系型数据库之一,Python通过多种方式可以与MySQL进行交互,下面小编就为大家详细介绍一下Python操作MySQL的常用方法和最... 目录1. 准备工作2. 连接mysql数据库使用mysql-connector使用PyMySQL3.

RedisTemplate默认序列化方式显示中文乱码的解决

《RedisTemplate默认序列化方式显示中文乱码的解决》本文主要介绍了SpringDataRedis默认使用JdkSerializationRedisSerializer导致数据乱码,文中通过示... 目录1. 问题原因2. 解决方案3. 配置类示例4. 配置说明5. 使用示例6. 验证存储结果7.

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

idea中project的显示问题及解决

《idea中project的显示问题及解决》:本文主要介绍idea中project的显示问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录idea中project的显示问题清除配置重China编程新生成配置总结idea中project的显示问题新建空的pr

MySQL精准控制Binlog日志数量的三种方案

《MySQL精准控制Binlog日志数量的三种方案》作为数据库管理员,你是否经常为服务器磁盘爆满而抓狂?Binlog就像数据库的“黑匣子”,默默记录着每一次数据变动,但若放任不管,几天内这些日志文件就... 目录 一招修改配置文件:永久生效的控制术1.定位my.cnf文件2.添加核心参数不重启热更新:高手应

电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案

《电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案》最近有不少兄弟反映,电脑突然弹出“mfc100u.dll已加载,但找不到入口点”的错误提示,导致一些程序无法正... 在计算机使用过程中,我们经常会遇到一些错误提示,其中最常见的就是“找不到指定的模块”或“缺少某个DL