单片机学习笔记---LCD1602调试工具

LCD1602调试工具

这一节开始之前先说明一下,模块化编程相关的知识(就是将代码分成多个文件来写,比如函数的定义放在.c文件中,函数的声明写在.h文件中)属于是C语言的内容,学过C语言的伙伴应该都知道。由于这是单片机专栏,所以就不在这单独写一篇博客了,可能之后会补充在我的其他专栏。

单片机学习笔记---LCD1602调试工具_第1张图片

进入正题,本节主要讲LCD1602调试工具。

长话短说就是使用LCD1602液晶屏作为调试窗口,提供类似printf函数的功能,可实时观察单片机内部数据的变换情况,便于调试和演示

这里提供的LCD1602代码属于模块化的代码,使用者只需要知道所提供函数的作用和使用方法就可以很容易的使用LCD1602

单片机学习笔记---LCD1602调试工具_第2张图片

LCD1602液晶屏就是这个东西

单片机学习笔记---LCD1602调试工具_第3张图片

把它插到开发板上的排孔里

单片机学习笔记---LCD1602调试工具_第4张图片

单片机学习笔记---LCD1602调试工具_第5张图片

插进去之后就会显示东西。

旁边这个东西是定位器,左右拧可以调节它的对比度,如果发现它太暗了,就可以调亮一点,如果全是黑点的话,就把它调暗一点。

单片机学习笔记---LCD1602调试工具_第6张图片

注意,我们插上这个LCD之后,数码管就没用了,数码管会显示乱码。

接下来看一下它的原理图:

单片机学习笔记---LCD1602调试工具_第7张图片

它连的口就是单片机的P0的8个口,还占用了P2的3个口,分别是P26,P25,P27,一共是11个口。

其实这个P0口也是数码管的段选端所连接的口。

单片机学习笔记---LCD1602调试工具_第8张图片

由于P26,P25,P27被这个液晶屏占用了,由于引脚冲突,所以D6,D7,D8号LED就不能再用了,它会乱闪。

正是因为这个液晶屏插上之后,只跟数码管和D6,D7,D8号LED冲突,对其他东西没有冲突,所以使用它来进行调试就很方便了。

接下来新创建一个工程,写好框架后

单片机学习笔记---LCD1602调试工具_第9张图片

把这两个LCD1602驱动代码复制到刚刚创建好的工程文件中

这两个程序文件的获取方式我放在评论区了,自取。

单片机学习笔记---LCD1602调试工具_第10张图片

单片机学习笔记---LCD1602调试工具_第11张图片

然后再在这个右键添加已存在的文件

单片机学习笔记---LCD1602调试工具_第12张图片

然后按住Ctrl把这两个文件都添加上

单片机学习笔记---LCD1602调试工具_第13张图片

点击Close之后,看见左栏就出现了这两个文件

单片机学习笔记---LCD1602调试工具_第14张图片

双击打开就可以看到里面已经是写好的程序,如果是自己写的话就得花一点时间了。

单片机学习笔记---LCD1602调试工具_第15张图片

.h文件的函数一一对应这张表里的函数

单片机学习笔记---LCD1602调试工具_第16张图片

单片机学习笔记---LCD1602调试工具_第17张图片

我们来试试这些函数的功能

注意,在使用之前先调用LCD_Init()初始化

单片机学习笔记---LCD1602调试工具_第18张图片

先试试第一个显示字符LCD_ShowChar函数

单片机学习笔记---LCD1602调试工具_第19张图片

我们试着来调用一下看看效果

单片机学习笔记---LCD1602调试工具_第20张图片

编译后我们看到5个警告

单片机学习笔记---LCD1602调试工具_第21张图片

这个5个警告是因为我们定义了别的函数,但是没有调用,这些警告我们可以不去管它。

单片机学习笔记---LCD1602调试工具_第22张图片

Keil报警告,如何消除警告?如果嫌警告碍眼,可以进行以下操作,在Disable warning numbers框框中写上报警告的函数,比如第16行报警告,就写上16

单片机学习笔记---LCD1602调试工具_第23张图片

单片机学习笔记---LCD1602调试工具_第24张图片

再次编译

就没有错误和警告了!

单片机学习笔记---LCD1602调试工具_第25张图片

无错误无警告后可以下载下来看看效果

单片机学习笔记---LCD1602调试工具_第26张图片

它的确是在LCD的第一个位置上显示“A”这个字符

数码管和左边的两个LED乱闪,这都是正常显现,不用管

单片机学习笔记---LCD1602调试工具_第27张图片

然后我们继续试试显示字符串函数的功能

单片机学习笔记---LCD1602调试工具_第28张图片

调用它

单片机学习笔记---LCD1602调试工具_第29张图片

下载看看

单片机学习笔记---LCD1602调试工具_第30张图片

第一行的第三个位置开始显示一个字符串“Hello”

如果字符串过长,超出了屏幕范围,就不会显示后面的了。

再试试显示数字的代码

LCD_ShowNum()的定义如下:

单片机学习笔记---LCD1602调试工具_第31张图片

调用它看看效果

单片机学习笔记---LCD1602调试工具_第32张图片

显示了123

单片机学习笔记---LCD1602调试工具_第33张图片

再试试显示有符号的数字

单片机学习笔记---LCD1602调试工具_第34张图片

调用它

单片机学习笔记---LCD1602调试工具_第35张图片

显示-66

单片机学习笔记---LCD1602调试工具_第36张图片

继续试试显示16进制数

单片机学习笔记---LCD1602调试工具_第37张图片

调用

单片机学习笔记---LCD1602调试工具_第38张图片

显示A8

单片机学习笔记---LCD1602调试工具_第39张图片

试一下显示二进制数

单片机学习笔记---LCD1602调试工具_第40张图片

调用

单片机学习笔记---LCD1602调试工具_第41张图片

显示10101010

单片机学习笔记---LCD1602调试工具_第42张图片

液晶屏的作用就是可以方便我们直观地测试结果

比如你说1+1等于2,怎么证明呢?

我们就可以验证一下,让它的结果显示在LCD液晶屏上

单片机学习笔记---LCD1602调试工具_第43张图片

结果显示002

单片机学习笔记---LCD1602调试工具_第44张图片

那就证明了1+1=2

所以它的作用就是验证程序的正确性

如果还想更进阶地使用别的函数,比如Delay函数,我们可以把之前经常写的Delay函数的定义写好放进刚刚创建好的工程文件中。(Delay函数的.c和.h文件如果你没有,就在评论区自取)

单片机学习笔记---LCD1602调试工具_第45张图片

添加进来

单片机学习笔记---LCD1602调试工具_第46张图片

单片机学习笔记---LCD1602调试工具_第47张图片

双击打开可以看到Delay函数的定义和声明

单片机学习笔记---LCD1602调试工具_第48张图片

单片机学习笔记---LCD1602调试工具_第49张图片

写程序来验证一下:

单片机学习笔记---LCD1602调试工具_第50张图片

我们想要的效果是result每过一秒就加1,那么我们写的程序正不正确呢?所以就需要打印在液晶屏上看看结果正不正确。

单片机学习笔记---LCD1602调试工具_第51张图片

可以看到它真的是每过一秒就加1,证明我们的程序是正确的!

以上这就是本节的内容!

你可能感兴趣的:(51单片机学习笔记,单片机,学习,笔记)