电子说
在电子设备的设计中,液晶显示模块是不可或缺的一部分,它为用户提供了直观的信息展示界面。今天,我们就来详细了解一下Newhaven Display的NHD字符液晶显示模块,看看它有哪些特点和优势。
Newhaven Display的NHD字符液晶显示模块具有1行8字符的显示能力,内置ST7066U控制器,采用+5.0V电源供电,具备1/16 duty、1/4 bias的驱动特性,并且符合RoHS标准,环保可靠。
很遗憾,在搜索ST7066U控制器的特点和优势时出现网络超时问题,未能获取到相关内容。不过我们可以继续依据文档对NHD字符液晶显示模块展开介绍。
该模块的机械绘图包含了详细的尺寸信息,标准公差为线性±0.3mm。其显示模式为STN正性、黄绿、半透反射,最佳视角为6:00方向。驱动IC为ST7066U,具备8/4 - Bit MPU接口。
| Pin No. | Symbol | External Connection | Function Description |
|---|---|---|---|
| 1 | VSS | Power Supply | Ground |
| 2 | VDD | Power Supply | Supply Voltage for LCD and Logic (+5.0V) |
| 3 | V0 | Adj. Power Supply | Supply Voltage for Contrast (approx. +0.6V) |
| 4 | RS | MPU | Register Select signal: ‘0’ = Command, ‘1’ = Data |
| 5 | R/W | MPU | Read/Write select signal: ‘1’ = Read, ‘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 | NC | - | No Connect |
| 16 | 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 | - | 4.8 | 5.0 | 5.2 | V |
| Supply Current | IDD | VDD = 5.0V | 0.5 | 1.5 | 2 | mA |
| Supply for LCD (contrast) | VDD - V0 | TOP = 25°C | 4.2 | 4.4 | 4.6 | V |
| “H” Level input | VIH | - | 0.7 * VDD | - | VDD | V |
| “L” Level input | VIL | - | VSS | - | 0.6 | V |
| “H” Level output | VOH | - | 3.9 | - | VDD | V |
| “L” Level output | VOL | - | VSS | - | 0.4 | V |
| Item | Symbol | Condition | Min. | Typ. | Max. | Unit |
|---|---|---|---|---|---|---|
| Optimal Viewing Angles (Top) | ϕY+ | CR ≥ 2 | - | 40 | - | ° |
| Optimal Viewing Angles (Bottom) | ϕY - | - | 60 | - | ° | |
| Optimal Viewing Angles (Left) | θX - | - | 60 | - | ° | |
| Optimal Viewing Angles (Right) | θX+ | - | 60 | - | ° | |
| Contrast Ratio | CR | - | 2 | 5 | - | - |
| Response Time (Rise) | TR | TOP = 25°C | - | 150 | 250 | ms |
| Response Time (Fall) | TF | - | 200 | 300 | ms |
模块提供了一系列指令,用于控制显示、光标、数据读写等操作。例如,Clear Display指令可将“20H”写入DDRAM并将DDRAM地址设置为“00H”,执行时间为1.52ms;Entry mode Set指令可设置光标移动方向和显示移位,执行时间为37µs。
在数据读写操作中,有明确的时序要求。如在MPU向ST7066U写入数据时,Enable Cycle Time(Tc)要求为1200ns,Enable Pulse Width(TPW)为140ns等;在从ST7066U向MPU读取数据时,也有相应的时序参数。
void command(char i)
{
P1 = i; D1 = 0; //put data on output Port //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; DI = 1; R_W = 0; //put data on output Port //D/l=HIGH: send data //R/W=LOW: Write
E = 1;
Delay(1); //enable pulse width >= 300ns
E = 0; //Clock enable: falling edge
}
void init()
{
E = 0; Delay(100); command(0x30); //Wait >40 msec after power is applied //command 0x30 = Wake up
Delay(30); //must wait 5ms, busy flag not available
command(0x30); //command 0x30 = Wake up #2
Delay(10); command(0x30); //must wait 160us, busy flag not available //command 0x30 = Wake up #3
Delay(10); command(0x38); command(0x10); command(0x0c); command(0x06); //Set cursor //must wait 160us, busy flag not available //Function set: 8 - bit/2 - line //Display ON; Cursor ON //Entry mode set
}
void command(char i)
{
P1 = i; D1 = 0; //put data on output Port /D/I=LOW: send instruction
i = i < < 4; R_W = 0; Nybble(); //Send Upper 4 bits //R/W=LOW: Write //Shift over by 4 bits
P1 = i; Nybble(); //put data on output Port //Send Lower 4 bits
}
void write(char i)
{
P1 = i; DI = 1; R_W = 0; //put data on output Port //D/l=HIGH: send data //R/W=LOW: Write
Nybble(); //Clock Upper 4 bits
i = i < < 4; //Shift over by 4bits
P1 = i; //put data on output Port
Nybble(); //Clock Lower 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); P1 = 0x30; //Wait >40 msec after power is applied //put 0x30 on the output port
Delay(30); Nybble(); //must wait 5ms, busy flag not available //command 0x30 = Wake up
Nybble(); P1 = 0x20; command(0x06); command(0x0F); Delay(10); command(0x10); Nybble(); command(0x28); Delay(10); Nybble(); Delay(10); //put 0x20 on the output port //can check busy flag now instead of delay //Function set: 4 - bit interface //command 0x30 = Wake up #3 //Function set: 4 - bit/2 - line //must wait 160us, busy flag not available //Set cursor //Display ON; Blinking cursor //command 0x30 = Wake up #2 //must wait 160us, busy flag not available //Entry Mode set
}
该模块经过了多项质量测试,包括高温存储、低温存储、高温运行、低温运行、高温高湿运行、热冲击抵抗、振动测试和静电测试等。例如,高温存储测试在+80⁰C下进行48小时,低温存储测试在 - 30⁰C下进行48小时等。
对于电子工程师来说,在设计使用该模块时,需要充分考虑其各项特性和参数,以确保系统的稳定性和可靠性。大家在实际应用中是否遇到过类似模块的使用问题呢?不妨在评论区分享一下。
全部0条评论
快来发表一下你的评论吧 !