Forum Krótkofalarskie PKI

PIC16F627A i wyświetlacz LCD - problem
T#461440
Facebook
sq3mve
poziom 6

Użytkownik
QTH: JO82MB
#2458421 25.08.2017 16:51:04
Witam

    sp9uxy pisze:


    A próbowałeś czy z innym egzemplarzem LCD są też problemy?


Tak, próbowałem.
To wyłącznie wina procka, a raczej kodu do niego.

Poza tym, jak już wcześniej napisałem, wydłużenie czasów oczekiwania przyniosło oczekiwane rezultaty.

Pozostał jedynie problem przypadkowego braku inicjacji wyświetlacza LCD po podaniu zasilania.

Pozdrawiam



Mariusz SQ3MVE
http://sq3mve.marph.pl
-----------------------------------
Dobrze jest gdy satysfakcja mówiącego nie przewyższa znacznie satysfakcji słuchających.
Jerzy Bralczyk
-----------------------------------
Najlepsze kursy on-line. 30 zł na start :-)
sp9uxy
poziom najwyższy i najjaśniejszy :-)
Użytkownik
QTH: Gliwice
#2458445 25.08.2017 19:23:58
    sq3mve pisze:

    Witam

      sp9uxy pisze:


      A próbowałeś czy z innym egzemplarzem LCD są też problemy?


    Tak, próbowałem.
    To wyłącznie wina procka, a raczej kodu do niego.

    Poza tym, jak już wcześniej napisałem, wydłużenie czasów oczekiwania przyniosło oczekiwane rezultaty.

    Pozostał jedynie problem przypadkowego braku inicjacji wyświetlacza LCD po podaniu zasilania.

    Pozdrawiam


To może na samym początku jakaś pętla opóźniająca a potem kod właściwy.
sq6ade
moc !!!
moc !!!
Użytkownik
QTH: Wrocław (Breslau) Party-n
#2458447 25.08.2017 19:33:15
Jak sterownik lcd nie zainicjuje się sam po starcie to żadne zwłoki czasowe nie pomogą. Procedura inicjacji to obowiązkowa sprawa
aby nie było kłopotów.



"Panta rej" jak mawiał Demokles z Akwirynu

SR6MA w mobilku 145.350 home


sp9uxy
poziom najwyższy i najjaśniejszy :-)
Użytkownik
QTH: Gliwice
#2458449 25.08.2017 19:40:05
To pewnie trzeba dopracować kod do inicjacji LCD na necie dużo przykładów jest.
SP6LTD
poziom 2
Użytkownik
QTH: JO81LC
#2458499 25.08.2017 22:02:01
    sp9uxy pisze:

    Kolejność nauki powinna właśnie rozpoczynać się od asemblera, poznajesz wówczas
    mapę pamięci uP, rejestry, przerwania.
    Potem C, oczywiście pisząc w C często warto dla większej wydajności używać
    wstawek asemblerowych.

Wydajności czego? Mojej przy pisaniu softu? Żartujesz sobie.
Wydajności procka? To się bierze mocniejszy.
Kolega zahibernował w latach dziewięćdziesiątych.
sp9uxy
poziom najwyższy i najjaśniejszy :-)
Użytkownik
QTH: Gliwice
Ilość edycji wpisu: 1
#2458500 25.08.2017 22:07:38
    SP6LTD pisze:

      sp9uxy pisze:

      Kolejność nauki powinna właśnie rozpoczynać się od asemblera, poznajesz wówczas
      mapę pamięci uP, rejestry, przerwania.
      Potem C, oczywiście pisząc w C często warto dla większej wydajności używać
      wstawek asemblerowych.

    Wydajności czego? Mojej przy pisaniu softu? Żartujesz sobie.
    Wydajności procka? To się bierze mocniejszy.
    Kolega zahibernował w latach dziewięćdziesiątych.



Nie bądź taki do przodu.
Chodzi o optymalny i szybki kod. Masz pojęcie o czym piszesz?
Czy na zasadzie nie wiem ale wypowiem się?
wpis edytowany 25.08.2017 22:11:22
sq6ade
moc !!!
moc !!!
Użytkownik
QTH: Wrocław (Breslau) Party-n
#2458589 26.08.2017 16:08:32
użytkowniku forum o nicku SP9UXY .
Wrzuć jakiś kod albo jakiekolwiek opracowanie własne aby uwiarygodnić swoją wiedzę praktyczną.
Pamiętaj że już byłeś poddany próbie analizy prostego programu w ASM i Piotruś za cię rozwiązał zaszyty tekst.



"Panta rej" jak mawiał Demokles z Akwirynu

SR6MA w mobilku 145.350 home


sq3mve
poziom 6

Użytkownik
QTH: JO82MB
#2458640 26.08.2017 21:26:53
Witam

    sp9uxy pisze:

    To może na samym początku jakaś pętla opóźniająca a potem kod właściwy.


Pętla opóźniająca nic nie da.
Już sprawdzałem :-)

Poza tym zauważyłem, że wydłużenie pętli zwiększa prawdopodobieństwo niezainicjowania LCD'ka ...

Pozdrawiam



Mariusz SQ3MVE
http://sq3mve.marph.pl
-----------------------------------
Dobrze jest gdy satysfakcja mówiącego nie przewyższa znacznie satysfakcji słuchających.
Jerzy Bralczyk
-----------------------------------
Najlepsze kursy on-line. 30 zł na start :-)
sp6ryd
poziom najwyższy i najjaśniejszy :-)
Użytkownik
QTH: Wrocław
#2458669 26.08.2017 23:52:29
W nowym procku z oscylatorem RC możesz mieć na bitach konfiguracyjnych OST i PWRT ustawiony inny czas. Sterownik LCD na HD44780 potrzebuje minimum 15-40 ms opóźnienia po włączeniu zasilania przed inicjalizacją. Teoretycznie PWRT ma aż 72 ms. Ważne, jeśli nie sprawdzasz BUSY, są też opóźnienia po każdej komendzie (zobacz tabelę 5 w opisie - max to nawet 64 ms! ) no i oczywiście właściwy timing RS, R/W, E, DATA - ale przy 4MHz powinno być ok.

http://www.epemag.wimborne.co.uk/lcd2.pdf
sp9uxy
poziom najwyższy i najjaśniejszy :-)
Użytkownik
QTH: Gliwice
#2458715 27.08.2017 07:39:34
    sq6ade pisze:

    użytkowniku forum o nicku SP9UXY .
    Wrzuć jakiś kod albo jakiekolwiek opracowanie własne aby uwiarygodnić swoją wiedzę praktyczną.
    Pamiętaj że już byłeś poddany próbie analizy prostego programu w ASM i Piotruś za cię rozwiązał zaszyty tekst.


Użytkowniku o nicku SQ6ADE nie interesują mnie Twoje testy
i analizy. Jak lubisz uczyć i egzaminować to zostań nauczycielem.
sp9uxy
poziom najwyższy i najjaśniejszy :-)
Użytkownik
QTH: Gliwice
#2458731 27.08.2017 09:02:20
To jest procedura inicjalizacyjna z działającego kodu :

WriteIOExpd(IO_DIR_A,0x00); // PORT A wyjścia
WriteIOExpd(IO_DIR_B,0x00); // PORT B wyjścia

WriteIOExpd(GPIO_A,0x20); // załącz LCD

__delay_ms(10);

WriteLcdCommand(0x3C); // 2C dla 4bit

__delay_ms(10);

WriteLcdCommand(0x0C);

__delay_ms(10);

WriteLcdCommand(0x01); // czyść LCD

__delay_ms(10);

WriteLcdCommand(0x0C);

__delay_ms(130);

WriteLcdCommand(0x80);

__delay_ms(1);
sq3mve
poziom 6

Użytkownik
QTH: JO82MB
#2458737 27.08.2017 09:20:40
Witam

    sp6ryd pisze:


    W nowym procku z oscylatorem RC możesz mieć na bitach konfiguracyjnych OST i PWRT ustawiony inny czas. Sterownik LCD na HD44780 potrzebuje minimum 15-40 ms opóźnienia po włączeniu zasilania przed inicjalizacją. Teoretycznie PWRT ma aż 72 ms. Ważne, jeśli nie sprawdzasz BUSY, są też opóźnienia po każdej komendzie (zobacz tabelę 5 w opisie - max to nawet 64 ms! ) no i oczywiście właściwy timing RS, R/W, E, DATA - ale przy 4MHz powinno być ok.

    http://www.epemag.wimborne.co.uk/lcd2.pdf


Sprawdzę jeszcze te ustawienia związane z OST i PWRT, chociaż były ustawione "książkowo", zgodnie z DataSheet procka.

Co do czasów opóźnień wymaganych przez wyświetlacz, to w każdym wymaganym punkcie są one ustawione zgodnie z zaleceniami...

Pozdrawiam



Mariusz SQ3MVE
http://sq3mve.marph.pl
-----------------------------------
Dobrze jest gdy satysfakcja mówiącego nie przewyższa znacznie satysfakcji słuchających.
Jerzy Bralczyk
-----------------------------------
Najlepsze kursy on-line. 30 zł na start :-)
Aby pisać na forum musisz się zalogować !!!
rss · kontakt · załóż własne forum · korzystasz z forum? wesprzyj projekt!