In this short tutorial i will try to explain the basic difference between the two modes and the advantages/disadvantages in using the either of the two. This post will help the newbies putting their step in embedded field to easily understand the two modes. Character lcd’s come in many sizes 8×1 , 8×2 , 10×2 , 16×1 , 16×2 , 16×4 , 20×2 , 20×4 ,24×2 , 30×2 , 32×2 , 40×2 etc. Each character lcd has 8-bit data port to connect with external controllers.All the character lcds can be used in 8-bit as well as 4-bit mode.
I assume that you have an introduction to character lcds and know about their internal structure, pin out, registers, commands etc. If you don’t I recommend to first take the introduction tutorial and then resume with this post.
lcd 4bit and 8bit mode – Major difference
Since character lcd’s has 8 data pins so they accept only 8-bit data. Character datatype is 8-bit wide. So character values can easily be send to lcd. This mode is know as 8-bit mode in which we send an 8-bit value such as character or ASCII value to lcd.
In 4 bit mode only four data pins are used. Character 8-bit ASCII value is divided in to two 4-bit nibbles. High nibble is sent first following by the lower nibble. So in theory two strokes are needed to send a character(8-bit) to lcd when we are using lcd in 4-bit mode.
In contrast in 8-bit communication mode, 8-bit ASCII value of character is send in a single stroke to lcd.
Thus the 4-bit mode generates latency. Although 4-bit mode generates latency it on the other hand saves 4 gpio(general purpose input out pins) of the external controller sending data to lcd. Which can be utilized else where.
The gif animation below explains the difference between 4-bit and 8-bit mode very beautifully.
Lcd in 4-bit mode
Commands used to initialize the 4-bit lcd mode
Some Projects made using character lcd in 4-bit mode.
Lcd in 8-bit mode
Commands used to initialize the 8-bit lcd mode are
Some Projects made using character lcd in 8-bit mode.