Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[Bascom] Komunikacja równoległa 4-bit.

pier 13 Lis 2017 17:33 711 22
  • #1 13 Lis 2017 17:33
    pier
    Poziom 23  

    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: vbnet
    Zaloguj się, aby zobaczyć kod

    0 22
  • #2 13 Lis 2017 17:59
    czareqpl
    Poziom 28  

    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...

    0
  • #3 13 Lis 2017 18:15
    pier
    Poziom 23  

    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.

    0
  • #4 13 Lis 2017 19:09
    22053
    Użytkownik usunął konto  
  • #5 13 Lis 2017 19:27
    pier
    Poziom 23  

    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

    0
  • #6 13 Lis 2017 19:40
    22053
    Użytkownik usunął konto  
  • #7 13 Lis 2017 19:46
    pier
    Poziom 23  

    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.

    0
  • #8 13 Lis 2017 20:18
    373522
    Użytkownik usunął konto  
  • #9 14 Lis 2017 02:03
    22053
    Użytkownik usunął konto  
  • #10 14 Lis 2017 09:59
    373522
    Użytkownik usunął konto  
  • #11 14 Lis 2017 11:06
    22053
    Użytkownik usunął konto  
  • #12 14 Lis 2017 11:17
    pier
    Poziom 23  

    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.

    0
  • #13 14 Lis 2017 11:28
    22053
    Użytkownik usunął konto  
  • #14 14 Lis 2017 11:33
    czareqpl
    Poziom 28  

    Można też tak :)

    Kod: vbnet
    Zaloguj się, aby zobaczyć kod


    Albo:

    Kod: vbnet
    Zaloguj się, aby zobaczyć kod

    0
  • #15 14 Lis 2017 11:33
    pier
    Poziom 23  

    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: vbnet
    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?

    0
  • #16 14 Lis 2017 11:38
    373522
    Użytkownik usunął konto  
  • #17 14 Lis 2017 11:47
    22053
    Użytkownik usunął konto  
  • #18 14 Lis 2017 11:51
    373522
    Użytkownik usunął konto  
  • #19 14 Lis 2017 12:25
    22053
    Użytkownik usunął konto  
  • #20 14 Lis 2017 13:03
    pier
    Poziom 23  

    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.

    0
  • #21 14 Lis 2017 13:39
    22053
    Użytkownik usunął konto  
  • #22 14 Lis 2017 14:37
    373522
    Użytkownik usunął konto  
  • #23 14 Lis 2017 14:56
    22053
    Użytkownik usunął konto