Cześć.
Przeglądałem archiwum ale nic dla siebie konkretnego nie znalazłem.
Mam problem z programem (konfiguracją przerwań). Chciałem wykonać mały i prosty licznik obrotów. Wykonałem przetwornik obrót/impulsy na diodach, zakładam że nie występują w nim "drgania styków"
Otrzymany sygnał chciałem podać na wejście INT0 i za pomocą Timera zliczać pojawiające się impulsy. Wynik obliczeń po odpowiedniej obróbce wyswietlam na wyświetlaczu LCD. Do pinu P3.5 mam podłączony przycisk. Wszystko jest cacy ale... dlaczego jak
to po kilku impulsach na P3.2 i kliknięciu przycisku wyświetlona jest wartość 0 (nic nie zlicza)
no i druga opcja: Dlaczego jak:
To zamiast zliczania impulsów to program zlicza czas trwania impulsu? (Im dłużej jest 1 na P3.2 tym większą wartość pokazuje)?
Zrobiłem też wersją bez obsługi przerwań lecz najprostrzy zestaw warunków zajmuje prockowi 135us a to dość dużo. Procek taktowany 11.059Mhz.
Szukałem też opisów ustawień rejestrów TCON i TMOD ale nie umiem uzyskać działającej kombinacji (choć wszystkich nie sprawdziłem).
Kto mi pomoże napisać program. Wolał bym pozostać przy Bascomie ale Asm też może być byle dał się wpisać w Bascomie i działał bo inaczej nie potrafię.
Przeglądałem archiwum ale nic dla siebie konkretnego nie znalazłem.
Mam problem z programem (konfiguracją przerwań). Chciałem wykonać mały i prosty licznik obrotów. Wykonałem przetwornik obrót/impulsy na diodach, zakładam że nie występują w nim "drgania styków"

Code:
Dim C As Word
Config Timer0 = Counter, Gate = External, Mode = 1
Counter0 = 0
Enable Interrupts
Enable Timer0
Enable Int0
Do
Debounce P3.5 , 0 , View , Sub
Loop
View:
C = Counter0
Lcd c
Return
to po kilku impulsach na P3.2 i kliknięciu przycisku wyświetlona jest wartość 0 (nic nie zlicza)
no i druga opcja: Dlaczego jak:
Code:
Dim C As Word
On Int0 Zliczaj
Enable Interrupts
Enable Int0
Do
Debounce P3.5 , 0 , View , Sub
Loop
View:
C = Counter0
Lcd c
Return
Zliczaj:
Incr C
Return
To zamiast zliczania impulsów to program zlicza czas trwania impulsu? (Im dłużej jest 1 na P3.2 tym większą wartość pokazuje)?
Zrobiłem też wersją bez obsługi przerwań lecz najprostrzy zestaw warunków zajmuje prockowi 135us a to dość dużo. Procek taktowany 11.059Mhz.
Szukałem też opisów ustawień rejestrów TCON i TMOD ale nie umiem uzyskać działającej kombinacji (choć wszystkich nie sprawdziłem).
Kto mi pomoże napisać program. Wolał bym pozostać przy Bascomie ale Asm też może być byle dał się wpisać w Bascomie i działał bo inaczej nie potrafię.