蓝桥杯嵌入式——LCD

蓝桥杯嵌入式——LCD

配置

  1. cubeMX
    根据下图,将对应的引脚设置为OutPut
  2. 电路原理图
    在这里插入图片描述
  3. 导入 LCD 相关文件,将下面的文件发到 bsp 文件夹中。
    在这里插入图片描述在这里插入图片描述

程序编写

  1. 初始化
    在main函数里,/* USER CODE BEGIN 2 * /和/ * USER CODE END 2 */之间初始化LCD.
//初始化LCD
LCD_Init();
LCD_Clear(Black);//清除为白色
LCD_SetBackColor(Black);//黑色背景
LCD_SetTextColor(White);//白色字体
  1. 常用函数
void LCD_DisplayChar(u8 Line, u16 Column, u8 Ascii);//输出字符
void LCD_DisplayStringLine(u8 Line, u8 *ptr);//输出字符串

上面是用来显示字符,下面是用来显示字符串的。不管是显示字符还是字符串,都需要指定显示的行数。从Line0到Line9都是可用的。显示字符时还需要指定列。LCD一个字符为24x16,LCD屏幕的宽度是范围是0~319,一个字符的占到了16,一行可以显示20个字符,因此将一个字符a显示在第—行第一列需要这么写:

void LCD_DisplayChar(Line0, 319 - 16, 'a');

空白的部分也可以用空格表示(不要用Tab键,本人用Tab背景色会有点奇怪,一行可以显示20个字符)

void LCD_DisplayStringLine(Line2, (uint8_t *)"   hello   ");
  1. 格式化输出
    导入“stdio.h”,使用sprintf();
#include <stdio.h>

char buf[30] ;
sprintf((char *) buf,"%02d : %02d : %02d" ,hour, min,sec);
LCD_DisplayStringLine(Line5, (uint8_t *)buf);

常用的格式字符

  • 输出字符:%c
  • 输出字符串:%s
  • 输出整型:%d
  • 输出浮点数:%f

输出进制数

  • 带先导的八进制:%#o
  • 不带先导的八进制:%o
  • 带先导的十六进制:%#x
  • 不带先导的十六进制(小写):%x
  • 不带先导的十六进制(大写):%X

特定格式

  • 自定添0:%02d
  • 指定小数位:%.2f
  • 左对齐:%-d
  • 百分号:%%

在main.c文件中编写处理LCD切换页面的函数(与按键配合,改变view的值)

void disp_proc(void)
{
	if(view == 0)
	{
		char text[30];
		sprintf(text,"      Date     ");
		LCD_DisplayStringLine(Line1,(uint8_t *)text);
	}
	if(view == 1)
	{
		char text[30];
		sprintf(text,"       Para     ");
		LCD_DisplayStringLine(Line1,(uint8_t *)text);
	}
	if(view == 2)
	{
	}
}
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值