LCD上D0-D3的意义是什么?


10

Arduino的LiquidCrystal库有4个构造带不同的参数:

LiquidCrystal(rs, enable, d4, d5, d6, d7) 
LiquidCrystal(rs, rw, enable, d4, d5, d6, d7) 
LiquidCrystal(rs, enable, d0, d1, d2, d3, d4, d5, d6, d7) 
LiquidCrystal(rs, rw, enable, d0, d1, d2, d3, d4, d5, d6, d7)

针对构造函数参数声明了以下注释:

d0,d1,d2和d3是可选的。如果省略,将仅使用四条数据线(d4,d5,d6,d7)控制LCD。

什么是点d0-d3如果不需要他们?他们会减少响应时间吗?

Answers:


12

该类型的LCD有两种主要的操作模式:使用4个数据引脚的4位模式(d4-d7)和使用所有8个数据引脚的8位模式(d0-d7)。

4位模式的优点是在Arduino上需要较少的输出引脚。但是,这意味着您的草图需要将每个命令/字符作为两个单独的4位批处理发送(一个接一个)。LiquidCrystal库自动为您处理此问题,因此您的代码不需要任何额外的复杂性。但是,这确实意味着您的草图需要大约两倍的处理器周期数才能将任何内容发送到LCD。

相反,8位模式将每个命令/字符作为8位的批处理发送。这只是意味着它在技术上运行得更快。

话虽如此,看着显示器的人在大多数时间可能不会看到明显的速度差异,因为它仍会非常快地前进。主要影响将在微控制器(在本例中为Arduino)上。如果它可以使用更快的8位模式,则可以将更多的处理时间用于其他方面。这对于对时间要求严格的应用特别有用。


With that said, a person looking at the display probably won't see a significant speed difference most of the time, as it still goes very quickly.这通常不是问题,因为许多模块(尤其是廉价的中文模块,如eBay上的模块)往往刷新率较低,因此,无论如何它们都不会变得模糊不清,混乱不堪,因此更新速度不能太快。
Synetech '18 October

3

答案与您提到的报价在同一页上(我已强调了重要的声明):

创建类型为LiquidCrystal的变量。可以使用4或8条数据线来控制显示。如果是前者,则省略d0至d3的引脚号,并使那些线路保持未连接状态。RW引脚可以接地,而不必连接到Arduino上的引脚。如果是这样,请从此函数的参数中忽略它。

事实证明,日立HD44780 LCD显示器可以在4位或8位模式下工作。


1
是的,它说可以同时使用4和8条数据线进行控制。但是,如果只需要4个,那么使用8有什么意义呢?我的意思是,使用8比4有什么好处吗?如果没有用,为什么还要浪费4条数据线?
,金(Kim)的朋友

1
在Arduino端使用8位模式会更快一点,并且更简单(代码更少)。但是总的来说,与节省4个输出引脚相比,这确实不值得。
jfpoilpret 2014年

@jfpoilpret如果您四个额外的输出引脚,这是值得的...
匿名企鹅

@annon您能否更具体地了解使用8引脚模式的价值?具体的实验值?
jfpoilpret 2014年

1
@jfpoilpret如Peter的回答所述,它为芯片提供了更多的处理时间。如果您有四个额外的引脚,请继续添加。如果它需要更大或更昂贵,那是不值得的。
匿名企鹅

1

这些引脚的存在是将LCD连接到开发HD44780U控制器芯片时可用的微处理器的技术要求。

我们所知道的单芯片微控制器仍在将来,必须使用与其他任何8位I / O或存储设备(即8位)相同的技术将LCD连接到当时的8位微处理器芯片。位总线。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.