logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[pascal] Obsługa LCD alfanumerycznego przez port LPT

grysek 02 Lip 2009 13:50 2167 4
REKLAMA
  • #1 6730176
    grysek
    Poziom 19  
    Posty: 424
    Pomógł: 37
    Ocena: 10
    Witam,

    Napisałem programik obsługi LCD przez port LPT. Program ma za zadanie wyświetlić litery od A - K. Niestety wyświetlacz wogóle nie reaguje. Port otwieram za pocą programu UserPort.

    uses crt;
    var
    x:byte;
    
    const
    LPT = $378;
    
    procedure inicjuj;
    begin
    port[LPT+$02]:=$09; {RS=0}
    port[LPT]:=$30;
    delay(5);
    port[LPT]:=$38;
    port[LPT]:=$08;
    port[LPT]:=$01;
    port[LPT]:=14;
    delay(1);
    end;
    
    
    begin
    inicjuj;
    for x:=65 to 75 do begin
     port[LPT+$02]:=$08; {ustawienie RS=1}
     port[LPT+$00]:=x; { zapis znaku na linie D0...D7}
     port[LPT+$02]:=$00; { E=1 }
     port[LPT+$02]:=$08; { E=0 koniec zapisu znaku }
     readkey;
    end;
    end.


    [pascal] Obsługa LCD alfanumerycznego przez port LPT
  • REKLAMA
  • #2 6733721
    raku99
    Poziom 1  
    Posty: 1
    Witaj :)
    Że tak zapytam ... jeżeli odpalasz pod Win32 to przypadkiem bezpośredni dostęp do portów nie jest blokowany ?

    Pozdrawiam serdecznie !
  • REKLAMA
  • #3 6735252
    grysek
    Poziom 19  
    Posty: 424
    Pomógł: 37
    Ocena: 10
    Odblokowywuję port poprzez program UserPort co napisałem wczesniej. Po podłączneniu diod i napisaniu odpowiedniego programu diody migają nawet pod systemem WinXP dzięki temu programowi
  • REKLAMA
  • Pomocny post
    #4 6735507
    szelus
    Poziom 34  
    Posty: 1508
    Pomógł: 315
    Ocena: 53
    1. Przy każdym zapisie do wyświetlacza, również rozkazów, musisz wygenerować signał strobujacy E. Nie tylko przy zapisie danych, przy inicjalizacji również.
    2. PC-ty są teraz za szybkie. Musisz wstawić opóźnienia przy zmianach sygnału E w obie strony. Również pomiędzy zapisem danych do portu LPT a wysterowaniem sygnału E.
    3. Poszukaj sobie, jak się powinno inicjalizować wyświetlacz, aby mieć gwarancję sukcesu (tryb pracy 4/8bit trzeba wysłać trzy razy).
  • #5 6744412
    grysek
    Poziom 19  
    Posty: 424
    Pomógł: 37
    Ocena: 10
    Dzieki serdeczne szelus miałeś racje :D Teraz wszystko działa dobrze!


    Dzieki za pomoc i pozdrawiam.
REKLAMA