<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6826829108387429225</id><updated>2011-11-28T04:59:49.916+05:30</updated><title type='text'>LCD Interfacing and Microcontroller</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://lcdinterfacing.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6826829108387429225/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://lcdinterfacing.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Nimish H Dave</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>6</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6826829108387429225.post-8118227193898167825</id><published>2010-06-06T22:05:00.000+05:30</published><updated>2010-06-06T22:05:18.107+05:30</updated><title type='text'>LCD Interfacing using PIC16F877A</title><content type='html'>PIC16F877A is used here to display message on the Hitachi HD44780-based character LCD module. PIC16F877A is 8-bit microcontroller based on reduced instruction set computer (RISC) architecture.Here PIC16F877A microcontroller is connected to HD44780 LCD in 4-bit interface data, only four bus lines (DB4 to DB7) are used for data transfer.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_LllTSBpdcwM/TAvOAbhy5pI/AAAAAAAAABM/_rOIKtjlceo/s1600/pic16f877_lcdoutput.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_LllTSBpdcwM/TAvOAbhy5pI/AAAAAAAAABM/_rOIKtjlceo/s320/pic16f877_lcdoutput.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;For more details visit &lt;a href="http://www.lcdinterfacing.info/Interface-LCD-PIC16F877A.php"&gt;www.lcdinterfacing.info/Interface-LCD-PIC16F877A.php&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6826829108387429225-8118227193898167825?l=lcdinterfacing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6826829108387429225/posts/default/8118227193898167825'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6826829108387429225/posts/default/8118227193898167825'/><link rel='alternate' type='text/html' href='http://lcdinterfacing.blogspot.com/2010/06/lcd-interfacing-using-pic16f877a.html' title='LCD Interfacing using PIC16F877A'/><author><name>Nimish H Dave</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_LllTSBpdcwM/TAvOAbhy5pI/AAAAAAAAABM/_rOIKtjlceo/s72-c/pic16f877_lcdoutput.JPG' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-6826829108387429225.post-5013619361538645281</id><published>2010-06-03T18:24:00.002+05:30</published><updated>2010-06-03T18:27:15.993+05:30</updated><title type='text'>20x4 LCD programming</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;b&gt;&lt;a href="http://www.lcdinterfacing.info/"&gt;www.lcdinterfacing.info&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Interface At89C51 to 20X4 character LCD.The program code is given in C and also Hex file is provided.LCD initialisation code,working of control pins and Busy flag polling codes&amp;nbsp; .&lt;br /&gt;&lt;b&gt;&amp;nbsp;Out put&lt;/b&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_LllTSBpdcwM/TAemZEozPyI/AAAAAAAAABE/8gcRdWTEkiI/s1600/C_lcd+output.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_LllTSBpdcwM/TAemZEozPyI/AAAAAAAAABE/8gcRdWTEkiI/s320/C_lcd+output.bmp" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;For more details &lt;a href="http://www.lcdinterfacing.info/"&gt;www.lcdinterfacing.info&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6826829108387429225-5013619361538645281?l=lcdinterfacing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6826829108387429225/posts/default/5013619361538645281'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6826829108387429225/posts/default/5013619361538645281'/><link rel='alternate' type='text/html' href='http://lcdinterfacing.blogspot.com/2010/06/20x4-lcd-programming.html' title='20x4 LCD programming'/><author><name>Nimish H Dave</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_LllTSBpdcwM/TAemZEozPyI/AAAAAAAAABE/8gcRdWTEkiI/s72-c/C_lcd+output.bmp' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-6826829108387429225.post-5377485031035585012</id><published>2009-11-18T15:27:00.010+05:30</published><updated>2010-06-03T08:49:10.219+05:30</updated><title type='text'>KS0108B Graphic LCD Interfacing</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;a href="http://www.lcdinterfacing.info/"&gt;&lt;span style="font-size: 100%; font-weight: bold;"&gt;www.lcdinterfacing.info&lt;/span&gt;&lt;/a&gt; &lt;/div&gt;&lt;span style="font-size: 100%; font-weight: bold;"&gt;Intoduction&lt;/span&gt;&lt;span style="font-size: 100%;"&gt; &lt;br /&gt;In this webpage, we describe how a display using the popular KS0108B controller can be driven by an 8051 or compatible microcontroller. Here we have used 128x64 pixels graphic display module with KS0108B display driver. It has the internal display RAM for storing the display data transferred from a 8 bit micro controller and generates the dot matrix Liquid crystal driving signals corresponding to stored data&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 100%;"&gt;&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 100%;"&gt;You can see the output is generated on the graphic LCD having driver KS0108 using 8051 microcontroller.&lt;/span&gt;&lt;span style="font-size: 100%;"&gt;&lt;a href="http://2.bp.blogspot.com/_LllTSBpdcwM/SwPHQ2rpEoI/AAAAAAAAAA8/XJmopU3H6zw/s1600/KS0108B_lcd_output.bmp" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5405383070145122946" src="http://2.bp.blogspot.com/_LllTSBpdcwM/SwPHQ2rpEoI/AAAAAAAAAA8/XJmopU3H6zw/s320/KS0108B_lcd_output.bmp" style="display: block; height: 198px; margin: 0px auto 10px; text-align: center; width: 320px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 100%;"&gt;find more &lt;a href="http://www.lcdinterfacing.info/"&gt;www.lcdinterfacing.info&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;meta content="text/html; charset=utf-8" equiv="Content-Type"&gt;&lt;/meta&gt;&lt;meta content="Word.Document" name="ProgId"&gt;&lt;/meta&gt;&lt;meta content="Microsoft Word 12" name="Generator"&gt;&lt;/meta&gt;&lt;meta content="Microsoft Word 12" name="Originator"&gt;&lt;/meta&gt;&lt;link href="file:///C:%5CDOCUME%7E1%5CAPT-SI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml" rel="File-List"&gt;&lt;/link&gt;&lt;link href="file:///C:%5CDOCUME%7E1%5CAPT-SI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx" rel="themeData"&gt;&lt;/link&gt;&lt;link href="file:///C:%5CDOCUME%7E1%5CAPT-SI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml" rel="colorSchemeMapping"&gt;&lt;/link&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:narylim&gt;&lt;/m:intlim&gt; &lt;/m:wrapindent&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face 	{font-family:Wingdings; 	panose-1:5 0 0 0 0 0 0 0 0 0; 	mso-font-charset:2; 	mso-generic-font-family:auto; 	mso-font-pitch:variable; 	mso-font-signature:0 268435456 0 0 -2147483648 0;} @font-face 	{font-family:"Cambria Math"; 	panose-1:2 4 5 3 5 4 6 3 2 4; 	mso-font-charset:1; 	mso-generic-font-family:roman; 	mso-font-format:other; 	mso-font-pitch:variable; 	mso-font-signature:0 0 0 0 0 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman","serif"; 	mso-fareast-font-family:"Times New Roman";} .MsoChpDefault 	{mso-style-type:export-only; 	mso-default-props:yes; 	font-size:10.0pt; 	mso-ansi-font-size:10.0pt; 	mso-bidi-font-size:10.0pt;} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.0in 1.0in 1.0in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;  &lt;/m:defjc&gt;&lt;/m:rmargin&gt;&lt;/m:lmargin&gt;&lt;/m:dispdef&gt;&lt;/m:smallfrac&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="font-weight: bold;"&gt;&lt;br /&gt;&lt;span style="font-size: 100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="font-weight: bold;"&gt;&lt;span style="font-size: 100%;"&gt;                      &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="font-weight: bold;"&gt;&lt;span style="font-size: 100%;"&gt;      &lt;/span&gt;&lt;span style="font-size: 100%;"&gt;                &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="font-weight: bold;"&gt;&lt;span style="font-size: 100%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="font-weight: bold;"&gt;&lt;span style="font-size: 100%;"&gt;                   &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="font-weight: bold;"&gt;&lt;span style="font-size: 100%;"&gt;&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-size: 100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-size: 100%;"&gt; &lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: 100%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6826829108387429225-5377485031035585012?l=lcdinterfacing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6826829108387429225/posts/default/5377485031035585012'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6826829108387429225/posts/default/5377485031035585012'/><link rel='alternate' type='text/html' href='http://lcdinterfacing.blogspot.com/2009/11/ks0108b-graphic-lcd-interfacing.html' title='KS0108B Graphic LCD Interfacing'/><author><name>Nimish H Dave</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_LllTSBpdcwM/SwPHQ2rpEoI/AAAAAAAAAA8/XJmopU3H6zw/s72-c/KS0108B_lcd_output.bmp' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-6826829108387429225.post-2973371414053640287</id><published>2009-11-18T13:41:00.007+05:30</published><updated>2010-06-03T08:51:11.525+05:30</updated><title type='text'>User defined lcd character</title><content type='html'>&lt;span style="font-size: 100%;"&gt; &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size: 100%; font-weight: bold;"&gt;&lt;a href="http://www.lcdinterfacing.info/"&gt;www.lcdinterfacing.info&lt;/a&gt;&lt;/span&gt; &lt;/div&gt;&lt;span style="font-size: 100%;"&gt; &lt;br /&gt;&lt;/span&gt;&lt;meta content="text/html; charset=utf-8" equiv="Content-Type"&gt;&lt;/meta&gt;&lt;meta content="Word.Document" name="ProgId"&gt;&lt;/meta&gt;&lt;meta content="Microsoft Word 12" name="Generator"&gt;&lt;/meta&gt;&lt;meta content="Microsoft Word 12" name="Originator"&gt;&lt;/meta&gt;&lt;link href="file:///C:%5CDOCUME%7E1%5CAPT-SI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml" rel="File-List"&gt;&lt;/link&gt;&lt;link href="file:///C:%5CDOCUME%7E1%5CAPT-SI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx" rel="themeData"&gt;&lt;/link&gt;&lt;link href="file:///C:%5CDOCUME%7E1%5CAPT-SI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml" rel="colorSchemeMapping"&gt;&lt;/link&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:narylim&gt;&lt;/m:intlim&gt; &lt;/m:wrapindent&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face 	{font-family:"Cambria Math"; 	panose-1:2 4 5 3 5 4 6 3 2 4; 	mso-font-charset:0; 	mso-generic-font-family:roman; 	mso-font-pitch:variable; 	mso-font-signature:-1610611985 1107304683 0 0 159 0;} @font-face 	{font-family:Verdana; 	panose-1:2 11 6 4 3 5 4 4 2 4; 	mso-font-charset:0; 	mso-generic-font-family:swiss; 	mso-font-pitch:variable; 	mso-font-signature:536871559 0 0 0 415 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman","serif"; 	mso-fareast-font-family:"Times New Roman";} .MsoChpDefault 	{mso-style-type:export-only; 	mso-default-props:yes; 	font-size:10.0pt; 	mso-ansi-font-size:10.0pt; 	mso-bidi-font-size:10.0pt;} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.0in 1.0in 1.0in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;  &lt;/m:defjc&gt;&lt;/m:rmargin&gt;&lt;/m:lmargin&gt;&lt;/m:dispdef&gt;&lt;/m:smallfrac&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="text-align: justify;"&gt;&lt;span style="font-size: 100%;"&gt;This webpage describes a simple technique to display characters from both internal character generator and user designed chracters on an LCD. &lt;/span&gt;&lt;span style="font-size: 100%;"&gt;The Hitachi HD44780U or a compatible controller is used here in 8-bit interface mode. The program code given here defines the custom characters and loads it into the character generator RAM (CGRAM).&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-size: 100%;"&gt;&lt;span style="font-weight: bold;"&gt;Output on HD44780U display driver compatible 16x2 LCD &lt;/span&gt;&lt;b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-size: 100%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-size: 100%;"&gt;The first line of the LCD contains inbuilt characters. The second line of the LCD contains user defined custom characters.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-size: 100%;"&gt; &lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: 100%;"&gt;&lt;a href="http://4.bp.blogspot.com/_LllTSBpdcwM/SwOuUOm-QfI/AAAAAAAAAAc/2ZaQFdD0TOs/s1600/customlcd_output.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5405355640316903922" src="http://4.bp.blogspot.com/_LllTSBpdcwM/SwOuUOm-QfI/AAAAAAAAAAc/2ZaQFdD0TOs/s320/customlcd_output.JPG" style="cursor: pointer; display: block; height: 130px; margin: 0px auto 10px; text-align: center; width: 320px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-size: 100%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-size: 100%;"&gt;&lt;span style="font-weight: bold;"&gt;&amp;nbsp;find more &lt;a href="http://www.lcdinterfacing.info/"&gt;www.lcdinterfacing.info&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify;"&gt;&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6826829108387429225-2973371414053640287?l=lcdinterfacing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6826829108387429225/posts/default/2973371414053640287'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6826829108387429225/posts/default/2973371414053640287'/><link rel='alternate' type='text/html' href='http://lcdinterfacing.blogspot.com/2009/11/user-defined-lcd-character.html' title='User defined lcd character'/><author><name>Nimish H Dave</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_LllTSBpdcwM/SwOuUOm-QfI/AAAAAAAAAAc/2ZaQFdD0TOs/s72-c/customlcd_output.JPG' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-6826829108387429225.post-1179341629313477075</id><published>2008-05-31T18:02:00.002+05:30</published><updated>2009-10-11T10:07:44.408+05:30</updated><title type='text'>Key to LCD interfacing</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;a href="http://www.lcdinterfacing.info"&gt;www.lcdinterfacing.info&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;Liquid crystal display is very important device in embedded system. It offers high flexibility to user as he can display the required data on it. But due to lack of proper approach to LCD interfacing many of them fail. Many people consider LCD interfacing a complex job but according to me LCD interfacing is very easy task, you just need to have a logical approach. This page is to help the enthusiast who wants to interface LCD with through understanding. Copy and Paste technique may not work when an embedded system engineer wants to apply LCD interfacing in real world projects.&lt;br /&gt;&lt;br /&gt;You will be knowing about the booster rockets on space shuttle. Without these booster rockets the space shuttle would not launch in geosynchronous orbit. Similarly to understand LCD interfacing you need to have booster rockets attached! To get it done right you must have general idea how to approach any given LCD.This page will help you develop logical approach towards LCD interfacing.&lt;br /&gt;&lt;br /&gt;First thing to begin with is to know what LCD driver/controller is used in LCD.Yes, your LCD is dumb it does not know to talk with your microcontroller. LCD driver is a link between the microcontroller and LCD. You can refer the datasheet of LCD to know the LCD driver for e.g. JHD 162A is name of LCD having driver HD44780U.You have to interface the LCD according to the driver specification. To understand the algorithm of LCD interfacing user must have datasheet of both LCD and LCD driver. Many people ignore the datasheets and end up in troubles. If you want to interface LCD successfully you must have datasheets.&lt;br /&gt;&lt;br /&gt;Why people ignore datasheets? Most of us do not like to read 100 pages of datasheet. But for a accurate technical specification datasheets are must. I will show you a technique to manipulate a datasheet within minutes.&lt;br /&gt;&lt;br /&gt;First thing to find out in datasheet is the features viz. operating voltage, type of interface, maximum speed for interface in MHz, size of display data RAM, number of pixels, bits per pixel, number  of row and columns.&lt;br /&gt;You must have the pin diagram of LCD.Pin diagram of LCD driver can be omitted.&lt;br /&gt;Study the type of communication protocol whether it is parallel or serial interface. Check how LCD discriminates data bytes and command bytes, which pins on LCD are used for communication. Study Interface timing diagram given in the datasheet.&lt;br /&gt;From datasheet of LCD driver find out whether hardware reset is required at startup, what is the time of reset pulse, is it active low and which pins of LCD are to be toggled.&lt;br /&gt;Major task in LCD interfacing is the initialization sequence. In LCD initialization you have to send command bytes to LCD. Here you set the interface mode, display mode, address counter increment direction, set contrast of LCD, horizontal or vertical addressing mode, color format. This sequence is given in respective LCD driver datasheet. Studying the function set of LCD lets you know the definition of command bytes. It varies from one LCD to another. If you are able to initialize the LCD properly 90% of your job is done.&lt;br /&gt;Next step after initialization is to send data bytes to required display data RAM memory location. Firstly set the address location using address set command byte and than send data bytes using the DDRAM write command. To address specific location in display data RAM one must have the knowledge of how the address counter is incremented.&lt;br /&gt;&lt;br /&gt;Go to Next Post to understand the LCD interfacing concepts with clarity.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6826829108387429225-1179341629313477075?l=lcdinterfacing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6826829108387429225/posts/default/1179341629313477075'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6826829108387429225/posts/default/1179341629313477075'/><link rel='alternate' type='text/html' href='http://lcdinterfacing.blogspot.com/2008/05/key-to-lcd-interfacing.html' title='Key to LCD interfacing'/><author><name>Nimish H Dave</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6826829108387429225.post-2349629144646357239</id><published>2008-05-24T23:56:00.003+05:30</published><updated>2009-10-11T10:05:29.977+05:30</updated><title type='text'>LCD interfacing Tutorials</title><content type='html'>&lt;h3 style="font-weight: bold;" class="post-title entry-title"&gt;&lt;span style="font-size:100%;"&gt;&lt;a href="http://lcdinterfacing.blogspot.com/2008/05/color-lcd-interfacing-with-at89c51.html"&gt;Color LCD interfacing with AT89C51&lt;/a&gt;&lt;/span&gt;&lt;/h3&gt;&lt;h3 style="font-weight: bold;" class="post-title entry-title"&gt;&lt;span style="font-size:100%;"&gt;This is an excellent tutorial to begin with color lcd interfacing.Nokia 6610 lcd with Philips PCF 8833 dreiver is used here.LCD pinouts and interface diagram with micro controller is given here.It explains 9-bit SPI protocol with reset timing.Details on color interface of pixel and information on pixel color format is given.Addressing a pixel and displaying a 256 color image is also shown.It has free programming code which helps to understand the programming sequence of Nokia6610 lcd.&lt;br /&gt;&lt;/span&gt;&lt;/h3&gt;&lt;span style="font-size:100%;"&gt;&lt;a href="http://www.lcdinterfacing.info/Interface-Nokia-6610-LCD.php"&gt;http://www.lcdinterfacing.info/Interface-Nokia-6610-LCD.php&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;h3 style="font-weight: bold;" class="post-title entry-title"&gt; &lt;span style="font-size:100%;"&gt;&lt;a href="http://lcdinterfacing.blogspot.com/2008/05/graphic-lcd-interfacing-with-at89c51.html"&gt;Graphic LCD Interfacing with AT89C51&lt;/a&gt;&lt;/span&gt; &lt;/h3&gt;   &lt;p style="font-weight: bold;"&gt;&lt;span style="font-size:100%;"&gt;This is a tutorial on graphic lcd interfacing with AT89C51.Nokia3310 is used as graphic lcd.It has 48x84 pixels.Programming algorithm is for PCD 8544 lcd driver.LCD pin outs and circuits diagram are given.It has complete details on display data RAM (DDRAM) and addressing a pixel with different modes.Serial Interfacing protocol is explained in detail with timing diagram.Very rare information on BMP to HEX conversion is also listed here.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-weight: bold;"&gt;&lt;a href="http://www.lcdinterfacing.info/Nokia-3310-LCD-Interface.php"&gt;http://www.lcdinterfacing.info/Nokia-3310-LCD-Interface.php&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="font-weight: bold;"&gt;&lt;span style="font-size:100%;"&gt;&lt;a href="http://lcdinterfacing.googlepages.com/nokia3310"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;" class="post-icons"&gt;&lt;span class="item-control blog-admin pid-716663376"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6826829108387429225&amp;amp;postID=4877386019576966914" title="Edit Post"&gt; &lt;/a&gt; &lt;/span&gt; &lt;/span&gt;&lt;/span&gt;  &lt;div style="font-weight: bold;" class="post-footer-line post-footer-line-2"&gt;&lt;span style="font-size:100%;"&gt;&lt;span class="post-labels"&gt; &lt;/span&gt;&lt;/span&gt; &lt;/div&gt;    &lt;div style="font-weight: bold;" class="post hentry"&gt; &lt;span style="font-size:100%;"&gt;&lt;a name="5574163664266041185"&gt;&lt;/a&gt;&lt;/span&gt; &lt;h3 class="post-title entry-title"&gt; &lt;span style="font-size:100%;"&gt;&lt;a href="http://lcdinterfacing.blogspot.com/2008/05/lcd-interfacing-with-at89c51.html"&gt;LCD Interfacing with AT89C51&lt;/a&gt;&lt;/span&gt; &lt;/h3&gt;  &lt;div class="post-body entry-content"&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;This is a tutorial on alphanumeric 16x2 lcd interfacing with AT89C51.The programming algorithm is compatible with HITACHI HD44780U lcd controller .Complete programming code is given with neat circuit diagram.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;a href="http://www.lcdinterfacing.info/Interface-LCD-to-8051.php"&gt;http://www.lcdinterfacing.info/Interface-LCD-to-8051.php&lt;/a&gt;&lt;h3 class="post-title entry-title"&gt; &lt;span style="font-size:100%;"&gt;&lt;a href="http://lcdinterfacing.blogspot.com/2008/05/lcd-interfacing-using-visual-basic.html"&gt;LCD interfacing using Visual Basic&lt;/a&gt;&lt;/span&gt; &lt;/h3&gt;   &lt;p&gt;&lt;span style="font-size:100%;"&gt;This is a easy tutorial on interfacing LCD module to parallel port of your computer.Visual basic is used to program the interface between LCD and parallel port.There is open source VB code which works under Windows Xp.It also shows how to use inpout32.dll and port.dll&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;a href="http://www.lcdinterfacing.info/Interfacing-LCD-with-VB6.php"&gt;http://www.lcdinterfacing.info/Interfacing-LCD-with-VB6.php&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6826829108387429225-2349629144646357239?l=lcdinterfacing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6826829108387429225/posts/default/2349629144646357239'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6826829108387429225/posts/default/2349629144646357239'/><link rel='alternate' type='text/html' href='http://lcdinterfacing.blogspot.com/2008/05/color-lcd-interfacing-with-at89c51.html' title='LCD interfacing Tutorials'/><author><name>Nimish H Dave</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry></feed>
