Witam
Czy da się w 89C2051 uzyskać coś takiego:
potrzebuję zliczać impulsy z dwóch wejść i do tego zliczać czas trwania impulsu z trzeciego wejścia, a poza tym wszystko wyświetlać co jakiś czas (powiedzmy co 0,5s)
Można jeden timer użyć jako timer wewnętrzny (wyświetlanie co jakiś czas), a drugi jako timer bramkowany zewnętrznie (do liczenia czasu trwania impulsu), ale wtedy tracę jedno wejście int.
Czy da się to jakoś inaczej rozwiązać? (oprócz badania w pętli głównej stanu portu)
Przejrzałem archiwum, szukałem w necie, ale nie znalazłem nic zadowalającego.
PS.
Próbowałem różne konfiguracje:
Config Timer0 = Timer , Mode = 1 , Gate = Internal
- nie reaguje na żadne sygnały zew. liczy impulsy wew.
Config Timer0 = Timer , Mode = 1 , Gate = External
- bramkowany przez Int0, liczy impulsy wew.
Config Timer0 = Counter , Mode = 1 , Gate = Internal
- liczy impulsy z P3.4 (liczy zbocza, a nie czas trwania impulsu)
Config Timer0 = Counter , Mode = 1 , Gate = External
- to co wyżej, ale bramkowany dodatkowo poprzez Int0
Takie efekty uzyskałem w bascomie, czy w asm można skonfigurować timery inaczej?
Chciałbym mieć 2 wejścia przerwań i trzecie wejście do bramkowania timera/countera.
PS2.
Jeszcze jedno pytanie, co to jest "timer 0 input" lub "timer 1 input"?
Oto fragment dokumentacji:
P3.2 INT0 interrupt 0 input/timer 0 gate control
P3.3 INT1 interrupt 1 input/timer 1 gate control
P3.4 T0 timer 0 input or counter input
P3.5 T1 timer 1 input or counter input
Czy to jest generowanie przerwania dla timera, gdy skonfigurowany jest jako external?
Pozdrawiam
Arek
Czy da się w 89C2051 uzyskać coś takiego:
potrzebuję zliczać impulsy z dwóch wejść i do tego zliczać czas trwania impulsu z trzeciego wejścia, a poza tym wszystko wyświetlać co jakiś czas (powiedzmy co 0,5s)
Można jeden timer użyć jako timer wewnętrzny (wyświetlanie co jakiś czas), a drugi jako timer bramkowany zewnętrznie (do liczenia czasu trwania impulsu), ale wtedy tracę jedno wejście int.
Czy da się to jakoś inaczej rozwiązać? (oprócz badania w pętli głównej stanu portu)
Przejrzałem archiwum, szukałem w necie, ale nie znalazłem nic zadowalającego.
PS.
Próbowałem różne konfiguracje:
Config Timer0 = Timer , Mode = 1 , Gate = Internal
- nie reaguje na żadne sygnały zew. liczy impulsy wew.
Config Timer0 = Timer , Mode = 1 , Gate = External
- bramkowany przez Int0, liczy impulsy wew.
Config Timer0 = Counter , Mode = 1 , Gate = Internal
- liczy impulsy z P3.4 (liczy zbocza, a nie czas trwania impulsu)
Config Timer0 = Counter , Mode = 1 , Gate = External
- to co wyżej, ale bramkowany dodatkowo poprzez Int0
Takie efekty uzyskałem w bascomie, czy w asm można skonfigurować timery inaczej?
Chciałbym mieć 2 wejścia przerwań i trzecie wejście do bramkowania timera/countera.
PS2.
Jeszcze jedno pytanie, co to jest "timer 0 input" lub "timer 1 input"?
Oto fragment dokumentacji:
P3.2 INT0 interrupt 0 input/timer 0 gate control
P3.3 INT1 interrupt 1 input/timer 1 gate control
P3.4 T0 timer 0 input or counter input
P3.5 T1 timer 1 input or counter input
Czy to jest generowanie przerwania dla timera, gdy skonfigurowany jest jako external?
Pozdrawiam
Arek