RTV forum PL | NewsGroups PL

Jak skonfigurować PCF8574 do pracy z 4 wejściami i 4 wyjściami wysokimi?

PCF8574

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Jak skonfigurować PCF8574 do pracy z 4 wejściami i 4 wyjściami wysokimi?

Michał
Guest

Tue Mar 23, 2010 12:19 pm   



Cześć,

Mam śmieszny problem, ale zatrzymał mnie już drugi dzień, więc proszę o
pomoc.
Chcę użyć PCF8574, gdzie 4 piny będą wejsciami a 4 wyjściami.
Aby odczytać stan wejść, muszę wysłać najpierw na adres podstawowy w wartość
255,
w celu ustwienia układu w tryb input, a nastepnie na adresie dodatkowym
odpytuję o stan portu.

Co jesli chce uzywac jako wyjsc polowy portu.
Wysyłam losowe wartosci na adres podstawowy 1,2,4,8 i wszystko niby działa,
ale co jeśli
chciałbym wszystkie piny użyc jako wyjścia i ustawić im stan wysoki ,bo
muszę wysłać wartość 255,
co układ odbierze jako odpytanie portów wejsciowych.

Pogubiłem się, a w googlach widzę tylko przykłady użycia PCF8574 jako
wejścia.
W manualu nawet nie ma wzmianki i konieczności wcześniejszego wysłania
wartości 255 dla odczytania portu.

Pozdrawiam Michał

PC
Guest

Tue Mar 23, 2010 12:54 pm   



255 wysyła się aby piny ustawić w stan wysoki przy założeniu, że po resecie
mają nieustalony. Jeżeli programowo nie zmienisz stanu Twoich pinów
wejściowcych to ich stan jest zależny od tego co na wejściu. Jak coś uziemia
z zewnątrz Twoje piny wejściowe to i tak programowo nie zmienisz ich stanu.
Wysyłając coś do układu aby zmienić stan pinów wyjściowych dla wejściowych
przyjmujesz stan 1.

PC

Mario
Guest

Tue Mar 23, 2010 1:06 pm   



W dniu 2010-03-23 12:54, PC pisze:
Quote:
255 wysyła się aby piny ustawić w stan wysoki przy założeniu, że po
resecie mają nieustalony.

OIDP Power-on reset powoduje ustawienie wszystkich wyjść na Hi.


--
Pozdrawiam
MD

Michał
Guest

Tue Mar 23, 2010 1:10 pm   



Quote:
255 wysyła się aby piny ustawić w stan wysoki przy założeniu, że po
resecie mają nieustalony. Jeżeli programowo nie zmienisz stanu Twoich
pinów wejściowcych to ich stan jest zależny od tego co na wejściu. Jak coś
uziemia z zewnątrz Twoje piny wejściowe to i tak programowo nie zmienisz
ich stanu.
Wysyłając coś do układu aby zmienić stan pinów wyjściowych dla wejściowych
przyjmujesz stan 1.

Czyli, na adres podstawowy mogę wysyłać tylko żadanie zniamy stanu wyjscia,
a na adresie dodatowym odczytywać stan wejsc i brać pod uwagę tylko piny,
których używam jako wejść.
To ma sens, nie wiedziałem po co ten nieszczesny początek 255:-)
Dzięki, pozdrawiam

Sylwester Łazar
Guest

Tue Mar 23, 2010 1:13 pm   



Kolega już tu ładnie odpisał, a ja ze swojej strony dodam,
że należy zwrócić uwagę na adres w zależności od literki A na końcu
oznaczenia.
Kiedyś miałem kłopot, bo zamiast PCF8574 był kupiony PCF8574A.
I tak musiałem zmienić kod:
;S4.9 I2C
;okreťlenie adresˇw uk|adˇw scalonych
IF PCF8574A
cKB0 EQU 0x70 ;adres uk|adu KB0
cKB1 EQU 0x72 ;adres uk|adu KB1
cKB2 EQU 0x74 ;adres uk|adu KB2
cKB3 EQU 0x76 ;adres uk|adu KB3
ELSE
cKB0 EQU 0x40 ;adres uk|adu KB0
cKB1 EQU 0x42 ;adres uk|adu KB1
cKB2 EQU 0x44 ;adres uk|adu KB2
cKB3 EQU 0x46 ;adres uk|adu KB3
ENDIF


--
pozdrawiam
Sylwester Łazar
http://www.alpro.pl
http://www.rimu.pl -oprogramowanie do edycji schematów
i projektowania PCB

Adam Górski
Guest

Tue Mar 23, 2010 1:52 pm   



Michał pisze:
Quote:
Cześć,

Mam śmieszny problem, ale zatrzymał mnie już drugi dzień, więc proszę o
pomoc.
Chcę użyć PCF8574, gdzie 4 piny będą wejsciami a 4 wyjściami.
Aby odczytać stan wejść, muszę wysłać najpierw na adres podstawowy w wartość
255,
w celu ustwienia układu w tryb input, a nastepnie na adresie dodatkowym
odpytuję o stan portu.

Co jesli chce uzywac jako wyjsc polowy portu.
Wysyłam losowe wartosci na adres podstawowy 1,2,4,8 i wszystko niby działa,
ale co jeśli
chciałbym wszystkie piny użyc jako wyjścia i ustawić im stan wysoki ,bo
muszę wysłać wartość 255,
co układ odbierze jako odpytanie portów wejsciowych.

Pogubiłem się, a w googlach widzę tylko przykłady użycia PCF8574 jako
wejścia.
W manualu nawet nie ma wzmianki i konieczności wcześniejszego wysłania
wartości 255 dla odczytania portu.

Pozdrawiam Michał




Cześć


1.Układ nie posiada dwóch adresów,pomylił kolega bit R/W z adresowymi.
Adresowanie po I2C ma 7 bitów czyli do 127 urządzeń a 8 bit to R/W

2.Ależ wszystko jest w manualu. Proszę popatrzeć na schemat wew.
Port wyjściowy nie ma tranzystora do ustawiania stanu wysokiego na
wyjściu. Ma źródło prądowe o ile dobrze pamiętam 100uA.
Jeżeli ma pracować jako wyjściowy to możesz albo wymusić stan niski albo
go nie wymuszać i wtedy masz stan wysoki realizowany poprzez źródło prądowe.

Jeżeli ma pracować jako wejście to stan niski podobnie wymuszony
zewnętrznie a wysoki może być wymuszony zewnętrznie lub podobnie jak w
poprzednim przypadku.

Tak czy siak - wejście czy wyjście nie ma przełączania kierunku portu.

Pozdrawiam

Adam

elektroda NewsGroups Forum Index - Elektronika Polska - Jak skonfigurować PCF8574 do pracy z 4 wejściami i 4 wyjściami wysokimi?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map