探索NHD - 0220DZ - FL - YBW字符液晶显示模块

电子说

1.4w人已加入

描述

探索NHD - 0220DZ - FL - YBW字符液晶显示模块

在电子设备的设计中,液晶显示模块是不可或缺的一部分,它为用户提供了直观的信息展示界面。今天,我们就来深入了解一下Newhaven Display International推出的NHD - 0220DZ - FL - YBW字符液晶显示模块。

文件下载:NHD-0220DZ-FL-YBW.pdf

一、产品概述

NHD - 0220DZ - FL - YBW有着清晰的命名规则,每个部分都代表了特定的含义。“NHD - ”代表Newhaven Display;“0220 - ”表示该模块为2行,每行20个字符;“DZ - ”是其型号;“F - ”代表半透反射型;“L - ”表示采用黄/绿色LED背光;“Y - ”为STN - 黄/绿色(+);“B - ”意味着6:00最佳视角;“W - ”表示宽温度范围,并且该产品符合RoHS标准。

二、功能与特性

显示规格

该模块具备2行×20字符的显示能力,能够满足一般信息展示的需求。

内置控制器

内置ST7066U控制器,为模块的稳定运行提供了保障。你可以通过这里下载其详细规格说明。

电源要求

采用+5.0V电源供电,工作时的一些电气参数如下:

  • 工作温度范围:-20⁰C到+70⁰C
  • 存储温度范围:-30⁰C到+80⁰C
  • 电源电压:4.5V - 5.5V
  • 电源电流:典型值为1.2mA

三、引脚说明与接线图

该模块共有16个引脚,每个引脚都有其特定的功能: 引脚编号 符号 外部连接 功能描述
1 VSS 电源地 提供电源接地
2 VDD 电源 为逻辑电路提供+5.0V电源
3 V0 电源 提供对比度调节电压(约0.65V)
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+ 电源 背光阳极(通过板载电阻接+5.0V)
16 LED- 电源 背光阴极(接地)

推荐使用2x8 2.54mm间距的连接器。

四、电气与光学特性

电气特性

项目 符号 条件 最小值 典型值 最大值 单位
工作温度范围 Top 绝对最大 -20 - +70 ⁰C
存储温度范围 Tst 绝对最大 -30 - +80 ⁰C
电源电压 VDD - 4.5 5.0 5.5 V
电源电流 IDD Ta = 25°C,VDD = 5.0V 1.0 1.2 1.5 mA
液晶对比度电源 VDD - V0 Ta = 25°C 4.2 4.35 4.5 V
“H” 电平输入 Vih - 0.7 * VDD - VDD V
“L” 电平输入 Vil - VSS - 0.6 V
“H” 电平输出 Voh - 3.9 - VDD V
“L” 电平输出 Vol - - - 0.2 * VDD V
背光电源电压 Vled - 4.9 5.0 5.1 V
背光电源电流 Iled Vled = 5.0V 84 105 157 mA

光学特性

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

五、控制器信息与DDRAM地址

内置的ST7066U控制器负责模块的控制和数据处理。DDRAM地址分配如下: 1 2 3 4 5 6 7 8 9 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

六、命令表

该模块支持多种命令,每个命令都有其特定的功能和执行时间,例如: 指令 指令代码 描述 执行时间(fosc = 270 KHZ)
清屏 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

七、时序特性

写入数据

从MPU向ST7066U写入数据时,各个参数的时间要求如下: 参数 描述 引脚 最小值 典型值 最大值 单位
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

读取数据

从ST7066U向MPU读取数据时,参数要求如下: 参数 描述 引脚 最小值 典型值 最大值 单位
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位初始化

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);
    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 
    Delay(1);
    E = 0; //Clock enable: falling edge 
}

void init() 
{
    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); //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; 
    Nybble(); 
    i = i < < 4; //Send lower 4 bits //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; 
    Nybble(); 
    P1 = i; 
    i = i < < 4; //Clock lower 4 bits //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
}

十、质量信息与注意事项

质量测试

该模块经过了多项质量测试,包括高温存储、低温存储、高温运行、低温运行、高温高湿运行、热冲击抗性、振动测试和静电测试等,以确保其在不同环境下的稳定性和可靠性。

使用注意事项

在使用该模块时,需要注意一些事项,具体可参考这里。同时,关于保修信息和条款条件可查看这里

NHD - 0220DZ - FL - YBW字符液晶显示模块以其丰富的功能、稳定的性能和良好的兼容性,为电子工程师在设计显示界面时提供了一个不错的选择。你在使用这款模块时遇到过什么问题吗?欢迎在评论区分享你的经验和见解。

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

全部0条评论

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

×
20
完善资料,
赚取积分