Ustalenie sposobu zgłoszenia przerwań zewnętrznych INT0, INT1(8051)



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomość
Spis treści
From: "Kalinowski" <kalinowski00_at_nospam_poczta.gazeta.pl>
Subject: Ustalenie sposobu zgłoszenia przerwań zewnętrznych INT0, INT1(8051)
Date: Thu, 30 Jan 2003 12:17:43 +0100


Witam wszystkich mam taką sprawę literatury do uP 8051 jest pełno ale
nigdzie nie znalazłem odpowiedzi na pytanie jaka jest różnica miedzy
zgłoszeniem przerwania na zboczu a na poziomie, jakie to rodzi skutki itp.

7 6 5 4 3 2 1 0
TCON - - - - IE1 IT1 IE0 IT0

IEn = 0 zgłoszenie niskim poziomem
IEn = 1 zgłoszenie zboczem opadającym

Z góry dzięki za wszelką pomoc, muszę znać tą różnicę na egzamin gość
powiedział ze 5 nie zamierza postawić dlatego da na 100% takie pytanko bo
prawdopodobnie trudno jest o tym coś znaleźć NO ALE MOZE NA GRUPIE KTOS O
TYM GDZIES WYCZYTAŁ



--
Serwis Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/

Poprzedni Następny
Wiadomość
Spis treści
From: jacmac-nospam_at_nospam_go2.pl (Jacek)
Subject: Re: Ustalenie sposobu zgłoszenia przerwań zewnętrznych INT0, INT1(8051)
Date: Thu, 30 Jan 2003 11:27:05 +0000 (UTC)


Kalinowski naskrobał:

IEn = 0 zgłoszenie niskim poziomem
IEn = 1 zgłoszenie zboczem opadającym

IMHO zgłoszenie poziomem nie nakłada na sygnał wyzwalający ograniczeń
czasowych. W przypadku wyzwalania zboczem należy się spodziewać że
np. zbocze "nie może trwać dłużej niż" aby zgłoszenie było skuteczne.

--
Jacek

Poprzedni Następny
Wiadomość
Spis treści
From: Slawomir Sidor <slawek_at_nospam_graficomp.com.pl>
Subject: Re: Ustalenie sposobu zgłoszenia przerwań zewnętrznych INT0, INT1(8051)
Date: Thu, 30 Jan 2003 12:49:34 +0100


zgłoszeniem przerwania na zboczu a na poziomie, jakie to rodzi skutki itp.

Zglaszajac poziomem musisz (powinienes) zadbac zeby poziom ten wrocil do
stanu poczatkowego przed koncem procedury przerwania albo juz w niej
zostaniesz :) Nie trudno wyobrazic sobie urzadzenie (czujnik) np.
mechaniczny na ktory nie bardzo masz wplyw ale monitorowac go musisz.
(Najlatwiej to sobie wyobrazic przycisk, obslugiwany przez czlowieka)
--
Slawomir Sidor (601 ALEKSA) N 51 58.1385 E020 09.1966


Poprzedni Następny
Wiadomość
Spis treści
From: "Bartosz Sarama" <quasimod_at_nospam_poczta.usun.onet.pl>
Subject: =?iso-8859-2?Q?Re:_Ustalenie_sposobu_zg=B3oszenia_przerwa=F1_zewn=EAtrzny?=
Date: Thu, 30 Jan 2003 12:52:24 +0100


Użytkownik "Kalinowski" <kalinowski00_at_nospam_poczta.gazeta.pl> napisał w
wiadomości news:b1b1kq$h56$1_at_nospam_inews.gazeta.pl...

Witam wszystkich mam taką sprawę literatury do uP 8051 jest pełno
ale
nigdzie nie znalazłem odpowiedzi na pytanie jaka jest różnica miedzy
zgłoszeniem przerwania na zboczu a na poziomie, jakie to rodzi
skutki itp.

Przerwanie zboczem będzie zgłoszone przy przejściu sygnału na wejściu
INT z 1 na 0. Przy skoku do obsługi przerwania flaga jest kasowana.
Ustawiona zostanie dopiero przy następnym przejściu INT z 1 na 0.

Przerwanie poziomem spowoduje (po skasowaniu flagi przez skok do
obsługi przerwania) ponowne (od razu) ustawienie flagi przerwania
jeśli linia INT będzie w stanie 0. Przerwanie będzie tak długo
zgłaszane (i wykonywane), jak długo sygnał na wejściu INT będzie =0 i
zezwolone przerwanie.

Oba typy przerwań są kasowane automatycznie przy skoku do obsługi.


Pozdrawiam
Bartosz Sarama


Poprzedni Następny
Wiadomość
Spis treści
From: "Marek Dzwonnik" <mdz_at_nospam_message.pl>
Subject: Re: Ustalenie sposobu zgłoszenia przerwań zewnętrznych INT0, INT1(8051)
Date: Thu, 30 Jan 2003 13:03:32 +0100


Użytkownik "Kalinowski" <kalinowski00_at_nospam_poczta.gazeta.pl> napisał w wiadomości
news:b1b1kq$h56$1_at_nospam_inews.gazeta.pl...
Witam wszystkich mam taką sprawę literatury do uP 8051 jest pełno ale
nigdzie nie znalazłem odpowiedzi na pytanie jaka jest różnica miedzy
zgłoszeniem przerwania na zboczu a na poziomie, jakie to rodzi skutki itp.

7 6 5 4 3 2 1 0
TCON - - - - IE1 IT1 IE0 IT0

IEn = 0 zgłoszenie niskim poziomem
IEn = 1 zgłoszenie zboczem opadającym

