| Forfatter | Melding |
|---|
eddy12345
Joined: 22 Jan 2008 Innlegg: 4 Sted: storbritannia
| 14 februar 2008 8:24 forståelse tidtakere i PIC16F84 | | |
|
| Hei fyrene,
Jeg har et problem prøver å lage en teller som kan håndtere et bredt spekter av tid. Forutsatt at min prescaler er 4 og jeg mov 231 i TMR0
Jeg får 4 (256-231) uS = 100us
og hver gang det renner over, jeg øke verdien av en teller. I dette tilfellet vil det ta 100us for hver teller (inntil maksimal verdi er nådd, noe som er 125).
Hvordan gjør jeg en teller som kan håndtere verdier mellom 1 til 5000? Jeg vil den skal være sånn fordi jeg vil lage et sett av tid til utgang:
1) 0mS for 600 <count <5000 2) 4ms for 0 <count <75 3) kaller tabellen delay verdier for 75 <count <600 4) starter programmet telle> 5000 |
|
| Tilbake til toppen | |
 |
Google AdSense

| 14 februar 2008 8:24 Annonser | | |
|
|
|
|
| Tilbake til toppen | |
 |
adidav
Joined: 19 april 2006 Innlegg: 15 Hjalp: 1 Sted: Romania
| 14 februar 2008 11:40 Re: forståelse tidtakere i PIC16F84 | | |
|
| Hei eddy12345,
Ikke du bruker timer1. Er et 16bit timer og du kan ha tidsperiode fra noen få oss til ms.
Eksempel: Fquartz = 4MHz, Prescaler = 2
for TMR1 = 0 tiden er 131.07ms for TMR1 = 65500 tiden er 70us
Beregningene ble gjort ved hjelp av formelen: time = ((Fquartz * Prescaler) / 4) * (65535 - TMR1), er resultatet i oss.
Hilsener, ADI |
|
| Tilbake til toppen | |
 |