Prezencik bedzie - moze komus sie przyda

Opracowuję sobie moduł na własne potrzeby - cztery wyświetlacze siedmiosegmentowe (8888) sterowane 2051. Komunikacja do ustrojstwa szeregowa synchroniczna. Wysyłamy 16 bitów, po cztery na każdą cyfrę, strobujemy zmianą z poziomu niskiego. Jeśli całe słowo nie nadejdzie w ciągu jakiegoś tam czasu (do ustalenia) to to co przyszło jest ignorowane (forma prostego zabezpieczenia przed rozsynchronizowaniem i wyświetlaniem głupot). Oczywiście na czterech bitach można zmieścić 16 danych - 12 wykorzystam na cyfry, spację i minus a jeśli dana >12 to - właśnie - będą dodatkowe bajery (w końcu niech ma co robić 2051). No i na razie wymyśliłem:

- wysyłanie dowolnej danej do wyświetlacza (w celu wyświetlenia czegokolwiek),

- trzy szybkości mrugania (+ czwarty - stabilny),

- cztery jasności (sterowanie wypełnieniem),

No i co jeszcze? Jeśli ktoś ma pomysł chętnie zaimportuję. Potem całość wystawię gdzieś na stronie (schemacik, program i opis danych) i będzie gotowe.

A (dla malkontentów ;) dodatkowy procesorek wykorzystałem specjalnie z kilku względów:

- brakło portów,

- brakło czasu na multipleks,

- 2051 ma drivery więc całość to jeszcze cztery tranzystory i 12 oporniczków - w sumie wychodzi niewiele drożej jak ''po bożemu''.

Reply to
Janko Muzykant
Loading thread data ...

A nie lepiej zastosowac taki protokol jak dallas ma do 1-wire? Nie sa potrzebne zadne stroby itd. Dodatkowo prosta implementacja CRC umozliwia kontrole poprawnosci danych. No i do takiej szyny bedziesz sobie mogl podlaczyc dowolna ilosc modulow - jesli kazdemu dasz unikalne ID.

Reply to
T.M.F.

Pomyślę o tym. Punktem wyjścia jest dla mnie format wejściowy akurat taki jak opisałem ale to jest do dogrania.

Reply to
Janko Muzykant

Tak to ja mam już teraz (dobre rozwiązanie, także do lcd) ale są wady:

- dłuższa transmisja (na 4 cyfry 32 bajty zamiast 16),

- mruganie wymaga odświeżania

- sterowanie jasnością bez rozbudowy praktycznie niewykonalne (ale realizaja sprzętowa prosta)

- więcej lutowania ;)

Rozwiązanie programowe jest prościutkie - wysyła się szeregowo wzorce, dla jednej cyfry np:

mov dptr, #wzorce_znakow movc a, @a+dptr ;i 8 razy rlc a mov data_pin2_4094, c clr cp_pin3_4094 setb cp_pin3_4094

Tu wykorzystuję tylko dwie linie ale widać ''duchy'' podczas zmiany stanu wyswietlacza. Można na czas transmisji zerować oe_pin15_4094 i jest ok. Przy okazji jak by ktoś potrzebował rozpiska 4094 do sterowania diodami:

1 - strobe - Vcc 2 - data (patrz wyzej) dla pierwszego 4094 albo z poprzedniego 4094_qs2 dla następnych 4092 3 - cp (patrz wyzej) 4 - lcd1 5 - lcd2 6 - lcd3 7 - lcd4 8 - masa 9 - nc 10 - qs2 do następnego 4094_data albo nc dla ostatniego 4094 11 - lcd8 12 - lcd7 13 - lcd6 14 - lcd5 15 - oe (patrz wyżej) albo do Vcc 16 - Vcc
Reply to
Janko Muzykant

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.