Skocz do zawartości

Demultiplekser 74LS138


Pomocna odpowiedź

Witam, chcę zaprogramować zapalenie diody przez demultiplekser, jednak jeszcze nie miałem do czynienia z tego typu scalakami także mam parę pytań:

1. Piny A, B, C podłączam do pinów wejściowych uC?

2. Piny enable, czytałem że podobnie jak kanały A, B, C są to piny sterujące, czy muszę je podłączać? Nie mogę sterować tylko za pomocą kanałów A, B, C?

3. Nie za bardzo rozumiem jak to programować, wiem że podaję 1 i 0 na kanały, ale to wygląda w ten sposób że kiedy podam 1 na kanał A, B i C to na wszystkich wejściach będzie stan wysoki? A kiedy podam na kanał A 1, B i C 0, to stan wysoki będzie na wejściu 4?(100)

4. Dlaczego gdy mam podłączoną diodę do wejścia 0 demultipleksera, to ona świeci od razu, nawet kiedy podepnę anodę do obojętnie jakiego pinu demultipleksera? Nawet do GND.

Bardzo proszę o odpowiedzi,

pozdrawiam.

Link to post
Share on other sites

1. Tak

2. Przynajmniej jeden musisz sterować z uC, chyba że nie chcesz mieć ustawienia wszystkich wyjść na stan wysoki. Osobiście polecam wykorzystać do tego En3, a pozostałe dwa do GND.

3. Zajrzyj do datasheeta

4. A po co dioda do wejścia?

Link to post
Share on other sites

Ok, widziałem dokumentację, w tej tablicy prawdy wszystko jest wyjaśnione. Ale mam inny problem, bo podłączyłem demultiplekser w taki sposób:

A - PB4

B - PB3

C - PB2

G1 - PA1

G2A - PA0

Ale teraz uC(attiny2313) zachowuje się w bardzo dziwny sposób, bo mam ustawione w ten sposób:

int main(void) 
{ 

DDRA = 0xff;
DDRB = 0xff;
DDRD = 0xff;

PORTD = 0x00;
PORTA = 0x00;
PORTB = 0x00;

}

czyli stany niskie na wszystkich portach, ale niezależnie od tego na całym porcie A jest stan wysoki, na pinach PD0, PB2... i tutaj dotknąłem VCC anodą diody i już nic nie działa.

O co tutaj chodzi?

[ Dodano: 23-12-2012, 14:37 ]

Ah tam przecież dioda mi się spaliła...🙂 więc dalej PB3, PB4. Zauważyłem że głównie są to piny gdzie mam podłączone wejścia demultipleksera, występuje na tych pinach może negacja powodująca odwrócenie stanu niskiego?

Link to post
Share on other sites

Ustawienie DDRA = 0xff; czyli DDRA =0b11111111 nie jest przypadkiem błędem?

Attiny 2313 ma tylko 3 porty I/O DDRA z czego jeden jest jako reset. Również ma 7 portów DDRB czyli

DDRB=0x7F;

Odsyłam do noty katalogowej --->>

www.atmel.com/Images/doc2543.pdf

Link to post
Share on other sites
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.