电子说
在电子设计领域,液晶显示模块是非常重要的组件,它能够直观地呈现各种信息。今天我们就来深入了解一下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的特性。
| 该模块的引脚功能明确,以下是详细介绍: | 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 |
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
}
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液晶显示模块在电子设计中具有广泛的应用前景,各位工程师在实际使用时,不妨根据其特性和要求进行合理设计。大家在使用这个模块的过程中遇到过哪些问题呢?欢迎在评论区分享交流。
全部0条评论
快来发表一下你的评论吧 !