interfacing 16x2 lcd display with pic microcontroller for sale

Learn Lcd interfacing with 8051 development Board.8051 Project Kit Support AT89S51, AT89S52, P89V51RD2, etc. 40-Pin DIP Chip. USB asp Programmer can be used for both 8051-AVR IC (2in1) | 16 x 2 LCD Display has Yellow/Green Backlight
If you are learning LCD Interfacing with microcontroller programming and want to make a project based on 8051 microcontrollers then this board will help you. Using 16×2 LCD Interfacing with 8051 Development Board you can develop and prototype with any of 8051(AT89S51, AT89S52, P89V51RD2, AT89Cxx) 40 pin microcontrollers. Because The board has 1.5 Amp bridge rectifiers allow this board to be powered with both AC and DC power supply adapters. The board having an RS232 Serial port for flashing the P89V51RD2 (NXP) microcontroller and also it is used for interfacing GSM module, GPS module, RFID module. Furthermore, there is a 5V, 12V, GND power bus which allows to power external peripherals module.
16×2 LCD Display Support mostly All Digital Microcontrollers such as Arduino, 8051, PIC, AVR, ARM, MSP, COP8, STM, Raspberry Pi, etc. Here it is Provided with onboard Atmel AT89S52 Microcontroller Project Board. So Users can learn 16×2 LCD interfacing with the 8051 Development Board.
First of all 16×2 LCD is a basic 16 character by 2 line display Yellow/Green Backlight. Utilizes the extremely most common HD44780 parallel interface chipset (datasheet). Even more, it has JHD162A Compatible Pin-out Diagram, so the Command Interface code is freely available. Finally, You will need 7 general I/O pins (If used in 4-bit Mode) to interface to this LCD screen. it also includes an LED backlight. Learn How To Interface 8051 Development Board with LCD 16×2 Display using 8051/AVR USB Programmer for Burn/Flash Hex File into Atmel AT89S52 Microcontroller. By 16×2 LCD interfacing with 8051 Development Board, the user can display Alphanumeric characters.
Features of 16×2 Display LCD:Commonly Used in: Student Project, Collage, copiers, fax machines, laser printers, industrial test equipment, networking equipment such as routers and storage devices
USB AVR and AT89Sxx ISP (In-System Programming) Programmer is a low-cost USB-based programmer. Because it is ISP, so there is no need to take out the target microcontroller from the development Board. This programmer will work with a wide variety of Atmel AVR and also AT89Sxxxx microcontroller. This is quite compact, but the design is really elegant. Even more, The USB interface is achieved by using an atmega8 processor, and the rest is done in firmware. After Writing code for 16×2 LCD interfacing with 8051 Development Board, you use this Programmer to Flash Hex File into the Atmel AT89S52 Microcontroller IC
Download Link:(All in 1 RAR file) For How to install driver | Circuit Diagram | Connection | Program 8051 AVR Microcontroller | Driver For All Windows OS 64-bit & 32-bit

