<?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/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>Fri, 10 Feb 2012 17:12:22 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<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>
	<item>
		<title>By: Ivan</title>
		<link>http://www.circuitsathome.com/mcu/interfacing-lcd-via-spi/comment-page-1#comment-9350</link>
		<dc:creator>Ivan</dc:creator>
		<pubDate>Fri, 14 Oct 2011 11:26:44 +0000</pubDate>
		<guid isPermaLink="false">http://wp.circuitsathome.com/?p=32#comment-9350</guid>
		<description>Hi,

This microprocessor that you used, the shift register in SPI(SSPSR) first shifts MSB bit i.e. (MSB bit will be appear first on QA and LSB bit will be appear on QH  in 74HC595(8 bit mode)), whereas LCD receive data from LSB to MSB (DB0 to DB7). My question is, is it necessary in your program to add some function before &quot;SSPBUF = data;&quot; that change shift operation form (MSB to LSB) to (LSB to MSB)?
Thanks,

Ivan</description>
		<content:encoded><![CDATA[<p>Hi,</p>
<p>This microprocessor that you used, the shift register in SPI(SSPSR) first shifts MSB bit i.e. (MSB bit will be appear first on QA and LSB bit will be appear on QH  in 74HC595(8 bit mode)), whereas LCD receive data from LSB to MSB (DB0 to DB7). My question is, is it necessary in your program to add some function before &#8220;SSPBUF = data;&#8221; that change shift operation form (MSB to LSB) to (LSB to MSB)?<br />
Thanks,</p>
<p>Ivan</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Soujanya</title>
		<link>http://www.circuitsathome.com/mcu/interfacing-lcd-via-spi/comment-page-1#comment-7537</link>
		<dc:creator>Soujanya</dc:creator>
		<pubDate>Mon, 20 Jun 2011 09:03:32 +0000</pubDate>
		<guid isPermaLink="false">http://wp.circuitsathome.com/?p=32#comment-7537</guid>
		<description>Hi,
  Thanks a lot,sorry for troubling with such a silly doubt, what i am doing is whenever i want to set the reset pin of LCD panel high, i am setting the corresponding microprocessor pin which is connected to reset pin of LCD high....</description>
		<content:encoded><![CDATA[<p>Hi,<br />
  Thanks a lot,sorry for troubling with such a silly doubt, what i am doing is whenever i want to set the reset pin of LCD panel high, i am setting the corresponding microprocessor pin which is connected to reset pin of LCD high&#8230;.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

