描述
NHD - 0216K1Z - FSW - FBW - L字符液晶显示模块技术解析
一、产品概述
NHD - 0216K1Z - FSW - FBW - L是Newhaven Display International, Inc.生产的一款字符液晶显示模块。它具有2行16字符的显示能力,内置ST7066U控制器,采用+5.0V电源供电,具备1/16 duty、1/5 bias的特性,并且符合RoHS标准。
文件下载:NHD-0216K1Z-FSW-FBW-L.pdf
二、模块特性
2.1 功能特点
- 显示能力:能够清晰显示2行16个字符,满足基本的信息展示需求。
- 内置控制器:ST7066U控制器集成度高,方便开发人员进行控制和驱动。
- 电源与参数:+5.0V电源供电,1/16 duty和1/5 bias的设置确保了稳定的显示效果。
- 环保标准:符合RoHS标准,符合环保要求。
2.2 引脚描述
| 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.6V) |
| 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 |
LED+ |
Power Supply |
Backlight Anode (+5.0V via on - board resistor) |
| 16 |
LED - |
Power Supply |
Backlight Cathode (Ground) |
推荐使用2.54mm间距的引脚作为LCD连接器。
三、电气与光学特性
3.1 电气特性
| 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.7 |
5.0 |
5.5 |
V |
| Supply Current |
IDD |
VDD = 5.0V |
1.0 |
1.5 |
2.5 |
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 |
| Backlight Supply Voltage |
VLED |
- |
4.8 |
5.0 |
5.2 |
V |
| Backlight Supply Current |
ILED |
VLED = 5.0V |
10 |
15 |
20 |
mA |
3.2 光学特性
| 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地址分配如下: |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
14 |
|
|
|
|
|
|
|
|
|
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F |
|
|
|
|
|
|
|
|
|
40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F |
五、指令表
| 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 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 |
六、时序特性
6.1 从MPU向ST7066U写数据
| 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 |
6.2 从ST7066U向MPU读数据
| 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 |
七、初始化程序
7.1 8位初始化
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)
{
E = 0;
P1 = i;
D_I = 1; //D/I=HIGH : send data
R_W = 0; //R/W=LOW:Write
E = 1;
Delay(1); //enable pulse width >= 300ns
Delay(1);
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);
command(0x0c);
command(0x06); //Set cursor //Display ON; Cursor ON //Entry mode set
}
7.2 4位初始化
void command(char i)
{
P1 = i; //put data on output Port
D_I = 0; //D/I=LOW : send instruction
Nybble();
R_W = 0;
i = i < < 4;
P1 = i;
Nybble(); //Send Upper 4 bits //Shift over by 4 bits //put data on output Port //Send Lower 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();
i = i < < 4;
P1 = i;
Nybble(); //Clock Upper 4 bits //Shift over by 4 bits //put data on output Port //Clock Lower 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;
Delay(30); //must wait 5ms, busy flag not available
Delay(30);
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(); //command 0x30 = Wake up #3
Delay(10);
Delay(10); //can check busy flag now instead of delay
P1 = 0x20;
Nybble(); //Function set: 4-bit interface
Nybble();
command(0x28);
command(0x28); //Function set: 4-bit/2-line
command(0x10);
command(0x0F); //Set cursor
command(0x0F); //Display ON; Blinking cursor
command(0x06); //Entry Mode set
}
八、质量信息与注意事项
8.1 质量测试
| 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 = 1 cycle 10 cycles |
|
| Vibration test |
Endurance test applying vibration to simulate transportation and use. |
10 - 55Hz , 15mm amplitude. |
打开APP阅读更多精彩内容