电子说
在硬件设计中,液晶显示模块是常用的人机交互设备。今天为大家介绍Newhaven Display的字符液晶显示模块NHD,深入剖析其各项特性与技术要点。
NHD字符液晶显示模块具有1行16字符的显示能力,内置ST7066U控制器,采用+5.0V电源供电,具备1/16 duty、1/5 bias的特性,并且符合RoHS标准,环保又实用。它适用于各种需要简单字符显示的应用场景,如仪器仪表显示、工业控制显示等。你是否在实际项目中使用过类似的显示模块呢?
模块的机械绘图提供了详细的尺寸信息,其驱动方式为1/16 duty、1/5 bias,VDD为5.0V,VLCD为4.5V。显示类型为FSTN/Positive/Transflective/6:00 Visual Angle,工作温度范围是 -20°C - 70°C,存储温度范围是 -30°C - 80°C,背光源为白色。在进行机械设计时,要严格按照这些尺寸和参数来确保模块能正确安装和使用。你在机械设计中有没有遇到过因为尺寸不匹配而导致的问题呢?
| 模块共有16个引脚,各引脚功能明确: | 引脚编号 | 符号 | 外部连接 | 功能描述 |
|---|---|---|---|---|
| 1 | VSS | 电源地 | 提供电源接地 | |
| 2 | VDD | 电源 | 为逻辑电路提供 +5.0V 电源 | |
| 3 | V0 | 调节电源 | 用于调节对比度,约 0.5V | |
| 4 | RS | MPU | 寄存器选择信号,RS = 0 为命令,RS = 1 为数据 | |
| 5 | R/W | MPU | 读写选择信号,R/W = 1 为读,R/W = 0 为写 | |
| 6 | E | MPU | 操作使能信号,下降沿触发 | |
| 7 - 10 | DB0 – DB3 | MPU | 低四位双向三态数据总线,4 位操作时不使用 | |
| 11 - 14 | DB4 – DB7 | MPU | 高四位双向三态数据总线 | |
| 15 | LED+ | 电源 | 通过板载电阻为 LED 背光源提供 +5.0V 电源 | |
| 16 | LED- | 电源 | 背光源接地 |
推荐使用 2.54mm 间距的引脚作为 LCD 连接器。在接线时,一定要准确连接各引脚,避免因接线错误导致模块无法正常工作。你在接线过程中有没有遇到过引脚连接错误的情况呢?
| 项目 | 符号 | 条件 | 最小值 | 典型值 | 最大值 | 单位 |
|---|---|---|---|---|---|---|
| 工作温度范围 | Top | 绝对最大 | -20 | - | +70 | °C |
| 存储温度范围 | Tst | 绝对最大 | -30 | - | +80 | °C |
| 电源电压 | VDD | - | 4.7 | 5.0 | 5.5 | V |
| 液晶对比度电源 | VDD - V0 | Ta = 25°C, VDD = 5.0V | 0.7 | - | 1.5 | V |
| “H” 电平输入 | Vih | Ta = 25°C | - | - | 4.5 | V |
| “L” 电平输入 | Vil | Ta = 25°C | 0 | - | 0.6 | V |
| 电源电流 | IDD | - | - | 2.5 | - | mA |
| “H” 电平输出 | Voh | - | 3.9 | - | - | V |
| “L” 电平输出 | Vol | - | - | - | 0.4 | V |
| 背光源电源电压 | Vled | - | 5.0 | - | - | V |
| 背光源电源电流 | Iled | Vled = 5.0V | - | 30 | - | mA |
这些电气参数是保证模块正常工作的关键,在设计电源电路时,要确保电源输出符合这些参数要求。你在设计电源电路时,是如何保证输出符合模块电气特性的呢?
| 项目 | 符号 | 条件 | 最小值 | 典型值 | 最大值 | 单位 |
|---|---|---|---|---|---|---|
| 垂直视角(顶部) | AV | Cr ≥ 3 | 20 | - | - | ° |
| 垂直视角(底部) | AV | Cr ≥ 3 | - | - | 50 | ° |
| 水平视角(左侧) | AH | Cr ≥ 3 | 30 | - | - | ° |
| 水平视角(右侧) | AH | Cr ≥ 3 | 30 | - | - | ° |
| 对比度 | Cr | - | 3 | - | 5 | - |
| 响应时间(上升) | Tr | - | 150 | - | 250 | ms |
| 响应时间(下降) | Tf | - | 150 | - | 250 | ms |
了解这些光学特性有助于我们根据实际应用场景选择合适的观察角度和对比度,以获得最佳的显示效果。你在实际使用中,有没有根据这些光学特性来调整显示效果呢?
模块提供了一系列指令,用于控制显示内容和操作模式,如清屏、设置显示模式、设置地址等。每个指令都有对应的指令代码和执行时间。例如,清屏指令“Clear Display”的指令代码为 0 0 0 0 0 0 0 0 0 1,执行时间为 1.52ms。在编程时,要根据实际需求正确使用这些指令。你在编程中是如何使用这些指令来控制显示的呢?
内置字体表包含了多种字符的编码和对应的显示字符,方便我们在显示时直接调用。通过查看字体表,我们可以了解模块支持的字符范围和编码方式。你有没有尝试过使用内置字体表来显示特殊字符呢?
模块提供了 8 位和 4 位两种初始化方式的示例程序。
void command(char i)
{
P1 = i; D1 = 0; R_W = 0; E = 1; //put data on output Port //D/I=LOW: send instruction //R/W=LOW: Write
Delay(1); //enable pulse width >= 300ns
E = 0; //Clock enable: falling edge
}
void write(char i)
{
P1 = i; DI = 1; //put data on output Port //D/I=LOW: send data
R_W = 0; E = 1; //R/W=LOW: Write
Delay(1); E = 0; //enable pulse width >= 300ns //Clock enable: falling edge
}
void init()
{
E = 0;
Delay(10); command(0x30); Delay(10); command(0x30); command(0x10); Delay(30); command(0x30); command(0x38); Delay(100); //Set cursor //command 0x30 = Wake up //command 0x30 = Wake up #3 //Nait >15 msec after power is applied //must wait 160us, busy flag not available //command 0x30 = Wake up #2 //Function set: 8-bit/2-line //must wait 5ms, busy flag not available //must wait 160us, busy flag not available
command(0x0c); command(0x06); //Display ON; Cursor ON //Entry mode set
}
void command(char i)
{
P1 = i; D1 = 0; //put data on output Port /D/I=LOW: send instruction
i = i < < 4; R_W = 0; Nybble(); P1 = i; Nybble(); //Send lower 4 bits //R/W=LOW: Write //Shift over by 4 bits //put data on output Port //Send upper 4 bits
}
void write(char i)
{
P1 = i; DI = 1; R_W = 0; //put data on output Port //D/l=HIGH: send data //R/W=LOW: Write
Nybble(); i = i < < 4; P1 = i; //Clock lower 4 bits //Shift over by 4 bits //put data on output Port
Nybble(); //Clock upper 4 bits
}
void Nybble()
{
E = 1;
Delay(1); //enable pulse width >= 300ns
E = 0; //Clock enable: falling edge
}
void init()
{
P1 = 0; P3 = 0;
Delay(100); P1 = 0x30; //Wait >15 msec after power is applied //put 0x30 on the output port
Delay(30); Nybble(); //must wait 5ms, busy flag not available //command 0x30 = Wake up
Nybble(); P1 = 0x20; command(0x06); command(0x0F); Delay(10); command(0x10); Nybble(); command(0x28); Delay(10); Nybble(); Delay(10); //put 0x20 on the output port //can check busy flag now instead of delay //Function set: 4-bit interface //command 0x30 = Wake up #3 //Function set: 4-bit/2-line //must wait 160us, busy flag not available //Set cursor //Display ON; Blinking cursor //command 0x30 = Wake up #2 //must wait 160us, busy flag not available //Entry Mode set
}
在实际应用中,可以根据硬件资源和需求选择合适的初始化方式。你在使用这些初始化程序时,有没有遇到过初始化失败的情况呢?
模块进行了多项质量测试,包括高温存储、低温存储、高温操作、低温操作、高温高湿操作、热冲击抗性、振动测试和静电测试等。这些测试确保了模块在不同环境条件下的可靠性和稳定性。例如,高温存储测试在 +80°C 下进行 48 小时,低温存储测试在 -30°C 下进行 48 小时。在实际应用中,要根据模块的使用环境选择合适的测试条件,以确保产品质量。你在产品设计中,是如何考虑产品的质量测试的呢?
总之,Newhaven Display的NHD字符液晶显示模块具有丰富的功能和良好的性能,通过深入了解其各项特性和技术要点,我们可以更好地将其应用到实际项目中。希望本文能为电子工程师们在设计和使用该模块时提供一些帮助。你对该模块还有哪些疑问或者使用经验呢?欢迎在评论区分享。
全部0条评论
快来发表一下你的评论吧 !