Sunteți pe pagina 1din 3

Document ressource sur la configuration de la broche PWM du PIC16F877

I Configuration des broches PWM en sortie


Les broches permettant de produire un signal PWM sont les bits 1 et 2 du PORTC
(RC1/CCP2 et RC2/CCP1).

Il faut dans un premier temps configurer ces broches comme tant des sorties grce au
registre de configuration du PORTC : TRISC (voir document ressource sur la configuration
des ports dentres/sorties).

II Slection du mode : production dun signal PWM


Les broches utilises (RC1/CCP2 et RC2/CCP1) pour la production du signal PWM
peuvent tre utilises dans plusieurs types de fonctionnement :
-entres/sorties du PORTC.
-mode de capture (capture mode) : cest un mode qui permet de mesurer le
temps qui spare deux fronts.
-mode de comparaison (compare mode) : cest un mode qui permet de
produire un tat logique (haut ou bas) en fonction du temps coul.
-mode production du signal PWM : permet de produire un signal
rectangulaire de frquence fixe et de rapport cyclique variable.

Par dfaut le type de fonctionnement utilis pour les broches est entres/sorties du
PORTC .

Si lon souhaite les slectionner un autre type de fonctionnement, il faut utiliser les
registres : CCP1CON (pour la broche RC2/CCP1) et CCP2CON (pour la broche
RC1/CCP2) :

CCPxCON (x=1 ou 2 suivant la broche utilis) :


b7 b6 b5 b4 b3 b2 b1 b0
- - CCPxX CCPxY CCPxM3 CCPxM2 CCPxM1 CCPxM0

[CCPxM3CCPxM0] : ce sont ces bits qui permettent de slectionner le mode de


fonctionnement des broches.
[0000] : le mode de capture, le mode de comparaison et le mode de production du
signal PWM ne sont pas valides.
[0100] : mode de capture tous les fronts descendants.
[0101] : mode de capture tous les fronts montants.
[0110] : mode de capture tous les 4 fronts montants.
[0111] : mode de capture tous les 16 fronts montants.
[1000] : mode comparaison, mise 1 de la sortie lorsque le bit CCPxIF passe un.
[1001] : mode comparaison, mise 0 de la sortie lorsque le bit CCPxIF passe un.
[1010] : mode comparaison, production dune interruption lorsque le bit CCPxIF
passe un.
[1011] : mode comparaison, lorsque le bit CCPxIF passe un, mise 0 de TMR1 et
dbut dune conversion analogique numrique (si elle est active).
[11XX] : mode production du signal PWM.

G BERTHOME Page 1/3


Document ressource sur la configuration de la broche PWM du PIC16F877

III Configuration du TIMER2

III.1 Dfinition du TIMER2


Le TIMER2 est un priphrique qui permet de grer le temps. Le schma bloc
simplifi ci dessous montre son fonctionnement :

FOSC
FCK TMR2
4 Pr-division Compteur
(1, 4 ou 16)

T2CKPS1 T2CKPS0

La sortie du TIMER2 est le registre 8 bits TMR2 qui correspond aux nombres
dimpulsions sur lentre du compteur CK.
F
La frquence du signal FCK dpend de la frquence dhorloge OSC du PIC16F877
4
(FOSC tant la frquence du quartz).
F
Pour grer des dures plus leves, on a la possibilit de diviser la frquence OSC par
4
1, 4 ou 16. Cette division est gre par les bits T2CKPS1 et T2CKPS0.

III.2 Utilisation dans le cadre de la production du signal PWM


Lintrt est quune fois le signal PWM configur on a la possibilit de traiter autre
chose sans que le signal soit perturb : cest le TIMER2 qui gre la production du signal.

La configuration du TIMER2 se fait grce au registre T2CON :

T2CON :
b7 b6 b5 b4 b3 b2 b1 b0
- TOUTPS3 TOUTPS2 TOUTPS1 TOUTPS0 TMR2ON T2CKPS1 T2CKPS0

TMRON : ce bit permet dactiver ou non le TIMER2


1 : le TIMER2 est activ.
0 : le TIMER2 est inactif.

T2CKPS1, T2CKPS0 : ces bits permettent de slectionner la prdivision de lhorloge du


TIMER2.
00 : prdivision de 1.
01 : prdivision de 4.
1X : prdivision de 16.

G BERTHOME Page 2/3


Document ressource sur la configuration de la broche PWM du PIC16F877

IV Configuration des caractristiques du signal PWM


On a la possibilit de configurer les caractristiques suivantes :
-priode T (et donc frquence) du signal PWM,
-dure ltat haut TH du signal PWM.

Le signal de sortie a la forme suivante :

Lexpression de la priode est la suivante :

4
T=PWMperiod=[(PR2)+1] TOSC
(TMR2 prescale value)

PR2 : cest un registre 8 bits quil faudra configurer en fonction de la priode


T que lon souhaite obtenir.

TOSC : cest la priode (en secondes) de lhorloge du PIC16F877.

TMR2 prescale value : cest la pr-division du TIMER2.

Lexpression de la dure ltat haut est la suivante :

TOSC
TH=PWM duty cycle =(CCPRxL:CCPxCON<5:4>) (TMR2
prescale value)

((CCPR1L:CCP1CON<5:4>) : cest un mot numrique sur 10 bits compos:


-dun registre CCPRxL : les 8 bits de poids forts (x reprsente la sortie
utilise CCP1 ou CCP2),
-de deux bits (les bits 5 et 4) du registre CCPxCON nomms CCPxX
(bit5) et CCPxY (bit4) (x reprsente la sortie utilise CCP1 ou CCP2)

TOSC : cest la priode (en secondes) de lhorloge du PIC16F877.

TMR2 prescale value : cest la pr-division du TIMER2.

G BERTHOME Page 3/3

S-ar putea să vă placă și