Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

Zliczanie czasu (cykli) na 89Cx051

Andree
-
-
Posty:17
Rejestracja:22 mar 2003, o 13:50
Lokalizacja:Poznań
Zliczanie czasu (cykli) na 89Cx051

Postautor: Andree » 14 sie 2005, o 15:41

Witajcie!

Chciałbym pomierzyć, jaki czas, a w sumie ile cykli zegara mija pomiędzy jednym przerwaniem a drugim (pomiar co drugie przerwanie). Napisałem w tym celu poniższy programik:


Config Timer0 = Timer , Gate = Internal , Mode = 1
Config Lcd = 16 * 2
Dim Tryb As Bit
Dim Cykl As Word
On Int0 Zliczaj
Enable Int0
Enable Interrupts
Enable Timer0
Cursor Off
Cls

Cykl = 0
Tryb = 1

Do
Loop

Zliczaj:
Stop Counter0
Disable Int0
If Tryb = 1 Then
  • Tryb = 0
    Cykl = 0
    Counter0 = 0
    Start Counter0

Else
  • Cykl = Counter0
    Tryb = 1
    Cls
    Lcd "Cykl = " ; Cykl

End If
Enable Int0
Return


Przerwania są na tyle szybko po sobie, że nie przepełnia się licznik. Program działa ładne w symulacji BASCOMowej, im częściej wciskam INT0, tym mniejsza wartość Cykl, ale w układzie pokazuje mi zawsze tę samą wartość (118), obojętnie co robię.

Co tu jest nie tak? Albo jak inaczej rozwiązać takie zliczanie czasu pomiędzy dwoma przerwaniami?

Z góry dzięki za sugestie

ROM
-
-
Posty:295
Rejestracja:5 lis 2004, o 10:48
Lokalizacja:Poznań

Postautor: ROM » 14 sie 2005, o 17:20

Albo jak inaczej rozwiązać takie zliczanie czasu pomiędzy dwoma przerwaniami?
Może uzyć drugiego timera...?

Wróć do „Projektowanie PCB, programy EDA, CAD, narzędziowe”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 8 gości