深入解析NHD - 0420DZ - NSW - BBW字符液晶显示模块

电子说

1.4w人已加入

描述

深入解析NHD - 0420DZ - NSW - BBW字符液晶显示模块

在电子设备的设计中,液晶显示模块是不可或缺的一部分,它为用户提供了直观的信息交互界面。今天我们就来详细解析Newhaven Display International推出的NHD - 0420DZ - NSW - BBW字符液晶显示模块。

文件下载:NHD-0420DZ-NSW-BBW.pdf

一、产品概述

NHD - 0420DZ - NSW - BBW是一款具有4行20字符显示能力的液晶显示模块。其型号中的每个部分都有特定含义:

  • “NHD - ”代表Newhaven Display。
  • “0420 - ”表示4行20字符的显示规格。
  • “DZ - ”为具体型号。
  • “N - ”代表透射型。
  • “SW - ”表示边缘白色LED背光。
  • “B - ”表示STN负性、蓝色显示。
  • “B - ”代表6:00最佳视角。
  • “W - ”意味着宽温度范围,并且该产品符合RoHS标准。

二、功能与特性

2.1 基本功能

  • 显示能力:具备4行20字符的显示能力,能够满足大多数信息显示需求。
  • 内置控制器:采用ST7066U控制器,可通过链接下载其详细规格。
  • 电源要求:使用 +5.0V 电源供电,采用1/16 duty、1/5 bias的驱动方式。

2.2 环保特性

产品符合RoHS标准,这意味着它在生产过程中限制了有害物质的使用,更加环保。

三、引脚说明与接线图

该模块共有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位双向三态数据总线,4位操作时不使用
11 - 14 DB4 - DB7 MPU 高4位双向三态数据总线
15 LED + 电源 背光阳极(5V时48mA)
16 LED - 电源 背光

推荐使用2.54mm间距的引脚作为LCD连接器,不过文档中未提及背光连接器的具体信息。

四、电气与光学特性

4.1 电气特性

项目 符号 条件 最小值 典型值 最大值 单位
工作温度范围 TOP 绝对最大 -20 - +70 °C
存储温度范围 TST 绝对最大 -30 - +80 °C
电源电压 VDD - 4.5 5.0 5.5 V
电源电流 IDD VDD = 5.0V 1.0 1.2 1.5 mA
LCD供电(对比度) VLCD TOP = 25°C 4.4 4.5 4.6 V
“H” 电平输入 VIH - 0.7 * VDD - VDD V
“L” 电平输入 VIL - VSS - 0.6 V
“H” 电平输出 VOH - 3.9 - VDD V
“L” 电平输出 VOL - VSS - 0.4 V
背光电源电压 VLED ILED = 48mA 4.9 5.0 5.1 V
背光电源电流 ILED - 15 48 60 mA

需要注意的是,背光采用电流驱动,不要超过60mA,因为亮度与背光电源电流直接相关。

4.2 光学特性

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

五、控制器信息

模块内置ST7066U控制器,其DDRAM地址有特定的分布: 1 2 3 4 5 6 7 8 9 10 11 12 13 14
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13
40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53
14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21
54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61

六、指令表

该模块有多种指令,不同指令的代码和执行时间如下: 指令 指令代码(RS、R/W、DB7 - DB0) 描述 270 KHZ执行时间(fOSC = )
清屏 0 0 0 0 0 0 0 0 0 1 将 “20H” 写入DDRAM,并将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
光标或显示移位 0 0 0 0 0 1 S/C R/L - - 设置光标移动和显示移位控制位及方向,不改变DDRAM数据 37µs
功能设置 0 0 0 0 1 DL N F - - DL:接口数据为8/4位;N:行数为2/1;F:字体大小为5x11/5x8 37µs
设置CGRAM地址 0 0 0 1 AC5 AC4 AC3 AC2 AC1 AC0 在地址计数器中设置CGRAM地址 37µs
设置DDRAM地址 0 0 1 AC6 AC5 AC4 AC3 AC2 AC1 AC0 在地址计数器中设置DDRAM地址 37µs
读取忙标志和地址 0 1 BF AC6 AC5 AC4 AC3 AC2 AC1 AC0 通过读取BF可知是否处于内部操作,也可读取地址计数器内容 0s
向地址写入数据 1 0 D7 D6 D5 D4 D3 D2 D1 D0 将数据写入内部RAM(DDRAM/CGRAM) 37µs
从RAM读取数据 1 1 D7 D6 D5 D4 D3 D2 D1 D0 从内部RAM(DDRAM/CGRAM)读取数据 37µs

七、时序特性

7.1 从MPU向ST7066U写入数据

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

7.2 从ST7066U向MPU读取数据

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

八、内置字体表

文档中给出了内置字体表,但内容较为复杂,这里不再详细列出。在实际使用中,可根据需要参考该字体表进行字符显示。

九、初始化程序示例

9.1 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(0x10); 
    command(0x0c); //Set cursor
    command(0x06); //Entry mode set 
}

9.2 4位初始化

void command(char i) {
    P1 = i; //put data on output Port 
    D_I = 0; //D/I = LOW : send instruction 
    RW = 0; 
    Nybble(); //Send upper 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 upper 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(0x10); //Set cursor
    command(0x0F); //Display ON; Blinking cursor 
    command(0x06); //Entry Mode set 
}

十、质量信息与注意事项

10.1 质量测试

该模块进行了多项质量测试,包括高温存储、低温存储、高温操作、低温操作、高温/湿度存储、热冲击抗性、振动测试和静电测试等,具体测试条件和注意事项如下: 测试项目 测试内容 测试条件 注意事项
高温存储 长时间施加高存储温度的耐久性测试 +80°C,200小时 2
低温存储 长时间施加低存储温度的耐久性测试 -30°C,200小时 1,2
高温操作 长时间施加电应力(电压和电流)和高热应力的耐久性测试 +70°C,
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

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

×
20
完善资料,
赚取积分