电子说
在电子设计领域,液晶显示模块是人机交互中不可或缺的重要组件。今天,我们就来深入了解Newhaven Display International公司推出的NHD - 0216K1Z - FSW - FTW - FB1字符液晶显示模块。
文件下载:NHD-0216K1Z-FSW-FTW-FB1.pdf
NHD - 0216K1Z - FSW - FTW - FB1是一款具备2行16字符显示能力的液晶显示模块。从型号命名上,我们可以获取很多有用信息:
该模块能够清晰显示2行16个字符,满足一般信息显示需求。
内置ST7066U控制器,其详细规格可从http://www.newhavendisplay.com/app_notes/ST7066U.pdf下载。
| 采用+5.0V电源供电,工作时的一些电气参数如下: | 项目 | 符号 | 条件 | 最小值 | 典型值 | 最大值 | 单位 |
|---|---|---|---|---|---|---|---|
| 工作温度范围 | TOP | 绝对最大 | -20 | - | +70 | °C | |
| 存储温度范围 | TST | 绝对最大 | -30 | - | +80 | °C | |
| 电源电压 | VDD | - | 4.8 | 5.0 | 5.2 | V | |
| 电源电流 | IDD + ILED | VDD = 5.0V | 11.0 | 16.5 | 22.5 | mA | |
| LCD供电(对比度) | VLCD | TOP = 25°C | 4.3 | 4.5 | 4.7 | 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 | - | 4.8 | 5.0 | 5.2 | V | |
| 背光电源电流 | ILED | VLED = 5.0V | 10 | 15 | 20 | mA |
| 在光学方面,它也有不错的表现: | 项目 | 符号 | 条件 | 最小值 | 典型值 | 最大值 | 单位 | |
|---|---|---|---|---|---|---|---|---|
| 最佳视角 | 顶部 | ϕY+ | CR ≥ 2 | - | 40 | - | ° | |
| 底部 | ϕY - | - | 60 | - | ° | |||
| 左侧 | θX - | - | 60 | - | ° | |||
| 右侧 | θX+ | - | 60 | - | ° | |||
| 对比度 | CR | - | 2 | 5 | - | - | ||
| 响应时间 | 上升 | TR | TOP = 25°C | - | 150 | 250 | ms | |
| 下降 | TF | - | 200 | 300 | ms |
| 该模块的引脚功能明确,具体如下: | 引脚编号 | 符号 | 外部连接 | 功能描述 |
|---|---|---|---|---|
| 1 | VSS | 电源 | 接地 | |
| 2 | VDD | 电源 | 逻辑和背光的供电电压(+5.0V) | |
| 3 | NC | - | 不连接(固定对比度) | |
| 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 | NC | - | 不连接 | |
| 16 | NC | - | 不连接 |
推荐使用2.54mm间距的引脚作为LCD连接器。
| 该模块提供了丰富的指令集,用于控制显示和数据读写等操作,例如: | 指令 | 指令代码 | 描述 | 270 KHZ执行时间 (fOSC = ) |
|---|---|---|---|---|
| 清屏 | 0 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 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 |
模块支持8位和4位初始化方式:
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
R_W = 0;
D_I = 1; //D/I=HIGH : send data //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
Delay (100);
command (0x30); //command 0x30 = Wake up
Delay(30);
Delay(30); //must wait 5ms, busy flag not available
command (0x30); //command 0x30 = Wake up #2
Delay (10);
Delay(10); //must wait 160us, busy flag not available
command (0x30); //command 0x30 = Wake up #3
Delay (10);
Delay(10); //must wait 160us, busy flag not available
command (0x38);
command(0x38); //Function set: 8-bit/2-line
command (0x10);
command (0x0c);
command (0x06); //Set cursor //Display ON; Cursor ON //Entry mode set
}
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; //R/W=LOW:Write //Send lower 4 bits //Shift over by 4 bits
P1 = i;
P1 = i; //put data on output Port
Nybble(); //Send upper 4 bits
}
void write(char i)
{
P1 = i; //put data on output Port
R_W = 0;
Nybble();
P1 = i;
D_I = 1;
i = i < < 4; //D/I=HIGH : send data //R/W=LOW: Write //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);
Delay(1); //enable pulse width >= 300ns
E = 0; //Clock enable:falling edge
}
void init()
{
P1 = 0;
P3 = 0;
Delay (100);
Delay(100); //Wait >40 msec after power is applied
P1 = 0x30; //put 0x30 on the output port
P1 = 0x30;
Delay (30);
Delay(30); //must wait 5ms, busy flag not available
Nybble(); //command 0x30 = Wake up
Delay (10);
Delay(10); //must wait 160us, busy flag not available
Nybble(); //command 0x30= Wake up #2
Delay (10);
Delay(10); //must wait 160us, busy flag not available
Nybble ();
Nybble(); //command 0x30 = Wake up #3
Delay(10); //can check busy flag now instead of delay
Delay (10);
P1 = 0x20; //put 0x20 on the output port
P1 = 0x20;
Nybble(); //Function set: 4-bit interface
Nybble ();
command (0x28);
command(0x28); //Function set: 4-bit/2-line
command (0x10); //Set cursor
command (0x0F);
command(0x0F); //Display ON; Blinking cursor
command (0x06); //Entry Mode set
}
| 该模块经过了多项严格的质量测试,包括高温存储、低温存储、高温操作、低温操作、高温高湿操作、热冲击抗性、振动测试和静电测试等。 | 测试项目 | 测试内容 | 测试条件 | 备注 |
|---|---|---|---|---|
| 高温存储 | 长时间施加高存储温度的耐久性测试 | +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 cycle 10 cycles | ||
| 振动测试 | 施加振动以模拟运输和使用的耐久性测试 | 10 - 55Hz , 15mm振幅。在X、Y、Z三个方向各60秒,共15分钟 | 3 | |
| 静电测试 | 施加静电放电的耐久性测试 | VS = 800V, RS = 1.5kΩ, CS = 100pF 一次 |
使用该模块时,需要注意一些事项,具体可参考www.newhavendisplay.com/specs/precautions.pdf。同时,关于保修信息和条款可访问http://www.newhavendisplay.com/index.php?main_page=terms。
NHD - 0216K1Z - FSW - FTW - FB1字符液晶显示模块凭借其丰富的功能、良好的性能和严格的质量测试,在电子设计中有着广泛的应用前景。各位工程师在实际应用中,不妨根据具体需求合理选择和使用。你在使用类似液晶显示模块时遇到过哪些问题呢?欢迎在评论区分享。
全部0条评论
快来发表一下你的评论吧 !