我可以通过断开电源来禁用 LCD 模块吗
Posted
技术标签:
【中文标题】我可以通过断开电源来禁用 LCD 模块吗【英文标题】:Can I disable LCD module by disconnecting Power to it 【发布时间】:2015-06-14 11:36:12 【问题描述】:我正在为 Atmega328 设计开发板。我想保留 LCD 模块可选(日立 HD44780,2x16)。这意味着我将在我的板上焊接 LCD 模块,但如果我想将端口引脚用于其他目的,我可能不会使用它。所以我想为 LCD 的 VCC 线只提供一个跳线链接(而不是为数据和其他信号提供几个跳线),这样如果不需要 LCD,我可以移除跳线链接并将端口引脚用于其他目的。我可以这样做吗?如果我移除 LCD 模块的电源,我的端口引脚会加载还是 LCD 模块会被隔离?我查看了数据表,但看不到引脚的内部连接。 可能我的问题也适用于许多其他设备。通过禁用设备的电源,我们可以隔离该设备吗?
【问题讨论】:
【参考方案1】:您的 LCD 模块很可能会有一些 Chip Select 或 Slave Select 引脚 (CS)。只有当该引脚被置位(通常通过将其拉低)时,模块才会真正通过其数据/地址线侦听或发送数据并对时钟敏感。
您连接到控制器的其他模块也可以有一个 CS。
通过将 CS 引脚连接到某个 GPIO,您可以选择您真正想要与之通信的组件,从而允许您将多个组件连接到相同的并行数据/地址总线和多路复用通信。这就是通常的做法(在 PCI-Express 出现之前,很长一段时间以来,人们一直在与 PC 中的插卡、ISA 和旧的并行 PCI 进行对话)。
请注意,显示器可能带有两种 CS,一种用于写访问,另一种用于读访问。如果两条线都未声明(通常为高),则外围设备是中性的。拉两条线断言它无效。拉 WE(写使能)会使它对数据写入敏感 x 或拉 OE(输出使能)会使它在其引脚上输出数据。
更新:
这意味着我将在我的板上焊接 LCD 模块,但如果我想将端口引脚用于其他目的,我可能不会使用它。所以我想为 LCD 的 VCC 线只提供一个跳线链接(而不是为数据和其他信号提供几个跳线),这样如果不需要 LCD,我可以移除跳线链接并将端口引脚用于其他目的。我可以这样做吗?
很可能不是!这样做的原因是,大多数数字电路都包含保护钳位二极管,可将工作范围之外的任何电压短路到 GND 或 VCC。有两种 VCC 范围保护:整流器到 VCC 或齐纳到 GND。在整流器连接到 VCC 的情况下,信号线上的任何电压高于外设电源大约 0.2 的电压都会被钳位。对于未通电的设备,这要么意味着设备寄生地从信号中汲取电流,为其电路供电(坏),要么信号被简单地钳位到 GND+0.2V(也不好)。
如果您的 LCD 不提供 CS 引脚(不太可能),您可以插入一个带方向引脚的双向逻辑缓冲器(例如 74FCT162245T)作为 CS 电路。
【讨论】:
HD44780 LCD驱动没有CS管脚。所以要么我需要为所有信号提供跳线,要么我必须提供 74244 缓冲区(以防不从 LCD 读取)。 @ShankariAmma:HD44780 有一个称为“E”或“Enable”的输入,它兼作数据时钟。您所要做的就是关闭那条线。 谢谢@datenwolf。那么保持 E 脚为低电平会使 LCD 的数据总线、RS、R/W 处于高阻状态? @ShankariAmma:其实你应该保持启用信号高;通常的惯例,HD44780 也遵循的惯例是在时钟/使能信号的下降沿锁存数据信号(参见数据表第 58 页的时序图)。此外,您应该将 R/W 拉低以将显示器置于写入状态,即数据线上的 Hi-Z(参见第 54 页的有效 I/O 原理图)。以上是关于我可以通过断开电源来禁用 LCD 模块吗的主要内容,如果未能解决你的问题,请参考以下文章
Arduino与xbee模块点灯外加Grove-LCD RGB Backlight显示器