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

[Bascom] Jak uruchomić wyświetlacz LED z kasy fiskalnej w Bascom?

pier 13 Lis 2017 17:33 1077 22
  • #1 16820649
    pier
    Poziom 24  
    Witam.

    Chciałem uruchomić wyświetlacz led z kasy fiskalnej.
    Posiłkuje się wskazówkami z tego tematu.
    Komunikacja jest prościutka ale ja nigdy nie pisałem sam żadnej procedury i nie wychodzi mi to.
    Podpowiecie co robię źle?
    Kod: VB.net
    Zaloguj się, aby zobaczyć kod
  • #2 16820712
    czareqpl
    Poziom 33  
    Może problem tkwi w tym, że ten kod prawie nic nie robi...

    Nie podałeś schematu połączeń w swoim projekcie.
    Port C adresujesz bezpośrednio wartościami 8-bitowymi, Port B w sposób dyskretny pin po pinie...

    Zmieniasz PB =0, potem na 1, potem znów na 0 i koniec programu...
  • #3 16820746
    pier
    Poziom 24  
    czareqpl napisał:
    Może problem tkwi w tym, że ten kod prawie nic nie robi...

    Nie podałeś schematu połączeń w swoim projekcie.
    Port C adresujesz bezpośrednio wartościami 8-bitowymi, Port B w sposób dyskretny pin po pinie...

    Zmieniasz PB =0, potem na 1, potem znów na 0 i koniec programu...


    PortC to wyjście rozkazów i danych a portb.0 to TAKT.

    Wysyłam rozkaz na portc i robię takt na portb.0.

    Coś tam mi ruszyło. Jak wyślę liczbę 13 to robi chyba test wyświetlacza bo zapala kolejno segmenty na kolejnych pozycjach. Ale co to za test skoro nie zapala wszystkich segmentów.
  • #4 16820923
    Konto nie istnieje
    Konto nie istnieje  
  • #5 16820969
    pier
    Poziom 24  
    R-MIK napisał:
    pier napisał:
    Chciałem uruchomić wyświetlacz led z kasy fiskalnej.

    Jaki to wyświetlacz? Moze sterownik zgodny z popularnymi LCD. W takiej sytuacji Bascom ma wbudową ich obsługę.


    Przecie napisałem że wyświetlacz led i podałem linka do tematu gdzie ktoś go opisuje.
    Jest tam procesor Motoroli MC68HC705.
    Jest opisana procedura obsługi ale nie do końca mi to wychodzi.
    Jak na razie ruszył mi tylko test wyświetlacza, zapalenie wszystkich segmentów wszystkich wyświetlaczy i zerowanie. Ale pomimo to i tak dziwnie to jakoś działa.
    Nie wiem jak ma wyglądać do końca wysyłanie danych do wyświetlacza.
    Numery rozkazów też są inne u mnie.
    Test to 13.
    Zapalenie segmentów to 9
    Zerowanie to 2
  • #6 16821017
    Konto nie istnieje
    Konto nie istnieje  
  • #7 16821030
    pier
    Poziom 24  
    R-MIK napisał:
    Nie zauważyłem linku.
    Wywal Waitms 10, może to jest problemem. Ewentualnie popróbuj zmienić tan czas. Może na krótszy, może dłuższy.
    Jak bedziesz wysyłał kilka bajtów, to pomiedzy nimi moze trzeba wstawić Waitms. Tajk to jest jak pracuje sie bez dokumentacji.


    PS
    Kup rejestrator, np SaleAE. Wydatek ok 50zł, a niesamowicie ułatwi pracę (ma analizator magiostrali).


    Kombinuje ale to praca po omacku. Jak pisałem u mnie nie zgadzają się rozkazy z rozpiską z linku.
    Mam analizator ale co mam analizować jak nie mam urządzenia "nadającego" do wyświetlacza.
  • #8 16821125
    Konto nie istnieje
    Konto nie istnieje  
  • #9 16821780
    Konto nie istnieje
    Konto nie istnieje  
  • #10 16822026
    Konto nie istnieje
    Konto nie istnieje  
  • #11 16822119
    Konto nie istnieje
    Konto nie istnieje  
  • #12 16822140
    pier
    Poziom 24  
    R-MIK napisał:
    Gdzie, w sterowaniu tym wyświetlaczem jest konieczność używania makr? Wystawiana jest dana, po czy na lini zegara, zmiana na H, następnie L. Gdyby trzeba to zrobic kilka razy to już prędzej, ale wtedy lepiej użyc pętli. Chyba, że makra mają zastąpić pętle. Ale to szczególny i zadki, zwłaszcza w dzisiejszych czasach, przypadek.


    No raczej często trzeba "pikać" na lini CLK. Po każdym rozkazie i wysłaniu danych do wyświetlenia.

    Odpuściłem temat tego wyświetlacza z racji rozbieżności w rozkazach. Musiałbym na czuja szukać jaka komenda do czego a do tego jeszcze nie wiem na 100% jak wygląda wysyłanie danych. Za dużo czasu za mało pożytku, szczególnie że mam tylko jedną sztukę. Prędzej zbuduje własny wyświetlacz razem z płytką niż to rozgryzę.

    Dzięki za chęć pomocy.
  • #13 16822157
    Konto nie istnieje
    Konto nie istnieje  
  • #14 16822168
    czareqpl
    Poziom 33  
    Można też tak :)

    Kod: VB.net
    Zaloguj się, aby zobaczyć kod


    Albo:

    Kod: VB.net
    Zaloguj się, aby zobaczyć kod
  • #15 16822170
    pier
    Poziom 24  
    R-MIK napisał:
    pier napisał:
    R-MIK napisał:
    Gdzie, w sterowaniu tym wyświetlaczem jest konieczność używania makr? Wystawiana jest dana, po czy na lini zegara, zmiana na H, następnie L. Gdyby trzeba to zrobic kilka razy to już prędzej, ale wtedy lepiej użyc pętli. Chyba, że makra mają zastąpić pętle. Ale to szczególny i zadki, zwłaszcza w dzisiejszych czasach, przypadek.


    No raczej często trzeba "pikać" na lini CLK. Po każdym rozkazie i wysłaniu danych do wyświetlenia.

    Czyli jak chcesz wysłać 100 razy cos do wyswietlacza to piszesz program w ten sposób:
    Kod: VB.net
    Zaloguj się, aby zobaczyć kod

    zamiast użyć pętli? Jeśli tak, to wiem czemu programy w Bascom zużywają dużo więcej pamięci niz programy w C.


    Na pewno tak by program nie wyglądał. Tak by było bez sensu.
    Ale pętla? Jak?
  • #16 16822172
    Konto nie istnieje
    Konto nie istnieje  
  • #17 16822189
    Konto nie istnieje
    Konto nie istnieje  
  • #18 16822196
    Konto nie istnieje
    Konto nie istnieje  
  • #19 16822242
    Konto nie istnieje
    Konto nie istnieje  
  • #20 16822305
    pier
    Poziom 24  
    R-MIK napisał:
    niveasoft napisał:
    Chcąc mieć najkrótszy takt zegara wstawiłbym !NOP

    Jeszcze krótszy bedzie jak nie wstawi sie nic. Problem w tym, ze nie wiadomo jakie sa wymaganioa czasowe tego sygnału. W linku było też o sygnale BUSY. Najlepej byłoby miec działajace urzadzenie, rejestratorem mozna by sprawdzic zaleznosci czasowe.
    W wiekszości wypadków, takie wyswietlacze, były montowane w kasach, w których płyta sterujaca to komputer przemysłowy. Wyświetlacz był podłączony do portu LPT. Zakładając, że użyto trybu standardowego (zapomniałem skrótu) a nie EPP/ECP, to już znamy zależności czasowe. Wątpię aby był to tryb EPP, wymaga on dość szybkiego potwierdzenia, czego procek nie jest w stanie wygenerowac programowo.
    Jest jeszcze jedno rozwiazanie, wylutować uC z płytki wyswietlacza i sterować bezposrednio rejestrami sterujacymi wyswietlacze.


    Też myślałem nad wylutowaniem procesora i bezpośrednim sterowaniem. Chyba tak było by najszybciej.
  • #21 16822373
    Konto nie istnieje
    Konto nie istnieje  
  • #22 16822498
    Konto nie istnieje
    Konto nie istnieje  
  • #23 16822542
    Konto nie istnieje
    Konto nie istnieje  
REKLAMA