Engineers Garage

  • Projects and Tutorials
    • Electronic Projects
      • 8051
      • Arduino
      • ARM
      • AVR
      • PIC
      • Raspberry pi
      • STM32
    • Tutorials
    • Circuit Design
    • Project Videos
    • Components
  • Articles
    • Tech Articles
    • Insight
    • Invention Stories
    • How to
    • What Is
  • News
    • Electronic Products News
    • DIY Reviews
    • Guest Post
  • Forums
    • EDABoard.com
    • Electro-Tech-Online
    • EG Forum Archive
  • Digi-Key Store
    • Cables, Wires
    • Connectors, Interconnect
    • Discrete
    • Electromechanical
    • Embedded Computers
    • Enclosures, Hardware, Office
    • Integrated Circuits (ICs)
    • Isolators
    • LED/Optoelectronics
    • Passive
    • Power, Circuit Protection
    • Programmers
    • RF, Wireless
    • Semiconductors
    • Sensors, Transducers
    • Test Products
    • Tools
  • EE Resources
    • DesignFast
    • LEAP Awards
    • Oscilloscope Product Finder
    • White Papers
    • Webinars
  • EE Learning Center
  • Women in Engineering

Making/Displaying custom urdu characters on 16×2 lcd using 8051(89c51,89c52) Microcontroller

By EG Projects

This post is about displaying custom urdu font characters on 16×2 character lcd display with the help of 89c51 microcontroller. Previously i discussed about ‘How to display custom character on 16×2 lcd display with 8051(89c51,89c52) microcontroller?’. This tutorial is made by following the same steps enlisted in the above tutorial. The only difference is, in this tutorial i calculated the character data arrays for each character/alphabet of urdu language. Urdu language is spoken in India, Pakistan, Bangladesh and Afghanistan. Pakistan national language is Urdu. Urdu alphabets are shown below. 
Urdu alphabets OR characters

Urdu alphabets OR characters

16×2 lcd custom characters End Result

Urdu characters displayed on 16x2 lcd with 89c51 microcontroller

Urdu characters displayed on 16×2 lcd with 89c51 microcontroller

Urdu language alphabets on 16x2 lcd

Urdu language alphabets on 16×2 lcd

CG-RAM(character generated ram) of HD44780 lcd controller

Making and displaying custom urdu characters on 16×2 lcd display is not an easy task. If you are newbie and previously have no experience with character lcd’s. Then first take the tutorial on How to make and display custom characters on 16×2 lcd? Tutorial will help you to understand how the 16×2 lcd works, about its pin out and internal register structure, about CG ram? how to store data(characters) in CG (character generated) ram?  and lastly how to print the custom characters that are made in CG-ram on 16×2 lcd screen?
​
Note: Every character lcd irrespective of its size(16×1, 16×2, 20×4 etc) has HD44780 lcd controller in it. So custom character display technique is same for each lcd display. Some bigger size lcd’s have two HD44780 controllers in them. Each controlling a single half of lcd. For those lcd’s custom character display technique is still same because of the same HD44780 controller behind the lcd.

CG-Ram can store up to 8 characters at a time. If you exceed this limit the new characters will be replaced by the previous one. For example if at first location we placed ‘>’ and then next 7 characters are placed in CG-RAM. Now the CG-RAM is fully occupied. Suddenly we send the ninth character ‘%’ to HD44780 controller to place it in CG-RAM. The HD44780 controller will accept the new character but place it at the first location. Where previously ‘>’ was present. Now ‘>’ is replaced with ‘%’. 

Custom language alphabets display on 16×2 lcd – Project circuit diagram

Connect 16×2 lcd data pins to Port-1 of 89c51 microcontroller. 16×2 lcd is interfaced with 89c51 microcontroller in 8-bit mode(Don’t understand take Tutorial ). Connect rs(register select) pin of lcd display to Port-3 pin#3 and en(enable) pin of lcd to Port-3 pin#6, ground rw(read/write) pin of lcd display. Grounding the rw pin tells the HD44780 controller that we only want to write to lcd display. If you don’t know how the 16×2 lcd works and how to connect it to the microcontroller here is a good tutorial 16X2 lcd working and pinout.
Custom characters display on 16x2 lcd with 89c51 microcontroller - Circuit diagram

Custom characters display on 16×2 lcd with 89c51 microcontroller – Circuit diagram

In the above code i first created and placed the initial eight alphabets of urdu language in CG-RAM and then displayed them on the lcd screen. After a few seconds delay i again made the eight characters and placed them in CG-RAM of 16×2 lcd display. The new eight alphabets replaces the previous ones and then i called them to display on 16×2 lcd. This process repeats unless all the alphabets are displayed on lcd. Whole code is placed in while(1) loop so the code runs again and again with the same logic. 

Some more tutorials on displaying custom characters on 16×2 lcd screen. Each project is made with different microcontroller. All projects are open source you can modify the circuit and code according to your needs.    