In this tutorial, we’ll discuss how Alphanumeric LCD works and how to interface a 16×2 LCD with a microcontroller. You’ll learn how LCD (Liquid Crystal Display) works internally and how to send data and commands to it with a microcontroller, specifically PIC MCUs. And you’ll also learn how to develop a simple LCD Driver for your upcoming projects.
There are 2 practical LABs associated with this tutorial and here is a brief animation indicating what you’ll be able to do after completing this tutorial.
We typically add a 16×2 Alphanumeric LCD to small embedded systems & projects to enhance the user experience and UI of the device/project. You can use it to display text messages to the user, number, etc. Other types of LCDs provide different features such as the number of columns and rows (characters) and maybe colored display, and also different interfaces (parallel, spi, i2c, etc).
For this tutorial, we’ll consider the 16×2 LCD with a 16-pin header interface. Assuming it has the standard Hitachi LCD driver HD44780 controller. We’ll see how it works internally and how to interface it with microcontrollers. This small IC on the backside of the LCD module controls the LCD itself and accepts user commands and data sent by the master MCU.
The LCD module consists of 16×2 character cells, and each one of them is 5×8 dots. Controlling all of this is a tedious task for our main microcontroller to do. However, it doesn’t have to do. As there is a specific function controller on the LCD itself controlling the display while reading in the user’s commands & data. Here, I’ll be considering the Hitachi HD44780 controller.
The HD44780U has two 8-bit registers, an instruction register (IR) and a data register (DR). The IR stores instruction codes, such as display clear and cursor shift, and address information for display data RAM (DDRAM) and character generator RAM (CGRAM). The IR can only be written from the MPU. The DR temporarily stores data to be written into DDRAM or CGRAM and temporarily stores data to be read from DDRAM or CGRAM. Data written into the DR from the MPU is automatically written into DDRAM or CGRAM by an internal operation.
Display data RAM (DDRAM) stores display data represented in 8-bit character codes. Its extended capacity is 80 × 8 bits, or 80 characters. The area in display data RAM (DDRAM) that is not used for display can be used as general data RAM. Therefore, whatever data you send to the DDRAM, it’ll get displayed on the LCD. As long as the characters count is below 32 (for 16×2 LCD), it’ll be visible. Otherwise, written characters are stored in the DDRAM but not visible.
The table down below shows you the standard ASCII equivalent characters for the LCD display stored in the CGROM. And you can also create your custom characters and symbols if you want to, as we’ll see in a future tutorial. Note the “A” character which has a binary code of (0100 0001)b this is equivalent to 65 (the ASCII value for A in the ASCII table).
The cursor/blink control circuit generates the cursor or character blinking. The cursor or the blinking will appear with the digit located at the display data RAM (DDRAM) address set in the address counter (AC).
There are two ways to interface the LCD diver (controller) IC. You can use the full bus width (8-Bits) for data or alternatively you can use a 4-Bit interface for a reduced pin count needed to control the LCD. Specifically low pin count MCUs need to operate in the 4-Bit mode.
At the beginning of your system’s firmware, you should do some initialization steps for the LCD display before it’s usable. These steps are listed by the manufacturer of the LCD Driver IC and let your LCD know how it’s going to operate afterward. Which interface mode you’ll be using (4 or 8 bits), which font and so on.
The LCD takes some time to process commands or data. Therefore, there must be a small delay before issuing a new command to the LCD. This delay could be chosen arbitrarily as long as it’s longer than the time required by the LCD itself as indicated in the datasheet. Alternatively, you can just read the busy flag bit to know whether the previous command was successfully processed or not.
When a data or a command is sent to the LCD, the BF or D7 bit of the LCD becomes 1 and as soon as the command is successfully processed, the BF becomes 0.
And here is another table for some commands examples that you can test yourself. We’ll implement a couple of them in the following practical LABs and the rest are left for you to experiment with.
First of all, we should define the IO pins which we’ll be using to interface the LCD. It’s a recommended practice to isolate the hardware drivers firmware from the application layer and for the sake of portability of your code. This step makes your code less dependent on the specific MCU chip you’re using in the current project.
if at any point you found out that a specific pin must be changed, it’ll be an easy task to change it without searching your code and replacing each and every single occurrence for that line of code.
We’ll be using the 4-Bit interface in these tutorials as it’s the most common and most wished for. Nobody wants to consume all of his microcontroller’s pins just to hook an LCD. In fact, there is an I2C interface for the LCD which we’ll be using in a future tutorial and its main feature is reducing the pin count used for LCD control.
All in all, what we need now is a routine to parse out half-a-byte of data and send these bits to the corresponding pins of the IO pins associated with LCD Data. Here is a simple implementation for such a routine.
As we’ve discussed earlier in this tutorial, sending a command to the LCD should start with selecting the command register. Then the command data is transferred to the LCD io data pins. Then we should clock or send enable signal pulse. This routine is followed in general settings, whether it’s a 4-Bit interface of an 8-Bit.
Now, it’s time to create the LCD initialization routine. This function is an exact implementation of the steps we’ve discussed earlier in this tutorial. The 4-Bit interface initialization steps are indicated in a previous flow chart and our task right now is to implement it in C.
Sending an 8-Bit character to the LCD followed by an enable pulse (clock) will display that character on the LCD. However, in our case of using a 4-Bit interface, this step will be divided into two consequent steps. First of which is parsing the 8-Bit character into a high_nibble and low_nibble. Then we’ll send the high4 bits first followed by an EN clock, then we’ll send the low4 bits followed by another EN clock. And that’s it!
To send a string to the LCD, we’ll need a loop to repeatedly send characters to the LCD until a buffer end is found, and typically it’s the NULL character “\0”. Here is the implementation of this routine.
As you’ve seen in the previous sections, the datasheet of the LCD driver IC includes all the command that it could handle. And we’re going to add a couple of them to our LCD Driver code. All the rest are left for you to experiment with. Some specific commands may help you in specific projects and it’s up to you to decide on which one you need to implement.
The commands I’m going to implement in this section are the most used ones in different projects. And will help you get more familiar with sending commands in 4-Bit mode. And there is no difference from what we’ve done so far.
The header file includes only the declarations of sub-routines with simple documentation indicating the functionality of each routine and what it takes and returns if it’s not void, etc. The LCD.h header file will be something like this
It’s now way more clean/clear. And it’s easier to debug or extend the functionality of your LCD driver module. Here is the compiled project, download it and customize it as you wish.
Open the MPLAB IDE and create a new project name it “LCD_16x2_LAB1”. If you have some issues doing so, you can always refer to the previous tutorial using the link below.
Open the MPLAB IDE and create a new project name it “LCD_16x2_LAB2”. If you have some issues doing so, you can always refer to the previous tutorial using the link below.
In this tutorial, we’ve implemented some of the most common LCD commands that you are most likely to use in your various projects. However, there still are some other commands that you can implement and test on your own. Just get the datasheet and start tinkering around and if you feel stuck at any point, just drop me a comment and I’ll be here to help you.
As we’ve discussed in a previous section, it’s a recommended practice to separate your device drivers layer from the application layer as much as possible. It helps in terms of portability and enhances code re-usability. Each device driver should have a header file .h and a source file .c and you can #include this library in whichever project you want. Reducing the time to port your project to another platform (microcontroller).
You can use the sprintf function from the standard library by including stdio.h. Now you can combine numbers (int, float, etc) with text in a single array “string” that you can print out on your LCD. We’ve done this in a previous lab for the LM35 sensor.

