| Författare | Message |
|---|
eddy12345
Blev medlem: 22 januari 2008 Inlägg: 4 Ort: Storbritannien
| 14 februari 2008 8:24 förståelse timers i PIC16F84 | | |
|
| Hi guys,
Jag har ett problem försöker göra en räknare som kan hantera ett brett spektrum av tid. Förutsatt att min PRESCALER är 4 och jag mov 231 i TMR0
Jag får 4 (256-231) uS = 100uS
och varje gång den blir full, jag öka värdet på en disk. I detta fall kommer att ta 100uS för alla punkter (tills det högsta värdet har uppnåtts, vilket är 125).
Hur gör jag en räknare som kan hantera värden mellan 1 till 5000? Jag vill att det ska vara så eftersom jag kommer att utarbeta en uppsättning tidsfördröjning för utgång:
1) 0ms för 600 <count <5000 2) 4ms för 0 <count <75 3) ringa värden tabellen försening för 75 <count <600 4) Starta programmet count> 5000 |
|
| Tillbaka till toppen | |
 |
Google AdSense

| 14 februari 2008 8:24 Annonser | | |
|
|
|
|
| Tillbaka till toppen | |
 |
adidav
Blev medlem: 19 april 2006 Inlägg: 15 Hjälpte: 1 Ort: Rumänien
| 14 februari 2008 11:40 Re: förståelse timers i PIC16F84 | | |
|
| Hej eddy12345,
Vill du inte använda timer1. Är en 16bit timer och du kan få tid från några oss till ms.
Exempel: Fquartz = 4MHz, Prescaler = 2
för TMR1 = 0 är tiden 131.07ms för TMR1 = 65.500 tiden är 70us
Beräkningarna gjordes med hjälp av formeln: time = ((Fquartz * Prescaler) / 4) * (65535 - TMR1), är resultatet i oss.
Hälsningar, Adi |
|
| Tillbaka till toppen | |
 |