电子说
在电子设计领域,液晶显示模块是人机交互的重要组成部分。今天我们来详细探讨Newhaven Display International推出的NHD - 0416BZ - FL - YBW字符液晶显示模块,它具有诸多特性,能满足多种应用场景需求。
NHD - 0416BZ - FL - YBW模块从型号上就可以看出其特点:
该模块能够显示4行×16个字符的内容,内置ST7066U控制器,采用 +5.0V电源供电,具有1/16 duty和1/5 bias的特点,并且符合RoHS标准,环保又实用。
模块的机械绘图是Newhaven Display International的专有财产,未经许可不得复制、再现或披露。这保证了产品设计的知识产权和独特性。
| Pin No. | Symbol | External Connection | Function Description |
|---|---|---|---|
| 1 | VSS | Power Supply | Ground |
| 2 | VDD | Power Supply | Supply Voltage for logic (+5.0V) |
| 3 | V0 | Adj Power Supply | Supply Voltage for contrast (approx. 0.5V) |
| 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 | Backlight Anode (+5.0V via on - board resistor) |
| 16 | LED - | Power Supply | Backlight Cathode (Ground) |
推荐使用2.54mm间距的引脚作为LCD连接器。
| Item | Symbol | Condition | Min. | Typ. | Max. | Unit |
|---|---|---|---|---|---|---|
| Operating Temperature Range | T OP | Absolute Max | - 20 | - | +70 | ⁰C |
| Storage Temperature Range | T ST | Absolute Max | - 30 | - | +80 | ⁰C |
| Supply Voltage | V DD | - | 4.7 | 5.0 | 5.3 | V |
| Supply Current | I DD | V DD = 5.0V | 1.0 | 1.5 | 2.5 | mA |
| Supply for LCD (contrast) | V LCD | T OP = 25°C | 4.3 | 4.5 | 4.7 | V |
| “H” Level input | V IH | - | 0.7*V DD | - | V DD | V |
| “L” Level input | V IL | - | V SS | - | 0.6 | V |
| “H” Level output | V OH | - | 3.9 | - | V DD | V |
| “L” Level output | V OL | - | V SS | - | 0.4 | V |
| Backlight Supply Voltage | V LED | - | 4.7 - | 5.0 | 5.3 | V |
| Backlight Supply Current | I LED | V LED = 5.0V | 120 | 140 | 160 | mA |
| Item | Symbol | Condition | Min. | Typ. | Max. | Unit | ||
|---|---|---|---|---|---|---|---|---|
| Optimal Viewing Angles | Top | ϕY+ | CR ≥ 2 | 35 | - | ⁰ | ||
| Bottom | ϕY - | - | 60 | - | ⁰ | |||
| Left | θX - | - | 55 | - | ⁰ | |||
| Right | θX+ | - | 55 | - | ⁰ | |||
| Contrast Ratio | CR | - | - | 2 | - | - | ||
| Response Time | Rise | T R | T OP = 25°C | - | 150 | 250 | ms | |
| Fall | T F | - | 200 | 300 | ms |
模块内置ST7066U控制器,其详细规格可从http://www.newhavendisplay.com/app_notes/ST7066U.pdf下载。DDRAM地址有特定的分布,方便数据的存储和读取。
| Instruction | Instruction code | Description | 270 KHZ Execution time (f OSC = | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 DDRAM and set DDRAM address to “00H” from AC | 1.52ms |
| 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.52ms |
| Entry mode Set | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | I/D | SH | Sets cursor move direction and specifies display shift. These parameters are performed during data write and read. | 37µs |
| Display ON/ OFF control | 0 | 0 | 0 | 0 | 0 | 0 | 1 | D | C | B | D = 1: Entire display on C = 1: Cursor on B = 1: Blinking cursor on | 37µs |
| Cursor or Display shift | 0 | 0 | 0 | 0 | 0 | 1 | S/C | R/L | - | - | Sets cursor moving and display shift control bit, and the direction without changing DDRAM data. | 37µs |
| Function set | 0 | 0 | 0 | 0 | 1 | DL | N | F | - | - | DL: Interface data is 8/4 bits N: Number of lines is 2/1 F: Font size is 5x11/5x8 | 37µs |
| Set CGRAM Address | 0 | 0 | 0 | 1 | AC5 AC4 AC3 AC2 AC1 AC0 | Set CGRAM address in address counter | 37µs | |||||
| Set DDRAM Address | 0 | 0 | 1 | AC6 AC5 AC4 AC3 AC2 AC1 AC0 | Set DDRAM address in address counter. | 37µs | ||||||
| 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. | 0s | ||||||
| Write data To Address | 1 | 0 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | Write data into internal RAM (DDRAM/CGRAM). | 37µs |
| Read data From RAM | 1 | 1 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | Read data from internal RAM (DDRAM/CGRAM). | 37µs |
| Tc | Enable Cycle Time | Pin E | 1200 | ns | ||
|---|---|---|---|---|---|---|
| TPW | Enable Pulse Width | Pin E | 140 | ns | ||
| TR,TF | Enable Rise/Fall Time | Pin E | 25 | ns | ||
| TAS | Address Setup Time | Pins: RS,RW,E | 0 | 0 | ns | |
| TAH | Address Hold Time | Pins: RS,RW,E | 10 | - | ns | |
| TDSW | Data Setup Time | Pins: DB0 - DB7 | 40 | - | ns | |
| TH | Data Hold Time | Pins: DB0 - DB7 | 10 | ns |
| Tc | Enable Cycle Time | Pin E | 1200 | 0 | ns | |
|---|---|---|---|---|---|---|
| TPW | Enable Pulse Width | Pin E | 140 | ns | ||
| TR,TF | Enable Rise/Fall Time | Pin E | 25 | ns | ||
| TAS | Address Setup Time | Pins: RS,RW,E | 0 | 0 | ns | |
| TAH | Address Hold Time | Pins: RS,RW,E | 10 | ns | ||
| TDDR | Data Setup Time | Pins: DB0 - DB7 | - | 100 | ns | |
| TH | Data Hold Time | Pins: DB0 - DB7 | 10 | ns |
模块有内置的字体表,方便进行字符显示。不过文档中字体表部分呈现较为复杂,大家在实际使用时可以根据具体需求进一步研究。
void command(char i)
{
P1 = i; //put data on output Port
D_I = 0;
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
R_W = 0;
D_I = 1; //D/I = HIGH : send data //R/W = LOW:Write
E = 1;
Delay (1);
Delay(1); //enable pulse width >= 300ns
E = 0;
E = 0; //Clock enable: falling edge
}
void init()
{
E = 0;
Delay(100); //Wait >40 msec after power is applied
Delay (100);
command (0x30); //command 0x30 = Wake up
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);
command (0x0c);
command (0x06); //Set cursor //Display ON; Cursor ON //Entry mode set
}
void command(char i)
{
P1 = i; //put data on output Port
D_I = 0;
D_I = 0; //D/I = LOW : send instruction
R_W = 0;
Nybble();
i = i < < 4; //R/W = LOW:Write //Send lower 4 bits //Shift over by 4 bits
P1 = i;
P1 = i; //put data on output Port
Nybble(); //Send upper 4 bits
}
void write(char i)
{
P1 = i; //put data on output Port
R_W = 0;
Nybble();
P1 = i;
D_I = 1;
i = i < < 4; //D/I = HIGH : send data //R/W = LOW: Write //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
}
| 模块进行了多项质量测试,包括高温存储、低温存储、高温运行、低温运行、高温高湿运行、热冲击抵抗、振动测试和静电测试等。具体测试条件和注意事项如下: | Test Item | Content of Test | Test Condition | Note |
|---|---|---|---|---|
| High Temperature storage | Endurance test applying the high storage temperature for a long time. | +80⁰C , 48hrs | 2 | |
| Low Temperature storage | Endurance test applying the low storage temperature for a long time. | -30⁰C , 48hrs | 1,2 | |
| High Temperature Operation | Endurance test applying the electric stress (voltage & current) and the high thermal stress for a long time. | +70⁰C 48hrs | 2 | |
| Low Temperature Operation | Endurance test applying the electric stress (voltage & current) and the low thermal stress for a long time. | -20⁰C , 48hrs | 1,2 | |
| High Temperature / Humidity Operation | Endurance test applying the electric stress (voltage & current) and the high thermal with high humidity stress for a long time. | +40⁰C , 90% RH , 48hrs | 1,2 | |
| Thermal Shock resistance | Endurance test applying the electric stress (voltage & current) during a cycle of low and high thermal stress. | 0⁰C,30min -> 25⁰C,5min -> 50⁰C,30min = |
全部0条评论
快来发表一下你的评论吧 !