电子说
在电子设计领域,液晶显示模块是人机交互的重要组成部分。今天,我们来详细探讨Newhaven Display International公司的NHD - 0420H1Z - FL - GBW - 3V3字符液晶显示模块。
文件下载:NHD-0420H1Z-FL-GBW-3V.pdf
NHD - 0420H1Z - FL - GBW - 3V3是一款具有4行20字符显示能力的液晶显示模块。从型号编码上我们可以了解到它的诸多特性:
具备4行20字符的显示能力,能够满足大多数简单信息显示的需求,如设备状态、参数等。
内置了SPLC780D或ST7066U控制器,为显示模块的稳定运行提供了保障。相关的控制器规格可以从http://www.newhavendisplay.com/app_notes/SPLC780D.pdf和http://www.newhavendisplay.com/app_notes/ST7066U.pdf下载。
| Pin No. | Symbol | External Connection | Function Description |
|---|---|---|---|
| 1 | Vss | Power Supply | Ground |
| 2 | VDD | Power Supply | Supply voltage for logic (+3.3V) |
| 3 | V0 | Power Supply | Power supply for contrast (approx. 0.3V) |
| 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. |
| 15 | LED+ | Power Supply | Power supply for LED Backlight (+3.3V) |
| 16 | LED - | Power Supply | Ground for backlight |
在实际设计中,正确连接这些引脚对于模块的正常工作至关重要。大家在接线时,有没有遇到过因为引脚连接错误而导致模块无法正常显示的情况呢?
| 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 | 3.0 | 3.3 | 3.5 | V | |
| Supply Current | IDD | Ta = 25°C, VDD = 3.3V | - | 4.0 | 5.0 | mA |
| Supply for LCD (contrast) | VDD - V0 | Ta = 25°C | - | 3.0 | - | V |
| “H” Level input | Vih | 2.2 | - | VDD | V | |
| “L” Level input | Vil | 0 | - | 0.6 | V | |
| “H” Level output | Voh | 2.4 | - | - | V | |
| “L” Level output | Vol | - | - | 0.4 | V | |
| Backlight Supply Voltage | Vled | - | - | 3.3 | - | V |
| Backlight Supply Current | Iled | Vled = 3.3V | - | 150 | - | 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 |
这些特性决定了模块在不同环境下的显示效果和性能表现。例如,在设计户外设备时,就需要考虑模块的温度范围和对比度等特性。
/**********************************************************/
void command(char i)
{
P1 = i;
P1 = i; //put data on output Port
D_I = 0; //D/I=LOW : send instruction
D_I = 0;
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
P1 = i;
D_I = 1; //D/I=LOW : send data
D_I = 1;
R_W = 0; //R/W=LOW:Write
E = 1;
Delay(1); //enable pulse width >= 300ns
Delay (1);
E = 0;
}
/**********************************************************/
void init()
{
E = 0;
Delay(100); //Wait >15 msec after power is applied
Delay (100);
command (0x30);
command(0x30); //command 0x30 = Wake up
Delay(30); //must wait 5ms, busy flag not available
Delay(30);
command (0x30);
command(0x30); //command 0x30 = Wake up #2
Delay(10); //must wait 160us, busy flag not available
Delay(10);
command (0x30);
command(0x30); //command 0x30 = Wake up #3
Delay(10); //must wait 160us, busy flag not available
Delay (10);
command (0x38);
command(0x38); //Function set: 8-bit/2-line
command (0x10); //Set cursor
command (0x0c);
command(0x0c); //Display ON; Cursor ON
command (0x06); //Entry mode set
}
/**********************************************************/
/******
void command(char i)
{
P1 = i;
P1 = i; //put data on output Port
D_I = 0; //D/I=LOW : send instruction
D_I = 0;
R_W = 0;
Nybble(); //R/W=LOW:Write
Nybble(); //Send lower 4 bits
i = i < < 4; //Shift over by 4 bits
i = i < < 4;
P1 = i;
P1 = i; //put data on output Port
Nybble ();
Nybble(); //Send upper 4 bits
}
/**********************************************************/
void write(char i)
{
P1 = i;
P1 = i; //put data on output Port
D_I = 1; //D/I=HIGH : send data
D_I = 1;
R_W = 0;
R_W = 0; //R/W=LOW : Write
Nybble();
Nybble(); //Clock lower 4 bits
i = i < < 4;
i = i < < 4; //Shift over by 4 bits
P1 = i; //put data on output Port
P1 = i;
Nybble();
Nybble(); //Clock upper 4 bits
}
void Nybble()
{
E = 1;
Delay (1);
Delay(1); //enable pulse width >= 300ns
E = 0;
E = 0; //Clock enable: falling edge
}
void init()
{
P1 = 0; P3 = 0;
Delay (100);
Delay(100); //Wait >15 msec after power is applied
P1 = 0x30;
P1 = 0x30; //put 0x30 on the output port
Delay(30); //must wait 5ms, busy flag not available
Delay(30);
Nybble();
Nybble(); //command 0x30 = Wake up
Delay (10);
Delay(10); //must wait 160us, busy flag not available
Nybble(); //command 0x30 = Wake up #2
Nybble();
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;
P1 = 0x20; //put 0x20 on the output port
Nybble(); //Function set: 4-bit interface
command(0x28); //Function set: 4-bit/2-line
Nybble();
command (0x10); //Set cursor
command (0x0F);
command(0x0F); //Display ON; Blinking cursor
command (0x06); //Entry Mode set
}
****
在实际应用中,根据具体需求选择合适的初始化方式。大家在编写初始化程序时,有没有遇到过一些难以调试的问题呢?
该模块经过了多项质量测试,包括高温存储、低温存储、高温运行、低温运行、高温高湿运行、热冲击抗性、振动测试和静电测试等。这些测试确保了模块在不同环境下的可靠性。
使用LCDs/LCMs时,需要注意一些事项,具体内容可以查看www.newhavendisplay.com/specs/precautions.pdf。同时,关于保修信息和条款可以访问http://www.newhavendisplay.com/index.php?main_page=terms。
总之,NHD - 0420H1Z - FL - GBW - 3V3字符液晶显示模块具有丰富的功能和良好的性能,在电子设计中有着广泛的应用前景。希望通过本文的介绍,能帮助大家更好地了解和使用这款模块。
全部0条评论
快来发表一下你的评论吧 !