电子说
在电子设计领域,字符液晶显示模块是人机交互的重要组成部分。今天,我们将深入了解Newhaven Display International公司的NHD - 0108BZ - FSY - YBW - 3V3字符液晶显示模块。
文件下载:NHD-0108BZ-FSY-YBW-3V3.pdf
| NHD - 0108BZ - FSY - YBW - 3V3是一款1行8字符的液晶显示模块,内置ST7066U控制器,采用+3.0V电源供电,具有1/8 duty、1/4 bias的驱动方式,并且符合RoHS标准。以下是对其型号各部分含义的详细解读: | 代码 | 含义 |
|---|---|---|
| NHD - | Newhaven Display | |
| 0108 - | 1行8字符 | |
| BZ - | 型号 | |
| F - | 半透反射型 | |
| SY - | 侧面黄绿LED背光 | |
| Y - | STN - 黄绿 | |
| B - | 6:00视角 | |
| W - | 宽温度范围( - 20°C ~ +70°C) | |
| 3V3 - | 3V电源,3V背光 |
该模块的机械特性包括驱动方式、显示类型、工作温度和存储温度等。其驱动方式为1/8 duty、1/4 bias,VDD 3.0V,VLCD 3.0V;显示类型为STN - YG/正性/半透反射/6:00视角;工作温度范围为 - 20°C - 70°C,存储温度范围为 - 30°C - 80°C;背光类型为边缘黄绿背光;驱动芯片为ST7066U。
| 项目 | 符号 | 条件 | 最小值 | 典型值 | 最大值 | 单位 |
|---|---|---|---|---|---|---|
| 工作温度范围 | 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.7VDD | - | VDD | V |
| “L” 电平输入 | Vil | - | 0 | - | 0.6 | V |
| “H” 电平输出 | Voh | - | 0.75VDD | - | - | V |
| “L” 电平输出 | Vol | - | - | - | 0.2VDD | V |
| 背光电源电压 | Vled | - | - | 3.0 | - | V |
| 背光电源电流 | Iled | Vled = 3.0V | 30 | 45 | 60 | mA |
| 项目 | 符号 | 条件 | 最小值 | 典型值 | 最大值 | 单位 |
|---|---|---|---|---|---|---|
| 垂直视角(上) | AV | Cr ≥ 2 | - | 25 | - | ° |
| 垂直视角(下) | AV | Cr ≥ 2 | - | 70 | - | ° |
| 水平视角(左) | AH | Cr ≥ 2 | - | 30 | - | ° |
| 水平视角(右) | AH | Cr ≥ 2 | - | 30 | - | ° |
| 对比度 | Cr | - | - | 2 | - | - |
| 响应时间(上升) | Tr | - | - | 120 | 150 | ms |
| 响应时间(下降) | Tf | - | - | 120 | 150 | 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 | 四个高序双向三态数据总线 |
推荐使用2.54mm间距的LCD连接器。
/**********************************************************/
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
}
/**********************************************************/
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
Nybble(); //Send lower 4 bits
i = i < < 4; //Shift over by 4 bits
P1 = i; //put data on output Port
Nybble(); //Send upper 4bits
}
/**********************************************************/
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);
command(0x0F); //Set cursor
command(0x0F); //Display ON; Blinking cursor
command(0x06); //Entry Mode set
}
该模块进行了多项质量测试,包括高温存储、低温存储、高温运行、低温运行、高温高湿运行、热冲击抵抗、振动测试和静电测试等。
使用该模块时,需注意避免冷凝现象,在特定测试后需在25°C、0%RH环境下存储4小时。同时,振动测试需在产品本身进行,而非在容器内。更多使用注意事项可参考官网的相关文档(www.newhavendisplay.com/specs/precautions.pdf)。
保修信息和条款可参考官网(http://www.newhavendisplay.com/index.php?main_page=terms)。
NHD - 0108BZ - FSY - YBW - 3V3字符液晶显示模块具有多种特性和功能,适用于多种电子设备的显示需求。电子工程师在设计时,可根据具体需求选择合适的初始化方式和使用方法。大家在使用过程中是否遇到过类似模块的问题呢?欢迎在评论区分享交流。
全部0条评论
快来发表一下你的评论吧 !