蓝桥杯嵌入式学习记录——LCD的使用

目录

一、前言

二、LCD代码的移植

三、LCD代码的调用


一、前言

        前一篇文章已经简单记录了一下cubeMX软件的使用和LED的点亮,今天来记录一下LCD的使用。LCD的驱动代码有很多,但实际上在蓝桥杯的比赛中用起来非常简单,因为赛点会提供LCD的驱动代码,我们只需要将代码移植到我们自己的工程里即可,这给予了我们极大的方便。而赛点资源数据包我已上传到我的资源里,完全免费,大家按需自取。

二、LCD代码的移植

(一)首先打开我们的赛点资源包,查看里面的液晶显示屏例程

(二)选择HAL_06_LCD

(三)分别点开下图所示的Inc、Src

(四)找到以下三个文件:fonts.h、lcd.h、lcd.c,并复制到自己的工程文件bsp中

(五)打开自己的工程文件bsp并进行复制

至此,LCD代码的移植已完成

三、LCD代码的调用

        移植完代码后,打开赛点资源包中的代码,找到如下与LCD相关的代码部分,并根据需要复制到自己的工程对应的地方

所有与LCD相关的代码如下:

	LCD_Init();LCD_Clear(Blue);LCD_SetBackColor(Blue);LCD_SetTextColor(White);LCD_DrawLine(120,0,320,Horizontal);LCD_DrawLine(0,160,240,Vertical);HAL_Delay(1000);LCD_Clear(Blue);LCD_DrawRect(70,210,100,100);HAL_Delay(1000);LCD_Clear(Blue);LCD_DrawCircle(120,160,50);HAL_Delay(1000);LCD_Clear(Blue);LCD_DisplayStringLine(Line4 ,(unsigned char *)"    Hello,world.   ");HAL_Delay(1000);LCD_SetBackColor(White);LCD_DisplayStringLine(Line0,(unsigned char *)"                    ");	LCD_SetBackColor(Black);LCD_DisplayStringLine(Line1,(unsigned char *)"                    ");	LCD_SetBackColor(Grey);LCD_DisplayStringLine(Line2,(unsigned char *)"                    ");LCD_SetBackColor(Blue);LCD_DisplayStringLine(Line3,(unsigned char *)"                    ");LCD_SetBackColor(Blue2);LCD_DisplayStringLine(Line4,(unsigned char *)"                    ");LCD_SetBackColor(Red);						LCD_DisplayStringLine(Line5,(unsigned char *)"                    ");LCD_SetBackColor(Magenta);	LCD_DisplayStringLine(Line6,(unsigned char *)"                    ");LCD_SetBackColor(Green);	LCD_DisplayStringLine(Line7,(unsigned char *)"                    ");	LCD_SetBackColor(Cyan);	LCD_DisplayStringLine(Line8,(unsigned char *)"                    ");LCD_SetBackColor(Yellow);		LCD_DisplayStringLine(Line9,(unsigned char *)"                    ");	

简单记录一下LCD的各代码意义及作用:

(1)LCD显示屏的初始化

LCD_Init();

(2)LCD清屏操作

LCD_Clear(Blue);

(3)设置LCD显示屏的背景颜色

LCD_SetBackColor(Blue);

(4)设置字体颜色

LCD_SetTextColor(White);

(5)绘制线条,其中120 和 0 是线条的起始坐标,表示线条的起点位于 x 坐标 120、y 坐标 0 的位置。参数 320 是线条的长度,表示线条的宽度为 320 个像素。Horizontal 是线条的方向,表示绘制一条水平线,Vertical表示绘制一条垂直线

	LCD_DrawLine(120,0,320,Horizontal);LCD_DrawLine(0,160,240,Vertical);

(6)在指定行数显示指定字符

	LCD_DisplayStringLine(Line4 ,(unsigned char *)"    Hello,world.   ");

       

        例如,我希望在LCD显示屏上的第一行显示“Hello,KAI!”,并且设置背景颜色为蓝色字体颜色为白色,则只需要选取以下代码

//循环前LCD_Init();LCD_Clear(Blue);LCD_SetBackColor(Blue);LCD_SetTextColor(White);//循环内LCD_DisplayStringLine(Line0,(unsigned char *)"     Hello, KAI!       ");	

具体代码位置如下:

烧录效果如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/457288.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysq开启慢查询日志,对慢查询进行优化

1.创建实验的环境 创建对应的数据库,然后写脚本向数据库中写入400万条的数据 //创建实验用的数据库 CREATE DATABASE jsschool;//使用当前数据库 USE jsschool;//创建学生表 CREATE TABLE student (sno VARCHAR(20) PRIMARY KEY COMMENT 学生编号,sname VARCHAR(20…

