<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="sk">
	<id>https://senzor.robotika.sk/sensorwiki/index.php?action=history&amp;feed=atom&amp;title=Lcd.c</id>
	<title>Lcd.c - História úprav</title>
	<link rel="self" type="application/atom+xml" href="https://senzor.robotika.sk/sensorwiki/index.php?action=history&amp;feed=atom&amp;title=Lcd.c"/>
	<link rel="alternate" type="text/html" href="https://senzor.robotika.sk/sensorwiki/index.php?title=Lcd.c&amp;action=history"/>
	<updated>2026-05-16T00:06:52Z</updated>
	<subtitle>História úprav pre túto stránku na wiki</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://senzor.robotika.sk/sensorwiki/index.php?title=Lcd.c&amp;diff=3886&amp;oldid=prev</id>
		<title>StudentDVPS na 14:43, 24. január 2013</title>
		<link rel="alternate" type="text/html" href="https://senzor.robotika.sk/sensorwiki/index.php?title=Lcd.c&amp;diff=3886&amp;oldid=prev"/>
		<updated>2013-01-24T14:43:55Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://senzor.robotika.sk/sensorwiki/index.php?title=Lcd.c&amp;amp;diff=3886&amp;amp;oldid=3388&quot;&gt;Zobraziť rozdiely&lt;/a&gt;</summary>
		<author><name>StudentDVPS</name></author>
	</entry>
	<entry>
		<id>https://senzor.robotika.sk/sensorwiki/index.php?title=Lcd.c&amp;diff=3388&amp;oldid=prev</id>
		<title>StudentDVPS na 11:37, 18. december 2012</title>
		<link rel="alternate" type="text/html" href="https://senzor.robotika.sk/sensorwiki/index.php?title=Lcd.c&amp;diff=3388&amp;oldid=prev"/>
		<updated>2012-12-18T11:37:42Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;sk&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Staršia verzia&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Verzia z 11:37, 18. december 2012&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l170&quot;&gt;Riadok 170:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riadok 170:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Na stiahnutie: [[Súbor:lcd.c]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Na stiahnutie: [[Súbor:lcd.c]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;----&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Projekt: Inkrementálny snímač otáčok|Späť na zadanie]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Projekt: Inkrementálny snímač otáčok|Späť na zadanie]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>StudentDVPS</name></author>
	</entry>
	<entry>
		<id>https://senzor.robotika.sk/sensorwiki/index.php?title=Lcd.c&amp;diff=3381&amp;oldid=prev</id>
		<title>StudentDVPS: Vytvorená stránka „&lt;source lang=&quot;c&quot;&gt; /*  *   Created: 12/12/2012 12:12:12  *   Authors: Lukas Mrva (55716), Vladimir Reksak (55720)  */  #include &quot;lcd.h&quot;  // ******************************...“</title>
		<link rel="alternate" type="text/html" href="https://senzor.robotika.sk/sensorwiki/index.php?title=Lcd.c&amp;diff=3381&amp;oldid=prev"/>
		<updated>2012-12-18T11:33:33Z</updated>

		<summary type="html">&lt;p&gt;Vytvorená stránka „&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt; &lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;*   Created: 12/12/2012 12:12:12  *   Authors: Lukas Mrva (55716), Vladimir Reksak (55720): &lt;/span&gt;  #include &amp;quot;lcd.h&amp;quot;  // ******************************...“&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nová stránka&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
 *   Created: 12/12/2012 12:12:12&lt;br /&gt;
 *   Authors: Lukas Mrva (55716), Vladimir Reksak (55720)&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;lcd.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
