NHD - 0216BZ - FL - GBW字符液晶顯示模塊:設計與應用全解析
在電子設計領域,液晶顯示模塊是人機交互的重要組成部分。今天我們要深入探討的是Newhaven Display公司的NHD - 0216BZ - FL - GBW字符液晶顯示模塊,它具有諸多特性,適用于多種應用場景。
模塊概述
NHD - 0216BZ - FL - GBW模塊的型號含義豐富,“NHD”代表Newhaven Display,“0216”表示2行16字符的顯示規(guī)格,“BZ”為特定型號,“F”代表半透反射型,“L”是黃/綠色LED背光,“G”表示STN - 灰色,“B”為6:00視角,“W”意味著寬溫度范圍( - 20°C~ + 70°C),并且該模塊符合RoHS標準。
功能與特性
顯示規(guī)格
該模塊為2行16字符顯示,內(nèi)置SPLC780D或等效控制器,采用 + 5.0V電源供電,1/16 duty、1/5 bias驅(qū)動方式。
電氣特性
| 項目 | 符號 | 條件 | 最小值 | 典型值 | 最大值 | 單位 |
|---|---|---|---|---|---|---|
| 工作溫度范圍 | Top | 絕對最大 | -20 | - | +70 | °C |
| 存儲溫度范圍 | Tst | 絕對最大 | -30 | - | +80 | °C |
| 電源電壓 | VDD | - | 4.7 | 5.0 | 5.5 | V |
| 電源電流 | IDD | Ta = 25°C, VDD = 5.0V | - | 1.5 | 2.5 | mA |
| 液晶對比度電源 | VDD - V0 | Ta = 25°C | - | 4.5 | - | V |
| “H” 電平輸入 | Vih | - | 2.2 | - | VDD | V |
| “L” 電平輸入 | Vil | - | 0 | - | 0.6 | V |
| “H” 電平輸出 | Voh | - | 2.4 | - | - | V |
| “L” 電平輸出 | Vol | - | - | - | 0.4 | V |
| 背光電源電壓 | Vled | - | - | 5.0 | - | V |
| 背光電源電流 | Iled | Vled = 5.0V | - | 120 | - | mA |
光學特性
| 項目 | 符號 | 條件 | 最小值 | 典型值 | 最大值 | 單位 |
|---|---|---|---|---|---|---|
| 垂直視角(上) | AV | Cr ≥ 2 | - | 25 | - | ° |
| 垂直視角(下) | AV | Cr ≥ 2 | - | 70 | - | ° |
| 水平視角(左) | AH | Cr ≥ 2 | - | 30 | - | ° |
| 水平視角(右) | AH | Cr ≥ 2 | - | 30 | - | ° |
| 對比度 | Cr | - | - | 2 | - | - |
| 響應時間(上升) | Tr | - | - | 120 | 150 | ms |
| 響應時間(下降) | Tf | - | - | 120 | 150 | ms |
引腳說明與接線圖
| 引腳編號 | 符號 | 外部連接 | 功能描述 |
|---|---|---|---|
| 1 | VSS | 電源地 | 電源接地 |
| 2 | VDD | 電源 | 邏輯電源電壓( + 5.0V) |
| 3 | V0 | 電源調(diào)節(jié) | 對比度電源(約0.5V) |
| 4 | RS | MPU | 寄存器選擇信號,RS = 0:命令,RS = 1:數(shù)據(jù) |
| 5 | RW | MPU | 讀寫選擇信號,R/W = 1:讀,R/W = 0:寫 |
| 6 | E | MPU | 操作使能信號,下降沿觸發(fā) |
| 7 - 10 | DB0 - DB3 | MPU | 低四位雙向三態(tài)數(shù)據(jù)總線,4位操作時不使用 |
| 11 - 14 | DB4 - DB7 | MPU | 高四位雙向三態(tài)數(shù)據(jù)總線 |
| 15 | LED + | 電源 | LED背光電源(通過板載電阻 + 5.0V) |
| 16 | LED - | 電源 | 背光接地 |
推薦的LCD連接器為2.54mm間距引腳。
指令集
| 該模塊的指令集豐富,涵蓋了清屏、歸位、設置顯示模式等多種功能,以下是部分指令示例: | 指令 | 指令代碼 | 描述 | 執(zhí)行時間(fosc = 270KHz) |
|---|---|---|---|---|
| 清屏 | 0 0 0 0 0 0 0 0 1 | 將 “20H” 寫入DDRAM并將DDRAM地址從AC設置為 “00H” | 1.52ms | |
| 歸位 | 0 0 0 0 0 0 0 1 - | 將DDRAM地址從AC設置為 “00H”,若光標移動則返回原位置,DDRAM內(nèi)容不變 | 1.52ms | |
| 輸入模式設置 | 0 0 0 0 0 0 0 1/D S | 指定光標移動方向并啟用整個顯示的移動 | 38us |
初始化程序
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); //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
R_W = 0; //R/W=LOW: Write
E = 1;
Delay(1); //enable pulse width >= 300ns
E = 0; //Clock enable: falling edge
}
void init()
{
E = 0;
Delay(100); //Wait >15 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(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
R_W = 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
R_W = 0; //R/W=LOW : Write
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 >15 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); //can check busy flag now instead of delay
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ì)量與測試
該模塊經(jīng)過多項質(zhì)量測試,包括高低溫存儲、高低溫操作、溫濕度操作、熱沖擊、振動和靜電測試等,以確保其在不同環(huán)境下的可靠性。
總結(jié)
NHD - 0216BZ - FL - GBW字符液晶顯示模塊具有豐富的功能和良好的性能,適用于多種電子設備的顯示需求。在實際應用中,工程師可以根據(jù)具體需求選擇合適的初始化方式和指令集,同時要注意模塊的使用條件和測試要求。大家在使用這個模塊的過程中,有沒有遇到過什么特別的問題呢?歡迎在評論區(qū)分享交流。
-
液晶顯示模塊
+關注
關注
0文章
130瀏覽量
12145 -
初始化程序
+關注
關注
1文章
30瀏覽量
6887
發(fā)布評論請先 登錄
NHD - 0216BZ - FL - GBW字符液晶顯示模塊:設計與應用全解析
評論