探索NHD - 0420DZ - FL - GBW字符液晶显示模块

电子说

1.4w人已加入

描述

探索NHD - 0420DZ - FL - GBW字符液晶显示模块

在电子设计领域,液晶显示模块是人机交互不可或缺的重要组件。今天,我们要深入探讨Newhaven Display International推出的NHD - 0420DZ - FL - GBW字符液晶显示模块,详细解析它的特性、电气参数、指令系统等内容,希望能为各位工程师的设计工作提供有价值的参考。

文件下载:NHD-0420DZ-FL-GBW.pdf

一、产品概述

NHD - 0420DZ - FL - GBW是一款具有4行20列字符显示能力的液晶显示模块。它内置了ST7066U控制器,采用 +5.0V电源供电,遵循1/16 duty、1/5 bias驱动方式,并且符合RoHS标准,环保性能出色。其型号中的各个部分都代表着特定的含义:

  • “NHD - ”:代表Newhaven Display。
  • “0420 - ”:表示4行20字符的显示规格。
  • “DZ - ”:型号标识。
  • “F - ”:表示具有半透反射特性。
  • “L - ”:采用黄/绿色LED背光。
  • “G - ”:STN正显,灰色显示模式。
  • “B - ”:最佳视角为6:00方向。
  • “W - ”:支持宽温度范围。

二、引脚分配与说明

引脚分配

该模块共有16个引脚,具体分配如下: 引脚编号 符号
1 VSS
2 VDD
3 V0
4 RS
5 R/W
6 E
7 DB0
8 DB1
9 DB2
10 DB3
11 DB4
12 DB5
13 DB6
14 DB7
15 A
16 K

引脚功能说明

  • 电源相关引脚
    • VSS:接地引脚。
    • VDD:为LCD和逻辑电路提供 +5.0V电源。
    • V0:用于调节对比度,提供约 +0.5V的电源。
    • LED - A:背光阳极,接 +5.0V。
    • LED - K:背光阴极,接地。
  • 控制信号引脚
    • RS:寄存器选择信号,‘0’表示命令,‘1’表示数据。
    • R/W:读写选择信号,‘1’表示读,‘0’表示写。
    • E:操作使能信号,下降沿触发。
  • 数据总线引脚
    • DB0 - DB3:4条低阶双向三态数据总线,在4位操作时不使用。
    • DB4 - DB7:4条高阶双向三态数据总线。

三、电气与光学特性

电气特性

项目 符号 条件 最小值 典型值 最大值 单位
工作温度范围 TOP 绝对最大 -20 - +70 ⁰C
存储温度范围 TST 绝对最大 -30 - +80 ⁰C
电源电压 VDD - 4.5 5.0 5.5 V
电源电流 IDD VDD = 5.0V 1.0 2.0 3.0 mA
LCD对比度电源 VDD - V0 TOP = 25°C 4.3 4.5 4.7 V
高电平输入 VIH - 0.7 * VDD - VDD V
低电平输入 VIL - VSS - 0.6 V
高电平输出 VOH - 3.9 - VDD V
低电平输出 VOL - VSS - 0.2 * VDD V
背光电源电压 VLED - 4.5 5.0 5.5 V
背光电源电流 ILED VLED = 5.0V 130 150 170 mA

从这些电气特性参数中,我们可以了解到该模块的工作环境要求以及电源的使用范围,在实际设计中要确保这些参数在合理区间内,以保证模块的正常工作。大家在设计电源电路时,有没有考虑过如何更精准地满足这些参数要求呢?

光学特性

项目 符号 条件 最小值 典型值 最大值 单位
最佳视角 顶部 ϕY + CR ≥ 2 - 40 - °
底部 ϕY - - 60 - °
左侧 θX - - 60 - °
右侧 θX + - 60 - °
对比度 CR - 2 5 - -
响应时间 上升 TR TOP = 25 ℃ - 150 250 ms
下降 TF - 200 300 ms

这些光学特性决定了模块的显示效果,例如最佳视角可以帮助我们确定模块在设备中的安装位置,以获得最佳的视觉体验。那么在实际应用中,我们如何根据这些特性来优化产品的显示效果呢?

四、控制器与指令系统

控制器

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

指令系统