In this tutorial we will see How to Interface a 16×2 character LCD module with PIC 16F877A Microcontroller using MPLAB X IDE and MPLAB XC8 C Compiler. 16×2 Character LCD is a very basic and low cost LCD module which is commonly used in electronic products and projects. 16×2 means it contains 2 rows that can display 16 characters. Its other variants such as 16×1 and 16×4 are also available in the market. In these displays, each character is displayed using 5×8 or 5×10 dot matrix.
For controlling LCD using MPLAB XC8 compiler we need to know the hardware of LCD. These LCDs commonly uses HD44780 compliant controllers. So we need to learn HD44780 Dot Matrix LCD Controller Datasheet. Don’t worry we already developed an LCD library including commonly used functions, so you can use it without any hardware knowledge of LCD.
First two pins GND and VCC (VSS and VDD) are for providing power to LCD display. 3ed pin VEE is used to control the contrast of the LCD display. A 10KΩ preset whose fixed ends connected to VDD, VSS and variable end connected to VEE can be used to control contrast of the LCD. A microcontroller or microprocessor need to send 2 types of information for operating this LCD Module, Data Information and Command Information. Data Information is the ASCII value of the characters to be displayed in the LCD screen and Command Information determines other operations such as position to be displayed, clear screen, shift etc. Data and Command Information are send to LCD through same data lines (DB0 – DB7) which are multiplexed using RS (Register Select) pin of LCD. When RS is HIGH LCD treats DB0 – DB7 data pins information as Data to be displayed and when it is LOW LCD treats it as Command Information. Enable (E) input of the LCD is used to give Data Strobe. HIGH (5V) Voltage Level in the Enable (E) pin tells the LCD that DB0 – DB7 contains valid information. The input signal R/W (Read or Write) determines whether data is written to or read from the LCD. In normal cases we need only writing hence it is tied to GROUND in circuit shown below.
The interface between this LCD and Microcontroller can be 8 bit or 4 bit and the difference between them is in how the data or commands are send to LCD. In the 8 bit mode, 8 bit data and commands are send through the data lines DB0 – DB7 and data strobe is given through E input of the LCD. But 4 bit mode uses only 4 data lines. In this 8 bit data and commands are splitted into 2 parts (4 bits each) and are sent sequentially through data lines DB4 – DB7 with its own data strobe through E input. The idea of 4 bit communication is introduced to save pins of a microcontroller. You may think that 4 bit mode will be slower than 8 bit. But the speed difference is only minimal. As LCDs are slow speed devices, the tiny speed difference between these modes is not significant. Just remember that microcontroller is operating at high speed in the range of MHz and we are viewing LCD with our eyes. Due to Persistence of Vision of our eyes we will not even feel the speed difference.
Hope that you got rough idea about how this LCD Module works. Actually you need to read the datasheet of HD44780 LCD driver used in this LCD Module to write a MPLAB XC8 program for PIC. But we solved this problem by creating a header file lcd.h which includes all the commonly used functions using 4 bit mode. Just include it and enjoy.
Lcd_Set_Cursor(int row, int column) : This function is used to set row and column of the cursor on the LCD screen. By using this function we can change the position of the character or string displayed by following functions.
sprintf() can be used to write formatted string to a variable. It can be used with this LCD library to format displayed texts. This enables us to display integers and floating point numbers on the LCD very easily. You should include the header file stdio.h for using sprintf().
Unsigned Integer with decimal place inserted. Specify two numbers for n. The first is a total field width. The second is the desired number of decimal places.

