<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Interfacing LCD via SPI.</title>
	<atom:link href="http://www.circuitsathome.com/mcu/programming/interfacing-lcd-via-spi/feed" rel="self" type="application/rss+xml" />
	<link>http://www.circuitsathome.com/mcu/interfacing-lcd-via-spi</link>
	<description>A Solder Joint</description>
	<lastBuildDate>Thu, 17 May 2012 05:09:08 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: oleg</title>
		<link>http://www.circuitsathome.com/mcu/interfacing-lcd-via-spi/comment-page-1#comment-11977</link>
		<dc:creator>oleg</dc:creator>
		<pubDate>Fri, 11 May 2012 19:59:51 +0000</pubDate>
		<guid isPermaLink="false">http://wp.circuitsathome.com/?p=32#comment-11977</guid>
		<description>The delays are pretty short here. If you need to eliminate them altogether, you can read D7 to detect the end of operation.</description>
		<content:encoded><![CDATA[<p>The delays are pretty short here. If you need to eliminate them altogether, you can read D7 to detect the end of operation.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael</title>
		<link>http://www.circuitsathome.com/mcu/interfacing-lcd-via-spi/comment-page-1#comment-11969</link>
		<dc:creator>Michael</dc:creator>
		<pubDate>Fri, 11 May 2012 07:43:42 +0000</pubDate>
		<guid isPermaLink="false">http://wp.circuitsathome.com/?p=32#comment-11969</guid>
		<description>Great Post.  I have build this interface and is working!!  Thanks.  I would like to know if you can help me incorporate this algorhytm into real time(No RTOS)(No Waits/Delays)  Thanks Again</description>
		<content:encoded><![CDATA[<p>Great Post.  I have build this interface and is working!!  Thanks.  I would like to know if you can help me incorporate this algorhytm into real time(No RTOS)(No Waits/Delays)  Thanks Again</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: sdb</title>
		<link>http://www.circuitsathome.com/mcu/interfacing-lcd-via-spi/comment-page-1#comment-11148</link>
		<dc:creator>sdb</dc:creator>
		<pubDate>Thu, 02 Feb 2012 06:24:35 +0000</pubDate>
		<guid isPermaLink="false">http://wp.circuitsathome.com/?p=32#comment-11148</guid>
		<description>And you can use one of the currently unused outputs of the &#039;565 to control the backlight of the LCD.  (Might also need a transistor current amplifier and/or a current limiting resistor.)  Too bad the board doesn&#039;t have routing for that.  (My LCD has a 16 pin DIL header, some have 16 pin SIL.)</description>
		<content:encoded><![CDATA[<p>And you can use one of the currently unused outputs of the &#8217;565 to control the backlight of the LCD.  (Might also need a transistor current amplifier and/or a current limiting resistor.)  Too bad the board doesn&#8217;t have routing for that.  (My LCD has a 16 pin DIL header, some have 16 pin SIL.)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bryan Mayland</title>
		<link>http://www.circuitsathome.com/mcu/interfacing-lcd-via-spi/comment-page-1#comment-10757</link>
		<dc:creator>Bryan Mayland</dc:creator>
		<pubDate>Tue, 27 Dec 2011 18:38:39 +0000</pubDate>
		<guid isPermaLink="false">http://wp.circuitsathome.com/?p=32#comment-10757</guid>
		<description>The reason I brought it up is because I have implemented the same circuit using an ATmega and for some reason it only works reliably if  the software is written the way you have. If I do 3 SPI transfers (value, value &#124; E, value) I eventually end up with the LCD being shifted off in that the last nibble of the previous byte write is being interpreted with the first nibble of the current byte write. I thought maybe you had seen the same behavior and perhaps adapted your code to fit. I think I&#039;ll just follow your experience and ignore the datasheet for what actually works. Thanks!</description>
		<content:encoded><![CDATA[<p>The reason I brought it up is because I have implemented the same circuit using an ATmega and for some reason it only works reliably if  the software is written the way you have. If I do 3 SPI transfers (value, value | E, value) I eventually end up with the LCD being shifted off in that the last nibble of the previous byte write is being interpreted with the first nibble of the current byte write. I thought maybe you had seen the same behavior and perhaps adapted your code to fit. I think I&#8217;ll just follow your experience and ignore the datasheet for what actually works. Thanks!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: oleg</title>
		<link>http://www.circuitsathome.com/mcu/interfacing-lcd-via-spi/comment-page-1#comment-10755</link>
		<dc:creator>oleg</dc:creator>
		<pubDate>Tue, 27 Dec 2011 17:14:18 +0000</pubDate>
		<guid isPermaLink="false">http://wp.circuitsathome.com/?p=32#comment-10755</guid>
		<description>You are right - per datasheet, the data and RS must be valid some time before E strobe. However, setting E, RS and data at the same time works fine for all HD44780-compatible displays I&#039;ve seen so far.

You can change &lt;code&gt;LCD_sendbyte()&lt;/code&gt; to do &quot;set E&quot;, &quot;clear E&quot; to &quot;clear E&quot;, &quot;set E&quot;, if you want the signals to appear per datasheet.</description>
		<content:encoded><![CDATA[<p>You are right &#8211; per datasheet, the data and RS must be valid some time before E strobe. However, setting E, RS and data at the same time works fine for all HD44780-compatible displays I&#8217;ve seen so far.</p>
<p>You can change <code>LCD_sendbyte()</code> to do &#8220;set E&#8221;, &#8220;clear E&#8221; to &#8220;clear E&#8221;, &#8220;set E&#8221;, if you want the signals to appear per datasheet.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bryan Mayland</title>
		<link>http://www.circuitsathome.com/mcu/interfacing-lcd-via-spi/comment-page-1#comment-10754</link>
		<dc:creator>Bryan Mayland</dc:creator>
		<pubDate>Tue, 27 Dec 2011 15:50:56 +0000</pubDate>
		<guid isPermaLink="false">http://wp.circuitsathome.com/?p=32#comment-10754</guid>
		<description>In your &quot;Software. Low-level functions.&quot; section, step 4 says to send the variable over SPI (with the enable bit not set). Looking at your LCD_sendbyte() method, you skip step 4 and the first transfer over SPI has the enable bit set. Same thing for step 10. The algorithm says there should be 3 SPI transfers per nibble but LCD_sendbyte() only has 2 SPI transfers per nibble.

Is this intentional? The LCD controller latches RS on the rising edge of E so theoretically it could &quot;miss&quot; RS if the RS and E bits are set simultaneously in the first transfer.</description>
		<content:encoded><![CDATA[<p>In your &#8220;Software. Low-level functions.&#8221; section, step 4 says to send the variable over SPI (with the enable bit not set). Looking at your LCD_sendbyte() method, you skip step 4 and the first transfer over SPI has the enable bit set. Same thing for step 10. The algorithm says there should be 3 SPI transfers per nibble but LCD_sendbyte() only has 2 SPI transfers per nibble.</p>
<p>Is this intentional? The LCD controller latches RS on the rising edge of E so theoretically it could &#8220;miss&#8221; RS if the RS and E bits are set simultaneously in the first transfer.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: oleg</title>
		<link>http://www.circuitsathome.com/mcu/interfacing-lcd-via-spi/comment-page-1#comment-10693</link>
		<dc:creator>oleg</dc:creator>
		<pubDate>Thu, 08 Dec 2011 15:47:09 +0000</pubDate>
		<guid isPermaLink="false">http://wp.circuitsathome.com/?p=32#comment-10693</guid>
		<description>It&#039;s right there in the article.</description>
		<content:encoded><![CDATA[<p>It&#8217;s right there in the article.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: A. Rafay</title>
		<link>http://www.circuitsathome.com/mcu/interfacing-lcd-via-spi/comment-page-1#comment-10692</link>
		<dc:creator>A. Rafay</dc:creator>
		<pubDate>Thu, 08 Dec 2011 10:46:53 +0000</pubDate>
		<guid isPermaLink="false">http://wp.circuitsathome.com/?p=32#comment-10692</guid>
		<description>Hi everyone,
can anybody please share the CIRCUIT DIAGRAM of SPI (pic 18f452).
actually I just want to check the code given above. i need it for my FYP(Final Year Project).</description>
		<content:encoded><![CDATA[<p>Hi everyone,<br />
can anybody please share the CIRCUIT DIAGRAM of SPI (pic 18f452).<br />
actually I just want to check the code given above. i need it for my FYP(Final Year Project).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: SEB</title>
		<link>http://www.circuitsathome.com/mcu/interfacing-lcd-via-spi/comment-page-1#comment-9827</link>
		<dc:creator>SEB</dc:creator>
		<pubDate>Sun, 30 Oct 2011 02:58:51 +0000</pubDate>
		<guid isPermaLink="false">http://wp.circuitsathome.com/?p=32#comment-9827</guid>
		<description>bsr oleg ,je travaille avec STM32F100RB ,je souhaite contrôler un module d’affichage à base de MAX7219
http://www.mikroe.com/eng/products/view/163/serial-7-seg-display-2-board/ via l’interface SPI;
et Implémenter un compteur piloté par les appuis du bouton USER.
 en utilisant les périphériques: SPI et GPIO.est ce que vous pouvez m aider à ce propos v que je suis nouveau avec les STM32</description>
		<content:encoded><![CDATA[<p>bsr oleg ,je travaille avec STM32F100RB ,je souhaite contrôler un module d’affichage à base de MAX7219<br />
<a href="http://www.mikroe.com/eng/products/view/163/serial-7-seg-display-2-board/" rel="nofollow">http://www.mikroe.com/eng/products/view/163/serial-7-seg-display-2-board/</a> via l’interface SPI;<br />
et Implémenter un compteur piloté par les appuis du bouton USER.<br />
 en utilisant les périphériques: SPI et GPIO.est ce que vous pouvez m aider à ce propos v que je suis nouveau avec les STM32</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: oleg</title>
		<link>http://www.circuitsathome.com/mcu/interfacing-lcd-via-spi/comment-page-1#comment-9353</link>
		<dc:creator>oleg</dc:creator>
		<pubDate>Fri, 14 Oct 2011 15:34:24 +0000</pubDate>
		<guid isPermaLink="false">http://wp.circuitsathome.com/?p=32#comment-9353</guid>
		<description>Yes, you need to follow proper bit order. Usually, you set bit order once during init.</description>
		<content:encoded><![CDATA[<p>Yes, you need to follow proper bit order. Usually, you set bit order once during init.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