Custom characters display on lcd using Arduino uno

Displaying custom urdu alphabets on 16×2 lcd display with arduino uno

Custom characters display on lcd with pic microcontroller

Displaying custom urdu characters on lcd with pic microcontroller

Download the project code files. Code is written in keil uvision ide. Code is open source Don’t forget to provide us your feedback on the project.
Urdu custom characters code/files


Filed Under: 8051 Microcontroller, Microcontroller Projects

 

Questions related to this article?
👉Ask and discuss on Electro-Tech-Online.com and EDAboard.com forums.



Tell Us What You Think!! Cancel reply

You must be logged in to post a comment.

HAVE A QUESTION?

Have a technical question about an article or other engineering questions? Check out our engineering forums EDABoard.com and Electro-Tech-Online.com where you can get those questions asked and answered by your peers!


Featured Tutorials

  • Adjustable 0 to 30V 2A DC Power Supply Circuit (Part 1/13)
  • Adjustable +/- 1.25V to +/-22V 1A Power Supply Circuit (Part 2/13)
  • Adjustable 0 to 15V 1A Mini Power Supply (Part 3/13)
  • Constant 12V Power Supply for LED Circuits (Part 4/13)
  • Constant +/-9V DC Symmetrical Power Supply Circuit (Part 5/13)
  • Making a Circuit Breaker (Part 6/13)

Stay Up To Date

Newsletter Signup

Sign up and receive our weekly newsletter for latest Tech articles, Electronics Projects, Tutorial series and other insightful tech content.

EE Training Center Classrooms

“ee

“ee

“ee

“ee

“ee

“ee

Recent Articles

  • STMicroelectronics and MACOM announce successful RF GaN-on-Si prototypes
  • Infineon expands its CoolSiC portfolio
  • STMicroelectronics and AWS collaborate for secure IoT connections
  • Pet feeding system using WhatsApp (protocol bridging with MQTT)
  • STMicroelectronics launches new MDmesh MOSFETs

Most Popular

5G 555 timer circuit 8051 ai Arduino atmega16 automotive avr dc motor display Electronic Part Electronic Parts Fujitsu ic infineontechnologies integratedcircuit Intel IoT ir lcd ldr led maximintegratedproducts microchip microchiptechnology Microchip Technology microcontroller microcontrollers mosfet motor powermanagement Raspberry Pi remote renesaselectronics Research robot samsung semiconductor sensor software STMicroelectronics switch Technology vishayintertechnology wireless

RSS EDABOARD.com Discussions

  • Space Vector PWM Help Needed
  • P-Channel MOSFET always on
  • DIY test leads - source for lead ends?
  • hardcore floquet bloch scattering problem help
  • Limiting variable DC power source

RSS Electro-Tech-Online.com Discussions

  • How to get lots of PCBs made cheap?
  • How do I test amplifier speaker output polarity?
  • XOR Gate Circuit From Diodes
  • 3.3V microcontroller vs 5V relay
  • What is this part on my solar controller
Engineers Garage
  • Analog IC TIps
  • Connector Tips
  • DesignFast
  • EDABoard Forums
  • EE World Online
  • Electro-Tech-Online Forums
  • Microcontroller Tips
  • Power Electronic Tips
  • Sensor Tips
  • Test and Measurement Tips
  • 5G Technology World
  • About Us
  • Contact Us
  • Advertise

Copyright © 2022 WTWH Media LLC. All Rights Reserved. The material on this site may not be reproduced, distributed, transmitted, cached or otherwise used, except with the prior written permission of WTWH Media
Privacy Policy | Advertising | About Us

Search Engineers Garage

  • Projects and Tutorials
    • Electronic Projects
      • 8051
      • Arduino
      • ARM
      • AVR
      • PIC
      • Raspberry pi
      • STM32
    • Tutorials
    • Circuit Design
    • Project Videos
    • Components
  • Articles
    • Tech Articles
    • Insight
    • Invention Stories
    • How to
    • What Is
  • News
    • Electronic Products News
    • DIY Reviews
    • Guest Post
  • Forums
    • EDABoard.com
    • Electro-Tech-Online
    • EG Forum Archive
  • Digi-Key Store
    • Cables, Wires
    • Connectors, Interconnect
    • Discrete
    • Electromechanical
    • Embedded Computers
    • Enclosures, Hardware, Office
    • Integrated Circuits (ICs)
    • Isolators
    • LED/Optoelectronics
    • Passive
    • Power, Circuit Protection
    • Programmers
    • RF, Wireless
    • Semiconductors
    • Sensors, Transducers
    • Test Products
    • Tools
  • EE Resources
    • DesignFast
    • LEAP Awards
    • Oscilloscope Product Finder
    • White Papers
    • Webinars
  • EE Learning Center
  • Women in Engineering