NHD - 0220FZ - FSW - GBW - P - 3V3字符液晶显示模块技术剖析

电子说

1.4w人已加入

描述

NHD - 0220FZ - FSW - GBW - P - 3V3字符液晶显示模块技术剖析

在电子设计领域,液晶显示模块是不可或缺的组件,它为设备提供直观的信息展示界面。今天,我们就来深入剖析NHD - 0220FZ - FSW - GBW - P - 3V3这款字符液晶显示模块,了解它的各项特性和使用方法。

文件下载:NHD-0220FZ-FSW-GBW-P-3V3.pdf

一、模块概述

NHD - 0220FZ - FSW - GBW - P - 3V3由Newhaven Display International, Inc.生产,是一款2行20字符的液晶显示模块。它具有以下特点:

  • 显示特性:采用STN - Gray(G)显示模式,拥有6:00视角(B),支持宽温度范围( - 20°C ~ +70°C,W),具备侧白光LED背光(SW),采用半透反射(F)技术。
  • 电气特性:使用3.3V电源(3V3),内置控制器(SPLC780D或ST7066U),符合RoHS标准。

二、电气与光学特性

(一)电气特性

项目 符号 条件 最小值 典型值 最大值 单位
工作温度范围 Top 绝对最大 - 20 - +70 °C
存储温度范围 Tst 绝对最大 - 30 - +80 °C
电源电压 VDD 3.0 3.3 - V
电源电流 IDD Ta = 25°C,VDD = 3.3V - 1.5 2.5 mA
液晶对比度电源 VDD - V0 Ta = 25°C - 3.0 - V
“H” 电平输入 Vih 0.7VDD - VDD V
“L” 电平输入 Vil 0 - 0.6 V
“H” 电平输出 Voh 0.75VDD - - V
“L” 电平输出 Vol - - 0.2VDD V
背光电源电压 Vled - - 3.3 - V
背光电源电流 Iled Vled = 3.3V - 20 - mA

(二)光学特性

项目 符号 条件 最小值 典型值 最大值 单位
垂直视角(顶部) AV Cr ≥ 2 - 25 - °
垂直视角(底部) AV Cr ≥ 2 - 70 - °
水平视角(左侧) AH Cr ≥ 2 - 30 - °
水平视角(右侧) AH Cr ≥ 2 - 30 - °
对比度 Cr - 2 - -
响应时间(上升) Tr - - 120 150 ms
响应时间(下降) Tf - - 120 150 ms

这些特性决定了模块在不同环境下的显示效果和性能表现,工程师在设计时需要根据实际需求进行考量。比如,在高温或低温环境下使用时,要确保模块的工作温度范围能满足要求。

三、引脚说明与接线图

该模块共有16个引脚,各引脚功能如下: 引脚编号 符号 外部连接 功能描述
1 VSS 电源地 电源接地
2 VDD 电源 逻辑电源电压(+3.3V)
3 V0 电源 对比度电源(约0.3V)
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背光电源(+3.3V)
16 LED - 电源 背光接地

推荐使用1.27mm间距的引脚作为LCD连接器。在实际接线时,工程师需要严格按照引脚功能进行连接,避免因接线错误导致模块无法正常工作。

四、控制器信息与指令表

(一)控制器

模块内置ST7066U控制器,其规格说明书可从http://www.newhavendisplay.com/app_notes/ST7066U.pdf下载。

(二)指令表

指令 指令代码 描述 执行时间(270KHz)
清除显示 0 0 0 0 0 0 0 0 0 1 将 “20H” 写入DDRAM,并将DDRAM地址从AC设置为 “00H” 1.52 ms
返回主页 0 0 0 0 0 0 0 0 1 X 将DDRAM地址从AC设置为 “00H”,若光标已移动则返回原位置,DDRAM内容不变 1.52 ms
输入模式设置 0 0 0 0 0 0 0 1 VD S 设置光标移动方向并指定显示移位,在数据读写时执行 37 us
显示开/关 0 0 0 0 0 0 1 D C B D = 1:整个显示开启;C = 1:光标开启;B = 1:光标位置开启 37 us
光标或显示移位 0 0 0 0 0 1 S/C R/L X X 设置光标移动和显示移位控制位及方向,不改变DDRAM数据 37 us
功能设置 0 0 0 0 1 DL N F X X DL:接口数据为8/4位;N:行数为2/1;F:字体大小为5x11/5x8 37 us
设置CGRAM地址 0 0 0 1 AC5 AC4 AC3 AC2 AC1 AC0 在地址计数器中设置CGRAM地址 37 us
设置DDRAM地址 0 0 1 AC6 AC5 AC4 AC3 AC2 AC1 AC0 在地址计数器中设置DDRAM地址 37 us
读取忙标志和地址 0 1 BF AC6 AC5 AC4 AC3 AC2 AC1 AC0 通过读取BF可知是否处于内部操作,也可读取地址计数器内容 0 us
写入数据到RAM 1 0 D7 D6 D5 D4 D3 D2 D1 DO 将数据写入内部RAM(DDRAM/CGRAM) 37 us
从RAM读取数据 1 1 D7 D6 D5 D4 D3 D2 D1 DO 从内部RAM(DDRAM/CGRAM)读取数据 37 us

工程师在编写程序控制模块时,需要根据这些指令来实现相应的功能。例如,要清除显示内容,就需要发送清除显示指令。

五、初始化程序

(一)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=HIGH : 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(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; 
    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,48hrs 2
低温存储 长时间施加低存储温度的耐久性测试 - 30°C,48hrs 1,2
高温操作 长时间施加电应力(电压和电流)和高热应力的耐久性测试 +70°C,48hrs 2
低温操作 长时间施加电应力(电压和电流)和低热应力的耐久性测试 - 20°C,48hrs 1,2
高温/高湿操作 长时间施加电应力(电压和电流)以及高温高湿应力的耐久性测试 +40°C,90% RH,48hrs 1,2
热冲击抵抗 在高低热应力循环期间施加电应力(电压和电流)的耐久性测试 0°C,30min - > 25°C,5min - > 50°C,30min = 1周期,10周期
振动测试 施加振动以模拟运输和使用的耐久性测试 10 - 55Hz,15mm振幅,每个X、Y、Z方向60秒,共15分钟 3
静电测试 施加静电放电的耐久性测试 VS = 800V,RS = 1.5kΩ,CS = 100pF,一次

注意:1. 无冷凝现象;2. 在25°C,0%RH下存储4小时后进行;3. 在产品本身进行测试,而非在容器内。

(二)使用注意事项

使用LCD/LCM时,可参考www.newhavendisplay.com/specs/precautions.pdf中的注意事项。同时,关于保修信息和条款条件可查看http://www.newhavendisplay.com/index.php?main_page=terms 。

综上所述,NHD - 0220FZ - FSW - GBW - P - 3V3字符液晶显示模块具有丰富的功能和良好的性能,但在使用过程中,工程师需要充分了解其各项特性和注意事项,才能确保模块稳定、可靠地工作。大家在实际应用中遇到过哪些问题呢?欢迎在评论区分享交流。

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

全部0条评论

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

×
20
完善资料,
赚取积分