目录
前言
上文我们实现了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. 代码测试
测试成功啦!!