探索NHD - 0216SZ - NSW - BBW - 33V3液晶显示模块

电子说

1.4w人已加入

描述

探索NHD - 0216SZ - NSW - BBW - 33V3液晶显示模块

在电子设计领域,液晶显示模块是非常重要的组件,它能够直观地呈现各种信息。今天我们就来深入了解一下Newhaven Display公司的NHD - 0216SZ - NSW - BBW - 33V3字符液晶显示模块。

文件下载:NHD-0216SZ-NSW-BBW-33V3.pdf

产品概述

这个型号的液晶显示模块具有诸多特点。它采用2行16字符的显示布局,内置ST7066U或等效控制器,供电为+3.3V,符合RoHS标准,具有1/16 duty和1/5 bias的特性。

产品命名解析

  • NHD:代表Newhaven Display。
  • 0216:表示2行16字符。
  • SZ:为型号标识。
  • N:代表透射式。
  • SW:表示侧面白色LED背光。
  • B:STN负性 - 蓝色。
  • BW:宽温度范围,最佳视角6:00。
  • 33V3:3.3V的逻辑供电电压,3V的背光电压。

引脚说明与接线图

该模块的引脚功能明确,以下是详细介绍: Pin No. Symbol External Connection Function Description
1 VSS Power Supply Ground 电源地
2 VDD Power Supply 逻辑供电电压(+3.3V)
3 V0 Adj. Power Supply 对比度供电电压(约0.3V)
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+ Power Supply 背光阳极(+3.0V)
16 LED- Power Supply 背光阴极(地)

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

电气与光学特性

电气特性

Item Symbol Condition Min. Typ. Max. Unit
工作温度范围 TOP Absolute Max -20 - +70 ⁰C
存储温度范围 TST Absolute Max -30 - +80 ⁰C
供电电压 VDD - 3.1 3.3 3.5 V
供电电流 IDD VDD = 5.0V 0.5 1.5 3.0 mA
液晶对比度供电 VDD – V0 TOP = 25°C 2.8 3.0 3.2 V
“H” 电平输入 VIH - 0.7 * VDD - VDD V
“L” 电平输入 VIL - VSS - 0.6 V
“H” 电平输出 VOH - 0.75 * VDD - VDD V
“L” 电平输出 VOL - VSS - 0.2 * VDD V
背光供电电压 VLED - 2.8 3.0 3.2 V
背光供电电流 ILED VLED = 3.0 V 20 30 40 mA

光学特性

Item Symbol Condition Min. Typ. Max. Unit
最佳视角(上) ϕY+ CR ≥ 2 - 40 - °
最佳视角(下) ϕY- - 60 - °
最佳视角(左) θX- - 60 - °
最佳视角(右) θX+ - 60 - °
对比度 CR - 2 5 - -
响应时间(上升) TR TOP = 25°C - 150 250 ms
响应时间(下降) TF - 200 300 ms

控制器信息

模块内置ST7066U控制器,其详细规格可从http://www.newhavendisplay.com/app_notes/ST7066U.pdf下载。DDRAM地址有特定的分配,方便数据的存储和读取。

指令表

该模块有一系列指令,用于控制显示和操作,以下是部分指令介绍: Instruction Instruction code Description 270 KHZ Execution time (fosc=)
Clear Display 0 0 0 0 0 0 0 0 0 1 写入“20H”到DDRAM并将DDRAM地址从AC设置为“00H” 1.52ms
Return Home 0 0 0 0 0 0 0 0 1 - 设置DDRAM地址从AC到“00H”,若光标移动则返回原位置,DDRAM内容不变 1.52ms
Entry mode Set 0 0 0 0 0 0 0 1 I/D SH 设置光标移动方向和显示移位 37µs
Display ON/ OFF control 0 0 0 0 0 0 1 D C B D = 1显示开启,C = 1光标开启,B = 1光标闪烁 37µs

初始化程序

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
    Delay(1); 
    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);
    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); 
    command (0x06); //Set cursor //Display ON; Cursor ON //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(); //Send upper 4bits
    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 (); 
    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);
    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 
    P1 = 0x20; //put 0x20 on the output port 
    Delay (10);
    Nybble(); //Function set: 4-bit interface 
    command (0x28); //Function set: 4-bit/2-line 
    command (0x10); 
    command (0x0F); //Set cursor
    command(0x0F); //Display ON; Blinking cursor 
    command (0x06); //Entry Mode set
}

质量与使用注意事项

质量测试

该模块经过多项质量测试,包括高温存储、低温存储、高温操作、低温操作、高温高湿操作、热冲击抗性、振动测试和静电测试等。

使用注意事项

在使用时,需要注意一些事项,具体可参考www.newhavendisplay.com/specs/precautions.pdf。同时,关于保修信息和条款可查看http://www.newhavendisplay.com/index.php?main_page=terms 。

NHD - 0216SZ - NSW - BBW - 33V3液晶显示模块在电子设计中具有广泛的应用前景,各位工程师在实际使用时,不妨根据其特性和要求进行合理设计。大家在使用这个模块的过程中遇到过哪些问题呢?欢迎在评论区分享交流。

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

全部0条评论

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

×
20
完善资料,
赚取积分