模块提供了丰富的指令集,用于实现各种显示控制功能,例如清屏、光标移动、显示开关等。以下是部分常用指令: 指令 指令代码(RS、R/W、DB7 - DB0) 描述 270 KHZ执行时间(fosc = )
清屏 0 0 0 0 0 0 0 0 0 1 向DDRAM写入 “20H”并将DDRAM地址从AC设置为 “00H” 1.52ms
返回主页 0 0 0 0 0 0 0 0 1 - 将DDRAM地址从AC设置为 “00H”,若光标移动则返回原位置,DDRAM内容不变 1.52ms
输入模式设置 0 0 0 0 0 0 0 1 I/D SH 设置光标移动方向和显示移位,在数据读写时执行 37µs
显示开/关控制 0 0 0 0 0 0 1 D C B D = 1:整个显示打开;C = 1:光标打开;B = 1:闪烁光标打开 37µs

工程师们在使用这些指令时,要注意指令的执行时间和参数设置,以实现准确的控制。那么,在实际项目中,你有没有遇到过因指令执行不当而导致显示异常的情况呢?

五、时序特性

模块在读写数据时,有严格的时序要求。

写数据时序

参数 描述 引脚 最小值 单位
Tc 使能周期时间 Pin E 1200 ns
TPW 使能脉冲宽度 Pin E 140 ns
TR,TF 使能上升/下降时间 Pin E 25 ns
TAS 地址建立时间 Pins: RS,RW,E 0 - ns
TAH 地址保持时间 Pins: RS,RW,E 10 ns
TDSW 数据建立时间 Pins: DB0 - DB7 40 - ns
TH 数据保持时间 Pins: DB0 - DB7 10 ns

读数据时序

参数 描述 引脚 最小值 单位
Tc 使能周期时间 Pin E 1200 ns
TPW 使能脉冲宽度 Pin E 140 ns
TR,TF 使能上升/下降时间 Pin E 25 ns
TAS 地址建立时间 Pins: RS,RW,E 0 - ns
TAH 地址保持时间 Pins: RS,RW,E 10 ns
TDDR 数据建立时间 Pins: DB0 - DB7 100 ns
TH 数据保持时间 Pins: DB0 - DB7 10 ns

在设计与模块通信的电路时,一定要严格按照这些时序要求来编写程序,否则可能会出现数据传输错误的问题。你在处理时序问题上有没有什么独特的技巧呢?

六、初始化程序示例

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

8位初始化

/**********************************************************/ 
void command(char i) { 
    P1 = i; //put data on output Port 
    D_I = 0; //D/I = LOW : send instruction 
    E = 1; 
    Delay(1); 
    RW = 0; //R/W = LOW:Write
    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 
    RW = 0; //R/W = LOW : Write
    E = 1; 
    Delay(1);
    Delay(1); //enable pulse width >= 300ns 
    E = 0; //Clock enable: falling edge 
} 

void init() {
    E = 0; 
    Delay(100); //Wait >40 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 
    RW = 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 
    RW = 0; 
    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 >40 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(0x0F); //Display ON; Blinking cursor 
    command(0x06); //Entry Mode set 
}

工程师们可以根据实际需求选择合适的初始化方式,并且在使用这些初始化程序时,要根据自己的硬件电路进行适当调整。在实际项目中,你会优先选择哪种初始化方式呢?

七、质量与使用注意事项

质量测试

模块经过了多项质量测试,包括高温存储、低温存储、高温运行、低温运行、高温高湿运行、热冲击抵抗、振动测试和静电测试等。每种测试都有特定的条件和要求,以确保模块在各种环境下都能稳定工作。例如高温存储测试要求在 +80⁰C下持续48小时,低温存储测试要求在 -30⁰C下持续48小时。

使用注意事项

使用该液晶显示模块时,需要注意一些事项,具体内容可参考www.newhavendisplay.com/specs/precautions.pdf 。同时,保修信息可查看http://www.newhavendisplay.com/index.php?main_page=terms 。

总之,NHD - 0420DZ - FL - GBW字符液晶显示模块具有丰富的功能和良好的性能,但在设计和使用过程中,我们要仔细了解其各项参数和特性,严格按照要求进行操作,才能充分发挥其优势。希望本文能对大家在使用该模块进行设计时有所帮助,你在使用类似液晶显示模块时还有哪些疑问或者经验呢?欢迎在评论区分享。

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

全部0条评论

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

×
20
完善资料,
赚取积分