Display LCD 16x2 with FPGA Code Process

5 comments
Display LCD 16x2 with FPGA | Xtra-Note
Contents of this Project:
    I. Objectives of the project
    II. Description of component
      2.1 Variable Resistance
      2.2 Breadboard
      2.3 DEO-Nano Card
      2.4 LCD 16x2 Display Characteristic
    III. Processing steps
      3.1 Conception
      3.2 Flowchart
    IV. Result
    IV. Conclusion

That all steps will shown as below:

I. Introduction

LCD (Liquid Crystal Display) screen is an electronic display module and find a wide range of applications. A 16x2 LCD display is very basic module and is very commonly used in various devices and circuits. These modules are preferred over seven segments and other multi segment LEDs. The reasons to use LCDs are economical, easily programmable, and have no limitation of displaying special and even custom characters (unlike in seven segments), animations, etc. LCD module can be used to display with micro-controllers such as PIC, Arduino, DE0-Nano and other development boards.

The objective in this project is to enhance the understanding beyond the advanced generation of programmable board and especially to be able to learn about the function, process, and concept of LCD module by creating own library through VHDL instead of using the existing library like mikroC or Aduino. Also after completing this project, we will be able to understand several functions of DE0-Nano development over how to write and read data.

II. Description of component
2.1 Variable Resistance

Variable Resistance is an electronic component that use to apply in an electronic circuit for adjusting circuit resistance to control voltage or current of that part of that circuit.

In this project, variable resistance is used to adjust the contrast of display on LCD by controlling knob on the resistance to preset value of voltage that got from variable resistance into Pin V0 of LCD. In purpose to adjust the contrast on LCD to get acceptable condition to see the character of data.

2.2 Breadboard

A breadboard is a solder-less device for temporary prototype with electronics and test circuit designs. Most electronic components in electronic circuits can be interconnected by inserting their leads or terminals into the holes and then making connections through wires where appropriate. The breadboard has strips of metal underneath the board and connect the holes on the top of the board. Note that the top and bottom rows of holes are connected horizontally and split in the middle while the remaining holes are connected vertically.

2.3 DEO-Nano Card

The DEO-Nano is ideal for use with embedded soft processor, it features a powerful Altera Cyclone IV FPGA (with 22,320 logic elements), 32 MB of SDRAM, 2 Kb EEPROM, and a 64 Mb serial configuration memory device. For connecting to real-world sensors the DE0-Nano includes a National Semiconductor 8-channel 12-bit A/D converter, and it also features an Analog Devices 13-bit, 3-axis accelerometer device. The DE0-Nano board includes a built-in USB Blaster for FPGA programming, and the board can be powered either from this USB port or by an external power source. The board includes expansion headers that can be used to attach various Terasic daughter cards or other devices, such as motors and actuators. Inputs and outputs include 2 pushbuttons, 8 user LEDs and a set of 4 dip-switches.

Pin Assignments: In DEO-Nano card there are many groups of Pin assignments as well as DIP Switch Pin group, SDRAM Memory Pin group… But in this project we assigned GPIO pin to connect to the pin of LCD to display data character. In those pin we need to use one ground and one Vcc pin that ready assigned on DEO-Nano card, other three pins use for E, RS, RW to LCD and 8 more pins for data bus pins of LCD.

2.4 LCD 16x2 Display Characteristic

LCD (Liquid Crystal Display) screen is an electronic display module and find a wide range of applications. A 16x2 LCD display is very basic module and is very commonly used in various devices and circuits. These modules are preferred over seven segments and other multi segment LEDs. The reasons being: LCDs are economical; easily programmable; have no limitation of displaying special & even custom characters (unlike in seven segments), animations and so on. A 16x2 LCD means it can display 16 characters per line and there are 2 such lines. In this LCD each character is displayed in 5x7 pixel matrix. This LCD has two registers, namely, Command and Data.

To see more information download the whole document following this link:

It is included all point of View Report Click here

And also have tested code to use in Quartus program here : Click here to download!

Video of this project test:
Next PostNewer Post Previous PostOlder Post Home

5 comments:

  1. Hello, I see that you don't need any circuit to interface between the FPGA and the LCD, so I think you use a kind of configuration on the pin planner, could you please explain me what you do. Thanks in advance.
    Regards,
    Pedro

    ReplyDelete
  2. Hello Pedro, thanks for your comment.
    In this test, I configured code to use pin planner of DEO-Nano card to control LCD by using function library of data sheet. To understand more you can view my report and test code as have on link above comment.
    Best regard,

    ReplyDelete
  3. Do not download do not have a download link friend

    ReplyDelete
  4. Hello, there is no test code uploaded on the above comment. Can send it to me ? Thank you Kem.

    ReplyDelete
  5. Hi, thank you for sharing your useful report,could you please provide you vhdl or verilog code because I could not down load it via the above link.thanks in advance

    ReplyDelete