电子说
在电子设计领域,液晶显示模块是人机交互的重要组成部分。今天我们来深入剖析Newhaven Display的NHD - 0208BZ - RN - YBW - 3V字符液晶显示模块,希望能为各位电子工程师在实际设计中提供有价值的参考。
NHD - 0208BZ - RN - YBW - 3V是一款具有特定功能和特性的液晶显示模块。其型号各部分含义如下:
该模块为2行8字符显示,能够满足一些简单信息的展示需求,比如小型设备的状态显示等。
内置ST7066U控制器,可通过访问ST7066U规格文档获取详细信息。
采用 +3.0V电源供电,驱动方式为1/16 duty,1/5 bias,同时符合RoHS标准,这使得其在环保和电气性能上都有一定保障。
该模块的驱动方式为1/16 duty,1/5 bias,VDD3.0V,VLCD3.0V;显示类型为STN - YG/正性/反射式/6:00视角;工作温度范围为 - 20°C - 70°C,存储温度范围为 - 30°C - 80°C。
| Pin No. | Symbol | External Connection | Function Description |
|---|---|---|---|
| 1 | VSS | Power Supply | Ground |
| 2 | VDD | Power Supply | Supply Voltage for logic (+3.0V) |
| 3 | V0 | Adj Power Supply | Power supply for contrast (approx. 0V) |
| 4 | RS | MPU | Register select signal. RS = 0: Command, RS = 1: Data |
| 5 | R/W | MPU | Read/Write select signal, R/W = 1: Read R/W: = 0: Write |
| 6 | E | MPU | Operation enable signal. Falling edge triggered. |
| 7 - 10 | DB0 – DB3 | MPU | Four low order bi - directional three - state data bus lines. These four are not used during 4 - bit operation. |
| 11 - 14 | DB4 – DB7 | MPU | Four high order bi - directional three - state data bus lines. |
| A | NC | - | No Connect |
| K | NC | - | No Connect |
推荐使用2.54mm间距的引脚作为LCD连接器。
| Item | Symbol | Condition | Min. | Typ. | Max. | Unit |
|---|---|---|---|---|---|---|
| Operating Temperature Range | Top | Absolute Max | - 20 | - | +70 | ⁰C |
| Storage Temperature Range | Tst | Absolute Max | - 30 | - | +80 | ⁰C |
| Supply Voltage | VDD | 2.7 | 3.0 | 3.3 | V | |
| Supply Current | IDD | Ta = 25°C, VDD = 3.0V | - | 1.0 | 1.5 | mA |
| Supply for LCD (contrast) | VDD - V0 | Ta = 25°C | - | 3.0 | - | V |
| “H” Level input | Vih | 0.7 VDD | - | VDD | V | |
| “L” Level input | Vil | 0 | - | 0.6 | V | |
| “H” Level output | Voh | 0.75 VDD | - | - | V | |
| “L” Level output | Vol | - | - | 0.2 VDD | V | |
| Backlight Supply Voltage | Vled | - | - | - | - | V |
| Backlight Supply Current | Iled | - | - | - | - | mA |
| Item | Symbol | Condition | Min. | Typ. | Max. | Unit |
|---|---|---|---|---|---|---|
| Viewing Angle – Vertical (top) | AV | Cr ≥2 | - | 25 | - | ⁰ |
| Viewing Angle – Vertical (bottom) | AV | Cr ≥2 | - | 70 | - | ⁰ |
| Viewing Angle – Horizontal (left) | AH | Cr ≥2 | - | 30 | - | ⁰ |
| Viewing Angle – Horizontal (right) | AH | Cr ≥2 | - | 30 | - | ⁰ |
| Contrast Ratio | Cr | - | 2 | - | - | |
| Response Time (rise) | Tr | - | - | 120 | 150 | ms |
| Response Time (fall) | Tf | - | - | 120 | 150 | ms |
| DDRAM地址与显示位置对应关系如下: | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
|---|---|---|---|---|---|---|---|---|
| 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | |
| 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 |
| 该模块提供了丰富的命令,用于控制显示和操作,例如清屏、光标移动、显示开关等,不同命令有不同的指令代码和执行时间。以下是部分命令示例: | Instruction | Instruction Code | Description | Description Time (270KHz) |
|---|---|---|---|---|
| Clear Display | 0 0 0 0 0 0 0 0 0 1 | Write "20H" to DDRAM. and set DDRAM address to "00H" from AC | 1.52 ms | |
| Return Home | 0 0 0 0 0 0 0 0 1 X | Set DDRAM address to "00H" from AC and return cursor to its original position if shifted. The contents of DDRAM are not changed. | 1.52 ms |
/**********************************************************/
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;
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
}
****
该模块进行了多项质量测试,包括高温存储、低温存储、高温运行、低温运行、高温高湿运行、热冲击抗性、振动测试和静电测试等,确保其在不同环境下的可靠性。
使用LCDs/LCMs时,可参考使用注意事项。同时,关于保修信息和条款可访问相关页面。
在实际设计中,各位工程师可以根据具体需求选择合适的初始化方式和命令来驱动该液晶显示模块。大家在使用过程中遇到过哪些问题呢?欢迎在评论区分享交流。
全部0条评论
快来发表一下你的评论吧 !