2 line 16 character lcd display datasheet quotation
The Displaytech 162J series is a lineup of 16x2 character LCD modules. These modules have an 80x36 mm outer dimension with 66x16 mm viewing area on the display. The 162J 16x2 LCD displays are available in STN or FSTN LCD modes with or without an LED backlight. The backlight color options include yellow green, white, blue, pure green, or amber color. Get a free quote direct from Displaytech for a 16x2 character LCD display from the 162J series.
The Displaytech 162H series is a lineup of 16x2 character LCD modules. These modules have an 84x44 mm outer dimension with a 66x16 mm viewing area on the display. The 162H 16x2 LCD displays are available in STN or FSTN LCD modes with or without an LED backlight. The backlight color options include yellow green, white, blue, pure green, or amber color. Get a free quote direct from Displaytech for a 16x2 character LCD display from the 162H series.
Dark on light gray sunlight readable 16x2 character LCD with single LED backlight included. All pins and functionality is documented in the datasheet. Contrast can be easily adjusted with a potentiometer or PWM. Each row holds 16 characters there are 2 rows per module.
16×2 LCD is named so because; it has 16 Columns and 2 Rows. There are a lot of combinations available like, 8×1, 8×2, 10×2, 16×1, etc. But the most used one is the 16*2 LCD, hence we are using it here.
All the above mentioned LCD display will have 16 Pins and the programming approach is also the same and hence the choice is left to you. Below is the Pinout and Pin Description of 16x2 LCD Module:
These black circles consist of an interface IC and its associated components to help us use this LCD with the MCU. Because our LCD is a 16*2 Dot matrix LCD and so it will have (16*2=32) 32 characters in total and each character will be made of 5*8 Pixel Dots. A Single character with all its Pixels enabled is shown in the below picture.
So Now, we know that each character has (5*8=40) 40 Pixels and for 32 Characters we will have (32*40) 1280 Pixels. Further, the LCD should also be instructed about the Position of the Pixels.
It will be a hectic task to handle everything with the help of MCU, hence an Interface IC like HD44780 is used, which is mounted on LCD Module itself. The function of this IC is to get the Commands and Data from the MCU and process them to display meaningful information onto our LCD Screen.
The LCD can work in two different modes, namely the 4-bit mode and the 8-bit mode. In 4 bit mode we send the data nibble by nibble, first upper nibble and then lower nibble. For those of you who don’t know what a nibble is: a nibble is a group of four bits, so the lower four bits (D0-D3) of a byte form the lower nibble while the upper four bits (D4-D7) of a byte form the higher nibble. This enables us to send 8 bit data.
Now you must have guessed it, Yes 8-bit mode is faster and flawless than 4-bit mode. But the major drawback is that it needs 8 data lines connected to the microcontroller. This will make us run out of I/O pins on our MCU, so 4-bit mode is widely used. No control pins are used to set these modes. It"s just the way of programming that change.
As said, the LCD itself consists of an Interface IC. The MCU can either read or write to this interface IC. Most of the times we will be just writing to the IC, since reading will make it more complex and such scenarios are very rare. Information like position of cursor, status completion interrupts etc. can be read if required, but it is out of the scope of this tutorial.
The Interface IC present in most of the LCD is HD44780U,in order to program our LCD we should learn the complete datasheet of the IC. The datasheet is given here.
There are some preset commands instructions in LCD, which we need to send to LCD through some microcontroller. Some important command instructions are given below:
Newhaven 16x2 character Liquid Crystal Display shows characters with blue pixels on a gray background when powered on. This transflective LCD Display is visible with ambient light or a backlight while offering a wide operating temperature range from -20 to 70 degrees Celsius. This NHD-0216SZ-FSW-GBW display has an optimal view of 6:00. This display operates at 5V supply voltage and is RoHS compliant.
Adjust the length, position, and pinout of your cables or add additional connectors. Get a cable solution that’s precisely designed to make your connections streamlined and secure.
Easily modify any connectors on your display to meet your application’s requirements. Our engineers are able to perform soldering for pin headers, boxed headers, right angle headers, and any other connectors your display may require.
Choose from a wide selection of interface options or talk to our experts to select the best one for your project. We can incorporate HDMI, USB, SPI, VGA and more into your display to achieve your design goals.
A 16×2 LCD (Liquid Crystal Display) screen is an electronic display module used in various devices and circuits. A 16×2 LCD can display 16 characters per line with the characters stretched between 2 rows (i.e. lines). In a 16×2 LCD, each character is displayed in a 5×7 pixel matrix. The 16×2 intelligent alphanumeric dot matrix display is capable of displaying 224 different characters and symbols. This LCD has two registers, namely, Command and Data.
Command register stores various commands given to the LCD display. The data register stores data to be displayed on the LCD matrix. The process of controlling the display revolves around putting the data that form the image of what you want to display into the data registers, then putting instructions in the instruction register.
The Hitachi HD44780 LCD controller is an alphanumeric dot matrix liquid crystal display (LCD) controller developed by Hitachi in the 1980s. The character set of the controller includes ASCII characters, Japanese Kana characters, and some symbols in two 40 character lines. Using an extension driver, the device can display up to 80 characters.
The Hitachi HD44780 LCD controller is limited to monochrome text displays and is often used in copiers, fax machines, laser printers, industrial test equipment, and networking equipment, such as routers and storage devices.
Compatible LCD screens are manufactured in several standard configurations. Common sizes are one row of eight characters (8×1), and 16×2, 20×2 and 20×4 formats. Larger custom sizes are made with 32, 40 and 80 characters and with 1, 2, 4 or 8 lines. The most commonly manufactured larger configuration is 40×4 characters, which requires two individually addressable HD44780 controllers with expansion chips as a single HD44780 chip can only address up to 80 characters.
Character LCDs may have a backlight, which may be LED, fluorescent, or electroluminescent. The nominal operating voltage for LED backlights is 5V at full brightness, with dimming at lower voltages dependent on the details such as LED color. Non-LED backlights often require higher voltages.
Character LCDs use a 16-contact interface, commonly using pins or card edge connections on 0.1 inch (2.54 mm) centers. Those without backlights may have only 14 pins, omitting the two pins powering the light. This interface was designed to be easily hooked up to the Intel MCS-51 XRAM interface, using only two address pins, which allowed displaying text on LCD using simple MOVX commands, offering cost effective option for adding text display to devices.
Vee (also V0): This is an analog input, typically connected to a potentiometer. The user must be able to control this voltage independent of all other adjustments, in order to optimise visibility of the display that varies i. a. with temperature and, in some cases, height above the sea level. With a wrong adjustment, the display will seem to malfunction.
Selecting 4-bit or 8-bit mode requires careful selection of commands. There are two primary considerations. First, with D3–D0 unconnected, these lines will always appear high (binary 1111) to the HD44780 since there are internal pull-up MOSFETs.
In all three starting cases, the bus interface is now in 8-bit mode, 1 line, 5×8 characters. If a different configuration 8-bit mode is desired, an 8-bit bus Function Set command should be sent to set the full parameters. If 4-bit mode is desired, binary 0010 should be sent on D7–D4 with a single enable pulse. Now the controller will be in 4-bit mode and a full 4-bit bus Function Set command sequence (two enables with command bits 7–4 and 3–0 on subsequent cycles) will complete the configuration of the Function Set register.
The CGRAM is read/write memory used to encode up to 8 characters in the character generator. It consists of 64 fields at addresses 0 to 3F hex. Each field is 5 bits mapping to a row of pixels of each character. Each 8 fields in the CGRAM are used for each character. The lower 3 bits of the character codes from 0–7 and 8–15 select the groups of 8 fields in the CGRAM memory.
The execution times listed in this table are based on an oscillator frequency of 270 kHz. The data sheet indicates that for a resistor of 91 kΩ at VCC=5 V the oscillator can vary between 190 kHz and 350 kHz resulting in wait times of 52.6 µs and 28.6 µs instead of 37 µs. If a display with the recommended 91 kΩ resistor is powered from 3.3 volts the oscillator will run much slower. If the busy bit is not used and instructions are timed by the external circuitry, this should be taken into account.
The original HD44780 character generator ROM contains 208 characters in a 5×8 dot matrix, and 32 characters in a 5×10 dot matrix. More recent compatible chips are available with higher resolution, matched to displays with more pixels.
The 7-bit ASCII subset for the Japanese version is non-standard: it supplies a Yen symbol where the backslash character is normally found, and left and right arrow symbols in place of tilde and the rubout character.
A limited number of custom characters can be programmed into the device in the form of a bitmap using special commands. These characters have to be written to the device each time it is switched on, as they are stored in volatile memory.
Huang, Han-Way (2009). The HCS12 / 9S12: An Introduction to Software and Hardware Interfacing (2nd ed.). Delmar Cengage Learning. ISBN 978-1-4354-2742-6.
This tutorial includes everything you need to know about controlling a character LCD with Arduino. I have included a wiring diagram and many example codes. These displays are great for displaying sensor data or text and they are also fairly cheap.
The first part of this article covers the basics of displaying text and numbers. In the second half, I will go into more detail on how to display custom characters and how you can use the other functions of the LiquidCrystal Arduino library.
As you will see, you need quite a lot of connections to control these displays. I therefore like to use them with an I2C interface module mounted on the back. With this I2C module, you only need two connections to control the LCD. Check out the tutorial below if you want to use an I2C module as well:
These LCDs are available in many different sizes (16×2 1602, 20×4 2004, 16×1 etc.), but they all use the same HD44780 parallel interface LCD controller chip from Hitachi. This means you can easily swap them. You will only need to change the size specifications in your Arduino code.
For more information, you can check out the datasheets below. The 16×2 and 20×4 datasheets include the dimensions of the LCD and in the HD44780 datasheet you can find more information about the Hitachi LCD driver.
Most LCDs have a built-in series resistor for the LED backlight. You should find it on the back of the LCD connected to pin 15 (Anode). If your display doesn’t include a resistor, you will need to add one between 5 V and pin 15. It should be safe to use a 220Ω resistor, but this value might make your display a bit dim. You can check the datasheet for the maximum current rating of the backlight and use this to select an appropriate resistor value.
After you have wired up the LCD, you will need to adjust the contrast of the display. This is done by turning the 10 kΩ potentiometer clockwise or counterclockwise.
Plug in the USB connector of the Arduino to power the LCD. You should see the backlight light up. Now rotate the potentiometer until one (16×2 LCD) or 2 rows (20×4 LCD) of rectangles appear.
In order to control the LCD and display characters, you will need to add a few extra connections. Check the wiring diagram below and the pinout table from the introduction of this article.
We will be using the LCD in 4-bit mode, this means you don’t need to connect anything to D0-D3. The R/W pin is connected to ground, this will pull the pin LOW and set the LCD to WRITE mode.
To control the LCD we will be using the LiquidCrystal library. This library should come pre-installed with the Arduino IDE. You can find it by going to Sketch > Include Library > LiquidCrystal.
The example code below shows you how to display a message on the LCD. Next, I will show you how the code works and how you can use the other functions of the LiquidCrystal library.
After including the library, the next step is to create a new instance of the LiquidCrystal class. The is done with the function LiquidCrystal(rs, enable, d4, d5, d6, d7). As parameters we use the Arduino pins to which we connected the display. Note that we have called the display ‘lcd’. You can give it a different name if you want like ‘menu_display’. You will need to change ‘lcd’ to the new name in the rest of the sketch.
In the loop() the cursor is set to the third column and first row of the LCD with lcd.setCursor(2,0). Note that counting starts at 0, and the first argument specifies the column. If you do not specify the cursor position, the text will be printed at the default home position (0,0) if the display is empty, or behind the last printed character.
Next, the string ‘Hello World!’ is printed with lcd.print("Hello World!"). Note that you need to place quotation marks (” “) around the text. When you want to print numbers or variables, no quotation marks are necessary.
Clears the LCD screen and positions the cursor in the upper-left corner (first row and first column) of the display. You can use this function to display different words in a loop.
This function turns off any text or cursors printed to the LCD. The text/data is not cleared from the LCD memory. This means it will be shown again when the function display() is called.
Scrolls the contents of the display (text and cursor) one space to the left. You can use this function in the loop section of the code in combination with delay(500), to create a scrolling text animation.
This function turns on automatic scrolling of the LCD. This causes each character output to the display to push previous characters over by one space. If the current text direction is left-to-right (the default), the display scrolls to the left; if the current direction is right-to-left, the display scrolls to the right. This has the effect of outputting each new character to the same location on the LCD.
The following example sketch enables automatic scrolling and prints the character 0 to 9 at the position (16,0) of the LCD. Change this to (20,0) for a 20×4 LCD.
With the function createChar() it is possible to create and display custom characters on the LCD. This is especially useful if you want to display a character that is not part of the standard ASCII character set.
Technical info: LCDs that are based on the Hitachi HD44780 LCD controller have two types of memories: CGROM and CGRAM (Character Generator ROM and RAM). CGROM generates all the 5 x 8 dot character patterns from the standard 8-bit character codes. CGRAM can generate user-defined character patterns.
/* Example sketch to create and display custom characters on character LCD with Arduino and LiquidCrystal library. For more info see www.www.makerguides.com */
After including the library and creating the LCD object, the custom character arrays are defined. Each array consists of 8 bytes, 1 byte for each row. In this example 8 custom characters are created.
When looking closely at the array, you will see the following. Each row consists of 5 numbers corresponding to the 5 pixels in a 5 x 8 dot character. A 0 means pixel off and a 1 means pixel on.
It is possible to edit each row by hand, but I recommend using this visual tool on GitHub. This application automatically creates the character array and you can click on the pixels to turn them on or off.
In this article I have shown you how to use an alphanumeric LCD with Arduino. I hope you found it useful and informative. If you did, please share it with a friend that also likes electronics and making things!
I would love to know what projects you plan on building (or have already built) with these LCDs. If you have any questions, suggestions, or if you think that things are missing in this tutorial, please leave a comment down below.
Character LCD Displays (aka Alphanumeric) are one of the most common display technologies available and for that reason we hold inventory for samples and prototypes in our Chandler, Arizona location.
These displays have been in use for many years, and in some ways the technology has become a commodity, but it is important to select the best options to fit your design. There are many details concerning this technology, including: fluid type, operating voltage, controller/drivers and other key details that can make your design excel or under-perform.
Our team of LCD specialists can assist you in selecting the best options so that your design is able to meet your needs and at a cost that is within your budget. Call today with any questions.
These displays are used in applications such as change machines, measurement devices, and data loggers. The module has the ability to display letters, numbers and punctuation marks.
One reason for the popularity of Character LCD displays is that they are equipped with a controller/driver chip containing a built in character (or font) table.
The table holds preloaded letters, numbers, and punctuation for each language. The font table allows the designer to request any character by addressing (selecting) the number of that character. In other words, the letter capital ‘T’ may be assigned the number 31 and the “&” symbol could be assigned number 141. This eliminates the work required to create each charter from scratch and reduces the amount of time necessary to program the LCD module.
The LCD you choose for your new design sets the perceived value of your product. Think about it: The first thing your customer looks at when they are deciding whether to purchase your product, is the LCD display. If it looks good, then your product looks good.
Negative mode displays are popular for new designs since they stand out. Negative mode means the background is a darker color, like black or blue and the characters/icons/segments are a lighter color such as: White, Red or Green.
The opposite of a negative mode is positive mode where the background is a lighter color such as yellow/green or grey and the characters/icons/segments are a darker color like black or dark blue.
Negative mode displays must have a backlight on all the time to be readable. The challenge is that the LED backlight will draw/drain 10 times more power than the LCD without a backlight. So, if this is a battery application, it is best to stick with a positive mode.
Positive mode displays are readable without a backlight if there is enough ambient light. The LCD without a backlight will draw around 1uA. LED backlights can draw as little as 15mA up to 75mA or more depending on the number and brightness of the LEDs.
The first question to answer is ‘what size of LCD?’ The larger the display the more information that can be displayed and the larger the characters can be. We recommend you choose one of the standard sizes on this page to reduce cost and lead time. Focus Display Solutions (aka FocusLCDs) carries many of the industry standard sizes in inventory and may be able to ship the same day.
Character LCD Displays are built in standard configurations such as 8×1, 20×2 and 40×4. The two numbers identify the number of characters in each row and then the number of rows. An example of this is a 20×2 which means there are 20 characters in each row and there are two rows. This will provide you a total of 40 characters. The more characters there are on the display, the more drivers are required to drive the LCD. The controller and drivers are included with the LCD.
Note: It is possible to program the software to scroll your letters and numbers across the screen, allowing you to choose a smaller sized LCD and still display all your information.
The cost of character displays is driven more by the size of the glass, then by the number of characters. A larger 8×1 can be more expensive than a small 16×2.
It is possible to custom build a unique combination such as a 12×2 or a 16×8. This would be considered a custom LCD and would require a one-time tooling cost and possibly a higher MOQ. Go to our
Character LCD modules are available in two temperature ranges, Normal (for indoor use) and Extended (for outdoor use). The outdoor version will continue to operate down to -30C. The cost difference between normal and wide (extended) temperature range is 5% to 7% higher for the extended versions. In most cases, if cost is not critical, we recommend that you incorporate the wider temperature version.
There are three types of backlights available for a character LCD module: No backlight; LED; or EL backlight. Before introducing the various backlight options, it is helpful to cover two terms that are common for backlights: NITs and half-life.
Backlight Half-life- The half-life of a backlight is the amount of time, in hours, that the backlight will burn before it is half as bright as when it was first turned on. So if its rated half-life is 50K hours, then the backlight will be half as bright at 50K hours as when it was first turned on. The same backlight will be 25% as bright at 100K hours as when it was first turned on.
Engineers designing a battery powered product may request a character module with no backlight since the backlight draws more than ten times (10x) the power required for the LCD alone. The goal with a battery powered product is to conserve power and extend the life-time of the battery.
If the product needs to be readable in the dark or low light conditions, then it will be necessary to attach a backlight of one type or another. The best way to conserve power is to keep the amount of time the backlight is on to a minimum. Turn off the backlight as soon as the user no longer needs it. This is a common practice in cell phones. The backlight turns off a few seconds after the number is dialed or the phone is answered. The person using the phone will continue to talk, but the display will be dark.
DC Current – LEDs are driven by DC (Direct Current), which is the same type of power required for the character LCD logic voltage. Also, batteries supply DC which makes it easy to integrate the LED backlight with a battery. EL backlights require an AC (Alternating Current) to operate. The AC signal needs to be generated by an inverter. The added inverter increases the cost of the display and produces electrical noise that can interfere with neighboring circuits.
Character LCDs that include an EL (ElectroLuminescent) backlight are not as common and their popularity is decreasing. EL backlights are AC driven which requires an inverter to be supplied by the customer or attached to the LCD. Their half-life is rated at 3K hours which makes this a poor choice for products where the backlight will be on all the time. Their MOQ (Minimum Order Quantities) have increased in the last few years. At this time there is a 500 piece MOQ.
There are some key advantages to EL backlights. They are very thin, around one to two millimeters in thickness. And they provide a very even flow of light. We carry inventory on a few EL character displays, but the majority of the character displays we sell are LED.
A character LCD is constructed by placing the nematic fluid between two layers of ITO (Indium tin oxide) glass. The function of the fluid is to either block or allow light to pass through.
A TN (Twisted Nematic) monochrome LCDs is the lowest cost option. TN does not provide a very sharp contrast and has a smaller viewing angle then STN or FSTN. A smaller viewing angle means the display is readable if you look directly at it, but if you rotate it more than 40 degrees in either direction, the characters will be difficult to read.
STN (Super Twisted Nematic) fluid is the most popular option. It provides a sharper contrast and a wider viewing angle than TN. Below is a photo of a STN 16 x2 character display.
FSTN monochrome character LCD displays are assembled by taking the STN fluid and adding a film or retardation coating to the glass. This produces a sharper contrast than STN. FSTN is more popular on higher end products such as medical applications. Below is a photo of a FSTN 16×2 monochrome LCD
There are three types of polarizers: Reflective; Transflective; and Transmissive. The correct polarizer is determined by the various lighting conditions your character LCD display will operate in.
The job of the polarizer is to allow some light to pass through and some of the light to be reflected. Depending on where your display will be operating, will decide which polarizer to choose. There is no cost difference between the three polarizers. Below is a quick summary:
The reflective polarizer is basically a mirror. It will reflect 100% of the ambient light and is ideal for displays operating in direct sunlight or in situations with very bright indoor lights.
A reflective polarizer cannot be used with a LED backlight or EL backlight since it will not allow any of the light to pass through, but it is possible to use with a LED edge-lit or side-lit display. An advantage of an edge-lit display is that it is thinner than a LED backlight, but not as thin as a display equipped with an EL backlight.
A Transflective polarizer is the most popular of the three options and works best with a display that requires the backlight to be on some of the time and off some of the time. It does not perform as well in direct sunlight as a reflective polarizer, but is sufficient in most cases.
The Transmissive polarizer is used when the backlight is on all the time. This is not the best option for battery powered products, but provides a brighter backlight. This polarizer must be used for displays that run in negative mode. Negative mode is when the characters are light colored and the background is a dark.
V Logic is the voltage used to drive an LCD and draws very little current, somewhere around 1mA or less. Character displays can be driven with a VL at 3.3V or 5V.
V LED is the voltage used to drive the LED backlight only. This can be 3.3V or 5V. LED backlights can draw up to ten times (10X) the amount of current of just the LCD alone (VLCD). If your product is a battery application, the backlight should be turned off when not in use. Or build in a sensor that only turns it on in the dark.
Is it possible to drive the LCD and the LED backlight from the same connection, but not recommended since interference from the LED backlight could affect the performance of the LCD.
A key advantage of character LCDs over multicolor technology such as TFT (Thin Film Transistor) and OLED (Organic Light Emitting Diodes) it their low thirst for current.
TFTS and OLEDs require power to generate light to be readable. In many cases, their backlight needs to be even brighter in direct sunlight. This could draw 50mA or more depending on the size and brightness of the display.
When the ambient temperature of the display drops too low, the display’s performance suffers. The colder the fluid in the display, the slower the response. At some point, the display freezes up and the characters no longer change.
As long as the temperature doesn’t drop too low, there will be no damage to the display, and it will return to normal operation when the temperature rises.
This is a much more affordable solution. A small PCB (Printed Circuit Board) is attached to the back of the LCD. The board is populated with several quarter watt resistors in series that generate heat. This option draws a great deal of power. In fact, it draws more than most LED backlights.
Believe it or not, LEDs do generate heat, but nothing close to resistors or heater film. In some cases, it is enough to give the display a little extra warmth to keep it operating when the temperature drops below its threshold.
Nothing saves heat and power like insulation. Putting your LCD into something that breaks the wind and holds in the heat, will save your batteries. Many times, a protected display will continue to operate even when the temperature drops far below the threshold. This should always be the first step taken when worrying about display functionality at low temperatures. Once your product is insulated, the heat producing options noted above can be implemented.
There are three fluid types used in character LCDs: TN, STN and FSTN. TN operates the best at colder temperatures and offers a faster response time. TN does not provide the wide viewing range found in STN and FSTN, but is sufficient for most industrial uses.
The five most common types of LCD technology are: Segment, Character, Graphic, TFT and OLED. Character and Segment are the least likely options to be discontinued. They have been around for many years and are still very popular.
The displays are made up of small squares that contain a 5x8, 7x10 or 16x16 dot matrix configurations. That means there are 5 dots across and 8 dots up for a total of 40 dots. Each dot is individuality addressed on or off to produce any letter or number.
Contrast adjust. Used to lighten or darken the character with respect to the background color. This is done by adjusting the voltage (through a potentiometer or software) between max logic voltage and ground
Used to read or write the data being transferred between the LCD and the microprocessor. Tie this to ground if you only plan to write data for one-way communications.
DB 0. Most character LCDs have eight (8) data bits for faster transfer. But can operate on just four (4) data bits if you are running low on I/O (In/Outs) pins.
Positive connection of the LED backlight or side lit. The voltage could range from 5V or 3.3V. Not all character LCDs contain a LED backlight. In this case, the two pins are no connect.
Polarity is an issue with LED backlights, since they are DC (Direct Current). That means positive must connect to positive. Half of the character LCDs have pin 15 as positive and 16 as ground. The other half are reversed. If you need the polarity reversed, there is a jumper on the back of the PCB to switch polarity.
This page contains a partial list of our standard displays. Simply choose the number of characters, the size of the display and the color combination that will meet your needs. If you need a size not listed on this page, please call us. We can still supply it to you.
Our lead time on standard Character LCD displays – that are not in stock – range from five to seven weeks. This rapid lead time is due to the fact that we do not ship LCD’s via boat, but FedEx Air. By shipping via FedEx Air, we receive the LCD glass within four to five days after it is completed, compared to shipping by boat which can add several additional weeks to your lead time.
Don’t see the exact display you want on this page? Focus Display Solutions can supply you a display to match the exact configuration you want, even if it is not in our current inventory.
The cost to design and tool up a custom replacement LCD is much less than the cost associated with retooling a case or having to redesign the customer’s PCB to accept a different LCD. The customer may also need the exact display to repair units that are in the field.
This custom character design allows the customer to avoid any redesign cost or delays in the manufacturing of their product and to offer replacement displays for products that had been in the field for over ten years.
Character LCD displays are built in standard sizes and configurations. This makes the process of locating an equivalent LCD a simple process, but it is critical to make sure that the replacement display is a drop -in equivalent to your current display. It may not be possible to build a 100% equivalent product without some modifications.
We are able to match and replace these discontinued Liquid Crystal Displays. There may be a one-time NRE (Non-Recurring Engineering) fee required to modify the ITO glass, PCB (Printed Circuit Board) and bezel to match the dimensions and characteristics necessary for your production.
If your current LCD supplier has discontinued your display, Focus Display Solutions (aka Focus LCDs) has the ability to cross it over to an equivalent display and in many cases Fed Ex/UPS a sample to you the same day.
Call one of our US-based Technical Support people at 480-503-4295 or email us by using theContact form. We respond to all business inquiries within one business day and in many cases can offer you a quote the same day.
Note: when you begin ordering LCD displays from Focus, we will supply you with the data sheet. If you purchase the display, you should own the data sheet.
Providing us the full part number of the LCD allows us to determine not only the size of the display, but also the type of construction such as COB (Chip on Board) or COG (Chip on Glass), number of characters, backlight option, operating temperature range, background and backlight colors, viewing angle, backlight and LCD logic voltage, and in most cases the controller driver used.
With the part number, we will attempt to locate a full data sheet with enough details allowing us to quote a replacement for your discontinued display. If we cannot locate a data sheet, we will ask if your previous supplier had provided one to you.
If we are unable to locate the data sheet of your current LCD, we will request a data sheet. If possible, please forward over the data sheet or a link to the data sheet. If your LCD supplier is no longer in business or they will not provide you the data sheet, the next option is a photo of the display.
If you decided to move forward with us and order samples of your replacement display based on the estimated cost, we will require two of your discontinued samples. They do not need to be working displays, but need to be in good condition. Please note: We will not be able to return the two displays.
Note: when you begin ordering LCD displays from Focus, we will supply you with the data sheet. If you purchase the display, you should own the data sheet.
Character based LCD displays are great: they are inexpensive, and it is rather simple to use them compared to graphical displays. Yes, they only can display text and custom symbols, but this is usually what I need. And pretty much all character displays are using the Hitachi HD44780 protocol, so it is a de-facto industry standard.
These displays have one big disadvantage: they need to be compatible with the original Hitachi interface and protocol. First display were mostly one line only, and had only few characters, typically up to 16. The protocol worked either with one or two lines on the display. Today’s display have usually two lines, with 16 characters. But what if I need more?
These HD44780 displays can run in 4bit or 8bit mode, and in the smallest configuration (4bit mode) the connection to the microcontroller only needs 6 wires:
The original protocol had a big problem: there is no handshaking between microcontroller and display. If the microcontroller writes to the display, it needs to wait until the display has finished the operation until a new write operation can start. So the micrcontroller needs to wait some time, depending on the display speed. To overcome this problem, later displays had added the R/W (Read/Write) signal which allows the microcontroller to read the status from the display (if the display is ready to accept new data). So if you consider to use a display, make sure it has that R/W line implemented.
So writing at address 0x00 would be the first character on line 1, 0x01 the second, and so on. Writing at address 0x40 would be the first character on the second line, and so on. That would allow up to 64 characters per line. A 16-character display would show the characters e.g. from address 0x00-0x0F. The other bytes in the address map could be used to ‘scroll’ the text to the right/left using special display commands:
As this feature has not been used much, and there was a bigger customer needs for having 4 lines of text, some vendors decided to change the memory map to support 4 lines (see “Character LCD with 4 Lines”):
If I want now to have 4 lines with more than 16 characters, something different is needed. My display driver (LCDHTA, see “HD44780 2×16 Character Display for Kinetis and Freedom Board“) worked fine, but not for a 4×40 display which was used by a reader of this blog :-(: the NewHaven NHD-0440WH-ATFH-JT Display:
Until I realized: they have put 2 display controller together! This display is not really a 4×40 character display, it is two 2×40 displays in a single display packaging :-). This is the same as if I would combine two displays on the same bus like this:
As I did not had the Newhaven 4×40 display available to verify the driver, I wired two 2×16 displays together. And with this, I was able to build a 4×16 (potentially 4×64) character display:
The Hitachi HD44780 is very common and can be considered as ‘industry standard’. But as with any standards, it comes with limitations, and standards sometimes make it hard to move the technology to the next level. And sometimes it causes kind of strange solutions as creating a 4 line display with two display controllers on it. Switching the Ex lines I can now support up to for 4 lines and up to 64 characters for each line. And if needed, I can extend that concept for more lines/displays.
From Figure 3 above we can see that the DDRAM controller should have a memory map of 104 bytes (00H to 67H = 68H = 104D), but the location that can be used is only 80 bytes 00H-27H (40 bytes) and 40H-67H (40 bytes); Note that the 28H-3FH address (24 location) is not visible.
LCD connected to this controller will adjust itself to the memory map of this DDRAM controller; each location on the LCD will take 1 DDRAM address on the controller. Because we use 2 × 16 type LCD, the first line of the LCD will take the location of the 00H-0FH addresses and the second line will take the 40H-4FH addresses of the controller DDRAM; so neither the addresses of the 10H-27H on the first line or the addresses of the 50H-67H on the second line on DDRAM is used.
To be able to display a character on the first line of the LCD, we must provide written instructions (80h + DDRAM address where our character is to be displayed on the first line) in the Instruction Register-IR and then followed by writing the ASCII code of the character or address of the character stored on the CGROM or CGRAM on the LCD controller data register, as well as to display characters in the second row we must provide written instructions (C0H + DDRAM address where our character to be displayed on the second line) in the Instructions Register-IR and then followed by writing the ASCII code or address of the character on CGROM or CGRAM on the LCD controller data register.
As mentioned above, to display a character (ASCII) you want to show on the LCD, you need to send the ASCII code to the LCD controller data register-DR. For characters from CGROM and CGRAM we only need to send the address of the character where the character is stored; unlike the character of the ASCII code, we must write the ASCII code of the character we want to display on the LCD controller data register to display it. For special characters stored on CGRAM, one must first save the special character at the CGRAM address (prepared 64 addresses, namely addresses 0–63); A special character with a size of 5 × 8 (5 columns × 8 lines) requires eight consecutive addresses to store it, so the total special characters that can be saved or stored on the CGRAM addresses are only eight (8) characters. To be able to save a special character at the first CGRAM address we must send or write 40H instruction to the Instruction Register-IR followed by writing eight consecutive bytes of the data in the Data Register-DR to save the pattern/image of a special character that you want to display on the LCD [9, 10].
We can easily connect this LCD module (LCD + controller) with MCS51, and we do not need any additional electronic equipment as the interface between MCS51 and it; This is because this LCD works with the TTL logic level voltage—Transistor-Transistor Logic.
The voltage source of this display is +5 V connected to Pin 2 (VCC) and GND power supply connected to Pin 1 (VSS) and Pin 16 (GND); Pin 1 (VSS) and Pin 16 (GND) are combined together and connected to the GND of the power supply.
Pins 7–14 (8 Pins) of the display function as a channel to transmit either data or instruction with a channel width of 1 byte (D0-D7) between the display and MCS51. In Figure 6, it can be seen that each Pin connected to the data bus (D0-D7) of MCS51 in this case P0 (80h); P0.0-P0.7 MCS-51 connected to D0-D7 of the LCD.
Pins 4–6 are used to control the performance of the display. Pin 4 (Register Select-RS) is in charge of selecting one of the 2 display registers. If RS is given logic 0 then the selected register is the Instruction Register-IR, otherwise, if RS is given logic 1 then the selected register is the Data Register-DR. The implication of this selection is the meaning of the signal sent down through the data bus (D0-D7), if RS = 0, then the signal sent from the MCS-51 to the LCD is an instruction; usually used to configure the LCD, otherwise if RS = 1 then the data sent from the MCS-51 to the LCD (D0-D7) is the data (object or character) you want to display on the LCD. From Figure 6 Pin 4 (RS) is connected to Pin 16 (P3.6/W¯) of MCS-51 with the address (B6H).
Pin 5 (R/W¯)) of the LCD does not appear in Figure 6 is used for read/write operations. If Pin 5 is given logic 1, the operation is a read operation; reading the data from the LCD. Data will be copied from the LCD data register to MCS-51 via the data bus (D0-D7), namely Pins 7–14 of the LCD. Conversely, if Pin 5 is given a voltage with logical 0 then the operation is a write operation; the signal will be sent from the MCS51 to LCD through the LCD Pins (Pins 7–14); The signal sent can be in the form of data or instructions depending on the logic level input to the Register Select-RS Pin, as described above before if RS = 0 then the signal sent is an instruction, vice versa if the RS = 1 then the signal sent/written is the data you want to display. Usually, Pin 5 of the LCD is connected with the power supply GND, because we will never read data from the LCD data register, but only send instructions for the LCD work configuration or the data you want to display on the LCD.
Pin 6 of the LCD (EN¯) is a Pin used to enable the LCD. The LCD will be enabled with the entry of changes in the signal level from high (1) to low (0) on Pin 6. If Pin 6 gets the voltage of logic level either 1 or 0 then the LCD will be disabled; it will only be enabled when there is a change of the voltage level in Pin 6 from high logic level to low logic level for more than 1000 microseconds (1 millisecond), and we can send either instruction or data to processed during that enable time of Pin 6.
Pin 3 and Pin 15 are used to regulate the brightness of the BPL (Back Plane Light). As mentioned above before the LCD operates on the principle of continuing or inhibiting the light passing through it; instead of producing light by itself. The light source comes from LED behind this LCD called BPL. Light brightness from BPL can be set by using a potentiometer or a trimpot. From Figure 6 Pin 3 (VEE) is used to regulate the brightness of BPL (by changing the current that enters BPL by using a potentiometers/a trimpot). While Pin 15 (BPL) is a Pin used for the sink of BPL LED.
4RSRegister selector on the LCD, if RS = 0 then the selected register is an instruction register (the operation to be performed is a write operation/LCD configuration if Pin 5 (R/W¯) is given a logic 0), if RS = 1 then the selected register is a data register; if (R/W¯) = 0 then the operation performed is a data write operation to the LCD, otherwise if (R/W¯) = 1 then the operation performed is a read operation (data will be sent from the LCD to μC (microcontroller); it is usually used to read the busy bit/Busy Flag- BF of the LCD (bit 7/D7).
5(R/W¯)Sets the operating mode, logic 1 for reading operations and logic 0 for write operations, the information read from the LCD to μC is data, while information written to the LCD from μC can be data to be displayed or instructions used to configure the LCD. Usually, this Pin is connected to the GND of the power supply because we will never read data from the LCD but only write instructions to configure it or write data to the LCD register to be displayed.
6Enable¯The LCD is not active when Enable Pin is either 1 or 0 logic. The LCD will be active if there is a change from logic 1 to logic 0; information can be read or written at the time the change occurs.