- 所需材料
- 16×2点矩阵LCD显示屏简介
- TIVA Launchpad中的ADC
- 电路图和连接
- 使用Energia IDE对LCD的TIVA TM4C Launchpad进行编程
- 带TIVA启动板的16x2 LCD显示屏
在上一个教程中,我们首先学习了TIVA TM4C Launchpad以及如何使用Energia IDE控制其数字输入和输出引脚。现在,在本教程中,我们将学习16×2点矩阵LCD显示器与该板的接口,以显示有用的信息和传感器数据。
16x2 LCD Display是我们大多数人通过公共PCO或在其他电子项目中使用过的显示器。16x2 LCD是低成本的显示模块,非常适合任何电子应用程序显示数据或其他调试信息。因此,我们在这里将16x2 LCD显示器与TIVA C系列TM4C123G LaunchPad连接起来。在这里,我们将在LCD显示屏上显示ADC值和电压电平。连接了电位计以改变ADC值。在此处了解有关16x2 LCD显示器及其引脚的更多信息。
所需材料
- 德州仪器(TI)的TIVA TM4C LaunchPad
- 16×2点阵LCD显示屏
- 连接线
16×2点矩阵LCD显示屏简介
如前所述,Energia IDE提供了一个漂亮的库,该库使接口工作变得轻而易举,因此不必一定要了解显示模块。但是,显示我们正在使用的内容不是很有趣!!
名称16×2表示显示器具有16列和2行,它们一起(16 * 2)组成32个框。下图是一个盒子的样子
一个盒子有40个像素(点),矩阵顺序为5行8列,这40个像素一起形成一个字符。同样,可以使用所有框显示32个字符。现在让我们看一下引脚排列。
LCD共有16个引脚,如上所示,它们可以分为四类,如下所示
源引脚(1、2和3): 这些引脚为显示器提供电源和对比度
控制引脚(4、5和6):这些引脚设置/控制LCD接口IC中的寄存器(更多信息请参见下面的链接)
数据/命令引脚(7至14):这些引脚提供应在LCD上显示哪些信息的数据。
LED引脚(15和16):如果需要,这些引脚用于使LCD的背光发光(可选)。
如果您想了解有关这些LCD显示屏的更多信息,那么在这16个引脚中,只有10个必须用于LCD的正常工作。
还要检查16x2 LCD显示器与许多其他微控制器的接口
- 在4位模式下将16x2 LCD与Atmega16 AVR微控制器接口
- 使用MPLABX和XC8与PIC单片机进行LCD接口
- 将16x2 LCD与STM32F103C8T6连接
- 将LCD与MSP430G2 LaunchPad连接
- LCD与8051单片机的接口
- 将16x2 LCD与Arduino接口
- 使用Python与Raspberry Pi进行16x2 LCD接口
TIVA Launchpad中的ADC
电位计提供模拟输出,因此不能将其连接到启动板的数字引脚。因此,MCU的模拟或ADC引脚用于连接本质上为模拟输出的任何传感器。TIVA TM4C具有2个12位输出的ADC通道,这意味着可以将传感器或电位计的模拟值映射到0到2 ^ 12(4096)之间,以便将它们转换为数字值。要了解有关微控制器中模数转换的更多信息,请点击链接。
如下图所示,TIVA Launchpad中有12个模拟输入引脚(A0-A11)。
电路图和连接
下面显示了将16×2点矩阵LCD显示器与TIVA Launchpad TM4C接口的完整电路图 。
连接这些LCD时的一个主要限制是其工作电压。LCD显示屏的工作电压为+ 5V,而TM4C仅在3.6V的 条件下工作。幸运的是,LCD接口IC(HD44780U)的数据引脚具有2.7V至5.5V的宽工作电压。因此,我们只需要担心LCD的Vdd(引脚2),而数据引脚甚至可以在3.6V的电压下工作。
默认情况下,TIVA板没有+ 5V引脚,因此应使用外部电源使LCD正常工作。使用Arduino开发板的电源或使用7805稳压器。确保将电源的接地与TIVA板的接地连接。
下表显示了LCD和TIVA Launchpad之间的连接
LCD引脚名称 | TIVA启动板 |
VS | 地面 |
Vdd | + 5V电源 |
Rs | TIVA的PC_6引脚 |
读/写 | 地面 |
启用 | TIVA的PB_7引脚 |
D4 | TIVA的引脚PA_2 |
D5 | TIVA的PA_3引脚 |
D6 | TIVA的引脚PA_4 |
D7 | TIVA的PB_6引脚 |
要在LCD上显示电位计值,请将Pot输出连接到任何模拟引脚(PE2)。
使用Energia IDE对LCD的TIVA TM4C Launchpad进行编程
在进行解释之前,请记下该项目中使用的引脚。看一下上面给出的电路图和TIVA引脚图。本教程的末尾附有带有工作视频的完整代码。
Energia IDE默认情况下随附16x2 LCD库(LiquidCrystal)。如果它不存在,则从此github链接下载它,并将其粘贴到Energia IDE的librarys文件夹中。
然后,通过包含用于LCD的库并定义其引脚来启动程序
#包括
接下来的步骤是 提给该LCD连接引脚 到,因为我们使用已经命名了它 的#define 我们现在可以简单地提一下LCD引脚的名字。确保遵循相同的顺序。
LiquidCrystal LCD(RS,EN,D4,D5,D6,D7);
大小和性质各异的LCD显示类型很多,因此在 void setup() 函数中,首先指定您在项目中使用的LCD类型。在这里,我们使用了16x2 LCD显示屏。
lcd.begin(16,2);
要在LCD上打印某些内容,请在程序中提及两点。一个是可以使用 lcd.setCursor() 行提及的文本位置, 另一个是可以由 lcd.print() 提及的要打印的内容 。 在这里,我们设置光标1日 行1日 列。
lcd.setCursor(0,0);
同样,我们也可以
lcd.setCursor(0,1); //将光标设置为第一列第二行
就像在白板上擦写之后擦掉白板一样, 一旦在白板上写了东西, LCD也应该被擦除。这可以通过使用以下行来完成
lcd.clear();
在 void loop() 函数中,使用 AnalogRead() 函数获取电位器值,并将该值存储在另一个变量中,然后显示该值。
sensorValue = AnalogRead(sensorPin); lcd.setCursor(0,0); lcd.print(“ ADC value:”); lcd.setCursor(10,0); lcd.print(sensorValue);
现在,只需将该ADC值乘以3.3即可将其转换为电压,因为它是TIVA板引脚可以接受的最高电压。然后将相乘的值除以4096。
lcd.setCursor(0,1); lcd.print(“ Voltages:”); 电压=(sensorValue * 3.3)/ 4096; lcd.setCursor(10,1); lcd.print(电压);
完整的程序可以在最后找到。
带TIVA启动板的16x2 LCD显示屏
一旦硬件和代码准备就绪,只需将TIVA板连接到计算机,然后将代码上传到板上即可。请按照之前的教程学习如何在TIVA Launchpad中上载代码。
代码上传后,您应该会看到以下显示。
现在,只要旋转电位器来改变ADC值,您将看到相应的电压值也将发生变化,如下图所示。
将 完整的代码和详细的视频可以在下面找到。继续尝试更改液晶显示屏上显示的文本。