eddy12345
Dołączył: 22 stycznia 2008 Posty: 4 Lokalizacja: Wielka Brytania
| 14 lutego 2008 8:24 liczniki zrozumienia w PIC16F84 | | |
|
| Hi guys,
Mam problem trudny do licznika, który może obsłużyć wiele czasu. Zakładając, że mój Prescaler jest 4 a ja mov 231 do TMR0
ja dostać 4 (256-231) us = 100uS
i za każdym razem przepełnienia, i zwiększyć wartość licznika. W tym przypadku potrwa 100uS dla każdej liczby (do maksymalnej wartości zostały osiągnięte, co jest 125).
Jak sprawić, aby licznik, który może obsłużyć wartości od 1 do 5000? Chcę, żeby być w ten sposób, bo przyniesie zestaw czas opóźnienia dla wyjścia:
1) 0ms do 600 <count <5000 2) 4ms 0 <licznik <75 3) połączenia wartości opóźnienia tabeli 75 <count <600 4) ponownie liczyć program> 5000 |
|
adidav
Dołączył: 19 kwietnia 2006 Posty: 15 Pomógł: 1 Miejsce: Rumunia
| 14 lutego 2008 11:40 Re: zrozumienie liczniki w PIC16F84 | | |
|
| Hi eddy12345,
Nie używasz timer1. Czy 16bit timer i można mieć czas od kilku nas do ms.
Przykład: Fquartz = 4MHz, Prescaler = 2
dla TMR1 = 0 czasu 131.07ms dla TMR1 = 65500 czas 70US
Obliczenia dokonano za pomocą wzoru: Czas = ((Fquartz * Prescaler) / 4) * (65535 - TMR1), wynik jest w nas.
Pozdrowienia, ADi |
|