In this session we will see how to interface 16×2 LCD to PIC18F4550 microcontroller which is of family PIC18F. You can get information of 16×2 LCD in the session
PIC18F4550 belongs to the PIC18F family; PIC18F4550 is an 8bit microcontroller and uses RISC architecture. PIC18F4550 has 40 pins in PDIP (dual in line package) and 44 pin in TQFP (Quad flat package).
32KB flash memory, 2048 bytes of SRAM (synchronous Random Access memory), EEPROM (Electrically Erasable Program Read Only Memory) of 256 bytes are embedded in the PIC18F4550.
It has 35 I/O pins for interfacing and communication with other peripherals, 13channel of 10bit analog to digital converters which are used for interfacing and communicating the analog peripherals (DC motor, LDR, etc.).
PIC18F4550 has SPI (serial peripheral interface) and i2c (inter integrated circuit) for master and slave modes. It has SPP (Streaming Parallel Port) for USB streaming transfer.
PIC18F4550 is embedded with 4 timer modules (timer0 to timer3), 2 comparator modules and 3 external interrupt. It has Dual Oscillator options allow microcontroller and USB module to run at different clock speeds. It can operate in 2.0V to 5.5V
The resistor R1 is used for giving the contrast to the LCD. The crystal oscillator of 12 MHz is connected to the OSC1 and OSC2 pins of Pic microcontroller PIC18F4550 for system clock. The capacitor C2 and C3 will act filters to the crystal oscillator. You can use different ports or pins for interfacing the LCD before going to different ports please check the data sheet whether the pins for general purpose or they are special function pins.
Interfacing LCD to PIC is not different from interfacing to 8051. The basic concept and gist of the programming is almost same. Visit the following link for more information
Only the pins, registers and architecture using for interfacing will be different. When we look at the program, functions like initialization, sending data to the LCD will be almost same.
In the pic programming also for initializing the LCD the R/W pin should be low for writing the data, Enable pins should be high and register select pin (RS) should be high for writing the data. For sending a command the RS should be low, R/W pin should be low and enable pin should be high.
Install MPLAB in your system and create a new project, in selecting device and family select PIC18F family and add PIC18F4550 controller to your project.

As per the name the 2x16 has 2 lines with 16 chars on each lines. It supports all the ascii chars and is basically used for displaying the alpha numeric characters. Here each character is displayed in a matrix of 5x7 pixels.
As it is a 8-bit data bus, we can send the data/cmd to LCD in bytes. It also provides the provision to send the the data/cmd in chunks of 4-bit, which is used when there are limited number of GPIO lines on the microcontroller.
Register Select(RS): The LCD has two register namely a Data register and Command register. Any data that needs to be displayed on the LCD has to be written to the data register of LCD. Command can be issued to LCD by writing it to Command register of LCD.
If the RS signal is HIGH then the LCD interprets the 8-bit info as data and copies it to data register. After that the LCD decodes the data for generating the 5x7 pattern and finally displays on the LCD.
After sending the data/cmd, Selecting the data/cmd register, Selecting the Write operation. A HIGH-to-LOW pulse has to be send on this enable pin which will latch the info into the LCD register and triggers the LCD to act accordingly.
The below configuration is as per the above schematic. You can connect the LCD to any of the PORT pins available on your boards and update this section accordingly

