Skocz do zawartości

Demultiplekser 74LS138


Pomocna odpowiedź

Napisano

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.

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?

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?

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

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...