为了在人类世界和机器世界之间建立良好的沟通,显示单元扮演着重要的角色。因此,它们是嵌入式系统的重要组成部分。显示单位-大小,均以相同的基本原理工作。除了图形显示和3D显示等复杂的显示单元外,还必须知道如何使用16x1和16x2单元之类的简单显示。 16x1显示单元将包含16个字符,并在一行中。 16x2 LCD的第一行共16个字符,第二行共16个字符。在此必须理解,每个字符中都有5x10 = 50像素,因此要显示一个字符,所有50像素必须一起工作。但是我们不必担心,因为人机界面中还有另一个控制器(HD44780)负责控制像素。 (您可以在LCD单元中看到它,它是背面的黑眼睛)。
在本教程中,我们将使用ARDUINO UNO连接16x2 LCD。与普通的开发板不同,LCD与ARDUINO的接口非常简单。在这里,我们不必担心数据发送和接收。我们只需要定义引脚号,它就可以在LCD上显示数据了。
所需组件
硬件: ARDUINO UNO,电源(5v),JHD_162ALCD(16x2LCD),100uF电容器。
软体: Arduino IDE(每晚Arduino)。
电路图和说明
在16x2 LCD中,如果有背光,则全部有16个引脚,如果没有背光,则有14个引脚。一个人可以给背光灯供电或离开。现在,在14个引脚中,有8个数据引脚(7-14或D0-D7),2个电源引脚(1&2或VSS&VDD或GND&+ 5v),第三个用于对比度控制的引脚(VEE控制字符的粗细)如图所示)和3个控制引脚(RS&RW&E)。
在电路中,可以观察到我只接了两个控制引脚,这给了灵活性。对比度位和READ / WRITE不经常使用,因此它们可以接地。这使LCD处于最高对比度和读取模式。我们只需要控制ENABLE和RS引脚即可相应地发送字符和数据。
LCD的连接如下所示:
PIN1或VSS接地
PIN2或VDD或VCC至+ 5v电源
PIN3或VEE接地(为初学者提供最大对比度)
PIN4或RS(寄存器选择)到ARDUINO UNO的PIN0
PIN5或RW(读/写)接地(将LCD置于读模式可简化用户的通信)
PIN6或E(启用)到ARDUINO UNO的PIN1
ARDUINO UNO的PIN11或D4至PIN8
ARDUINO UNO的PIN12或D5至PIN9
ARDUINO UNO的PIN13或D6至PIN10
ARDUINO UNO的PIN14或D7至PIN11
ARDUINO IDE允许用户以4位模式使用LCD。这种通信类型使用户可以减少ARDUINO上的引脚使用,这与其他ARDUINO无需单独编程以在4 it模式下使用有关,因为默认情况下ARDUINO设置为以4位模式进行通信。在电路中,您可以看到我们使用了4位通信(D4-D7)。
因此,仅从上表的观察,我们就将LCD的6个引脚连接到控制器,其中4个引脚是数据引脚,另外2个用于控制引脚。
上图显示了连接到ARDUINO UNO的16x2 LCD的电路图。
加工
要将LCD连接到ARDUINO UNO,我们需要了解一些事情。
|
如上表所示,我们只需要查看这四行即可在ARDUINO和LCD之间建立通信。
首先,我们需要启用头文件('#include
其次,我们需要告诉主板我们在这里使用哪种类型的LCD。由于我们有许多不同类型的LCD(例如20x4、16x2、16x1等)。在这里,我们将16x2 LCD连接到UNO,因此得到“ lcd.begin(16,2);”。对于16x1,我们得到'lcd.begin(16,1);'。
在此说明中,我们将告诉主板我们引脚的连接位置。连接的引脚需要按“ RS,En,D4,D5,D6,D7”的顺序表示。这些引脚必须正确显示。由于我们已将RS连接到PIN0等,如电路图所示,因此我们将板上的引脚号表示为“ LiquidCrystal lcd(0,1,8,8,9,10,11);”。需要在LCD中显示的数据应写为“ cd.print(“ hello,world!”);“。使用此命令,LCD会显示“ hello,world!”。
如您所见,我们不必担心任何其他事情,我们只需要初始化即可,UNO将准备显示数据。在这里,我们不必编写程序循环即可通过BYTE发送数据BYTE。
LCD和UNO之间的通信方式在下面给出的C代码中逐步说明: