Dobrý den,<br><br>Takže děkuji všem za rady, zvláště uživateli s přezdívkou petop. Nyní již oba řádky fungují v obou konfiguracích pokaždé.<br>Nižší kontrast byl kvůli napájení, při připojení programátoru bylo pouze 4,588V, při napájení z adaptéru(na desce je stabilizátor 5V) 4,883V.<br>
Při inicializaci podle katalogového listu<br><a href="http://www.allshore.com/pdf/Samsung_KS0066_(s6a0069).pdf">http://www.allshore.com/pdf/Samsung_KS0066_(s6a0069).pdf</a> (str. 28)<br>mi oba řádky dnes naopak fungovali při napájení z adaptéru. Po přidání dvou inicializací na 8-bitovou komunikaci jedou oba řádky spolehlivě. Přidávám současný kód.<br>
<br>děkuji a s přátelským pozdravem,<br><br>Zdeněk<br><br><br>Pro funkci main<br><br>#define F_CPU   16000000L <br><br><br>#include &lt;avr/io.h&gt;<br>#include &lt;util/delay.h&gt;<br>#include &quot;bitove_operace.h&quot;<br>
#include &quot;dlouhe_zpozdeni.h&quot;<br>#include &quot;LCD_ATmega-S6A0069.h&quot;<br><br>int main(void)<br> {<br>    <br>    DDRB=0xff;<br>    DDRE=0xff;<br>    DDRC=0xff;<br>    DDRA=0xff;<br>     <br> <br>    PORTB=0x00;<br>
    PORTE=0x00;<br>    PORTC=0x00;<br>    PORTA=0x00;<br><br>   dlouhe_zpozdeni(200);    <br>   Inicializace_LCD(1);<br><br>   Posli_retezec(&quot;krasna 1&quot;,1,0);<br>   Posli_retezec(&quot;krasna 2&quot;,2,0);<br><br>
   nastaveni_cestiny();<br>   Posli_retezec(&quot;Krásná čeština&quot;,1,0);<br> <br> }<br><br><br>a pro knihovnu LCD inicializaci<br><br>void Inicializace_LCD(unsigned char podsviceni)        <br>{<br><br>unsigned char zaloha_DDR,zaloha_PORT;<br>
<br>    <br>    if (podsviceni)<br>     sbi(PORTA,7);<br>    else<br>     cbi(PORTA,7);<br>    <br>    zaloha_DDR=DDR_LCD;            // zálohování obsahu registru DDR    <br>    zaloha_PORT=PORT_LCD;            // zálohování obsahu registru PORT<br>
      <br>    outp(0x00, PORT_LCD);                // výstup do log &quot;0&quot;<br>    outp(0xff, DDR_LCD);                // konfigurace portu jako výstupního<br>    <br>    dlouhe_zpozdeni(100);                // cekame 100ms na nabeh napajeciho napeti<br>
<br>    sbi(DDR_LCD,RS_PIN);<br>    cbi(PORT_LCD,RS_PIN);<br>    <br>    sbi(DDR_LCD,RW_PIN);<br>    cbi(PORT_LCD,RW_PIN);<br><br>    _delay_ms(1);<br>    <br>// rezim 8 bitu<br><br>    Posli_nibble(0x03);<br>    _delay_ms(1);<br>
<br>    dlouhe_zpozdeni(200);<br><br>// rezim 8 bitu<br><br>    Posli_nibble(0x03);<br>    _delay_ms(1);<br><br>    dlouhe_zpozdeni(200);<br><br>// rezim 4 bitu<br><br>    Posli_nibble(0x02);<br>    _delay_ms(1);<br><br>    Posli_prikaz(0x28);                // dva řádky<br>
    _delay_ms(2);<br>    Posli_prikaz(0x01);                //smaž displej<br>    _delay_ms(2);<br>    Posli_prikaz(0x0c);                //zapni displej<br>    _delay_ms(2);<br>    Posli_prikaz(0x06);                //režim inkrementace<br>
    _delay_ms(2);<br><br>    <br>    <br>    DDR_LCD=zaloha_DDR;                                        // obnovení obsahu registru DDR    <br>    PORT_LCD=zaloha_PORT;                                        // obnovení obsahu registru PORT<br>
<br>}<br><br><br><br><br><div class="gmail_quote">2010/5/26 petop <span dir="ltr">&lt;<a href="mailto:petop@stonline.sk">petop@stonline.sk</a>&gt;</span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">



  
  

