NHD - 0216K1Z - NSPG - FBW字符液晶顯示模塊技術(shù)解析
在電子設(shè)備的設(shè)計中,液晶顯示模塊是人機交互的重要組成部分。今天我們來深入了解一下Newhaven Display International公司的NHD - 0216K1Z - NSPG - FBW字符液晶顯示模塊,它具備諸多特性,能滿足多種應(yīng)用場景的需求。
一、模塊概述
NHD - 0216K1Z - NSPG - FBW是一款2行x16字符的液晶顯示模塊,其型號各部分含義如下:
- “0216 - ”:代表2行x16字符的顯示規(guī)格。
- “K1Z - ”:為具體的型號標識。
- “N - ”:表示透射式顯示。
- “SPG - ”:意味著采用綠色LED背光。
- “F - ”:代表FSTN負性顯示。
- “B - ”:表示6:00最佳視角。
- “W - ”:具備寬溫度特性,并且符合RoHS標準。
二、功能與特性
2.1 基本特性
- 顯示規(guī)格:2行x16字符的顯示布局,能夠清晰展示所需信息。
- 內(nèi)置控制器:采用ST7066U控制器,為顯示功能提供了穩(wěn)定的支持。
- 電源供應(yīng):使用 +5.0V 電源,方便與常見的電子系統(tǒng)集成。
- 驅(qū)動參數(shù):1/16 duty,1/5 bias的驅(qū)動方式,確保顯示效果的穩(wěn)定性。
- 環(huán)保標準:符合RoHS標準,滿足環(huán)保要求。
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. 1.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 | 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.5 | 5.0 | 5.5 | V |
| Supply Current | IDD | VDD = 5.0V | 0.5 | 1.0 | 2.0 | mA |
| Supply for LCD (contrast) | VLCD | TOP = 25°C | 3.5 | 3.7 | 3.9 | 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 Current | VLED | - | 4.9 | 5.0 | 5.1 | V |
| Backlight Supply Voltage | ILED | VLED = 5.0 V | 90 | 130 | 156 | mA |
3.2 光學特性
| Item | Symbol | Condition | Min. | Typ. | Max. | Unit | ||
|---|---|---|---|---|---|---|---|---|
| Optimal Viewing Angles | Top | ?Y+ | CR ≥ 2 | - | 30 | - | ° | |
| Bottom | ?Y - | - | 60 | - | ° | |||
| Left | θX - | - | 45 | - | ° | |||
| Right | θX+ | - | 45 | - | ° | |||
| Contrast Ratio | CR | - | - | 5 | - | - | ||
| Response Time | Rise | TR | TOP = 25°C | - | 150 | 200 | ms | |
| Fall | TF | - | 150 | 200 | ms |
從這些特性中我們可以看出,該模塊在不同的溫度環(huán)境下都能保持較好的性能,并且具有合適的電氣參數(shù)和良好的光學顯示效果。大家在實際應(yīng)用中,是否會根據(jù)這些特性來選擇合適的工作環(huán)境呢?
四、控制器信息與指令表
4.1 控制器
內(nèi)置ST7066U控制器,其詳細規(guī)格可從http://www.newhavendisplay.com/app_notes/ST7066U.pdf下載。
4.2 指令表
| 該模塊提供了豐富的指令,用于控制顯示內(nèi)容和操作,如下表所示: | 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 |
這些指令為工程師實現(xiàn)各種顯示功能提供了便利,大家在使用時是否會根據(jù)具體需求靈活組合這些指令呢?
五、時序特性
5.1 寫數(shù)據(jù)時序
| 從MPU向ST7066U寫數(shù)據(jù)時,有如下時序要求: | 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 |
5.2 讀數(shù)據(jù)時序
| 從ST7066U向MPU讀數(shù)據(jù)時,時序要求如下: | 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 |
嚴格遵守這些時序要求,才能確保數(shù)據(jù)的準確讀寫,大家在實際設(shè)計中是否會特別關(guān)注這些時序參數(shù)呢?
六、初始化程序
6.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;
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); //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
}
6.2 4位初始化
void command(char i)
{
P1 = i; //put data on output Port
D_I = 0; //D/I = LOW : send instruction
R_W = 0;
Nybble();
P1 = i;
i = i < 4; //R/W = LOW:Write //Send upper 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
P1 = i;
D_I = 1; //D/I = HIGH: send data
R_W = 0;
Nybble();
i = i < 4;
P1 = i;
Nybble(); //R/W = LOW: Write //Clock upper 4 bits //Shift over by 4 bits //put data on output Port //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;
P1 = 0x30; //put 0x30 on the output port
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; //put 0x20 on the output port
P1 = 0x20;
Nybble();
Nybble(); //Function set: 4 - bit interface
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
}
不同的初始化方式適用于不同的應(yīng)用場景,大家在實際開發(fā)中會如何選擇呢?
七、質(zhì)量信息與使用注意事項
7.1 質(zhì)量測試
| 該模塊經(jīng)過了多項質(zhì)量測試,如下表所示: | Test Item | Content of Test | Test Condition | Note |
|---|---|---|---|---|
| High Temperature storage | Endurance test applying the high storage temperature for a long time. | +80?C , 200 Hrs. | 2 | |
| Low Temperature storage | Endurance test applying the low storage temperature for a long time. | -30?C , 200 Hrs. | 1,2 | |
| High Temperature |
-
液晶顯示模塊
+關(guān)注
關(guān)注
0文章
130瀏覽量
12145 -
初始化程序
+關(guān)注
關(guān)注
1文章
30瀏覽量
6887
發(fā)布評論請先 登錄
NHD - 0216K1Z - NSPG - FBW字符液晶顯示模塊技術(shù)解析
評論