Brak wystarczającej ilości linii na porty.

Feb 20, 2005 19 Replies

Zabrakło mi 8 linii ( 1 port w procesoraze 89C52) do obsługi wyświetlacza LCD który potrzebuje 16 linii do jego wysterowania.



8 mam a 8 mi zabrakło. Myślałem żeby zrobić na I2C port I/O 8bitowy na PCF8574 ale nie wiem czy nie bedzie zbyt wielkich opuźnień między dostarczonym bajcie bezpośrednio z portu a z bajtu dostarczonego z PCF`a. Może zastosować zatrzask jakiś? Ale do tego bede potrzebował jeszce jednej linii. Możecie mi podsunąć jakieś rozwiązanie? Link do schematu czy cuś...

PCF8574 obsługowany jest magistralą I2C o częstotliwości 400 kHz więc to opuźnienia są ale nie aż tak duże. Można na 1 lini I2C zaadresować do 16 układów PCF8574 (8) i PCF8574P (8) więc możesz uzyskać do 128 portów.

A jaka jest róznica mięcy pcf8574 a pcf8574P? Jeśli chodzi o te 400KHz, to on w środku może mieć i 400GHz ale zajmie dwa cykle maszynowe zanim on te informacje odbierze w ogole.

Inny zakres adresow I2C. Dlatego mozesz miec 16 ukladow, kazdy ze swoim adresem.

Niestety - ale to jest 400kHz transmisji bitowej. Wyslanie danej zajmie 16 bitow, wiec mowimy o co najmniej 40us.

Jaki to jest wyswietlacz, ile potrzebuje linii do obslugi, ile masz wolnych linii na procku [bez obslugi wyswietlacza], czy uzywasz magistrali do peryferiow - moze cos wtedy wymyslimy.

J.

a nie mozesz zrobic obslugi 4-bitowej? /LCD i tak sa cholernie wolne - nie bedziesz widzial roznicy w szybokosci "wyswietlania" w stosunku do obslugi 8-bitowej

8 linii spokojnie styknie Ci na obsuge LCD;

Dnia 2005-02-20 12:10, Użytkownik Panoramix napisał:

Drobna poprawka - PCF9574 jest dostępny w dwóch wersjach - z sufixem A i bez niego. Ostatnia literka(P lub T) oznacza obudowę - P lub DIP a T to SMD. Układy z sufixem A mają inny adres bazowy niż układy bez niego. A co do obsługi wyświetlacza - jeśli to wyświetlacz ze sterownikiem HD44780(lub zgodnym) to możeesz go też obsłużyć w trybie czterobitowym - wówczaw do pełnej obsługi potrzebujesz 7 linii z procesora.

Użytkownik Panoramix napisał:

Witam !

Proponuje zastosowanie ukladu CMOS 4094. I ta cena w porownaniu do PCF8574 :)

Byron e-mail: snipped-for-privacy@elek.osemka.p.lodz.pl

Mam na procesorze wolnych 8 linii, wyświetlacz jest firmy SDEC 2x16 model SSC2B16 i ma 16 linii do obsługi (8 na dane i 8 na sterowanie). Do obsługi peryferiow urzywam magistrali I2C.

j>eśli to wyświetlacz ze sterownikiem

wyświetlacz jest sterowany przez NT3881.

A jak miala by ta obsługa 8 bitowa wyglądać? Jak miałbym kożystać z matrycy znaków, kiedy ona potrzebuje 4 bity na pion i 4 na poziom.

przyjże się jemu głębiej :)

Dostałem maila od kogoś, kto nie może pisać na grupy. Podał mi ciekawego linka z gotowymi rozwiązaniami którego teraz podaje do dyspozycji każdemu zainteresowanemu :)

formatting link

I normalnie tego układu właśnie urzyje. Nawet dwóch takich. Z tego jednego 8 bitowego portu wykorzystam 4 linie- 2 na wyjście szeregowe danych, jedno na aktywowanie STROB`a i jedno na linie OUTPUT ENABLE. Oba układy będą miały wspólną linie OUTPUT ENABLE tak, że jednocześnie oba układy wyplują mi po 8 bitów danych równolegle, czyli razem 16 :)

Dzieki wielkie Byron :)

Możesz spróbować użyć jakichś rejestrów przesuwających np. 74HC595. Będzie chyba troszkę szybciej (brak konieczności adresowania). Można połączyć kilka szeregowo. Do obsługi wystarczą 3 linie (dane, zegar, zatrzask)

Tadek

Tylko ze z tego co ja widze, to ten twoj nt3881 jest kompatybilny z

44780. Nie wiem gdzie sie doszukales 16 linii - ale w trybie 4-bit wystarczy ci 7 linii.

J.

Jak ustawić ten tryb? Jak korzystać z matrycy znaków jeżeli bede kożystał tylko z 4 bitów danych??

Użytkownik "Panoramix" <panoramix snipped-for-privacy@BEZSPAMUPROSZEo2.pl napisał w wiadomości news:cvb1ht$rd6$ snipped-for-privacy@atlantis.news.tpi.pl

Tym pytaniem to już zdradzasz totalne lenistwo albo zaawansowaną dysgooglię! ;->

formatting link
formatting link
(LCD MODULE FAQ - tu masz dokładnie rozpisaną inicjalizację w obu trybach)
formatting link

....juz sie uspokoilem :)

a wiec:

na poczatku, podczas tzw. inicializacji LCD ustawiasz mu tryb w jakim ma dzialac;

czy ma to byc tryb 4-bitowy czy 8-bitowy;

4 bitowy rozni sie od 8 bitowego tylko tym, ze uzywaz 4 linii do danych a nie 8, i podanie bajtu (8 bitow) zajmuje wiecej czasu; /ciut ponad 2x wiecej niz w trybie 8-bit;

ale LCD maja tak duza bezwladnosc, (zwlaszcza jak jest zimno :) ze nie wplynie to na szybkosc pojawiania sie znakow na LCD.

jasne? :)

ps. serio poczytaj troche o LCD, bo sciemniasz niemilosiernie :)

Jak rany, przesadziłeś :) Wydrukuje sobie to i poczytam do poduszki bo zanim skończe przed monitorem to mi sie oczy popsują ;)

Ja nie ściemniam, ja poprostu jestem zielony :)

:O

Ekhmm... no wiesz..... .... dzieki za linki ;) Poczytam sobie do poduszki :)

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required