Servo motorisk kontroll med hjälp av Microcontroller PIC16F877A (3 / 6 steg)
Steg 3: PWM PERIOD & DUTY CYCLE
PWM period anges genom att skriva till registret över PR2. PWM perioden kan beräknas med följande formel:PWM period = [(PR2) + 1] • 4 • TOSC • (TMR2 prescale värde)
PWM frekvensen definieras som 1 / [PWM period]. När TMR2 är lika med PR2, inträffar följande tre händelser på nästa inkrement cykel:
TMR2 rensas
The CCP1 pin är inställd (undantag: om PWM arbetscykel = 0%, CCP1 inte kommer att ange PIN-kod)
The PWM månadskapaciteten är låst från CCPR1L i CCPR1H
PWM intermittensen har angetts genom att skriva till CCPR1L registret och CCP1CON < 5:4 > bitar. Upp till 10-bitars upplösning finns. CCPR1L innehåller åtta MSB och CCP1CON < 5:4 > innehåller två LSbs. 10-bitars värdet representeras av CCPR1L:CCP1CON < 5:4 >. Följande formel används för att beräkna intermittensen PWM i tid:
PWM arbetscykel = (CCPR1L:CCP1CON < 5:4 >) •TOSC • (TMR2 prescale värde)
INSTALLATIONSPROGRAMMET FÖR PWM FUNKTION
Följande steg bör tas när du konfigurerar KKP modulen för PWM funktion:
1. Ställ PWM perioden genom att skriva till registret över PR2.
2. Ställ in PWM intermittensen genom att skriva till CCPR1L register och CP1CON < 5:4 > bitar.
3. gör CCP1 pin som tillverkas genom att avmarkera den TRISC < 2 > lite.
4. TMR2 prescale värdet och aktiverar Timer2 genom att skriva till T2CON.
5. Konfigurera modulen CCP1 för PWM funktion.