探索NHD - 0420AZ - FL - GBW - 33V3字符液晶显示模块

电子说

1.4w人已加入

描述

探索NHD - 0420AZ - FL - GBW - 33V3字符液晶显示模块

在电子设计领域,液晶显示模块是不可或缺的组件,它为设备提供了直观的信息展示界面。今天,我们将深入探讨Newhaven Display International公司的NHD - 0420AZ - FL - GBW - 33V3字符液晶显示模块,了解其特性、参数以及使用方法。

文件下载:NHD-0420AZ-FL-GBW-33V3.pdf

一、模块概述

NHD - 0420AZ - FL - GBW - 33V3是一款4行20字符的液晶显示模块,内置ST7066U或等效控制器,采用3.3V电源供电,符合RoHS标准。其型号各部分含义如下:

  • “NHD - ”:代表Newhaven Display。
  • “0420 - ”:表示4行20字符。
  • “AZ - ”:为具体型号。
  • “F - ”:表示半透反射型。
  • “L - ”:采用边缘黄/绿色LED背光源。
  • “G - ”:STN正性灰色。
  • “B - ”:6:00最佳视角。
  • “W - ”:宽温度范围。
  • “33V3 - ”:3.3V逻辑电源,3.0V背光源电源。

二、机械与电气特性

1. 机械绘图

模块的机械绘图信息属于Newhaven Display International公司的专有财产,未经许可不得复制、再现和披露。

2. 引脚说明

Pin No. Symbol External Connection Function Description
1 VSS Power Supply Ground
2 VDD Power Supply Supply Voltage for Logic (+3.3V)
3 V0 Power Supply Supply Voltage for Contrast (approx. 0V)
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 For 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 (15mA @ 3V)
16 LED - Power Supply Backlight Cathode (Ground)

推荐使用2.54mm间距的引脚作为LCD连接器。

3. 电气特性

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.1 3.3 3.5 V
Supply Current IDD VDD = 3.3V 0.5 1.5 3.0 mA
Supply for LCD (contrast) VLCD TOP = 25°C 3.1 3.3 3.5 V
“H” Level input VIH - 0.7 * VDD - VDD V
“L” Level input VIL - VSS - 0.6 V
“H” Level output VOH - 0.75 * VDD - VDD V
“L” Level output VOL - VSS - 0.2 * VDD V
Backlight Supply Current ILED - - 15 20 mA
Backlight Supply Voltage VLED ILED = 15mA 2.8 3.0 3.3 V

需要注意的是,背光源的LED由电流驱动,驱动电压仅作参考,必须选择合适的驱动电压以确保背光源电流低于最大额定值。

三、光学特性

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 10 11 12 13 14
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13
40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53
14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21

五、命令表

模块提供了一系列命令,用于控制显示、设置模式等操作。以下是部分常见命令: 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

工程师可以根据需要选择合适的命令来实现不同的显示效果。

六、时序特性

1. 从MPU向ST7066U写数据

Enable Cycle Time Pin E ns
TR,TF Pin E 25
TAS Address Setup Time Pins: RS,RW,E
Address Hold Time Pins: RS,RW,E -
Data Setup Time 80 ns
Pins: DB0 - DB7 10

2. 从ST7066U向MPU读数据

Tc Pin E ns
TPW Enable Pulse Width Pin E 480
TR,TF Pin E - 25 ns
TAS 0 - ns
TAH Pins: RS,RW,E 10 ns
TDDR Data Setup Time Pins: DB0 - DB7 320
10 ns

了解这些时序特性对于正确读写数据至关重要,在设计电路时需要严格按照这些参数进行设置。

七、初始化程序

1. 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; E = 1; //R/W = LOW:Write
    Delay (1);
    Delay(1); //enable pulse width >= 300ns 
    E = 0; //Clock enable:falling edge
} 

void write(char i) 
{
    P1 = i; D_I = 1; R_W = 0; //put data on output Port //D/I = HIGH : send data //R/W = LOW:Write
    E = 1; 
    Delay (1);
    Delay(1); //enable pulse width >= 300ns 
    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 
    command (0x30);
    Delay(10); //must wait 160us, busy flag not available 
    Delay (10);
    command (0x38);
    command(0x38); //Function set: 8 - bit/2 - line 
    command (0x10); //Set cursor
    command (0x0c);
    command(0x0c); //Display ON; Cursor ON 
    command (0x06); //Entry mode set
}

2. 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 
    P1 = i;
    R_W = 0; Nybble(); i = i < < 4; P1 = i; D_I = 1; //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
}

八、质量与使用注意事项

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

全部0条评论

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

×
20
完善资料,
赚取积分