Witam, Są tyko dwa wejścia interruptów więc to odpada, powiedziano mi że można użyć instrukcji while...wend i pominąć interrupty. Jak to zrobić? Zależy mi na bardzo dokładnym pomiarze czasu pomiędzy bramkami (chronograf). Pozdrawiam Paweł
|
|||
Mirley - Elektronika i Programowanieprojekty, programy.... wszystko o elektronice |
CiasteczkaStrona używa cookies (ciasteczek). Jeśli nie chcesz, by te pliki były zapisywane na Twoim dysku zmień ustawienia swojej przeglądarki. Czym są cookies? LogowaniePolecane StronyPopularne Dzisiaj
|
|
mirley (c) 2007-2020 Jeżeli chcesz pomóc w rozwoju witryny kliknij tutaj |
While...wend
Rzuć schematem to coś pomyślimy.
Moja strona w powijakach
Pierwotnie miało być
Pierwotnie miało być tak,
póki co jest tak:
Chciałem użyć interruptów
Chciałem użyć interruptów jako wejścia do foto*rezys/tranzys*torów ale są tylko 2, a ja mam 2 pary bramek, czyli pogrzebałaby by 4 interruptów.
Jedna para bramek- pomiar v chwilowej, druga średniej.
Jakieś pomysły?
Jakieś pomysły?
Re: While...wend
A może spróbuj wykorzystać ADC? Tak na szybko coś zapodaję bo schemat słabo wyraźnyjest.
Moja strona w powijakach
Jak za pomocą ADC chcesz
Jak za pomocą ADC chcesz startować/zerwać timer i ustawiać flagę?
Re: While...wend
To jest jakaś bariera świetlna, tak? Więc sprawdzaj wartość ADC. Jeśli osiągnie pewną wartość to startuj lub zatrzymuj timery. Ot co.
Moja strona w powijakach
Mierzony przedział czasu
Mierzony przedział czasu pomiędzy 1 bramką a 2 bramką jest incrementowany odstępami np. co 4 ms (przy prescale = 1 i zegarze 16 MHZ, timer 8 bit) a jaki czas będzie liczony (z jaka dokładnością) jeżeli impuls na 2 bramce wystąpi gdzieś pomiędzy powiedzmy 4 i 5, według rachunku otrzymam czas = 16 ms gdy tymczasem może on być 19 ms.
Muszę mierzyć całkowity czas nie tylko przepełnienia, ale także pozostały czas naliczony przez timer do momentu impulsu z dokładnością do ostatniej microsec.
Re: While...wend
Ale nie zrozumiałeś mojego pomysłu.
Jeśli dajmy na to fototranzystor jest oświetlany na wejściu ADC masz powiedzmy wartość 100. Jeśli wiązka zostanie przerwana to na wejści będziesz miał wartość dużo wyższą czyli na przykład 800. Wystarczy tu warunek if wartosc_adc >800 then
Mogę się mylić bo to tak na szybko pomyślane bez głębszych przemyśleń.
Moja strona w powijakach