Prezencik bedzie - moze komus sie przyda

Feb 05, 2004 4 Replies

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


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.

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

A mo¿e - sugestia drobna - nie mój pomys³ ale ty programista cyfrowy - ja bardziej analogowiec - wiec mo¿e wykorzystasz my¶l - a ja mo¿e na tym skorzystam Rozwi±zanie podejrzane w urz±dzeniu - ka¿dy wy¶wietlacz obs³ugiwany przez rejestr - 4094 - wiec dowolna ilo¶c wy¶wietlaczy mo¿na obs³u¿yc magistrala

3-przewodow± - brak multiplexowania - nie ¶mieci ( urz±dzenie radiokomunikacyjne)

- tylko jak to ³adnie rozwiazaæ programowo ? Tyle o de mnie T.F.

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

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required