Z góry dzięki za wszelką pomoc, muszę znać tą różnicę na egzamin gość
powiedział ze 5 nie zamierza postawić dlatego da na 100% takie pytanko bo
prawdopodobnie trudno jest o tym coś znaleźć NO ALE MOZE NA GRUPIE KTOS O
TYM GDZIES WYCZYTAŁ

Jest to opisane. Chociażby w książce A.Rydzewskiego:
<CYTAT SRC="Mikrokomputery jednoukładowe rodziny MCS-51">
Jeśli ITi=0 (zgłoszenie niskim poziomem), to sygnał ne wejściu INTi\ jest
próbkowany w stanie S5P2 każdego syklu maszynowego i jego negacja jest
wpisywana do znacznika zgłoszenia IEi. Jeżeli więc zostanie wykryte INTi\ =
0, to do znacznika IEi wpisze się jedynka co oznacza zgłoszenie przerwania,
Nowo wprowadzona do IEi wartość będzie aktywna podczas sprawdzania przez
procesor zgłoszeń przerwań dopiero w nastepnym cyklu maszynowym. Stan
aktywny na wejściu przerywającym (INTi\ = 0) musi być utrzymany co najmniej
do chwili przyjęcia przerwania i musi zniknąć (!) przed zakończeniem
programu jego obsługi, tzn. przed wykonaniem rozkazu RETI (w przeciwnym
razie przerwanie zostanie przyjęte ponownie). Zazwyczaj w takim przypadku
stosuje się w programie obsługi wysłanie sygnału potwierdzenia, kaującego
zewnętrzną przyczynę przerwania.

Przy ITi=1 sygnał na wejściu INTi\ jest próbkowany jak w poprzednim
przypadku, a wpisanie jedynki do znacznika IEi (zgłoszenie przerwania)
nastęuje po wykryciu zmiany 1 na 0 tego sygnału, czyli stanu wysokiego w
jednym cyklu maszynowym i stanu niskiego w cyklu następnym. Konieczne jest,
aby każdy ze stanów sygnału przerywającego trwał co najmniej 12 taktów
zegarowych, Znacznik IEi jest zerowany automatycznie w czasie przyjęcia
przerwania.
</CYTAT>

Czyli:
zakończy się jego obsługa. W przeciwnym razie po wykonaiu RETI procesor
wykona (bodajże) jeden rozkaz z poziomu podstawowego i natychmiast
przejdzie do zacznie obsługiwać kolejne przerwanie.
przerywającym. Ponieważ próbkowanie stanu odbywa się tylko jeden raz w
czasie cyklu maszynowego, to impulsy o zbyt krótkim czasie trwania zostaną
nie zauważone.
dotyczy to RI i TI !). Jednakże w przypadku przerwań zewn. wyzwalanych
poziomem jego wartość jest aktualizowana w każdym cyklu maszynowym (w stanie
S5P2). Czyli faktycznie IEi jest aktywne także w czasie trwania obsługi
przerwania, aż do momentu gdy zniknie jego zewnętrzna przyczyna. Nie stanowi
to jednak problemu, gdyż podczas obsługi przerwania i tak nie zostanie
przyjęte kolejne przerwanie z własnego lub niższego poziomu priorytetu.

MDz




Poprzedni Następny
Wiadomość
Spis treści
From: jfox_at_nospam_poczta.onet.pl (J.F.)
Subject: Re: Ustalenie sposobu zgłoszenia przerwań zewnętrznych INT0, INT1(8051)
Date: Thu, 30 Jan 2003 22:36:23 GMT


On Thu, 30 Jan 2003 13:03:32 +0100, Marek Dzwonnik wrote:
Jeśli ITi=0 (zgłoszenie niskim poziomem), to sygnał ne wejściu INTi\ jest
próbkowany w stanie S5P2 każdego syklu maszynowego [...]
aktywny na wejściu przerywającym (INTi\ = 0) musi być utrzymany co najmniej
do chwili przyjęcia przerwania i musi zniknąć (!) przed zakończeniem
programu jego obsługi, tzn. przed wykonaniem rozkazu RETI (w przeciwnym
razie przerwanie zostanie przyjęte ponownie). Zazwyczaj w takim przypadku
stosuje się w programie obsługi wysłanie sygnału potwierdzenia, kaującego
zewnętrzną przyczynę przerwania.

Zauwaz ze przy wyzwalaniu zboczem tez takei kasowanie by sie przydalo.

No chyba ze uklad generujacy przerwanie z zasady generuje impuls
okreslonej dlugosci.
A dzieki takiemu dzialaniu uC mozna np podpiac kilka zrodel przerwan
pod jedna linie ..

Czyli:
* Wyzwalanie zboczem polega na wykryciu ZMIANY stanu na wejściu
przerywającym. Ponieważ próbkowanie stanu odbywa się tylko jeden raz w
czasie cyklu maszynowego, to impulsy o zbyt krótkim czasie trwania zostaną
nie zauważone.

Przy wyzwalaniu poziomem tez nam to grozi.

J.


Poprzedni Następny
Wiadomość
Spis treści
From: "Marco" <marco_at_nospam_poczta.neostrada.xx>
Subject: Re: Ustalenie sposobu zgłoszenia przerwań zewnętrznych INT0, INT1(8051)
Date: Thu, 30 Jan 2003 13:05:06 +0100


nigdzie nie znalazłem odpowiedzi na pytanie jaka jest różnica miedzy
zgłoszeniem przerwania na zboczu a na poziomie, jakie to rodzi skutki itp.

To pomyśl co się stanie, gdy obsłużysz przerwanie zgłoszone poziomem zanim
ten poziom zmieni się na wysoki...

Pozdrawiam

Marek





--
Serwis Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/