Interfacing 16x2 LCD with PIC16f877a 16x2 LCD is basic output module used in microcontroller based projects. It has 16 columns and 2 rows to display characters. It can be easily interfaced with PIC microcontroller. In this tutorial we will see how to interface 16x2 LCD with PIC 16f877a using “MikroC PRO for PIC v6.6.1” compiler.
Software Required: 1- MikroC PRO for PIC (version 6.6.1 is good enough for this tutorial, NOTE: latest version will give errors. ) 2- Proteus (v7.8 or 8)
https://hassam794.weebly.com/interfacing-16x2-lcd-with-pic16f877a.html 1/612/11/2020 Interfacing 16x2 LCD with PIC16f877a
Procedure: Now make sure you have all this stuff, rst of all create new project in MikroC, choose your Microcontroller i.e PIC16f877a and set frequency 20MHz (this is basically the frequency of oscillator, in our case we have used 20MHz). If MikroC asks to import libraries then click OK to import all libraries. Create a new C le for you project and add the C code (comment your email address for source code) and save your project. Now it’s time to build .HEX le (we need this le for Simulation and Hardware) you can nd BUILD on the top layer of MikroC simply click on it or just press Ctrl+F9. .HEX le is now saved in your project folder.
For Proteus simulation open the .DSN simulation le (comment your email address for simulation le). You will see PIC16f877a in simulation double click on it and add the .HEX le you generated in MikroC. Now run the Simulation and wow LCD is interfaced with PIC microcontroller. If you have any question leave a comment.
Also want to implement this on hardware?? Yes, so keep reading. It’s not as hard as you are thinking just connect all wires as in simulation. Make sure your wires are not loose otherwise you will face lot of problems. Connect pin 15 of LCD to +5 Volts and Pin 16 to ground. Now connect PIN 3 of LCD with 10K variable resistor to ground. Again make sure your LCD PIN 3 is properly connected otherwise even if everything is working properly you can’t see anything on LCD. Now apply 5v to PIC16f877a and LCD. If u are using 9v battery then use 7805 voltage regulator to regulate voltage to +5v. If u are not sure how to use 7805 regulator see my article “7805 voltage regulator”. Set the contrast of LCD by varying 10k resistor.
then your LCD is not damaged and is working perfectly check if your PIN 3 (contrast PIN) is properly connected to 10K variable resistor. Adjust the contrast by changing variable resistor value. If problem is not solved check microcontroller PIN 1, connect PIN 1 ofPOWERED BY to +5v, also check oscillator again. PIC with 1k resistor
https://hassam794.weebly.com/interfacing-16x2-lcd-with-pic16f877a.html 2/612/11/2020 Interfacing 16x2 LCD with PIC16f877a
If your LCD display looks like this, as below image then either you forget to connect 10k variable resistor with PIN 3 of LCD or your LCD is damaged.
https://hassam794.weebly.com/interfacing-16x2-lcd-with-pic16f877a.html 3/612/11/2020 Interfacing 16x2 LCD with PIC16f877a
Video Tutorial: Here is complete video tutorial with design, source code and working of LCD with PIC16f877a, Download link for the simulation and source code is in the description of video. This is my new youtube channel please smile, subscribe, comment and like video if it helps you. Thanks
https://hassam794.weebly.com/interfacing-16x2-lcd-with-pic16f877a.html 4/612/11/2020 Interfacing 16x2 LCD with PIC16f877a
https://hassam794.weebly.com/interfacing-16x2-lcd-with-pic16f877a.html 5/612/11/2020 Interfacing 16x2 LCD with PIC16f877a

