电子说
在电子设备的设计中,液晶显示模块是人机交互的重要组成部分。今天我们就来详细了解一下 Newhaven Display 公司的 NHD - 0420H1Z - FL - GBW - 33V3 字符液晶显示模块。
文件下载:NHD-0420H1Z-FL-GBW-33V3.pdf
NHD - 0420H1Z - FL - GBW - 33V3 是一款 4 行 20 字符的液晶显示模块,型号为 H1Z,采用了半透反射技术(F),配备了灰黄/绿色 LED 背光源(L - G - STN),具有宽温特性(B - W),最佳视角为 6:00,工作电压为 3.3V(33V3),并且符合 RoHS 标准。
| 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 | Supply Voltage for contrast (approx. 0.1V) |
| 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. Not used during 4 - bit operation. |
| 11 - 14 | DB4 - DB7 | MPU | Four high order bi - directional three - state data bus lines. |
| 15 | A | Power Supply | Backlight Anode (+3.0V) |
| 16 | K | Power Supply | Backlight Cathode (Ground) |
LCD 连接器采用 2.54mm 间距引脚,在实际设计中,需要根据这些引脚功能进行正确的连接,以确保模块正常工作。你在设计接线时,是否会遇到引脚连接错误导致模块无法正常显示的情况呢?
| 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.1 | 3.3 | 3.6 | V |
| Supply Current | IDD | VDD = 3.3V | - | 1.5 | 2.5 | mA |
| Supply for LCD (contrast) | VDD – V0 | TOP = 25°C | 3.1 | 3.3 | 3.5 | V |
| “H” Level input | VIH | - | 0.7*VDD | - | VDD | V |
| “L” Level input | VIL | - | VSS | - | 0.6 | V |
| “H” Level output | VOH | - | 0.75*VDD | - | VDD | V |
| “L” Level output | VOL | - | VSS | - | 0.2*VDD | V |
| Backlight Supply Voltage | VLED | - | 2.8 | 3.0 | 3.2 | V |
| Backlight Supply Current | ILED | VLED = 3.0V | 130 | 150 | 180 | mA |
| Item | Symbol | Condition | Min. | Typ. | Max. | Unit | ||
|---|---|---|---|---|---|---|---|---|
| Optimal Viewing Angles | Top | ϕY+ | CR ≥ 2 | - | 40 | - | ⁰ | |
| Bottom | ϕY - | - | 60 | - | ⁰ | |||
| Left | θX - | - | 60 | - | ⁰ | |||
| Right | θX+ | - | 60 | - | ⁰ | |||
| Contrast Ratio | CR | - | 2 | 5 | - | - | ||
| Response Time | Rise | TR | TOP = 25°C | - | 150 | 250 | ms | |
| Fall | TF | - | 200 | 300 | ms |
这些参数是设计和使用该模块的重要依据,在实际应用中,需要根据具体需求进行合理的调整。你是否会根据这些参数来优化你的设计呢?
模块内置 ST7066U 控制器,其详细规格可从 http://www.newhavendisplay.com/app_notes/ST7066U.pdf 下载。了解控制器的功能和特性,有助于我们更好地实现对显示模块的控制。
DDRAM 地址表规定了字符在显示区域的存储位置,对于准确显示字符非常重要。在实际编程中,需要根据这个地址表来定位字符的显示位置。
| Instruction | Instruction code | Description | 270 KHZ Execution time (fosc = | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| RS | R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 | |||||||||||
| Clear Display | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | Write “20H” to DDRA and set DDRAM address to “00H” from AC | 1.53ms |
| Return Home | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | - | Set DDRAM address to “00H” From AC and return cursor to Its original position if shifted. The contents of DDRAM are not changed. | 1.53ms |
| Entry mode Set | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | I/D | SH | Assign cursor moving direction And blinking of entire display | 39us |
| Display ON/ OFF control | 0 | 0 | 0 | 0 | 0 | 0 | 1 | D | C | B | Set display (D), cursor (C), and Blinking of cursor (B) on/off Control bit. | |
| Cursor or Display shift | 0 | 0 | 0 | 0 | 0 | 1 | S/C | R/L | - | - | Set cursor moving and display Shift control bit, and the Direction, without changing of DDRAM data. | 39us |
| Function set | 0 | 0 | 0 | 0 | 1 | DL | N | F | - | - | Set interface data length (DL: 8 - Bit/4 - bit), numbers of display Line (N: =2 - line/1 - line) and, Display font type (F: 5x11/5x8) | 39us |
| Set CGRAM Address | 0 | 0 | 0 | 1 | AC5 AC4 AC3 AC2 AC1 AC0 | Set CGRAM address in address counter. | 39us | |||||
| Set DDRAM Address | 0 | 0 | 1 | AC6 AC5 AC4 AC3 AC2 AC1 AC0 | Set DDRAM address in address counter. | 39us | ||||||
| Read busy Flag and Address | 0 | 1 | BF | AC6 AC5 AC4 AC3 AC2 AC1 AC0 | Whether during internal Operation or not can be known By reading BF. The contents of Address counter can also be read. | 0us | ||||||
| Write data To Address | 1 | 0 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | Write data into internal RAM (DDRAM/CGRAM). | 43us |
| Read data From RAM | 1 | 1 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | Read data from internal RAM (DDRAM/CGRAM). | 43us |
这些命令是实现对显示模块各种操作的基础,在编程时需要根据需求选择合适的命令。你在使用这些命令时,有没有遇到过命令执行错误的情况呢?
在将数据从 MPU 写入 ST7066U 时,需要注意地址建立时间、使能脉冲宽度等时序参数,以确保数据的正确传输。
从 ST7066U 读取数据到 MPU 时,同样需要关注地址建立时间、数据建立时间等时序参数。
内置字体表规定了字符的显示样式,在显示字符时,需要根据这个字体表来进行编码。
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);
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);
Delay(100); //Wait >40 msec after power is applied
command(0x30); //command 0x30 = Wake up
command (0x30);
Delay (30);
Delay(30); //must wait 5ms, busy flag not available
command (0x30); //command 0x30 = Wake up #2
Delay (10);
Delay(10); //must wait 160us, busy flag not available
command (0x30); //command 0x30 = Wake up #3
Delay (10);
Delay(10); //must wait 160us, busy flag not available
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; //put data on output Port
D_I = 0; //D/I = LOW : send instruction
R_W = 0;
Nybble();
i = i < < 4; //Send lower 4 bits //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;
Nybble ();
P1 = i;
i = i < < 4; //Clock lower 4 bits //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);
Delay(100); //Wait >40 msec after power is applied
P1 = 0x30; //put 0x30 on the output port
P1 = 0x30;
Delay (30);
Delay(30); //must wait 5ms, busy flag not available
Nybble(); //command 0x30 = Wake up
Delay (10);
Delay(10); //must wait 160us, busy flag not available
Nybble(); //command 0x30 = Wake up #2
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; //put 0x20 on the output port
P1 = 0x20;
Nybble(); //Function set: 4 - bit interface
Nybble ();
command (0x28);
command(0x28); //Function set: 4 - bit/2 - line
command (0x10); //Set cursor
command (0x0F);
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 - 0420H1Z - FL - GBW - 33V3 字符液晶显示模块具有丰富的功能和良好的性能,在电子设备设计中具有广泛的应用前景。在实际设计中,我们需要根据具体需求,合理运用其特性和功能,以实现最佳的显示效果。你在使用这款显示模块时,有什么独特的经验或遇到过什么问题吗?欢迎在评论区分享。
全部0条评论
快来发表一下你的评论吧 !