eddy12345
Joined: 22. januar 2008 Posts: 4 Lokacija: Združeno kraljestvo
| 14. februar 2008 8:24 razumevanje timers v PIC16F84 | | |
|
| Hi guys,
Imam problem poskusu, da bi števec, da se lahko obravnava širok razpon časa. Ob predpostavki, da je moja prescaler je 4 in 231 i mov v TMR0
dobim 4 (256-231) us = 100uS
in vsakič, ko jo preplavlja, jaz povečanje vrednosti števec. V tem primeru bo potrebno za vsak 100uS štetje (dokler niso dosežena največja vrednost, ki je 125).
Kako izvedem števec, ki lahko ročaj vrednosti med 1-5000? Hočem, da je tako zato, ker bom pripraviti nabor zakasnitvi za izhod:
1) 0mS za 600 <count <5000 2) 4ms za 0 <število <75 3) razpis vrednosti tabele zamude za 75 <število <600 4) ponovno zagnati program count> 5000 |
|
adidav
Joined: 19. april 2006 Posts: 15 S pomočjo: 1 Location: Romunija
| 14. februar 2008 11:40 Re: razumevanje timers v PIC16F84 | | |
|
| Hi eddy12345,
Ne uporabljate timer1. Ali 16bit časa in lahko se čas od nekaj ms do nas.
Primer: Fquartz = 4MHz, Prescaler = 2
za TMR1 = 0 čas 131.07ms za TMR1 = 65.500 čas 70us
Izračuni so narejeni z uporabo formule: time = ((Fquartz * Prescaler) / 4) * (65535 - TMR1), rezultat je v nas.
Pozdravi, Adi |
|