| Author | Message |
|---|
eddy12345
Inregistrat pe: 22 ianuarie 2008 Mesaje: 4 Locatie: Regatul Unit
| 14 februarie 2008 8:24 cronometre înțelegere în PIC16F84 | | |
|
| Hi guys,
Eu am o problemă care încearcă să facă o contra care se pot ocupa o gamă largă de timp. Presupunând că prescaler meu este de 4 º i i mov 231 în TMR0
I a lua 4 (256-231), ne-= 100uS
și de fiecare dată când revarsă, i crește valoarea unui contor. În acest caz va fi nevoie de 100uS pentru fiecare conta (până la valoarea maximă au fost atinse, care este de 125).
Cum pot face un contor care poate face fata valori cuprinse între 1 - 5000? Vreau să fie așa pentru că eu va produce un set de timpul de întârziere pentru ieșire:
1) 0mS pentru 600 de <count <5000 2) 4ms pentru 0 <count <75 3) apel valori de masă întârziere de 75 <count <600 4) numărul de reporniți programul de> 5000 |
|
| Back to top | |
 |
Google AdSense

| 14 februarie 2008 8:24 Ads | | |
|
|
|
|
| Back to top | |
 |
adidav
Inregistrat pe: 19 aprilie 2006 Posts: 15 A ajutat: 1 Locatie: România
| 14 februarie 2008 11:40 Re: cronometre înțelegere în PIC16F84 | | |
|
| Max eddy12345,
Nu folosiți timer1. Este un contor de timp 16bit și puteți avea perioada de timp de la câteva noi pana ms.
Exemplu: Fquartz = 4MHz, Prescaler = 2
pentru TMR1 = 0 de timp este 131.07ms pentru TMR1 = 65500 de timp este 70us
Calculele au fost efectuate utilizând formula: time = ((Fquartz * Prescaler) / 4) * (65535 - TMR1), rezultatul este în noi.
Salutări, ADI |
|
| Back to top | |
 |