探索NHD - 0216K1Z - FSPG - FBW - L字符液晶显示模块

电子说

1.4w人已加入

描述

探索NHD - 0216K1Z - FSPG - FBW - L字符液晶显示模块

在电子设计领域,液晶显示模块是非常常见且重要的组件,今天我们就来深入了解一下Newhaven Display公司的NHD - 0216K1Z - FSPG - FBW - L字符液晶显示模块。

文件下载:NHD-0216K1Z-FSPG-FBW-L.pdf

产品概述

NHD - 0216K1Z - FSPG - FBW - L是一款2行16字符的液晶显示模块。它具有以下特点:

  • 供电与性能:采用 +5.0V 电源供电,具备1/16 duty和1/5 bias的驱动方式,并且符合RoHS标准,环保又可靠。
  • 显示特性:采用半透反射式(F)显示模式,侧面纯绿色LED背光(SPG - F),6点钟视角(B),宽温度范围( - 20°C ~ +70°C),低功耗(20mA)。

机械与电气规格

机械尺寸

该模块有特定的机械尺寸,如相关图纸所示,各项尺寸都有明确的标注,这对于在实际设计中确定安装空间非常重要。例如,某些关键尺寸如16.4±0.22、26.3 + 0.2等,在设计外壳或安装结构时需要精确考虑。

电气特性

项目 符号 条件 最小值 典型值 最大值 单位
工作温度范围 Top 绝对最大 -20 - +70 °C
存储温度范围 Tst 绝对最大 -30 - +80 °C
电源电压 VDD - 4.7 5.0 5.5 V
电源电流 IDD Ta = 25°C, VDD = 5.0V - 1.5 2.5 mA
LCD 电源(对比度) VDD - V0 Ta = 25°C - 4.5 - V
“H” 电平输入 Vih - 2.2 - VDD V
“L” 电平输入 Vil - 0 - 0.6 V
“H” 电平输出 Voh - 2.4 - - V
“L” 电平输出 Vol - - - 0.4 V
背光电源电压 Vled - - 5.0 - V
背光电源电流 Iled Vled = 5.0V - 20 - 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

这些光学特性决定了该模块的显示效果。例如,视角参数决定了从不同角度观看时的可见度,对比度则影响显示内容的清晰程度。在实际应用中,如果对显示效果有较高要求,就需要根据这些参数来选择合适的安装位置和使用环境。

引脚分配与功能

引脚编号 符号 外部连接 功能描述
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 - 电源 背光接地

正确理解引脚的功能对于模块的连接和控制至关重要。例如,RS引脚用于区分是发送命令还是数据,R/W引脚用于控制读写操作。在设计电路时,需要根据这些引脚功能来连接微处理器和模块。

初始化程序

该模块提供了8位和4位两种初始化方式:

8位初始化

/**********************************************************/ 
void command(char i) 
{
    P1 = i; //put data on output Port 
    D_I = 0; //D/I=LOW : send instruction 
    R_W = 0; //R/W=LOW : Write 
    E = 1;
    Delay(1); //enable pulse width >= 300ns 
    E = 0; //Clock enable: falling edge 
}
/**********************************************************/ 
void write(char i) 
{
    P1 = i; //put data on output Port 
    D_I = 1; //D/I=LOW : send data 
    R_W = 0; //R/W=LOW: Write
    E = 1; 
    Delay(1); //enable pulse width >= 300ns 
    E = 0; //Clock enable: falling edge 
}
/**********************************************************/ 
void init() 
{
    E = 0; 
    Delay(100); //Wait >15 msec after power is applied 
    command(0x30); //command 0x30 = Wake up 
    Delay(30); //must wait 5ms, busy flag not available 
    command(0x30); //command 0x30 = Wake up #2 
    Delay(10); //must wait 160us, busy flag not available 
    command(0x30); //command 0x30 = Wake up #3 
    Delay(10); //must wait 160us, busy flag not available 
    command(0x38); //Function set: 8-bit/2-line 
    command(0x10); //Set cursor
    command(0x0c); //Display ON; Cursor ON 
    command(0x06); //Entry mode set
}

4位初始化

/**********************************************************/ 
void command(char i) 
{
    P1 = i; //put data on output Port 
    D_I = 0; //D/I=LOW : send instruction 
    R_W = 0; //R/W=LOW: Write
    Nybble(); //Send lower 4 bits 
    i = i < < 4; //Shift over by 4 bits 
    P1 = i; //put data on output Port 
    Nybble(); //Send upper 4 bits 
}
/**********************************************************/ 
void write(char i) 
{
    P1 = i; //put data on output Port 
    D_I = 1; //D/I=HIGH : send data 
    R_W = 0; //R/W=LOW : Write 
    Nybble(); //Clock lower 4 bits 
    i = i < < 4; //Shift over by 4 bits 
    P1 = i; //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); //Wait >15 msec after power is applied 
    P1 = 0x30; //put 0x30 on the output port 
    Delay(30); //must wait 5ms, busy flag not available 
    Nybble(); //command 0x30 = Wake up 
    Delay(10); //must wait 160us, busy flag not available 
    Nybble(); //command 0x30 = Wake up #2 
    Delay(10); //must wait 160us, busy flag not available 
    Nybble(); //command 0x30 = Wake up #3 
    Delay(10); //can check busy flag now instead of delay 
    P1 = 0x20; //put 0x20 on the output port 
    Nybble(); //Function set: 4-bit interface 
    command(0x28); //Function set: 4-bit/2-line 
    command(0x10); //Set cursor
    command(0x0F); //Display ON; Blinking cursor 
    command(0x06); //Entry Mode set
}

在实际应用中,我们可以根据具体需求选择合适的初始化方式。8位初始化方式数据传输速度相对较快,但需要更多的数据线;4位初始化方式则可以节省数据线,但传输速度相对较慢。

质量与使用注意事项

质量测试

该模块进行了多项质量测试,包括高温存储、低温存储、高温操作、低温操作、高温高湿操作、热冲击抗性、振动测试和静电测试等。这些测试确保了模块在不同环境下的可靠性和稳定性。例如,高温存储测试在 +80°C 下进行48小时,低温存储测试在 -30°C 下进行48小时,这表明该模块能够在较宽的温度范围内保持性能。

使用注意事项

使用LCD/LCM时,需要参考www.newhavendisplay.com/specs/precautions.pdf中的注意事项。同时,关于保修信息和条款可以查看http://www.newhavendisplay.com/index.php?main_page=terms。在实际使用中,遵循这些注意事项可以延长模块的使用寿命,减少故障发生的概率。

总之,NHD - 0216K1Z - FSPG - FBW - L字符液晶显示模块是一款性能优良、功能丰富的显示模块。电子工程师在设计相关产品时,可以根据其各项特性和参数进行合理的应用,以实现最佳的显示效果和系统性能。大家在使用过程中遇到过哪些问题呢?欢迎在评论区交流分享。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分