eddy12345
Joined: 22 Jan 2008 Viestejä: 4 Venepaikka: Iso-Britannia
| 14 helmikuu 2008 8:24 ymmärtäminen ajastimet ja PIC16F84 | | |
|
| Hi guys,
Minulla on ongelma yrittää tehdä vasta, joka pystyy käsittelemään monenlaisia aikaa. Olettaen, että minun PRESCALER on 4 ja minä mov 231 tulee TMR0
Saan 4 (256-231) US = 100uS
ja joka kerta se pursuaa, voin lisätä arvoa laskuri. Tässä tapauksessa kestää 100uS jokaisesta määrä (kunnes suurin arvo on saavutettu, mikä on 125).
Miten voin tehdä laskuri, joka pystyy käsittelemään arvoja välillä 1-5000? Haluan sen olevan näin, koska olen tuottaa joukon viiveen output:
1) 0ms 600 <count <5000 2) 4ms for 0 <count <75 3) kutsua taulukko viive arvot 75 <count <600 4) käynnistää ohjelma count> 5000 |
|
adidav
Joined: 19 huhtikuu 2006 Viestejä: 15 Auttoi: 1 Sijainti: Romania
| 14 helmikuu 2008 11:40 Re: ymmärtäminen ajastimet ja PIC16F84 | | |
|
| Hi eddy12345,
Älä käytät timer1. Onko 16bit ajastin ja voit olla ajan muutamia meille till ms.
Esimerkki: Fquartz = 4MHz, Prescaler = 2
for TMR1 = 0 aika on 131.07ms ja TMR1 = 65500 aika on 70us
Laskelmat tehtiin kaavalla: aika = ((Fquartz * Prescaler) / 4) * (65535 - TMR1), tulos on meissä.
Tervehdys, Adi |
|