The 16x2 Alphanumeric LCD Display Module is equally popular among hobbyists and professionals for its affordable price and easy to use nature. As the name suggests the 16x2 Alphanumeric LCD can show 16 Columns and 2 Rows therefore a total of (16x2) 32 characters can be displayed. Each character can either be an alphabet or number or even a custom character. This particular LCD gas a green backlight, you can also get a Blue Backlight LCD to make your projects stand our and visually appealing, apart from the backlight color both the LCD have the same specifications hence they can share the same circuit and code. If your projects require more characters to be displayed you can check the 20x4 Graphical LCD which has 20 Columns and 4 Rows and hence can display up to 80 characters.
The 16x2 LCD pinout diagram is shown below. As you can see the module has (from right) two power pins Vss and Vcc to power the LCD. Typically Vss should be connected to ground and Vcc to 5V, but the LCD can also operate from voltage between 4.7V to 5.3V. Next, we have the control pins namely Contrast (VEE), Register Select (RS), Read/Write (R/W) and Enable (E). The Contrast pin is used to set the contrast (visibility) of the characters, normally it is connected to a 10k potentiometer so that the contrast can be adjusted. The Read/Write pin will be grounded in most cases because we will only be writing characters to the LCD and not read anything from it. The Register Select (RS) and Enable pin (E) pin are the control pins of the LCD and will be connected to the digital pins GPIO pins of the microcontroller. These pins are used to instruct the LCD where place a character when to clear it etc.
From DB0 to DB7 we have our eight Data Pins which are used to send information about the characters that have to be displayed on the LCD. The LCD can operate in two different modes, in the 4-bit Modeonly pins DB4 to DB7 will be used and the pins DB0 to DB3 will be left idle. In 8-bit Mode, all the eight-pin DB0 to DB7 will be used. Most commonly the 4-bit mode is preferred since it uses only 4 Data pins and thus reduces complexity and GPIO pin requirement on the microcontroller.Finally, we have the LED+ and LED- pins which are used to power the backlight LED inside our Display module. Normally the LED+ pin is connected to 5V power through a 100 ohm current limiting resistor and the LED- pin is connected to Ground.

