problem z portami na 51'



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomość
Spis treści
From: "Tomek" <tlodek_at_nospam_polbox.com>
Subject: problem z portami na 51'
Date: Sat, 22 Jul 2000 21:13:11 GMT


Mam procedure sterujaca ukladem podlaczonym za pomoca 2 linii do 51'
i w trakcie pracy programu potrzebuje sterowac takim samym ukladem lecz za
pomoca innych linii wyjsciowych, jak je podmienic ?
Czy ktos spotkal sie z podobnym problemem ?



Poprzedni Następny
Wiadomość
Spis treści
From: "MaraBut" <martys_at_nospam_priv.onet.pl>
Subject: Re: problem z portami na 51'
Date: Mon, 24 Jul 2000 09:07:40 +0200


Użytkownik "Tomek" <tlodek_at_nospam_polbox.com> napisał w wiadomości
news:H7oe5.34010$pD2.699844_at_nospam_news.tpnet.pl...
Mam procedure sterujaca ukladem podlaczonym za pomoca 2 linii do 51'
i w trakcie pracy programu potrzebuje sterowac takim samym ukladem lecz
za
pomoca innych linii wyjsciowych, jak je podmienic ?
Czy ktos spotkal sie z podobnym problemem ?

A cóż to za problem ?
Napisz sobie drugą, na inny zestaw linii I/O, ...

MaraBut



Poprzedni Następny
Wiadomość
Spis treści
From: "Tomek" <tlodek_at_nospam_polbox.com>
Subject: Re: problem z portami na 51'
Date: Mon, 24 Jul 2000 22:30:15 GMT


A cóż to za problem ?
Napisz sobie drugą, na inny zestaw linii I/O, ...

MaraBut


rzeczywiscie to zaden problem gdy masz za duzo pamieci,
ale bez sensu jest powtarzac ta niemala procedure dwa razy
gdy wystarczylo by zamienic tylko dwie linie I/O.
A mnie akurat zostalo tylko pare bajtow wolnej pameci :-((







Poprzedni Następny
Wiadomość
Spis treści
From: "Juliusz" <jul_at_nospam_fom.pl>
Subject: Re: problem z portami na 51'
Date: Tue, 25 Jul 2000 05:38:27 GMT


rzeczywiscie to zaden problem gdy masz za duzo pamieci,
ale bez sensu jest powtarzac ta niemala procedure dwa razy
gdy wystarczylo by zamienic tylko dwie linie I/O.
A mnie akurat zostalo tylko pare bajtow wolnej pameci :-((

Programy maja to do siebie, ze mozna je napisac na wiele sposobow :-) Juz
nie raz mi sie pamiec programu skonczyla ale po przemysleniu sprawy zawsze
te kilkaset bajtow dalo sie wygospodarowac :-)

Juliusz




Poprzedni Następny
Wiadomość
Spis treści
From: "MaraBut" <martys_at_nospam_priv.onet.pl>
Subject: Re: problem z portami na 51'
Date: Tue, 25 Jul 2000 10:01:32 +0200


Użytkownik "Tomek" <tlodek_at_nospam_polbox.com> napisał w wiadomości
news:Xr3f5.41249$pD2.871277_at_nospam_news.tpnet.pl...
[...]
Napisz sobie drugą, na inny zestaw linii I/O, ...
rzeczywiscie to zaden problem gdy masz za duzo pamieci,
ale bez sensu jest powtarzac ta niemala procedure dwa razy
gdy wystarczylo by zamienic tylko dwie linie I/O. [...]

No to mozliwości masz dwie :
1. Zmienisz procedurę tak, by nie operowała na pojedynczych bitach (SETB,
CLR) tylko na całych portach (ORL, ANL) i uzyjesz masek bitowych,
wybieranych np. poprzez adresowanie pośrednie R0 lub R1 albo ustawianych
programowo. Tylko uważaj na niepożądane zmiany stanu portów - najlepiej
użyć cieni (shadow) portów których zawartość będziesz modyfikował. Przed
wywołaniem procedury ustawiasz adresy masek właściwych dla odpowiedniego
zestawu I/O (lub bezposrednio maski) i po kłopocie.
2. Z istniejacej procedury wydzielisz podprogramy obsługujące I/O (zegar,
linie danych itp.) i napiszesz drugi taki zestaw dla drugiego kompletu I/O.
Będziesz je wywoływał w zależności od stanu pewnej flagi - albo jeden
zestaw albo drugi. Wymaga to opracowania sposobu przekazywania parametrów -
zwykle przez bit C.

Oba sposoby pozwalają zaoszczędzić nieco miejsca w ROM kosztem RAM'u. Są
jednak bardziej podatne na błędy i kłopotliwe w uruchamianiu (szczególnie
<1>).
Rada Juliusza jest jak najbardziej aktualna. Przyjrzyj się programowi,
zazwyczaj sporo rzeczy można uprościć nie tracąc na funkcjonalności - choć
czasem staje się mniej czytelny.

MaraBut



Poprzedni Następny
Wiadomość
Spis treści
From: Romuald Bialy <romekb_at_nospam_polbox.com>
Subject: Re: problem z portami na 51'
Date: Tue, 25 Jul 2000 21:50:11 GMT


MaraBut napisał(a):

No to mozliwości masz dwie :
[...]

Jest jeszcze trzecia - jeden bit na flage ktore linie wykorzystujesz,
a w procedurze I2C stosujesz JB / JNB i wybierajace lub omijajace
odpowiednie SETB / CLR.

--
Pozdrawiam.... Romuald Bialy
E'mail: romekb_at_nospam_polbox.com
WWW: http://www.polbox.com/r/romekb


Poprzedni Następny
Wiadomość
Spis treści
From: "Tomek" <tlodek_at_nospam_polbox.com>
Subject: Re: problem z portami na 51'
Date: Tue, 25 Jul 2000 22:18:21 GMT



Romuald Bialy napisał(a) w wiadomości: <397DE419.6DAFD9C9_at_nospam_polbox.com>...
MaraBut napisał(a):

No to mozliwości masz dwie :
[...]

Jest jeszcze trzecia - jeden bit na flage ktore linie wykorzystujesz,
a w procedurze I2C stosujesz JB / JNB i wybierajace lub omijajace
odpowiednie SETB / CLR.



Wlasnie o to mi chodzilo- serdeczne dzieki,
ze tez na to nie wpadlem :-((

jeszcze raz dziekuje wszystkim za odpowiedzi - wyciagne sluszne wnioski na
przyszlosc.