// **************************************************************************&lt;br /&gt;
// *************************** PUBLIC FUNCTIONS *****************************&lt;br /&gt;
// **************************************************************************&lt;br /&gt;
&lt;br /&gt;
void lcdInit4(void)&lt;br /&gt;
{ 	&lt;br /&gt;
    // Following two lines are a must when using BOOTLOADER:&lt;br /&gt;
&lt;br /&gt;
    UCSR0B = 0x00;                          // Disable RxD and TxD for UART0&lt;br /&gt;
                                            // Disable ALL interrupts (Global)&lt;br /&gt;
    SREG = SREG &amp;amp; 0x7F;                     // same as cli(); without Interrupts.h&lt;br /&gt;
&lt;br /&gt;
                                            // initialize LCD control &amp;amp; data&lt;br /&gt;
										    // lines to output&lt;br /&gt;
   	PORTD = 0b00000001;						// pull-up on unused input&lt;br /&gt;
	DDRD  = 0b11111110;						// set ctrl &amp;amp; data as outputs&lt;br /&gt;
&lt;br /&gt;
	_delay_ms(50);        					// -  wait 15ms or more&lt;br /&gt;
											// -------------------&lt;br /&gt;
	CLEARBIT(PORTD, LCD_CTRL_RS);			// set RS to &amp;quot;control&amp;quot;&lt;br /&gt;
	CLEARBIT(PORTD, LCD_CTRL_RW);			// set R/W to &amp;quot;write&amp;quot;&lt;br /&gt;
											// 4 bit write&lt;br /&gt;
	SETBIT(PORTD, LCD_CTRL_E);			    // set &amp;quot;E&amp;quot; line&lt;br /&gt;
	PORTD = (PORTD | 0x30) &amp;amp; 0x3F;          // output data, high 4 bits&lt;br /&gt;
	LCD_DELAY;							    // wait&lt;br /&gt;
	CLEARBIT(PORTD, LCD_CTRL_E);			// clear &amp;quot;E&amp;quot; line&lt;br /&gt;
											// -------------------&lt;br /&gt;
	_delay_ms(5); 				            // -  wait 4.1ms&lt;br /&gt;
	SETBIT(PORTD, LCD_CTRL_E);	 	        // set &amp;quot;E&amp;quot; line&lt;br /&gt;
	LCD_DELAY;								// wait&lt;br /&gt;
	CLEARBIT(PORTD, LCD_CTRL_E);			// clear &amp;quot;E&amp;quot; line&lt;br /&gt;
											// -------------------&lt;br /&gt;
    _delay_ms(1);	                        // -  wait 0.1ms&lt;br /&gt;
	SETBIT(PORTD, LCD_CTRL_E);			    // set &amp;quot;E&amp;quot; line&lt;br /&gt;
	LCD_DELAY;						        // wait&lt;br /&gt;
	CLEARBIT(PORTD, LCD_CTRL_E);			// clear &amp;quot;E&amp;quot; line&lt;br /&gt;
											// -------------------&lt;br /&gt;
    _delay_ms(1);	                        // -  wait 0.1ms&lt;br /&gt;
    										// -------------------&lt;br /&gt;
	PORTD = (PORTD | 0x20) &amp;amp; 0x2F;	        // output data, high 4 bits&lt;br /&gt;
	SETBIT(PORTD, LCD_CTRL_E);		        // set &amp;quot;E&amp;quot; line&lt;br /&gt;
	LCD_DELAY;								// wait&lt;br /&gt;
	CLEARBIT(PORTD, LCD_CTRL_E);		    // clear &amp;quot;E&amp;quot; line&lt;br /&gt;
											// -------------------&lt;br /&gt;
	lcdControlWrite(0x28);					// 0x28	- function set (2 rows, 5x8 font)&lt;br /&gt;
     _delay_ms(50);&lt;br /&gt;
	lcdControlWrite(0x0C);					// 0x0C - display ON, cursor OFF&lt;br /&gt;
	lcdControlWrite(0x01);					// 0x01 - clear display&lt;br /&gt;
	lcdControlWrite(0x06); 					// 0x06 - shift right&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// ************************************************************&lt;br /&gt;
// ********************** LOCAL FUNCTIONS *********************&lt;br /&gt;
// ************************************************************&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void lcdControlWrite(unsigned char c_data)  // write the CONTROL byte to the display controller&lt;br /&gt;
{&lt;br /&gt;
	while(lcdBusy()) /* wait here */ ;		// wait until LCD not busy  or timeout&lt;br /&gt;
&lt;br /&gt;
	CLEARBIT(PORTD, LCD_CTRL_RS);		    // set RS to &amp;quot;control&amp;quot;&lt;br /&gt;
	CLEARBIT(PORTD, LCD_CTRL_RW);	    	// set R/W to &amp;quot;write&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	PORTD = (PORTD&amp;amp;0x0F)|(c_data&amp;amp;0xF0);	    // output data, high 4 bits&lt;br /&gt;
	SETBIT(PORTD, LCD_CTRL_E);		        // set &amp;quot;E&amp;quot; line&lt;br /&gt;
	LCD_DELAY;								// wait&lt;br /&gt;
	CLEARBIT(PORTD, LCD_CTRL_E);	        // clear &amp;quot;E&amp;quot; line&lt;br /&gt;
&lt;br /&gt;
	PORTD = (PORTD&amp;amp;0x0F) | (c_data&amp;lt;&amp;lt;4);	    // output data, low 4 bits&lt;br /&gt;
	SETBIT(PORTD, LCD_CTRL_E);		        // set &amp;quot;E&amp;quot; line&lt;br /&gt;
	LCD_DELAY;								// wait&lt;br /&gt;
	CLEARBIT(PORTD, LCD_CTRL_E);	        // clear &amp;quot;E&amp;quot; line&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void lcdDataWrite(unsigned char w_data)     // write a DATA byte to the display&lt;br /&gt;
{&lt;br /&gt;
	while(lcdBusy())	 /* wait */ ;		// wait until LCD not busy or timeout&lt;br /&gt;
&lt;br /&gt;
	SETBIT(PORTD, LCD_CTRL_RS);		        // set RS to &amp;quot;data&amp;quot;&lt;br /&gt;
	CLEARBIT(PORTD, LCD_CTRL_RW);		    // set R/W to &amp;quot;write&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	PORTD = (PORTD&amp;amp;0x0F) | (w_data&amp;amp;0xF0);	// output data, high 4 bits&lt;br /&gt;
	SETBIT(PORTD, LCD_CTRL_E);	            // set &amp;quot;E&amp;quot; line&lt;br /&gt;
	LCD_DELAY;								// wait&lt;br /&gt;
	CLEARBIT(PORTD, LCD_CTRL_E);		    // clear &amp;quot;E&amp;quot; line&lt;br /&gt;
&lt;br /&gt;
	PORTD = (PORTD&amp;amp;0x0F) | (w_data&amp;lt;&amp;lt;4);	    // output data, low 4 bits&lt;br /&gt;
	SETBIT(PORTD, LCD_CTRL_E);		        // set &amp;quot;E&amp;quot; line&lt;br /&gt;
	LCD_DELAY;								// wait&lt;br /&gt;
	CLEARBIT(PORTD, LCD_CTRL_E);		    // clear &amp;quot;E&amp;quot; line&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------------------------------- */&lt;br /&gt;
/* Outputs string to a LCD (at current position)           */&lt;br /&gt;
/*                                                         */&lt;br /&gt;
/* ------------------------------------------------------- */&lt;br /&gt;
&lt;br /&gt;
  void lcdStringWrite(char* String)&lt;br /&gt;
   {&lt;br /&gt;
     register uint8_t i=0;&lt;br /&gt;
&lt;br /&gt;
	// check to make sure we have a good pointer&lt;br /&gt;
	if (!String) return;&lt;br /&gt;
&lt;br /&gt;
	// print data&lt;br /&gt;
	while (String[i])&lt;br /&gt;
	{&lt;br /&gt;
		lcdDataWrite(String[i]);&lt;br /&gt;
		i++;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------------------------------- */&lt;br /&gt;
/*  Read and debounce the LCD AppMod buttons               */&lt;br /&gt;
/*                                                         */&lt;br /&gt;
/*  Returns 0 if nothing  is pressed                       */&lt;br /&gt;
/*  Returns 1 if button A is pressed                       */&lt;br /&gt;
/*  Returns 2 if button B is pressed                       */&lt;br /&gt;
/*  Returns 4 if button C is pressed                       */&lt;br /&gt;
/*  Returns 8 if button D is pressed                       */&lt;br /&gt;
/*  Returns combination if more is pressed (e.g. 6 for B+C)*/&lt;br /&gt;
/*                                                         */&lt;br /&gt;
/* ------------------------------------------------------- */&lt;br /&gt;
&lt;br /&gt;
unsigned char ReadButtons()&lt;br /&gt;
{&lt;br /&gt;
  DDRD  = 0b00001110;&lt;br /&gt;
  _delay_ms(20);&lt;br /&gt;
  unsigned char state=(PIND&amp;gt;&amp;gt;4)&amp;amp;0x0F;&lt;br /&gt;
&lt;br /&gt;
  DDRD  = 0b11111110; // return bus to outputs&lt;br /&gt;
  &lt;br /&gt;
  //  return(state);&lt;br /&gt;
  return state;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------------------------------- */&lt;br /&gt;
/* Test whether LCD is BUSY or READY for next command      */&lt;br /&gt;
/*                                                         */&lt;br /&gt;
/* At the moment it is replaced by the fixed time delay    */&lt;br /&gt;
/*                                                         */&lt;br /&gt;
/* Return values: 1 - OK                                   */&lt;br /&gt;
/*                0 - timeout                              */&lt;br /&gt;
/* ------------------------------------------------------- */&lt;br /&gt;
&lt;br /&gt;
volatile unsigned char t_out_LCD;  // timeout displeja (krok 1024 us)&lt;br /&gt;
                                   // krok 1ms&lt;br /&gt;
unsigned char lcdBusy(void)&lt;br /&gt;
{&lt;br /&gt;
   _delay_ms(1);&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Na stiahnutie: [[Súbor:lcd.c]]&lt;br /&gt;
&lt;br /&gt;
[[Projekt: Inkrementálny snímač otáčok|Späť na zadanie]]&lt;/div&gt;</summary>
		<author><name>StudentDVPS</name></author>
	</entry>
</feed>