微信公众号怎么进行网站建设,电脑系统优化软件,网站模板怎么设计,网页设计模板素材图片中文#x1f38a;【蓝桥杯嵌入式】专题正在持续更新中#xff0c;原理图解析✨#xff0c;各模块分析✨以及历年真题讲解✨都在这儿哦#xff0c;欢迎大家前往订阅本专题#xff0c;获取更多详细信息哦#x1f38f;#x1f38f;#x1f38f; #x1fa94;本系列专栏 - 蓝… 【蓝桥杯嵌入式】专题正在持续更新中原理图解析✨各模块分析✨以及历年真题讲解✨都在这儿哦欢迎大家前往订阅本专题获取更多详细信息哦 本系列专栏 - 蓝桥杯嵌入式_勾栏听曲_0的博客 欢迎大家 点赞 评论 收藏⭐️ 个人主页 - 勾栏听曲_0的博客 希望本文能对你有所帮助如有不足请指正共同进步吧 纵死侠骨香不惭世上英。谁能书阁下白首太玄经。 目录
原理图解析 设置STM32CubeMX
配置文件
测试LCD屏函数
实例运用 原理图解析
观察LCD的原理图LCD的引脚比较多在下一个步骤设置STM32CubeMX时最好一一对应地去设置以免缺漏。
但需要注意的是在官方文件的实例代码中已有LCD.c与.h文件我们可以直接移动到我们的工程文件即可 设置STM32CubeMX
对照原理图将各个引脚设置好即可 配置文件
这一步与上一步选择一个便可。推荐使用官方资料中的文件因为方便快捷且不易出错。
在官方资料中找到fonts.h与lcd.h还有lcd.c三个文件复制到我们工程文件bsp中。 打开keil5
右击左侧Project中的bsp文件点击添加文件到bsp中选中lcd.c添加即可
测试LCD屏函数
我们打开刚刚找lcd.c文件同文件夹中的main.c部分如下 LCD_Init(); //LCD初始化/* USER CODE END 2 *//* Infinite loop *//* USER CODE BEGIN WHILE */LCD_Clear(Blue); //LCD清屏LCD_SetBackColor(Blue); //LCD背景颜色LCD_SetTextColor(White); //LCD文本颜色LCD_DisplayStringLine(Line0, (uint8_t *) );LCD_DisplayStringLine(Line1, (uint8_t *) );LCD_DisplayStringLine(Line2, (uint8_t *) LCD Test );LCD_DisplayStringLine(Line3, (uint8_t *) );LCD_DisplayStringLine(Line4, (uint8_t *) );LCD_SetBackColor(White);LCD_SetTextColor(Blue);LCD_DisplayStringLine(Line5, (uint8_t *) );LCD_DisplayStringLine(Line6, (uint8_t *) HAL LIB );LCD_DisplayStringLine(Line7, (uint8_t *) );LCD_DisplayStringLine(Line8, (uint8_t *) 80 );LCD_DisplayStringLine(Line9, (uint8_t *) );
可以看到LCD的初始化已经是现成的了不需要我们再去写所以我们在给LCD初始化时直接调用 “ LCD_Init(); ” 即可。
下面还有三个函数作用分别如下 LCD_Clear(Blue); LCD清屏并选择清屏后的颜色 LCD_SetBackColor(Blue); LCD背景颜色 LCD_SetTextColor(White); LCD文本颜色
最后一个函数就是指定在第几行什么位置显示上面文本了如 LCD_DisplayStringLine(Line2, (uint8_t *) LCD Test ); 就是在LCD屏第三行显示 LCD Test 空格也是占格数的哦。
可以将这一部分拷贝到自己的主函数中然后烧入开发板中去试试看看有什么效果。
实例运用
我们以第十三届省赛题中的LCD为例子试一试
题目如下 写代码时一定要注意行数与列数必须和题目中一样哦(特别是空格要数对)大家可以先写出来再看下面的代码有什么异同欢迎评论哦。
代码实现
int X_shop 1,Y_shop 8;
char text[30];
sprintf(text, SHOP );
LCD_DisplayStringLine(Line1, (uint8_t *)text);sprintf(text, X:%d,X_shop);
LCD_DisplayStringLine(Line3, (uint8_t *)text);sprintf(text, Y:%d,Y_shop);
LCD_DisplayStringLine(Line4, (uint8_t *)text);