<?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>andreas.goelzer.de &#187; lcd</title>
	<atom:link href="http://andreas.goelzer.de/tag/lcd/feed" rel="self" type="application/rss+xml" />
	<link>http://andreas.goelzer.de</link>
	<description>Electronics and small programs and other stuff</description>
	<lastBuildDate>Tue, 29 Nov 2011 21:08:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>lcdshift</title>
		<link>http://andreas.goelzer.de/lcdshift</link>
		<comments>http://andreas.goelzer.de/lcdshift#comments</comments>
		<pubDate>Tue, 31 Mar 2009 14:45:40 +0000</pubDate>
		<dc:creator>Andreas Goelzer</dc:creator>
				<category><![CDATA[Electronics]]></category>
		<category><![CDATA[avr]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[lcd]]></category>

		<guid isPermaLink="false">http://andreas.goelzer.de/?p=122</guid>
		<description><![CDATA[LCD Controllers using an HD44780 Display Controller are commonly used for small batch electronic devices, and are popular with electronics fans worldwide. One problem with those controllers is their demand for IO-lines, due too the parallel interface they require at &#8230; <a href="http://andreas.goelzer.de/lcdshift">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>LCD Controllers using an <a href="http://www.alldatasheet.com/datasheet-pdf/pdf/63673/HITACHI/HD44780.html">HD44780</a> Display Controller are commonly used for small batch electronic devices, and are popular with electronics fans worldwide. One problem with those controllers is their demand for IO-lines, due too the parallel interface they require at least 7 IO lines.</p>
<p>One solution, if you don&#8217;t have enough IO ports to spare, is to use another Display, like serial <a href="http://superkranz.de/christian/S65_Display/DisplayIndex.html">cellphone displays</a>, which are cheap and color is a great thing to show off. Or you can expand the number of IO lines by using a shift register or TWI device. This is one such implementation using a <a href="http://www.datasheetcatalog.org/datasheet/motorola/74HC164.pdf">74hc164</a> shift register. It is based on an <a href="http://www.mikrocontroller.net/topic/6496">implementation</a> by Peter Dannegger. If you prefer to use a 4094 cmos shift register, there are also <a href="http://bansky.net/blog/2008/10/interfacing-lcd-with-3-wires-from-net-micro-framework/">schematics</a>  floating around the net.</p>
<p>The idea behind this implementation is to fill the shift register from the microcontroller using hard- or softspi, then toggle the hd44780&#8242;s enable pin. While toggling, the data pin determines the R/S state of the display.</p>
<p>The demo software will print a hello world message onto the display, it is written for AVR microcontrollers, it should work &#8211; after modifying the ports and pin numbers &#8211; on almost any AVR. Peter Daneggers <a href="http://www.mikrocontroller.net/attachment/highlight/1929">original software</a> is written for 8051 µCs, I don&#8217;t know of any code for PICs.<br />
<p><a href='photos/elektronik/lcdshift/lcdshift_assembly.png'><img class='photofiles_thumb' src='thumbs/elektronik/lcdshift/lcdshift_assembly.png.thumb_small.png' alt='link to photos/elektronik/lcdshift/lcdshift_assembly.png' height='100' width='100' title=''/></a> <a href='photos/elektronik/lcdshift/lcdshift_schematic.png'><img class='photofiles_thumb' src='thumbs/elektronik/lcdshift/lcdshift_schematic.png.thumb_small.png' alt='link to photos/elektronik/lcdshift/lcdshift_schematic.png' height='100' width='100' title=''/></a> </p><br />
<hr /><a href='http://andreas.goelzer.de/download/lcd.tar.bz2'><img src="http://andreas.goelzer.de/wp-content/plugins/kfile/fileicons/file-compressed.png" width="16" height="16" alt="filetype" class="icon16" /> lcd.tar.bz2</a> (2.30 kiB, 2009-03-31)<br/><a href='http://andreas.goelzer.de/download/lcdshift.pdf'><img src="http://andreas.goelzer.de/wp-content/plugins/kfile/fileicons/file-pdf.png" width="16" height="16" alt="filetype" class="icon16" /> lcdshift.pdf</a> (13.73 kiB, 2009-03-31)<br/><a href='http://andreas.goelzer.de/download/lcdshift.sch'><img src="http://andreas.goelzer.de/wp-content/plugins/kfile/fileicons/file-generic.png" width="16" height="16" alt="filetype" class="icon16" /> lcdshift.sch</a> (94.29 kiB, 2009-03-31)<br/><a href='http://andreas.goelzer.de/download/lcdshift.brd'><img src="http://andreas.goelzer.de/wp-content/plugins/kfile/fileicons/file-generic.png" width="16" height="16" alt="filetype" class="icon16" /> lcdshift.brd</a> (12.28 kiB, 2009-03-31)<br/><hr /></p>
]]></content:encoded>
			<wfw:commentRss>http://andreas.goelzer.de/lcdshift/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Database Caching 1/5 queries in 0.005 seconds using disk: basic
Object Caching 238/238 objects using disk: basic

Served from: andreas.goelzer.de @ 2012-02-05 05:30:43 -->
