探索NHD - 0108FZ - FL - YBW - 3V3字符液晶显示模块

电子说

1.4w人已加入

描述

探索NHD - 0108FZ - FL - YBW - 3V3字符液晶显示模块

在电子设计领域,液晶显示模块是不可或缺的组件,它为用户提供了直观的信息展示界面。今天我们来详细了解一下Newhaven Display推出的NHD - 0108FZ - FL - YBW - 3V3字符液晶显示模块。

文件下载:NHD-0108FZ-FL-YBW-3V3.pdf

一、产品概述

NHD - 0108FZ - FL - YBW - 3V3是一款具有特定功能和特性的字符液晶显示模块。从其型号可以解读出很多关键信息:

  • “NHD - ”代表Newhaven Display。
  • “0108 - ”表示该模块为1行8字符显示。
  • “FZ - ”是特定的型号。
  • “F - ”表示具有半透反射特性。
  • “L - ”说明采用黄色/绿色LED背光。
  • “Y - ”代表STN - 黄色/绿色显示模式。
  • “B - ”表示6:00视角。
  • “W - ”意味着具备宽温度范围( - 20°C ~ +70°C)。
  • “3V3 - ”表示3V的电源电压和3V的背光电压,并且该产品符合RoHS标准。

二、功能与特性

2.1 基本参数

  • 显示规格:1行8字符显示,内置ST7066U控制器。
  • 电源供应:采用 +3.0V电源,1/16 duty,1/5 bias。

2.2 电气特性

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

2.3 光学特性

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

三、引脚说明与接线图

引脚编号 符号 外部连接 功能描述
1 VSS 电源 接地
2 VDD 电源 逻辑电源电压( +3.0V)
3 V0 调节电源 对比度电源(约0V)
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.0V)
16 LED - 电源 背光接地

推荐的LCD连接器为2.54mm间距引脚。

四、控制器信息

该模块内置ST7066U控制器,其规格可在http://www.newhavendisplay.com/app_notes/ST7066U.pdf下载。DDRAM地址与显示位置对应关系如下: 显示位置 1 2 3 4 5 6 7 8
DDRAM地址 00 01 02 03 04 05 06 07

五、命令表

该模块有一系列的指令,通过不同的指令码实现不同的功能,如清屏、光标移动、显示开关等。以下是部分指令示例: 指令 指令码(RS、R/W、DB7 - DB0) 描述 描述时间(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

六、初始化程序

6.1 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 
} 
/**********************************************************/

6.2 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
}
****

七、质量信息与注意事项

7.1 质量测试

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

7.2 注意事项

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

在实际设计中,电子工程师们需要根据这些详细的信息来合理使用该液晶显示模块,你在使用类似模块时遇到过哪些问题呢?欢迎在评论区分享。

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

全部0条评论

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

×
20
完善资料,
赚取积分