蓝桥杯嵌入式学习笔记(4):LCD程序设计

目录

前言

1. 电路原理

2. 获取液晶屏驱动文件

3. 代码编程

3.1 预备工作

 3.2 main.c编写

4. 代码测试


前言

上文我们实现了KEY按键程序设计,本节进行LCD程序设计。

1. 电路原理

通过查阅CT117E-M4产品手册的电路原理图,可以看到LCD电路图。

2. 获取液晶屏驱动文件

蓝桥杯嵌入式比赛官方提供了液晶屏的相关驱动程序,我们从HAL_06_LCD工程中拿到lcd.c、lcd.h、fonts.h文件,将这些文件放在我们的Test_Project项目中。

3. 代码编程

3.1 预备工作

接下来我们分别在Test_Project工程里添加Test\Test_Project\Src\BSP\LCD\bsp_lcd.c,这就是我们后面要编写的中间层代码文件。打开Test_Project工程,进行文件Group的添加。

随后在 bsp_lcd.c中把#include "lcd.h"改为#include "LCD\bsp_lcd.h",把#include "fonts.h"改为#include "LCD\fonts.h"。

#include "LCD\bsp_lcd.h"
#include "LCD\fonts.h"

 3.2 main.c编写

导入bsp_lcd.h头文件。

#include "LCD\bsp_lcd.h"

进行变量声明,其中uwTick_Lcd_Set_Point是为了做减速用,Lcd_Disp_String为了存储打印的字符串。

//变量声明
__IO uint32_t uwTick_Lcd_Set_Point;//LCD减速

//*LCD显示专用变量
unsigned char Lcd_Disp_String[22];

接下来进行子函数声明。

//***子函数声明区
void Lcd_Proc(void);

接下来进行子函数实现,这里进行200ms的减速,然后通过sprintf函数将字符串存在Lcd_Disp_String字符串变量中,通过LCD_DisplayStringLine函数进行LCD屏幕的显示。

void Lcd_Proc(void)
{
	if((uwTick_Lcd_Set_Point-uwTick)<200)
		return;
	uwTick_Lcd_Set_Point = uwTick;
	
	sprintf((char*)Lcd_Disp_String,"Hello World");
	LCD_DisplayStringLine(Line4,Lcd_Disp_String);
}

main函数实现

这里通过LCD相关函数进行控制

LCD_Init()屏幕初始化、
LCD_Clear(White)LCD屏幕清除
LCD_SetBackColor(White)LCD设置背景颜色
LCD_SetTextColor(Blue)LCD设置字符颜色
int main(void)
{
	HAL_Init();
	
    SystemClock_Config();

	LCD_Init();//LCD屏幕初始化
	LCD_Clear(White);//LCD屏幕清除
	LCD_SetBackColor(White);//LCD设置背景颜色
	LCD_SetTextColor(Blue);//LCD设置字符颜色
	
  while (1)
  {
		Lcd_Proc();
  }
}

4. 代码测试

测试成功啦!!

  • 23
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值