<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=4&amp;t=12000&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-06-15T22:15:50+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=12000&amp;mode</id>
<entry>
<author><name><![CDATA[anshar]]></name></author>
<updated>2015-06-15T22:15:50+01:00</updated>
<published>2015-06-15T22:15:50+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12000&amp;p=131859#p131859</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12000&amp;p=131859#p131859"/>
<title type="html"><![CDATA[Re: problem z inicjalizacja hdd44780]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12000&amp;p=131859#p131859"><![CDATA[
Wynika to z noty sterownika tego wyświetlacza: <a href="http://fab.cba.mit.edu/classes/MIT/863.06/11.13/44780.pdf"  class="postlink">pobierz tutaj</a>. <br />Poczytaj <a href="http://forum.atnel.pl/topic868.html"  class="postlink">tutaj</a> (szczególnie to co napisał kolega SunRiver.) i zobacz np <a href="http://www.google.co.uk/url?sa=t&amp;rct=j&amp;q=&amp;esrc=s&amp;source=web&amp;cd=9&amp;cad=rja&amp;uact=8&amp;ved=0CG8QFjAIahUKEwj0vY6GyJLGAhUmm9sKHbrKAA8&amp;url=http%3A%2F%2Faq.ia.agh.edu.pl%2FAquarium%2FDydaktyk%2FLaborat%2FPUE%2FCw8_AVR_LCD.pdf&amp;ei=0jh_VfSMBaa27ga6lYN4&amp;usg=AFQjCNE-_8J0oAtCDZHbcAIAF6Uo4eUuyg&amp;sig2=oVeaa5UqIBjPE_RyBFw44g&amp;bvm=bv.95515949,d.ZGU"  class="postlink">tutaj</a>.<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 7 minutach ]</span></strong><br /><br />Myślę, że również możesz zerknąć <a href="http://radzio.dxp.pl/hd44780/"  class="postlink">tutaj</a>.<br />Znajdziesz tam działające biblioteki, które moim zdaniem łatwiej przeanalizować w porównianiu do kodu ze strony którą podałeś.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7157">anshar</a> — 15 cze 2015, o 22:15</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[chydysz]]></name></author>
<updated>2015-06-15T21:25:16+01:00</updated>
<published>2015-06-15T21:25:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12000&amp;p=131855#p131855</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12000&amp;p=131855#p131855"/>
<title type="html"><![CDATA[Re: problem z inicjalizacja hdd44780]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12000&amp;p=131855#p131855"><![CDATA[
Dziękuję wszystkim za pomoc, problem rozwiązany. Powodem okazał się zimny lut na linii E.<br /><br /><br />a tak na marginesie  chodziło mi bardziej o to, po co te funkcje są tam użyte , bo przecież dane zostały wysłane na szynę już w pierwszej instrukcji tej funkcji tj:<br />[syntax=c]MAGIST_DATA=((data&amp;0x0f)&lt;&lt;4);[/syntax]<br />a nie jak to głosi komentarz :<br />[syntax=c]wait(1);<br /> cbi(PORTD,4);                      // i wysłanie danych na szynę<br /> sbi(PORTD,4);[/syntax]<br /><br />poprostu nie wiem co w ustawieniu tych bitów jest niezbędnego do działania tej funkcji.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10032">chydysz</a> — 15 cze 2015, o 21:25</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[anshar]]></name></author>
<updated>2015-06-14T23:15:39+01:00</updated>
<published>2015-06-14T23:15:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12000&amp;p=131786#p131786</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12000&amp;p=131786#p131786"/>
<title type="html"><![CDATA[Re: problem z inicjalizacja hdd44780]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12000&amp;p=131786#p131786"><![CDATA[
Są to makra:<br />cbi do zerowania bitu<br />sbi do ustawiania bitu<br /><br />[syntax=c]#define cbi(x,y)   x &amp;= ~(1&lt;&lt;y)   // bit_clear(x,y)<br />#define sbi(x,y)   x |= (1&lt;&lt;y)    // bit_set(x,y)[/syntax]<br /><br />[syntax=c]cbi(PORTD, 4);[/syntax] to to samo co [syntax=c]PORTD &amp;= ~(1&lt;&lt;PD4);[/syntax]<br />[syntax=c]sbi(PORTD, 3);[/syntax] to to samo co [syntax=c]PORTD |= (1&lt;&lt;PD4);[/syntax]<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 1 minucie ]</span></strong><br /><br />Myślę, że warto też poczytać <a href="http://mirekk36.blogspot.co.uk/2012/01/avr-porty-wewy-dir-podstawy.html"  class="postlink">tutaj</a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7157">anshar</a> — 14 cze 2015, o 23:15</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[chydysz]]></name></author>
<updated>2015-06-14T21:51:54+01:00</updated>
<published>2015-06-14T21:51:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12000&amp;p=131780#p131780</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12000&amp;p=131780#p131780"/>
<title type="html"><![CDATA[Re: problem z inicjalizacja hdd44780]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12000&amp;p=131780#p131780"><![CDATA[
po co w procedurze LCD_clock z tego linku <!-- m --><a class="postlink" href="http://www.e-tronix.eu/24,przykladowy-program-SU.html" >http://www.e-tronix.eu/24,przykladowy-program-SU.html</a><!-- m --> są instrukcje <br />[syntax=c]cbi(PORTB,1);<br /> sbi(DDRD,4);[/syntax]<br /><br /> [syntax=c]wait(1);<br /> cbi(PORTD,4);                      // i wysłanie danych na szynę<br /> sbi(PORTD,4);[/syntax]<br />[syntax=c]wait(1);<br /> cbi(PORTD,4);<br /> sbi(PORTD,4);[/syntax]<br /><br />bo nie rozumiem powodu ich użycia?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10032">chydysz</a> — 14 cze 2015, o 21:51</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[0livaw]]></name></author>
<updated>2015-06-13T22:19:37+01:00</updated>
<published>2015-06-13T22:19:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12000&amp;p=131699#p131699</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12000&amp;p=131699#p131699"/>
<title type="html"><![CDATA[Re: problem z inicjalizacja hdd44780]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12000&amp;p=131699#p131699"><![CDATA[
Popatrz tutaj na procedurę LCD_init:<br /><!-- m --><a class="postlink" href="http://www.e-tronix.eu/24,przykladowy-program-SU.html" >http://www.e-tronix.eu/24,przykladowy-program-SU.html</a><!-- m --><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1304">0livaw</a> — 13 cze 2015, o 22:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[chydysz]]></name></author>
<updated>2015-06-13T20:48:58+01:00</updated>
<published>2015-06-13T20:48:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12000&amp;p=131694#p131694</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12000&amp;p=131694#p131694"/>
<title type="html"><![CDATA[Re: problem z inicjalizacja hdd44780]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12000&amp;p=131694#p131694"><![CDATA[
ok poprawione<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10032">chydysz</a> — 13 cze 2015, o 20:48</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kicajek]]></name></author>
<updated>2015-06-13T20:03:31+01:00</updated>
<published>2015-06-13T20:03:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12000&amp;p=131693#p131693</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12000&amp;p=131693#p131693"/>
<title type="html"><![CDATA[Re: problem z inicjalizacja hdd44780]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12000&amp;p=131693#p131693"><![CDATA[
Witam<br /><div class="quotetitle">chydysz napisał(a):</div><div class="quotecontent"><br />kod programu<br /></div><br />...wklej go poprawnie bo praktycznie nieczytelny<br />(listing kodu - wybierz - <strong>C</strong>)<br /><br />Pozdr.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=826">kicajek</a> — 13 cze 2015, o 20:03</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[chydysz]]></name></author>
<updated>2015-06-13T19:37:34+01:00</updated>
<published>2015-06-13T19:37:34+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12000&amp;p=131689#p131689</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12000&amp;p=131689#p131689"/>
<title type="html"><![CDATA[Re: problem z inicjalizacja hdd44780]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12000&amp;p=131689#p131689"><![CDATA[
kontrast jest ok bo wczoraj po długich próbach udało mi się coś wyświetlić jednak były to tylko losowe znaki, schematu nie mam, ale jeśli chodzi o podłączenie do wyświetlacza to jako linie sterujące przyjąłem:<br />rs-PC0 <br />E-PC1  <br />a linie danych: <br />DB4-PD0 <br />DB5-PD1<br />DB6-PD2<br />DB7-PD3<br /><br />wydaje mi się że to jednak z programem jest coś nie tak.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10032">chydysz</a> — 13 cze 2015, o 19:37</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[RafPe]]></name></author>
<updated>2015-06-13T19:25:56+01:00</updated>
<published>2015-06-13T19:25:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12000&amp;p=131688#p131688</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12000&amp;p=131688#p131688"/>
<title type="html"><![CDATA[Re: problem z inicjalizacja hdd44780]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12000&amp;p=131688#p131688"><![CDATA[
A masz potencjometr do regulowania kontrastu ? Masz moze jakis schemat jak masz podpiety ten wyswietlacz ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4344">RafPe</a> — 13 cze 2015, o 19:25</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[chydysz]]></name></author>
<updated>2015-06-13T20:12:47+01:00</updated>
<published>2015-06-13T19:17:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12000&amp;p=131687#p131687</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12000&amp;p=131687#p131687"/>
<title type="html"><![CDATA[problem z inicjalizacja hdd44780]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12000&amp;p=131687#p131687"><![CDATA[
witam, jestem nowy na tym forum i mam problem z inicjalizacją wyświetlacza ze sterownikiem hdd44780 podpiętego do uC atmega8. Nie używam żadnych dodatkowych bibliotek, jednak pisząc mój program sugerowałem się różnymi znalezionymi w internecie.Na wyświetlaczu generalnie cały czas widać górny rząd prostokątów. Z góry dziękuję za pomoc.<br /><br />biblioteki których urzyłem to <br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br /><br />kod programu[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br /><br /><br />#define lcd_ster PORTC<br />#define lcd_data PORTD<br />#define db4 PD0<br />#define db5 PD1<br />#define db6 PD2<br />#define db7 PD3<br />#define rs  PC0<br />#define e   PC1<br /><br /><br /><br />void wyslij_ster (unsigned char v)//funkcja wysyłająca instrukcje<br />{<br />DDRC = 0x03;<br />DDRD = 0x0f;<br /><br /><br />_delay_ms (50);<br />lcd_ster &amp;= ~(1&lt;&lt;rs);<br />lcd_ster |= (1&lt;&lt;e);<br />if (v &amp; 0x10) //pierwszy półbajt<br />lcd_data |= (1&lt;&lt;db4);<br />else lcd_data &amp;= ~(1&lt;&lt;db4);<br />if (v &amp; 0x20)<br />lcd_data |= (1&lt;&lt;db5) ;<br />else lcd_data &amp;= ~(1&lt;&lt;db5);<br />if (v &amp; 0x40)<br />lcd_data |= (1&lt;&lt;db6);<br />else lcd_data &amp;= ~(1&lt;&lt;db6);<br />if (v &amp; 0x80)<br />lcd_data |= (1&lt;&lt;db7);<br />else lcd_data &amp;= ~(1&lt;&lt;db7);<br />lcd_ster &amp;= ~(1&lt;&lt;e);// koniec pirwszego półbajtu<br /><br />lcd_ster |= (1&lt;&lt;e);<br />if (v &amp; 0x01) //drugi półbajt<br />lcd_data |= (1&lt;&lt;db4);<br />else lcd_data &amp;= ~(1&lt;&lt;db4);;<br />if (v &amp; 0x02)<br />lcd_data |= (1&lt;&lt;db5);<br />else lcd_data &amp;= ~(1&lt;&lt;db5);;<br />if (v &amp; 0x04)<br />lcd_data |= (1&lt;&lt;db6);<br />else lcd_data &amp;= ~(1&lt;&lt;db6);;<br />if (v &amp; 0x08)<br />lcd_data |= (1&lt;&lt;db7);<br />else lcd_data &amp;= ~(1&lt;&lt;db7);;<br /><br />lcd_ster &amp;= ~(1&lt;&lt;e);//koniec drugiego półbajtu<br />_delay_us (120);<br />}<br /><br />//////////////////////////////////////////////<br /><br />void init(void)//inicjalizacja<br />{<br />DDRC = 0xff;<br />DDRD = 0xff;<br /><br />_delay_ms(50);<br />lcd_data = 0x00;<br />lcd_ster &amp;= ~(1&lt;&lt;rs);<br />lcd_ster &amp;= ~(1&lt;&lt;e);<br /><br />lcd_ster |= (1&lt;&lt;e); //  E = 1<br />lcd_data = 0x03; // tryb 8-bitowy<br />lcd_ster &amp;= ~(1&lt;&lt;e); // E = 0<br />  _delay_ms(5); // czekaj 5ms<br /><br />lcd_ster |= (1&lt;&lt;e); //  E = 1<br />lcd_data = 0x03; // tryb 8-bitowy<br />lcd_ster &amp;= ~(1&lt;&lt;e); // E = 0<br />  _delay_ms(5); // czekaj 5ms<br /><br />lcd_ster |= (1&lt;&lt;e); //  E = 1<br />lcd_data = 0x03; // tryb 8-bitowy<br />lcd_ster &amp;= ~(1&lt;&lt;e); // E = 0<br />  _delay_ms(5); // czekaj 5ms<br /><br />lcd_ster |= (1&lt;&lt;e);//magistrala 4 bit<br />lcd_data = 0x02;<br />lcd_ster &amp;= ~(1&lt;&lt;e);<br />_delay_ms (5);<br /><br /><br />lcd_ster |= (1&lt;&lt;e); //<br />lcd_data = 0x02; // tryb 4-bitowy<br />lcd_ster &amp;= ~(1&lt;&lt;e); // E = 0<br />lcd_ster |= (1&lt;&lt;e); //  E = 1<br />lcd_data = 0x08; // 2linie, 5x8<br />lcd_ster &amp;= ~(1&lt;&lt;e); // E = 0<br />  _delay_ms(5); // czekaj 5ms<br /><br />lcd_ster |= (1&lt;&lt;e); //<br />lcd_data = 0x00; // wys wł, kursor_on, mruga<br />lcd_ster &amp;= ~(1&lt;&lt;e); // E = 0<br />lcd_ster |= (1&lt;&lt;e); //  E = 1<br />lcd_data = 0x0f; //<br />lcd_ster &amp;= ~(1&lt;&lt;e); // E = 0<br />_delay_ms(5); // czekaj 5ms<br /><br /><br />lcd_data = 0x00; //<br />lcd_ster |= (1&lt;&lt;e); //<br />lcd_ster &amp;= ~(1&lt;&lt;e); // E = 0//inkrementCCcja<br />lcd_data = 0x0f; //<br />lcd_ster |= (1&lt;&lt;e); //  E = 1<br />lcd_ster &amp;= ~(1&lt;&lt;e); // E = 0<br />_delay_ms(5); // czekaj 5ms<br /><br />lcd_ster |= (1&lt;&lt;e); //<br />lcd_data = 0x00; //<br />lcd_ster &amp;= ~(1&lt;&lt;e); // E = 0<br />lcd_ster |= (1&lt;&lt;e); //  E = 1      czysc<br />lcd_data = 0x01; //<br />lcd_ster &amp;= ~(1&lt;&lt;e); // E = 0<br />_delay_ms(5); // czekaj 5ms<br /><br />}<br /><br /><br />int main(){<br />DDRC = 0x03;<br />DDRD = 0x0f;<br /><br />init();<br />wyslij_ster(0x01);<br /><br /><br /><br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10032">chydysz</a> — 13 cze 2015, o 19:17</p><hr />
]]></content>
</entry>
</feed>