<div bgcolor="#ffffff" text="#000000">
Zdravím, priatelia.<br>
Stretol som sa s tím. <br>
Skúste tento postup:<br>
        rcall    wait200<br>
        rcall    LCD_init<br>
        rcall    wait200<br>
        rcall    prenos_lcd_1 ...až teraz zadávate data na LCD...<br>
Je potrebné urobiť poriadne čakanie na BUSY signál, nepomáha nechať po
commande len napr. 15ms.<br>
A taktiež mám vyhodené 3x inicializovanie 8 bit komunikácie a nasledne
prepnutie na 4 bit.<br>
asi takto:<br>
LCD_init:    rcall    wait15<br>
        cbi    LCDport_b,lcdrs    ;daj RS do 0    <br>
        ldi    temp,kom_8b<br>
        rcall    zapis_nBF    ;zapis instrukciu be cakania na BF<br>
        rcall    wait15<br>
        ldi    temp,kom_4b<br>
        rcall    zapis_BF<br>
        rcall    busy<br>
<br>
;nastavenie rezimu modulu 2riadky, znak 5 x 7<br>
               ldi     temp,(kom_4b | rez_2r | fon_5x7) ; | je za OR<br>
               rcall   zapis_4BF<br>
            rcall    busy<br>
...atd.<br>
<br>
Ak budete mať zaujem pošlem trošku viac kódu...<br>
<br>
Petop<br>
<br>
<br>
Zdeněk lada wrote:
<blockquote type="cite"><div><div></div><div class="h5">Zdravím konferenci,<br>
  <br>
dnes jsem několik hodin zápasil s displejem z GME 1602B V2.0. odkaz viz
zde:<br>
  <br>
  <a href="http://www.gme.cz/cz/mc1602e-syl-h-p513-109.html" target="_blank">http://www.gme.cz/cz/mc1602e-syl-h-p513-109.html</a>,<br>
  <br>
ale zadní strana vypadá jinak, fotka je poněkud neaktuální. Problém je
v tom že pokud naprogramuji ATmega128 s připojeným programátorem,
fungují oba řádky displeje.<br>
V okamžiku kdy odpojím programátor a vypnu a zapnu napájení se rozsvítí
jen jeden řádek, navíc s větším kontrastem než v případě kdy fungují
oba řádky. V některých případech se mi zobrazili jakési nesmysli, jako
znaky &amp; a podobně.<br>
  <br>
S displejem komunikuji pomocí 4 vodičů.<br>
  <br>
Setkal se tím někdo a nevíte kde by mohla být chyba? V inicializaci
displeje, nebo v pomalém nabíhání napájecího napětí, po případně úplně
někde jinde? Zkoušel jsem dát prodlevy v sekvenci 5x delší, ale
nepomohlo mi to...<br>
  <br>
s pozdravem,<br>
  <br>
Zdeněk<br>
  <br>
  <br>
  </div></div><pre><hr size="4" width="90%"><div class="im">
_______________________________________________
HW-list mailing list  -  sponsored by <a href="http://www.HW.cz" target="_blank">www.HW.cz</a>
<a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a>
<a href="http://list.hw.cz/mailman/listinfo/hw-list" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a>
  </div></pre>
</blockquote>
</div>

<br>_______________________________________________<br>
HW-list mailing list  -  sponsored by <a href="http://www.HW.cz" target="_blank">www.HW.cz</a><br>
<a href="mailto:Hw-list@list.hw.cz">Hw-list@list.hw.cz</a><br>
<a href="http://list.hw.cz/mailman/listinfo/hw-list" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
<br></blockquote></div><br>