微软为新闻编辑行业推出 AI 辅助项目,记者参加免费课程

2 月 6 日消息,微软当地时间 5 日发布新闻稿宣布与多家新闻机构展开多项基于生成式 AI 的合作。微软表示,其使命是确保新闻编辑室在今年和未来拥有创新。 目前建议企业通过微软官方合作伙伴获取服务,可以合规、稳定地提供企业用户使用ChatGP…

C#委托的前世今生

起因 很多C#初学者,都遇到过这样的问题——线程间操作无效,从不是创建控件的线程访问它。 今天就这个问题,展开分析。 溯源 先说下这个问题产生的根源。 大家都知道,程序运行起来之后,首先会有一个主线程&#xff…

用HTML5 + JavaScript实现下雪效果

用HTML5 JavaScript实现下雪效果 <canvas>是一个可以使用脚本 (通常为JavaScript) 来绘制图形的 HTML 元素。 <canvas> 标签/元素只是图形容器&#xff0c;必须使用脚本来绘制图形。 HTML5 canvas 图形标签基础https://blog.csdn.net/cnds123/article/details/…

搜索与图论(一)(深搜,广搜,树与图的存储遍历,拓扑排序)

一、DFS 往深里搜&#xff0c;搜到叶子结点那里&#xff0c;回溯&#xff0c;到可以继续到叶子结点深搜的位置。 1、回溯一定要恢复现场 2、定义一个与当前递归层数有关的终止条件&#xff08;题目要求的东西&#xff09; 3、每层都用循环判断是否存在可以dfs的路 输出数字…

DDoS攻击激增,分享高效可靠的DDoS防御方案

当下DDoS攻击规模不断突破上限&#xff0c;形成了 "网络威胁格局中令人不安的趋势"。专业数据显示&#xff0c;对比2022年上半年与2023年上半年&#xff0c;所有行业的DDoS攻击频率增加了314%。其中零售、电信和媒体公司遭受的攻击规模最大&#xff0c;三个垂直行业的…

10.0 Zookeeper 权限控制 ACL

zookeeper 的 ACL&#xff08;Access Control List&#xff0c;访问控制表&#xff09;权限在生产环境是特别重要的&#xff0c;所以本章节特别介绍一下。 ACL 权限可以针对节点设置相关读写等权限&#xff0c;保障数据安全性。 permissions 可以指定不同的权限范围及角色。 …

如何启动若依框架

Mysql安装 一、下载 链接&#xff1a;https://pan.baidu.com/s/1s8-Y1ooaRtwP9KnmP3rxlQ?pwd1234 提取码&#xff1a;1234 二、安装(解压) 下载完成后我们得到的是一个压缩包&#xff0c;将其解压&#xff0c;我们就可以得到MySQL 5.7.24的软件本体了(就是一个文件夹)&…

【Web - 框架 - Vue】随笔 - 通过`CDN`的方式使用`VUE 2.0`和`Element UI`

通过CDN的方式使用VUE 2.0和Element UI VUE 网址 https://cdn.bootcdn.net/ajax/libs/vue/2.7.16/vue.js源码 https://download.csdn.net/download/HIGK_365/88815507测试 代码 <!DOCTYPE html> <html lang"en"> <head><meta charset&quo…

JavaWeb后端开发(第一期):Maven基础、Maven的安装配置、如何创建maven项目模块、maven的生命周期

Java后端开发&#xff1a;2024年2月6日 -> LiuJinTao 文章目录 JavaWeb后端开发&#xff08;第一期&#xff09; &#xff1a; maven基础一、 maven介绍1.1 什么maven呢&#xff1a;1.2 maven的作用1.3 maven 模型1.4 maven 仓库 二、maven 安装2.1 配置本地仓库2.2 配置阿里…

第二十五回 偷骨殖何九叔送丧 供人头武二郎设祭-Numpy数组计算

何九叔晕倒了&#xff0c;被抬回家里&#xff0c;他对老婆说&#xff0c;我没事&#xff0c;是看到武大郎的情况&#xff0c;明显是中毒身亡&#xff0c;但是又不敢声张&#xff0c;怕西门庆打击报复。九叔的老婆让他送丧的时候拿两块骨头&#xff0c;同前面十两银子一起收着&a…

mybatis sql报错记录: Encountered “<EOF>“ at line 1, column 0.

报错日志&#xff1a; 解决问题&#xff1a; ***<if test" ">***AND T1.xxx_code in<foreach item"pollCode" collection"vo.pollCodeList" open"(" separator"," close")">#{pollCode}</foreac…