Problemy z odczytem danych z 74LS165 podłączonego do 89C52 ? w czym tkwi błąd?
89C52 i 74LS165
From: Piotr Seweryn <server_at_nospam_zeus.polsl.gliwice.pl>
Subject: 89C52 i 74LS165
Date: Wed, 18 Sep 2002 18:32:55 +0200
Witam.
Polaczylem sobie Atmelka 89C52 z lancuszkiem 74LS165. W Atmelku siedzi
taki program (fragment):
clr ioSL ; pin Shift/Load
setb ioSL
mov r0, #8
loop:
mov c, ioQH ; pin Qh
rlc a
clr ioSHcp ; pin clock
setb ioSHcp
djnz r0, loop
Prawie dziala :) Problem pojawia sie gdy choc jedno z wejsc 74LS165 jest
"0" - wtedy wszystkie "nastepne" wejscia sa odczytywane jako "0"
niezaleznie od ich rzeczywistego stanu.
TTLki sa na 100% sprawne - w innych ukladach dzialaja OK.
Pozdrawiam.
--
Piotr Seweryn
<server_at_nospam_zeus.polsl.gliwice.pl>
From: "Andy" <anok_at_nospam_ceti.pl>
Subject: Re: 89C52 i 74LS165
Date: Wed, 18 Sep 2002 23:20:07 +0200
nie uzywalem tego 165
wiec nie wiem na 100% jak on dziala
a wejscia wisza w powietrzu ?
niby to LS wiec te co w powietrzu sa interpretwoane jako
1 ale lepiej podciagnac do +5 przez 1-10k
moze zwarlo sie 9 i 10 (Output i Serial IN)
i sie zapetla
a shift/load jest asynchroniczne ?
czy trzeba ustawic i cyknac jednym impulsem zegara
zeby sie zrobilo load
Andrzej
From: "Andy" <anok_at_nospam_ceti.pl>
Subject: Re: 89C52 i 74LS165
Date: Wed, 18 Sep 2002 23:33:56 +0200
juz doczytalem, ze pin 19 (Load) jest asynchroniczne
jesli masz taki efekt, ze po zwarciu wejscia do masy
wszystkie nastepne czyli te co sie wsuwaja jako nastepne
sa rowniez 0
to moze jest zwarcie miedzy pinem Load (1) a Output (9)
chyba wlasnie bylby taki efekt
moze zwarcie na plytce ?
Andrzej
From: Piotr Seweryn <server_at_nospam_zeus.polsl.gliwice.pl>
Subject: Re: 89C52 i 74LS165
Date: Wed, 18 Sep 2002 23:37:32 +0200
a wejscia wisza w powietrzu ?
probowalem i z wiszacymi w powietrzu i ze zwartymi do +5V... nic nie
dalo...
moze zwarlo sie 9 i 10 (Output i Serial IN)
i sie zapetla
nie
a shift/load jest asynchroniczne ?
czy trzeba ustawic i cyknac jednym impulsem zegara
zeby sie zrobilo load
asynchroniczne... "0" = load, "1" = zezwolenie na shift....
co ciekawe uklad po odlaczeniu Atmelka dziala dobrze... moze musze po
kazdym wczytanym bicie wpisac znowu "1" na ioQH (programowo)?
zeby bylo jeszcze ciekawiej: otoz po uzyciu 74LS165 innej firmy otrzymuje
jeszcze inny efekt - Atmel odbiera same jedynki, niezaleznie co sie poda
na wejscia TTLa.....
--
Piotr Seweryn
<server_at_nospam_zeus.polsl.gliwice.pl>
From: "Andy" <anok_at_nospam_ceti.pl>
Subject: Re: 89C52 i 74LS165
Date: Thu, 19 Sep 2002 00:01:43 +0200
"Piotr Seweryn" <server_at_nospam_zeus.polsl.gliwice.pl> wrote in message
news:Pine.HPX.4.44.0209182329550.26645-100000_at_nospam_zeus.polsl.gliwice.pl...
co ciekawe uklad po odlaczeniu Atmelka dziala dobrze... moze musze po
kazdym wczytanym bicie wpisac znowu "1" na ioQH (programowo)?
QH w 165 to jest wyjscie tylko i wylacznie
a w procku uzywasz go jako wejscia
wiec musisz na nim ustawic 1 (SETB ioQH) przed wczytywaniem
nie ma potrzeby jego zerowanie
chyba, ze gdzies tak robisz
???
jesli tak to musisz go ustawic na 1 przed wczytywaniem
zeby bylo jeszcze ciekawiej: otoz po uzyciu 74LS165 innej firmy otrzymuje
jeszcze inny efekt - Atmel odbiera same jedynki, niezaleznie co sie poda
na wejscia TTLa.....
no coz
tu juz nie mam pomyslow tak na odleglosc
moze padniety
a moze uszk procek a moze ...
Andrzej
From: "Wojtek" <wschip_at_nospam_SPAMMMpoczta.onet.pl>
Subject: Re: 89C52 i 74LS165
Date: Thu, 19 Sep 2002 16:09:46 +0200
zeby bylo jeszcze ciekawiej: otoz po uzyciu 74LS165 innej firmy
otrzymuje
jeszcze inny efekt - Atmel odbiera same jedynki, niezaleznie co sie poda
na wejscia TTLa.....
no coz
tu juz nie mam pomyslow tak na odleglosc
moze padniety
a moze uszk procek a moze ...
A moze uzywasz portu 0 i potrzebujesz zewnetrzne pull-up-y??