Witam. Chcę dokonać możliwie dokładnego pomiaru czasu między zdarzeniami wykorzystując mikrokontroler '51. Aby pomiar był dokładny uważam, że jedynym wyjściem jest wykorzystanie przerwań. Ja chciałbym wykorzystać tutaj jedno przerwanie, załóżmy EXT0. Załóżmy również, że przerwanie w µC ma reagować na zbocze (IT0=1).
Czas jaki chcę zmierzyć, to czas przesłonięcia bariery podczerwieni. Innymi słowy chcę wiedzieć, jak długo był przedmiot, który przesłaniał barierę podczerwieni. Załóżmy, że bariera daje +5V gdy nie ma nic pomiędzy nadajnikiem a odbiornikiem, oraz 0V, gdy droga jest zasłonięta.
Oto zadanie: W jaki sposób zmodyfikować układ wejściowy przerwania, aby 2 zdarzenia: zasłonięcie (czyli przejście z 5V do 0V), oraz odsłonięcie bariery (przejście z 0V do 5V) powodowało wyzwolenie tego samego przerwania?
O ile pierwszy warunek jest spełniony - gdyż zasłonięcie powoduje zadziałanie przerwania, pytanie powstaje jak zrobić by przerwania powodowała również zmiana stanu z 0V na 5V?
Czas jaki chcę zmierzyć, to czas przesłonięcia bariery podczerwieni. Innymi słowy chcę wiedzieć, jak długo był przedmiot, który przesłaniał barierę podczerwieni. Załóżmy, że bariera daje +5V gdy nie ma nic pomiędzy nadajnikiem a odbiornikiem, oraz 0V, gdy droga jest zasłonięta.
Oto zadanie: W jaki sposób zmodyfikować układ wejściowy przerwania, aby 2 zdarzenia: zasłonięcie (czyli przejście z 5V do 0V), oraz odsłonięcie bariery (przejście z 0V do 5V) powodowało wyzwolenie tego samego przerwania?
O ile pierwszy warunek jest spełniony - gdyż zasłonięcie powoduje zadziałanie przerwania, pytanie powstaje jak zrobić by przerwania powodowała również zmiana stanu z 0V na 5V?