探索NHD-0216HZ-FSW-FBW-33V3CH液晶顯示模塊:特性、應(yīng)用與設(shè)計(jì)要點(diǎn)
一、引言
在電子設(shè)備的設(shè)計(jì)中,液晶顯示模塊(LCM)是不可或缺的人機(jī)交互界面組件。今天我們要深入探討的是Newhaven Display公司的NHD - 0216HZ - FSW - FBW - 33V3CH字符液晶顯示模塊,它具備諸多特性,適用于各種需要顯示信息的電子設(shè)備。
文件下載:NHD-0216HZ-FSW-FBW-33V3CH.pdf
二、產(chǎn)品概述
2.1 型號(hào)含義
- NHD - 0216HZ:這是產(chǎn)品的基本型號(hào)標(biāo)識(shí)?!?216”表示該模塊具有2行16列的字符顯示能力;“HZ”是具體的型號(hào)系列。
- FSW - FBW:“F”代表半透反射式;“SW”表示側(cè)面白色LED背光;“F”為FSTN(+)類型;“B”表明最佳視角為6:00方向;“W”意味著具備寬溫度特性。
- 33V3CH:“33V3”表示LCD工作電壓為3.3V,背光電壓為3.0V;“C”表示帶有溫度補(bǔ)償電路;“H”表示采用標(biāo)準(zhǔn)的1x16引腳排針,并且符合RoHS標(biāo)準(zhǔn)。
2.2 基本特性
- 顯示能力:能夠顯示2行,每行16個(gè)字符,滿足一般信息顯示需求。
- 內(nèi)置控制器:采用ST7066U或等效控制器,方便開發(fā)者進(jìn)行編程控制。
- 電源要求:使用+3.3V電源供電,1/16 duty,1/5 bias,功耗相對(duì)較低且符合RoHS標(biāo)準(zhǔn)。
三、硬件設(shè)計(jì)要點(diǎn)
3.1 引腳說明
| Pin No. | Symbol | External Connection | Function Description |
|---|---|---|---|
| 1 | VSS | Power Supply | Ground |
| 2 | VDD | Power Supply | Supply Voltage for LCD and Logic (+3.3V) |
| 3 | NC | NC | No Connect |
| 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 (+3.0V) |
| 16 | LED - | Power Supply | Backlight Cathode (Ground) |
3.2 電氣特性
| 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.3 | - | V | |
| Supply Current | IDD | Ta = 25°C, VDD = 3.3V | - | 1.5 | 2.5 | mA |
| Supply for LCD (contrast) | VDD - V0 | Ta = 25°C | - | 3.2 | - | V |
| “H” Level input | Vih | 0.7 * VDD | - | VDD | V | |
| “L” Level input | Vil | 0 | - | 0.6 | V | |
| “H” Level output | Voh | 0.75 * VDD | - | - | V | |
| “L” Level output | Vol | - | - | 0.2 * VDD | V | |
| Backlight Supply Voltage | Vled | - | - | 3.0 | V | |
| Backlight Supply Current | Iled | Vled = 3.0V | - | 15 | - | mA |
3.3 光學(xué)特性
| Item | Symbol | Condition | Min. | Typ. | Max. | Unit |
|---|---|---|---|---|---|---|
| Viewing Angle – Top | - | Cr ≥ 3 | - | 20 | - | ? |
| Viewing Angle – Bottom | - | - | 50 | - | ? | |
| Viewing Angle – Left | - | - | 30 | - | ? | |
| Viewing Angle – Right | - | - | 30 | - | ? | |
| Contrast Ratio | Cr | 3 | 5 | - | - | |
| Response Time (rise) | Tr | - | - | 150 | 250 | ms |
| Response Time (fall) | Tf | - | - | 150 | 250 | ms |
四、軟件編程要點(diǎn)
4.1 控制器信息
該模塊內(nèi)置ST7066U控制器,其詳細(xì)規(guī)格可從http://www.newhavendisplay.com/app_notes/ST7066U.pdf下載。
4.2 指令集
| Instruction | Instruction code | Description | 270 KHZ Execution time (fosc =) | |||||||
|---|---|---|---|---|---|---|---|---|---|---|
| RS | ||||||||||
| 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 |
4.3 初始化程序
8位初始化
/**********************************************************/
void command(char i)
{
P1 = i; //put data on output Port
D_I = 0; //D/I = LOW : send instruction
RW = 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; //put data on output Port
D_I = 1; //D/I = HIGH : send data
RW = 0; //R/W = LOW : Write
E = 1;
Delay(1); //enable pulse width >= 300ns
E = 0; //Clock enable: falling edge
}
/**********************************************************/
void init() {
Delay(100); //Wait >40 msec after power is applied
command(0x30); //command 0x30 = Wake up
Delay(30); //must wait 5ms, busy flag not available
command(0x30); //command 0x30 = Wake up #2
Delay(10); //must wait 160us, busy flag not available
command(0x30); //command 0x30 = Wake up #3
Delay(10); //must wait 160us, busy flag not available
command(0x38); //Function set: 8 - bit/2 - line
command(0x10); //Set cursor
command(0x0c); //Display ON; Cursor ON
command(0x06); //Entry mode set
}
4位初始化
void command(char i) {
P1 = i; //put data on output Port
D_I = 0; //D/I = LOW : send instruction
RW = 0;
Nybble(); //Send lower 4 bits
i = i < 4; //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
RW = 0;
Nybble(); //Clock lower 4 bits
i = i < 4; //Shift over by 4 bits
P1 = i; //put data on output Port
Nybble(); //Clock upper 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); //Wait >40 msec after power is applied
P1 = 0x30; //put 0x30 on the output port
Delay(30); //must wait 5ms, busy flag not available
Nybble(); //command 0x30 = Wake up
Delay(10); //must wait 160us, busy flag not available
Nybble(); //command 0x30 = Wake up #2
Delay(10); //must wait 160us, busy flag not available
Nybble(); //command 0x30 = Wake up #3
Delay(10);
P1 = 0x20; //put 0x20 on the output port
Nybble(); //Function set: 4 - bit interface
command(0x28); //Function set: 4 - bit/2 - line
command(0x10); //Set cursor
command(0x0F); //Display ON; Blinking cursor
command(0x06); //Entry Mode set
}
五、質(zhì)量與可靠性
5.1 測試項(xiàng)目
| Test Item | Content of Test | Test Condition | Note |
|---|---|---|---|
| High Temperature storage | Endurance test applying the high storage temperature for a long time. | +80?C , 96hrs | 2 |
| Low Temperature storage | Endurance test applying the low storage temperature for a long time. | - 30?C , 96hrs | 1,2 |
| High Temperature Operation | Endurance test applying the electric stress (voltage & current) and the high thermal stress for a long time. | +70?C, 96hrs | 2 |
| Low Temperature Operation | Endurance test applying the electric stress (voltage & current) and the low thermal stress for a long time. | - 20?C , 96hrs | 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 , 96hrs | 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. 60 sec in each of 3 directions X,Y,Z For 15 minutes | 3 |
| Static electricity test | Endurance test applying electric static discharge. | VS = 800V, RS = 1.5kΩ, CS = 100pF One time |
5.2 注意事項(xiàng)
- 注意在測試過程中,部分測試(如高低溫存儲(chǔ)和操作)需要在特定條件下進(jìn)行,如無冷凝現(xiàn)象,測試后需在25?C,0%RH環(huán)境下存儲(chǔ)4小時(shí)等。
- 振動(dòng)測試是針對(duì)產(chǎn)品本身,而非在容器內(nèi)進(jìn)行。
六、總結(jié)
NHD - 0216HZ - FSW - FBW - 33V3CH液晶顯示模塊具有良好的顯示性能、寬溫度范圍和可靠性,適用于多種電子設(shè)備。在設(shè)計(jì)過程中,我們需要根據(jù)其電氣特性、引腳定義進(jìn)行硬件電路設(shè)計(jì),同時(shí)依據(jù)指令集和初始化程序進(jìn)行軟件編程。大家在實(shí)際應(yīng)用中,是否遇到過類似模塊的兼容性問題呢?又有哪些解決經(jīng)驗(yàn)可以分享呢?歡迎在評(píng)論區(qū)交流。
-
液晶顯示模塊
+關(guān)注
關(guān)注
0文章
130瀏覽量
12145 -
硬件設(shè)計(jì)
+關(guān)注
關(guān)注
18文章
546瀏覽量
45768 -
軟件編程
+關(guān)注
關(guān)注
1文章
44瀏覽量
11770
發(fā)布評(píng)論請先 登錄
探索NHD - 0216HZ - FSW - FBW - 33V3CH液晶顯示模塊:特性、應(yīng)用與設(shè)計(jì)要點(diǎn)
評(píng)論