This 8051 Microcontroller Programming Interfacing Board with ZIF Socket comes with 16x2 LCD Display and have on-board Atmel AT89S52 IC & RS232 IC. 8051 Microcontroller Interfacing Board has DIP 40 Pin Microcontroller ZIF (Zero Insertion Force) Socket. For Easy Insert and Remove of IC. ZIF Socket Protect Your Microcontroller From Damage. | ABOUT 8051 PROGRAMMER: For How To Program 8051 AVR Microcontroller |How to install driver | Circuit Diagram-Connection|Driver For All Windows OS 64|32-bit (All in 1 RAR file) Download= https://bit.ly/progallinfo | AVR 8051/8052 USB ISP Programmer For Atmel AVR & 8051 Microcontroller With Free USB Cable.Programmer Support many Digital Microcntrollers like (89S51, 89S52, AT89SXX, Classic AT90SXX, CAN Series) & (AVR, ATmega, ATtiny) ATmega 8/328, 16, 32 etc with the same Programmer.For Supported IC List: SEE Product Images.It is low cost USB based programmer.No need to take out Target Micro controller from the development Board.Programmer will work with variety of Atmel AVR & 8051 microcontroller.ItAllows You to Read/Write the Microcontroller Flash,EEPROM,Fuse Bit & Lock Bit.Support Windows OS(Xp to 10),Mac OS X & Linux. ATmega8 with USBasp Firmware Pre-loaded.SCK Option to Support Targets With Low Clock Speed(<1.5 MHz).5 KB/sec Maximum Write Speed. Programmer can Provide 5V supply for Target Microcontroller,so No Need of Any External Supply.Two Status LEDs|Green LED:Power Supply Indicator|RED LED :It is ON While Programmer is Busy.6 pin Polarized ISP Interface for Easy Connection.Supported Software: Progisp,AVRdude,Khazama AVR Programmer | ABOUT 8051 DEVELOPMENT BOARD: If You are Learning Microcontroller Programming & want to make Project based on 8051 microcontroller then This Board will help you.With this board you can Develop & Prototype with any of 8051(AT89S51, AT89S52, P89V51RD2, AT89Cxx etc) 40 pin microcontrollers. 1.5 Amp Bridge Rectifiers allow this board to be Powered with both AC & DC power supply adapters.It RS232 Serial port for flashing like P89V51RD2 (NXP) microcontrollers & also use for interfacing GSM module,GPS Module,RFID Module.There is 5V, 12V, GND Power bus which allow to Power external Peripherals module. FEATURES of 8051 Board:DIP 40 Pin Microcontroller ZIF (Zero Insertion Force) Socket. For Easy Insert and Remove of IC. ZIF Socket Protect Your Microcontroller From Damage.RS232 Interface Circuit for Easy Communication with PC & other Serial Devices(GPS modules, GSM Modems, etc).High quality FR-4(1.6 mm) PCB.On-Board bridge rectifier so that board can accept both AC and DC Input voltages Power supply .Recommended Input Voltage : 9-12V.Min-Max Input Voltage : 9-18V.On-Board 5 mm Power Plug-in DC Jack.On-Board 5V regulator (LM7805) circuit.On-Board Power ON - OFF switch.On-Board power indication RED LED.On-Board GREEN USER LED connected to P2.0 through jumper JP3.On-Board Input User Switch P3.3 through jumper JP2.On-Board Input External Interrupt Switch (INT1) at P3.3 through jumper JP2.On-board Quartz Crystal 11.05892 MHz.Port Extensions for all PORT with Detailed Pin Labeling for Easy Identification of Pin.External Pull-Up resistors for Port 0.On-board ISP connector for loading HEX file into Microcontroller like AT89S51/52 etc.Vcc bus (5V and 12V) & GND bus provided to Give POWER Supply to the External Peripheral.Four 3mm mounting hole for easy mounting.On-board Reset button.Dimensions: 12cm x 6.4cm. | ABOUT 16x2 LCD DISPLAY: This is 16 x 2 LCD Display with Yellow/Green Backlight ASCII Alphanumeric Character.16×2 LCD Display Support mostly All Digital Microcontroller such as Arduino, 8051, PIC, AVR, ARM, MSP, COP8, STM, Raspberry Pi etc. About 16×2 LCD Display: 16×2 LCD is a basic 16 character by 2 line display Yellow/Green Back light. Utilizes the extremely most common HD44780 parallel interface chipset (datasheet). Even more it has JHD162A Compatible Pinout Diagram and Command Interface code is freely available. Finally You will need 7 general I/O pins (If use in 4-bit Mode) to interface to this LCD screen.It also Includes LED back-light.Features of 16×2 Display LCD: Commonly Used in: Student Project, Collage, copiers, fax machines, laser printers, industrial test equipment, networking equipment such as routers and storage devices.| LCD display module with Green/Yellow Backlight.| SIZE: 16×2 (2 Rows and 16 Characters per Row) | Can display 2-lines X 16-characters | Operate with 5V DC | Wide viewing angle and high contrast | Built-in industry standard HD44780 equivalent LCD controller | LCM type: Characters. | NOTE: POWER SUPPLY Adapter IS NOT Included WITH THIS ITEM. For Example Code of 8051 Microcontroller & Have any Queries; Please Contact Us mytechnocare.info@gmail.com or Visit Mytechnocare Website.| DOWNLOAD: For How to install driver |Circuit Diagram|Connection|Program 8051 AVR Microcontroller|Driver For All Windows OS 64-bit & 32-bit = https://bit.ly/progallinfo | Note:Design,color or Parts of the Product may vary as per the Availability.

ERMC1602SBS-2 is 16 characters wide,2 rows character lcd module,SPLC780C controller (Industry-standard HD44780 compatible controller),6800 4/8-bit parallel interface,single led backlight with white color included can be dimmed easily with a resistor or PWM,stn- blue lcd negative,white text on the blue color,wide operating temperature range,rohs compliant,built in character set supports English/Japanese text, see the SPLC780C datasheet for the full character set. It"s optional for pin header connection,5V or 3.3V power supply and I2C adapter board for arduino.
It"s easily controlled by MCU such as 8051,PIC,AVR,ARDUINO,ARM and Raspberry Pi.It can be used in any embedded systems,industrial device,security,medical and hand-held equipment.
Of course, we wouldn"t just leave you with a datasheet and a "good luck!".For 8051 microcontroller user,we prepared the detailed tutorial such as interfacing, demo code and Development Kit at the bottom of this page.

I tried to send a character to LCD 16x2 but it failed. Nothing was displayed. With this code I can interface with LCD by PIC and 8051 microcontroller. I changed a little bit to suit to Tiva C Launchpad but it didn"t work.
Ms.Josey
Ms.Josey