深入解析NHD-0416BZ-FL-YBW字符液晶显示模块

电子说

1.4w人已加入

描述

深入解析NHD-0416BZ-FL-YBW字符液晶显示模块

在电子设计领域,液晶显示模块是人机交互的重要组成部分。今天我们来详细探讨Newhaven Display International推出的NHD - 0416BZ - FL - YBW字符液晶显示模块,它具有诸多特性,能满足多种应用场景需求。

文件下载:NHD-0416BZ-FL-YBW.pdf

产品概述

NHD - 0416BZ - FL - YBW模块从型号上就可以看出其特点:

  • “NHD - ”代表Newhaven Display。
  • “0416 - ”表明该模块有4行,每行可显示16个字符。
  • “BZ - ”是特定的型号标识。
  • “F - ”表示采用了半透反射技术。
  • “L - ”说明配备了黄绿LED背光源。
  • “Y - ”代表STN正性黄绿显示。
  • “B - ”意味着最佳视角为6点钟方向。
  • “W - ”表示具备宽温度工作范围,并且该产品符合RoHS标准。

功能与特性

显示能力

该模块能够显示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

时序特性

从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

从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

内置字体表

模块有内置的字体表,方便进行字符显示。不过文档中字体表部分呈现较为复杂,大家在实际使用时可以根据具体需求进一步研究。

初始化程序

8位初始化

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
}

4位初始化

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 =
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分