<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Embedded-Code.com &#187; Displays</title>
	<atom:link href="http://www.embedded-code.com/source-code/category/displays/feed" rel="self" type="application/rss+xml" />
	<link>http://www.embedded-code.com/source-code</link>
	<description></description>
	<lastBuildDate>Fri, 27 Jan 2012 10:18:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>Universal Graphic Display Driver</title>
		<link>http://www.embedded-code.com/source-code/displays/graphic_screens/universal-graphic-display-driver</link>
		<comments>http://www.embedded-code.com/source-code/displays/graphic_screens/universal-graphic-display-driver#comments</comments>
		<pubDate>Thu, 12 May 2011 14:32:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Color, Grayscale and Monochrome Screens]]></category>

		<guid isPermaLink="false">http://www.embedded-code.com/source-code/?p=252</guid>
		<description><![CDATA[[ProductCodeName:displays_universal_graphic_display_driver] [product_image:/images/products/product_universal_display_driver.png] [product_price_private:55.00] (0 = not available) [product_price_commercial:100.00] [product_price_upgrade:65.00] (0 = not available) [product_price_renew:25.00] (0 = not available) [ProductType:0] (0=normal, 1=quick project (must be 1 char) [product_attributes_end] [product_section_start:product_page_section_overview.png] Graphic display allow embedded devices to provide rich graphical user interfaces and at ever reducing cost. However successfully using graphic displays comes with the problem of a [...]]]></description>
			<content:encoded><![CDATA[<p>[ProductCodeName:displays_universal_graphic_display_driver]<br />
[product_image:/images/products/product_universal_display_driver.png]<br />
[product_price_private:55.00] (0 = not available)<br />
[product_price_commercial:100.00]<br />
[product_price_upgrade:65.00] (0 = not available)<br />
[product_price_renew:25.00] (0 = not available)<br />
[ProductType:0] (0=normal, 1=quick project (must be 1 char)<br />
[product_attributes_end]<br />
<span id="more-252"></span></p>
<p>[product_section_start:product_page_section_overview.png]</p>
<p>Graphic display allow embedded devices to provide rich graphical user   interfaces and at ever reducing cost.  However successfully using   graphic displays comes with the problem of a great deal of complexity. The   solution for some engineers is to use an off the shelf GUI module from a   vendor which incorporates a processor and proprietary software to   provide the graphic display functionality for them, but at a much higher   production cost.  With colour displays starting at &lt; $10 these days   and with typical low cost embedded processors being more than capable   enough of driving them paying for GUI modules can be a very false   economy.  This universal graphic display driver removes much of the   complexity of driving graphic displays and allows you to simply display   bitmaps of any size and Unicode text strings using user adjustable  fonts  anywhere on a screen. Once you have this capability using a  graphic  screen is easy and it’s a simple matter to add any special  features you  need for your application, such as menus, animated  graphics, graphs and  more.</p>
<p><a href="http://www.embedded-code.com/source-code/wp-content/uploads/2011/05/universal_disp_driver1.png"><img class="size-full wp-image-310 alignleft" title="universal_disp_driver1" src="http://www.embedded-code.com/source-code/wp-content/uploads/2011/05/universal_disp_driver1.png" alt="" width="205" height="200" /></a>Still, designing graphic screen layouts in code, even with a  versatile driver, can be a tedious task for more complex projects and a  benefit of many GUI modules is that they provide some sort of PC  software to facilitate the graphic user interface design.  Often this  software isn&#8217;t particularly friendly or universal, but it&#8217;s better than  designing from the source code level.  This driver takes things one step  better and will read HTML files, allowing you to design your screen  layouts using Dreamweaver web authoring software if you wish.  Not only  can this drastically reduce the time and hassle to design user  interfaces, it also allows you to design and demonstrate user interface  designs before the hardware has been created and also allows non  programmers to design screen layouts using software many designers are already familiar with.</p>
<p>The last remaining issue for graphical user interfaces is typically  fonts and supporting languages with non ASCII character sets.  This  driver solves that problem by being designed with full Unicode support  and to work with the fonts produced by the great <a href="http://www.iseasoft.com/bitfontcreatorpro.htm" target="_blank">Iseatech Bit Font Creator Pro</a> software.  The driver is supplied with several fonts implementing the  standard extended ASCII character set which may be used as is.   Purchasing Bit Font Creator Pro from Iseatech allows you to edit these  included fonts, add new Unicode characters and to also create your own  new fonts from any font installed on your Windows PC.</p>
<p><a href="http://www.embedded-code.com/source-code/wp-content/uploads/2011/05/3V3-With-Screen-Side-View-40mm-high.jpg"><img class="alignright size-medium wp-image-320" title="3V3 With Screen Side View - 40mm high" src="http://www.embedded-code.com/source-code/wp-content/uploads/2011/05/3V3-With-Screen-Side-View-40mm-high-300x287.jpg" alt="" width="147" height="141" /></a>As well as  displaying ASCII text strings in standard ‘monospace’ fixed  pitch mode  (each character takes the same horizontal space regardless of  its  actual width), this driver also allows you to use font&#8217;s created as   proportional width. This makes lines of text much more attractive and   natural to read and typically allows you to fit additional characters   across a screen, as each character only uses as much width as is   required to display it. Left, centre or right alignment functions   provides the complete toolbox of text display capabilities.</p>
<p>The  included Display Files Convert PC application will read all of your   source font, bitmap, html and css files and convert them ready for use   in your application. It&#8217;s output may either be as a standard C header   file, allowing all of your source file data to be simply included in   your microcontrollers program memory when you compile, or as a binary  file for you to  store in external flash memory with a generated C  header file used by the driver  to locate each files start address.</p>
<p>Once  you have these capabilities using a graphic screen is easy and it’s  a  simple matter to add any special user interface features you require   for your application, such as menus, animated graphics, graphs and more.   One of the great advantages of this driver is that it provides you  with  very simple but very powerful control over everything you display  on  the screen, allowing you to implement your display, and any user   interface functionality, exactly as you want it down to the individual  pixel.</p>
<p>[product_section_start:product_page_section_details.png]</p>
<p><strong>Main features:</strong></p>
<ul>
<li>Designed for use with color, grayscale and monochrome displays.</li>
</ul>
<ul>
<li>Use your display in any of the 4 possible orientations.</li>
</ul>
<ul>
<li>Display .BMP bitmap files of any size anywhere on the screen.</li>
</ul>
<ul>
<li>Display Unicode text strings using user adjustable monospace or proportional width fonts anywhere on a screen.*</li>
</ul>
<ul>
<li>Display text strings with left, centre or right alignment.  Display a single line of text, or multiple lines contained within a definable region.</li>
</ul>
<ul>
<li>Design your screen layouts in code or as HTML files using Dreamweaver web authoring software.  This driver parses HTML source files.</li>
</ul>
<ul>
<li>Optional touchscreen support &#8211; parsed HTML file links may be passed to your application with screen coordinates so it can dynamically process screen touch events</li>
</ul>
<ul>
<li>Use the included PC Display Files Converter Application to convert your source font, bitmap, html and css files ready for use in your application.</li>
</ul>
<ul>
<li>No reliance on special display Controller IC features &#8211; generic driver suited to all types of display controllers where data is written per pixel.</li>
</ul>
<ul>
<li>No requirements to use your display in pre-defined ways – use your display exactly as you want with your user interface implemented exactly as you want it, down to the individual pixel!</li>
</ul>
<ul>
<li>Fast optimised source code.</li>
</ul>
<ul>
<li>No reliance on compiler specific libraries.</li>
</ul>
<ul>
<li>Full source code supplied for you to use and modify as required.</li>
</ul>
<p>(* N.B. To create new fonts and edit fonts you need to purchase BitFontCreator Pro 3.0 from Iseatech Software)</p>
<p>This driver can’t quite remove all of the  complexity for you as you  will still need to configure the screen  access functions to suit the  particular screen / driver IC you are  using. This has been made as  simple as possible, and some sample screen  models are included for you  to copy and modify as required. See the  technical manual for more  details.</p>
<p>The driver code has been  designed using ANSI compliant C compilers.   Using the driver with other  ANSI compliant C compilers and with other  processors /  microcontrollers should not present significant problems,  but you  should ensure that you have sufficient programming expertise to  carry  out any modifications that may be required to the source code.    Embedded-code.com source code is written to be very easy to understand   by programmers of all levels.  The code is very highly commented with no   lazy programming techniques.  All function, variable and constant  names  are fully descriptive to help you modify and expand the code with  ease.</p>
<p>The driver and associated files are provided under a  licence  agreement.  Please see www.embedded-code.com/licence.php for  full  details.</p>
<p>The remainder of this manual provides a wealth of  technical  information about the driver as well as useful guides to get  you going.   We welcome any feedback on this manual and the driver.</p>
<div style="width: 630px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; background-color: #ffeac1; margin: 2px; border: 2px solid #000000; background-image: url(http://www.embedded-code.com/images/bfcp_logo.png); background-position: left; background-repeat: no-repeat; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 60px; color: #000000;"><strong>Design Your Own Bitmap Fonts With Ease</strong><br />
Iseatech&#8217;s <a href="http://www.iseasoft.com/bitfontcreatorpro.htm" target="_blank">Bit Font Creator Pro</a> provides excellent font design and editing capabilities. Design bitmap fonts from installed Windows fonts and create your own special characters with ease. The Universal Graphic Display Driver is designed to use Unicode fonts created with Bit Font Creator Pro.</div>
<p>[product_section_start:product_page_section_specifications.png]</p>
<p><strong>Hardware Specifications</strong><br />
The driver is designed to support all types of parallel and serial screen interfaces.<br />
For full specifications please see the project technical manual.</p>
<p>[product_section_start:product_page_section_compilers.png]</p>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="15" align="left" valign="middle"></td>
<td width="10"></td>
<td></td>
</tr>
<tr>
<td width="140" height="50" align="center" valign="middle">
<div><img src="/images/compilers/ansi_c_compiler.jpg" border="0" alt="" width="140" height="40" /></div>
</td>
<td class="main"></td>
<td class="main">
<div>This source code product is written in C and has been designed to be used with any ANSI compliant C compiler on any platform. Direct compatibility has been tested with the compilers and processors / microcontrollers listed below. Using the driver with other ANSI compliant C compilers and devices should not present significant problems.</div>
</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="15" align="left" valign="middle"></td>
<td width="10"></td>
<td></td>
</tr>
<tr>
<td width="140" height="50" align="center" valign="middle">
<div><a href="http://www.microchip.com/" target="_blank"><img src="/images/compilers/microchip_small_logo.gif" border="0" alt="" width="37" height="39" /></a></div>
</td>
<td class="main"></td>
<td class="main">
<div>Tested with the Microchip C32 MPLAB C Compiler for PIC32  family of 32bit microcontrollers with sample project included. Free version of the compiler available from Microchip.</div>
</td>
</tr>
</tbody>
</table>
<p>[product_section_start:product_page_section_documentation.png]</p>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="15" align="left" valign="middle"></td>
<td></td>
</tr>
<tr>
<td width="60" align="left" valign="middle">
<div><a href="http://www.graphic-display-source-code-driver.com/gui/" target="_blank"><img src="/images/icons/book_icon_boxed.gif" border="0" alt="" width="46" height="46" /></a></div>
</td>
<td class="main">View the project technical manual</td>
</tr>
<tr>
<td height="15"></td>
<td></td>
</tr>
<tr>
<td height="20"><a href="http://www.graphic-display-source-code-driver.com/gui/category/revision-history" target="_blank"><img src="/images/icons/pdf_icon_boxed.gif" border="0" alt="" width="46" height="46" /></a></td>
<td class="main">View the most recent project revision history (useful for past customers to check for any modifications since they received their files)</td>
</tr>
<tr>
<td height="20"></td>
<td></td>
</tr>
</tbody>
</table>
<p>[product_section_start:product_page_section_sample_files.png]</p>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="15" align="left" valign="middle"></td>
<td></td>
</tr>
<tr>
<td width="60" align="left" valign="middle">
<div><a href="/download/universal_graphic_display_driver_sample_project_files.zip" target="_blank"><img src="/images/icons/zip_boxed.gif" border="0" alt="" width="46" height="46" /></a></div>
</td>
<td class="main">Download sample source code files</td>
</tr>
<tr>
<td height="20"></td>
<td></td>
</tr>
</tbody>
</table>
<p>[product_section_start:product_info_include_1]</p>
<p>[product_section_start:place_order]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.embedded-code.com/source-code/displays/graphic_screens/universal-graphic-display-driver/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Monochrome Screen Driver</title>
		<link>http://www.embedded-code.com/source-code/displays/monochrome-screens/monochrome-screen-driver</link>
		<comments>http://www.embedded-code.com/source-code/displays/monochrome-screens/monochrome-screen-driver#comments</comments>
		<pubDate>Mon, 05 Apr 2010 12:12:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Monochrome Screens]]></category>

		<guid isPermaLink="false">http://www.embedded-code.com/source-code/?p=128</guid>
		<description><![CDATA[[ProductCodeName:displays_monochrome_screens_monochrome_screen_driver] [product_image:/images/products/product_monochrome_screen_driver.png] [product_price_private:40.00] (0 = not available) [product_price_commercial:80.00] [product_price_upgrade:45.00] (0 = not available) [product_price_renew:25.00] (0 = not available) [ProductType:0] (0=normal, 1=quick project (must be 1 char) [product_attributes_end] [product_section_start:product_page_section_overview.png] Please note this driver has been superseded by our Universal Graphic Display Driver. This driver is still suitable for applications where small memory size is important, but [...]]]></description>
			<content:encoded><![CDATA[<p>[ProductCodeName:displays_monochrome_screens_monochrome_screen_driver]</p>
<p>[product_image:/images/products/product_monochrome_screen_driver.png]</p>
<p>[product_price_private:40.00] (0 = not available)</p>
<p>[product_price_commercial:80.00]</p>
<p>[product_price_upgrade:45.00] (0 = not available)</p>
<p>[product_price_renew:25.00] (0 = not available)</p>
<p>[ProductType:0] (0=normal, 1=quick project (must be 1 char)</p>
<p>[product_attributes_end]<br />
<span id="more-128"></span></p>
<p>[product_section_start:product_page_section_overview.png]</p>
<p><span style="color: #ff6600;"><em>Please note this driver has been superseded by our <a href="http://www.embedded-code.com/source-code/displays/graphic_screens/universal-graphic-display-driver;">Universal Graphic Display Driver</a>.  This driver is still suitable for applications where small memory size is important, but for other applications the Universal Graphic Display Driver is often more suited due to its wider range of features and Unicode text support.</em></span></p>
<p>Graphic  screens look impressive and allow you to display images that a simple character based screen can’t provide. However this improvement comes at the cost of a great deal of complexity. This screen driver removes much of that complexity for you and allows you to simply display bitmaps of any size and ASCII text strings using user adjustable fonts anywhere on a screen. Once you have this capability using a graphic screen is easy and it’s a simple matter to add any special features you need for your application, such as menus, animated graphics, graphs and more.</p>
<p>[product_section_start:product_page_section_details.png]</p>
<p>This driver provides complete bitmap and string display capabilities on any standard mono graphic display, such as LCD, E Ink, LED, OLED and Vacuum Fluorescent monochrome screens.  Once configured, the driver removes you from all of the problems of byte updating of displays. There is no requirement to use bitmaps sized in 8 bit multiples or located at 8 bit positions on the screen – display any bitmap of any size wherever you want. The driver can use the  screen / display driver IC memory buffer for the display data rather than processor memory, resulting in a small RAM memory requirement for the driver, or a microcontroller / processor ram buffer for faster output or for when using screens that don&#8217;t proide the means to read back display data.</p>
<p>The included PC bitmap converter application will read all of your source .bmp bitmap files, created in a standard graphics package, and convert them into the selected format ready for use in your application. It will also convert special font .bmp bitmap files you can create to be used to display ASCII text strings. Options allow you to rotate your bitmap images and fonts before converting, allowing you to use a screen in any of the 4 possible orientations.</p>
<p>As well as displaying ASCII text strings in standard ‘monospace’ fixed pitch mode (each character takes the same horizontal space regardless of its actual width), this driver also allows you to display text in proportional mode. This makes lines of text much more attractive and natural to read and typically allows you to fit additional characters across a screen, as each character only uses as much width as is required to display it. Left, centre or right alignment and scrolling functions provides the complete toolbox of text display capabilities.</p>
<p>Once you have all these capabilities using a graphic screen is easy and it’s a simple matter to add any special user interface features you require for your application, such as menus, animated graphics, graphs and more.  One of the great advantages of this driver is that it provides you with very simple but very powerful control over everything you display on the screen, allowing you to implement your display, and any user interface, exactly as you want it down to the individual pixel.</p>
<p>This driver can’t quite remove all of the complexity for you as you will still need to configure the screen access functions to suit the particular screen you’re using. This has been made as simple as possible, and some sample screen models are included for you to copy and modify as required. See the technical manual for more details.</p>
<p><strong>Main features:</strong></p>
<ul>
<li>Display bitmaps of any size anywhere on the screen without having to worry about 8 bit size multiples or 8 bit boundaries.</li>
</ul>
<ul>
<li>Use your display in any of the 4 possible orientations.</li>
</ul>
<ul>
<li>Display monospace or proportional width text anywhere on the screen.</li>
</ul>
<ul>
<li>Left, centre or right text alignment and scrolling options.</li>
</ul>
<ul>
<li>Use the included PC Bitmap Converter Application to convert your source bitmap (.bmp) files ready for use with the driver.  Create your bitmaps using a standard graphics application.</li>
</ul>
<ul>
<li>Create your own fonts simply by creating a line of characters in a single bitmap file.</li>
</ul>
<ul>
<li>Output your bitmap source files as a C compliant header file or as a binary file using the Bitmap Converter Application.  Use the header file to include all of your bitmaps as part of the program memory – convert the files and they are immediately ready to use.  Use the binary file option to store your bitmaps as a single data block in external flash memory and provide the driver with a function to read the binary data byte by byte.  Use both methods if desired to split storage between on chip and external.</li>
</ul>
<ul>
<li>No requirements to use your display in pre-defined ways – use your display exactly as you want with your user interface implemented exactly as you want it, down to the individual pixel.</li>
</ul>
<ul>
<li>Use display memory instead of microcontroller / processor memory to buffer the display data, resulting in a very low ram requirement.  Alternatively use a local ram buffer for displays with no read capability or to improve speed.</li>
</ul>
<ul>
<li>Very fast optimised code but with a small program memory requirement.</li>
</ul>
<ul>
<li>No reliance on compiler specific libraries.</li>
</ul>
<ul>
<li>Full source code supplied for you to use and modify as required.</li>
</ul>
<p>[product_section_start:product_page_section_specifications.png]</p>
<p><strong>Hardware Specifications</strong></p>
<p>The driver is designed to support 8 bit parallel or serial screen interfaces.</p>
<p>For full specifications please see the project technical manual.</p>
<p>[product_section_start:product_page_section_compilers.png]</p>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="15" align="left" valign="middle"></td>
<td width="10"></td>
<td></td>
</tr>
<tr>
<td width="140" height="50" align="center" valign="middle">
<div><img src="/images/compilers/ansi_c_compiler.jpg" border="0" alt="" width="140" height="40" /></div>
</td>
<td class="main"></td>
<td class="main">
<div>This source code product is written in C and has been designed to be used with any ANSI compliant C compiler on any platform. Direct compatibility has been tested with the compilers and processors / microcontrollers listed below. Using the driver with other ANSI compliant C compilers and devices should not present significant problems.</div>
</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="15" align="left" valign="middle"></td>
<td width="10"></td>
<td></td>
</tr>
<tr>
<td width="140" height="50" align="center" valign="middle">
<div><a href="http://www.microchip.com/" target="_blank"><img src="/images/compilers/microchip_small_logo.gif" border="0" alt="" width="37" height="39" /></a></div>
</td>
<td class="main"></td>
<td class="main">
<div>Tested with the Microchip C18 MPLAB C Compiler for PIC18 family of 8 bit microcontrollers with sample project included. Free version of the compiler available from Microchip.</div>
</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="15" align="left" valign="middle"></td>
<td width="10"></td>
<td></td>
</tr>
<tr>
<td width="140" height="50" align="center" valign="middle">
<div><a href="http://www.microchip.com/" target="_blank"><img src="/images/compilers/microchip_small_logo.gif" border="0" alt="" width="37" height="39" /></a></div>
</td>
<td class="main"></td>
<td class="main">
<div>Tested with the Microchip C30 MPLAB C Compiler for PIC24 family of 16 bit microcontrollers and dsPIC  digital signal controllers with sample project included. Free version of the compiler available from Microchip.</div>
</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="15" align="left" valign="middle"></td>
<td width="10"></td>
<td></td>
</tr>
<tr>
<td width="140" height="50" align="center" valign="middle">
<div><a href="http://www.microchip.com/" target="_blank"><img src="/images/compilers/microchip_small_logo.gif" border="0" alt="" width="37" height="39" /></a></div>
</td>
<td class="main"></td>
<td class="main">
<div>Tested with the Microchip C32 MPLAB C Compiler for PIC32  family of 32bit microcontrollers with sample project included. Free version of the compiler available from Microchip.</div>
</td>
</tr>
</tbody>
</table>
<p>[product_section_start:product_page_section_documentation.png]</p>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="15" align="left" valign="middle"></td>
<td></td>
</tr>
<tr>
<td width="60" align="left" valign="middle">
<div><a href="http://www.graphic-display-source-code-driver.com/" target="_blank"><img src="/images/icons/book_icon_boxed.gif" border="0" alt="" width="46" height="46" /></a></div>
</td>
<td class="main">View the project technical manual</td>
</tr>
<tr>
<td height="15"></td>
<td></td>
</tr>
<tr>
<td height="20"><a href="http://www.graphic-display-source-code-driver.com/category/revision-history" target="_blank"><img src="/images/icons/pdf_icon_boxed.gif" border="0" alt="" width="46" height="46" /></a></td>
<td class="main">View the most recent project revision history (useful for past customers to check for any modifications since they received their files)</td>
</tr>
<tr>
<td height="20"></td>
<td></td>
</tr>
</tbody>
</table>
<p>[product_section_start:product_page_section_sample_files.png]</p>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="15" align="left" valign="middle"></td>
<td></td>
</tr>
<tr>
<td width="60" align="left" valign="middle">
<div><a href="/download/monochrome_screen_driver_sample_project_files.zip" target="_blank"><img src="/images/icons/zip_boxed.gif" border="0" alt="" width="46" height="46" /></a></div>
</td>
<td class="main">Download sample source code files</td>
</tr>
<tr>
<td height="20"></td>
<td></td>
</tr>
</tbody>
</table>
<p>[product_section_start:product_info_include_1]</p>
<p>[product_section_start:place_order]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.embedded-code.com/source-code/displays/monochrome-screens/monochrome-screen-driver/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HD44780 Compatible LCD Character Display Driver</title>
		<link>http://www.embedded-code.com/source-code/displays/lcd-character-displays/hd44780-compatible-lcd-character-display-driver</link>
		<comments>http://www.embedded-code.com/source-code/displays/lcd-character-displays/hd44780-compatible-lcd-character-display-driver#comments</comments>
		<pubDate>Mon, 05 Apr 2010 11:57:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[LCD Character Displays]]></category>

		<guid isPermaLink="false">http://www.embedded-code.com/source-code/?p=124</guid>
		<description><![CDATA[[product_image:/images/products/product_free_driver.png] [ProductType:1] (0=normal, 1=quick project (must be 1 char) [product_attributes_end] [product_section_start:product_page_section_overview.png] Most LCD Character displays are designed to be HD44780 compatible. This generic driver provides control of many different variants of these screens and operates in 4 bit mode to reduce the pins required from the microcontroller. [product_section_start:product_info_include_free_driver_top_box] [product_section_start:product_page_section_details.png] This driver provides the following features: [...]]]></description>
			<content:encoded><![CDATA[<p>[product_image:/images/products/product_free_driver.png]<br />
[ProductType:1] (0=normal, 1=quick project (must be 1 char)<br />
[product_attributes_end]<br />
<span id="more-124"></span></p>
<p>[product_section_start:product_page_section_overview.png]</p>
<p>Most LCD Character displays are designed to be HD44780 compatible. This generic driver provides control of many different variants of these screens and operates in 4 bit mode to  reduce the pins required from the microcontroller.</p>
<p>[product_section_start:product_info_include_free_driver_top_box]</p>
<p>[product_section_start:product_page_section_details.png]</p>
<p>This driver provides the following features:</p>
<ul>
<li> Compatible with most standard 1, 2 or 4 line displays with up to 40 characters</li>
<li>Reads the busy flag back from the LCD screen so that the display may be updated as quickly as possible</li>
<li> Functions in the background checking for being able to write the next character every time its main function is called, to avoid code execution stall when using slow displays.</li>
<li> Supports left, middle and right aligned text.</li>
<li> Display from constant program memory or variable ram memory.</li>
<li> Only store as many characters as required in program memory &#8211; Null character determines end of lines text an avoids wasted program memory space.</li>
<li> A simple driver that just drops in to your project and makes your life easier</li>
</ul>
<p>This driver provides the following functions:</p>
<p><span class="code_function_title">INITIALISE LCD</span><br />
<span class="code_function_definition">void lcd_initialise (void)</span><br />
Call on power-up</p>
<p><span class="code_function_title">UPDATE LCD DISPLAY</span><br />
<span class="code_function_definition">void lcd_update_display (void)</span><br />
Call as part of your main loop.  This function outputs characters to the display and exits if the display is currently busy to avoid application stall with slow displays.</p>
<p><span class="code_function_title">WRITE LINE OF LCD DISPLAY (Versions for constant and variable strings)</span><br />
<span class="code_function_definition">void lcd_display_const_string (BYTE line_number, BYTE alignment, CONSTANT BYTE *text_line)<br />
void lcd_display_variable_string (BYTE line_number, BYTE alignment, BYTE *text_line)</span><br />
Call these functions to display a line of text<br />
line_number	0 = top line<br />
alignment		LCD_ALIGN_LEFT, LCD_ALIGN_CENTER or, LCD_ALIGN_RIGHT<br />
text_line		Null terminated string</p>
<p><span class="code_function_title">IS SCREEN BUSY</span><br />
<span class="code_function_definition">BYTE lcd_is_screen_busy (void)</span><br />
Returns 1 if screen is still busy from last operation, 0 if not</p>
<p><span class="code_function_title">SEND HIGH AND LOW NIBBLES OF W TO LCD DATA REG</span><br />
<span class="code_function_definition">void lcd_write_data_byte (BYTE data)</span></p>
<p><span class="code_function_title">SEND HIGH AND LOW NIBBLES TO LCD CTRL REG</span><br />
<span class="code_function_definition">void lcd_write_control_byte (BYTE data)</span></p>
<p><span class="code_function_title">SEND HI NIBBLE OF W TO LCD CTRL REG</span><br />
<span class="code_function_definition">void lcd_write_ctrl_hi_nibble (BYTE data)</span></p>
<p><span class="code_function_title">SEND LO NIBBLE OF W TO LCD CTRL REG</span><br />
<span class="code_function_definition">void lcd_write_ctrl_lo_nibble (BYTE data)</span></p>
<p>Please view the sample source code files for full information regarding the driver.</p>
<p>[product_section_start:product_page_section_compilers.png]</p>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="15" align="left" valign="middle"></td>
<td width="10"></td>
<td></td>
</tr>
<tr>
<td width="140" height="50" align="center" valign="middle">
<div><img src="/images/compilers/ansi_c_compiler.jpg" border="0" alt="" width="140" height="40" /></div>
</td>
<td class="main"></td>
<td class="main">
<div>This source code product is written in C and has been designed to be used with any ANSI compliant C compiler on any platform. Direct compatibility has been tested with the compilers and processors / microcontrollers listed below. Using the driver with other ANSI compliant C compilers and devices should not present significant problems.</div>
</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="15" align="left" valign="middle"></td>
<td width="10"></td>
<td></td>
</tr>
<tr>
<td width="140" height="50" align="center" valign="middle">
<div><a href="http://www.microchip.com/" target="_blank"><img src="/images/compilers/microchip_small_logo.gif" border="0" alt="" width="37" height="39" /></a></div>
</td>
<td class="main"></td>
<td class="main">
<div>Tested with the Microchip C18 MPLAB C Compiler for PIC18 family of 8 bit microcontrollers. Free version of the compiler available from Microchip.</div>
</td>
</tr>
</tbody>
</table>
<p>[product_section_start:product_page_section_project_files.png]</p>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="6"></td>
<td></td>
</tr>
<tr>
<td width="60" align="left" valign="middle">
<div><a href="http://dl.dropbox.com/u/20637505/_Programming/C_Lib/Generic_Header_File/EC/main.h" target="_blank"><img src="/images/icons/download_file.png" border="0" alt="" width="36" height="36" /></a></div>
</td>
<td class="main">Download our generic header file</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="6"></td>
<td></td>
</tr>
<tr>
<td width="60" align="left" valign="middle">
<div><a href="http://dl.dropbox.com/u/20637505/_Programming/C_Lib/Display/LCD_Character_HD44780_Compatible-EC/lcd-text.h" target="_blank"><img src="/images/icons/download_file.png" border="0" alt="" width="36" height="36" /></a></div>
</td>
<td class="main">Download driver .h header file</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="6"></td>
<td></td>
</tr>
<tr>
<td width="60" align="left" valign="middle">
<div><a href="http://dl.dropbox.com/u/20637505/_Programming/C_Lib/Display/LCD_Character_HD44780_Compatible-EC/lcd-text.c" target="_blank"><img src="/images/icons/download_file.png" border="0" alt="" width="36" height="36" /></a></div>
</td>
<td class="main">Download driver .c code file</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="6"></td>
<td></td>
</tr>
<tr>
<td width="60" align="left" valign="middle">
<div><a href="http://dl.dropbox.com/u/20637505/_Programming/C_Lib/Display/LCD_Character_HD44780_Compatible-EC/HD44780.pdf" target="_blank"><img src="/images/icons/download_datasheet.png" border="0" alt="" width="36" height="36" /></a></div>
</td>
<td class="main">Download HD44780 datasheet</td>
</tr>
</tbody>
</table>
<p>[product_section_start:product_info_include_free_driver]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.embedded-code.com/source-code/displays/lcd-character-displays/hd44780-compatible-lcd-character-display-driver/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

