Witam
chciałem podlaczyc wejscia adresowe układu dzwiekowego ISD1420 do procesora attiny2313 i wymuszajac na nich stan 0 sterowac adresami w ukladzie ISD. z tego co wiem ze wpisanie 0 do rejestrow procesora nie sciaga portu do masy tylko pozostawia je w stanie trzecim (chyba ze sie myle). W jaki sposob zatem jednoznacznie wymuszac stan niski na koncowkach adresowych dodatkowego ukladu? tranzystory nie sa chyba dobtym pomyslem tym bardziej ze tych wejsc jest az 8
attiny2313 i ISD1420
porty konfiguruje nastepująco
config portb=&B11111111 ' co ustawia portb jako wyjscie
portb=&B11111111 'podciaga wyjscia do Vcc
Portb łacze nastepnie z wejsciami adresowymi ukadu ISD. aby okreslic poszczegolne miejsce w pamieci ukladu ISD musze wymusic na niektorych liniach portu b stan niski. Chodzi mi o to czy moge bezposrednio podlaczyc ten portb do wejsc adresowych i czy jezeli przykladowo wykonam polecenie portb=11100111 linie do ktorych wpisuje 0 beda fizycznie sciagniete do masy?
config portb=&B11111111 ' co ustawia portb jako wyjscie
portb=&B11111111 'podciaga wyjscia do Vcc
Portb łacze nastepnie z wejsciami adresowymi ukadu ISD. aby okreslic poszczegolne miejsce w pamieci ukladu ISD musze wymusic na niektorych liniach portu b stan niski. Chodzi mi o to czy moge bezposrednio podlaczyc ten portb do wejsc adresowych i czy jezeli przykladowo wykonam polecenie portb=11100111 linie do ktorych wpisuje 0 beda fizycznie sciagniete do masy?
-
elektronWielki
- Użytkownik
- Posty: 247
- Rejestracja: 30 maja 2006, 12:45
- Lokalizacja: kontownia
przykład:
Kod: Zaznacz cały
; Inicjalizacja portu D
ldi A, 1 << PD4 | 1 << PD6 ; PD4 i PD6 pracuja jako wyjscia pozostałe jako wejścia
out DDRD, A
ldi A, 1 << PD3 | 1 << PD5 ; PD3 i PD5 podciagniete do plusa, pozostale sa w stanie wysokiej impedancji
out PORTD, A
Będą; stan trzeci można uzyskać tylko wtedy, gdy porty pracują w roli niepodciągniętych wejść. Dokładny opis razem z tabelką masz w karcie katalogowej mikrokontrolera.Nick_2 pisze:Chodzi mi o to czy moge bezposrednio podlaczyc ten portb do wejsc adresowych i czy jezeli przykladowo wykonam polecenie portb=11100111 linie do ktorych wpisuje 0 beda fizycznie sciagniete do masy?