蓝桥杯嵌入式开发经验分享(6.液晶驱动程序的调用)

作者:马一飞                                                         QQ:791729359

在学习过程中有什么问题可以联系

(原本资料是以网盘的方式公开提供给任何蓝桥杯爱好者进行下载的,但是最近临近蓝桥杯考试,遇到了很多伸手党,我无偿给爱好者们解答学习上的问题,回复得比较慢居然还有同学来说我这样那样,所以决定不再随意提供自己写的源码和资料。博主已经开始参加工作了,也不是闲着没事干盯着电脑手机为你们服务。记住,不要成为伸手党,要自己多动手实现。)

 

        这次给大家讲解下如何使用蓝桥杯嵌入式开发板的TFT-LCD驱动程序。在蓝桥杯比赛中,我们不需要去写LCD显示屏的代码,我们学会如何调用主办方给我们写好的LCD驱动就ok了。

        LCD驱动代码我们可以在工程目录里面看到,我们打开它的头文件看看里面有什么驱动函数。

蓝桥杯嵌入式开发经验分享(6.液晶驱动程序的调用)_第1张图片

发现,确实有挺多函数的。但实际上我们真正用到的函数,也就那几条

void STM3210B_LCD_Init(void);         // LCD液晶初始化
void LCD_SetTextColor(vu16 Color);      //改变字体颜色
void LCD_ClearLine(u8 Line);            // 清除行
void LCD_DisplayStringLine(u8 Line, u8 *ptr);   // 行显示字符串

    根据往年的题目分析结果来看,用到的函数基本就这四个。而且第一个函数液晶驱动参考例程里面已经帮我们初始化了液晶,我们初始化函数也可以排除掉,那么我们用到函数也就三个。

    根据LCD驱动代码我们可以看到,这个LCD显示字符是按行显示的,总共可以显示10行字符(Line0~Line9),并且每一行可以显示20个字符

void LCD_SetTextColor(vu16 Color);      //改变字体颜色

改变字体颜色这个函数就不用多说了,实际上就是改变你接下来显示字体的颜色

我们来举个例子。

蓝桥杯嵌入式开发经验分享(6.液晶驱动程序的调用)_第2张图片

那么这个代码实现出来的效果就是这样的

      我们能够发现字体的颜色是不一样的。

      那么void LCD_ClearLine(u8 Line); 这个函数就是擦除你选定行的字符。这里就不演示了。

      我们用的最多的还是void LCD_DisplayStringLine(u8 Line, u8 *ptr);   // 行显示字符串

 

1.第一种使用方法,就是直接显示写入的字符串。就类似于上面那样。

LCD_DisplayStringLine(Line3,(u8*) "  Ma-Yi-Fei  ");

   那么在第3行就能够显示  Ma-Yi-Fei   这个字符串了。

   这个方法就面临了一个问题,如果我想显示一个数字变量,那可怎么办。那么,还有第二个方法。

2.我们首先要先包含stdio.h这个头文件。

    同时我们定义一个数组,用来储存我们的数据,长度只需要20即可,因为我们的LCD显示屏上一行只能显示20个字符。

    那么我们就得使用到C语言的一条函数,sprintf();

    我来举个例子大家就能很清楚的了解是怎么个用法了。

u8 temp = 30;
float AO = 3.845;

sprintf((char*)string,"temp=%d   A0=%.1f  ",temp,AO);
LCD_DisplayStringLine(Line8,string);

        那么我们显示出来的效果就是

蓝桥杯嵌入式开发经验分享(6.液晶驱动程序的调用)_第3张图片

        我们很容易就会发现这条语句,大致的作用就是以指定的字符串格式存入数组中,然后再调用显示函数把数组里的元素显示出来

        如果大家还不懂其中的原理,建议可以百度查查sprintf的用法。

 

                                                                                                                                              ( 以上仅属于个人观点)

你可能感兴趣的:(蓝桥杯)