PIC16F628
From Eric
Introduction
On trouvera les détails sur le PIC 16F628 sur le site du fabricant, Microchip. En particulier, un outil d'aide à la sélection d'un microcontrôleurs PIC est proposé ici.
Cette page traite de certains aspects spécifiques ou de difficultés particulières rencontrés lors de la réalisation de montages.
Commande PWM
Exemple de configuration du PWM pour une fréquence de 10KHz.
; ----------------------------------- ; Setup PWM ; ----------------------------------- bsf STATUS, RP0 ; Select bank 1 ; Set the PWM period by writing to the PR2 register. movlw d'99' movwf PR2 bcf STATUS, RP0 ; Select bank 0 ; Set the PWM duty cycle by writing to ; CCPR1L (MSB) CCP1CON<5:4> (LSB). ; The resolution is log(fosc / (FPWM x TMR2 prescaler)) / log(2) # 8.62 bits ; Initially: 0% ( clrf CCPR1L ; Make the CCP1 pin an output by clearing the TRISB<3> bit. ; (done later) ; Set the TMR2 prescale value movlw d'1' movwf TMR2 ; Enable Timer2 bsf T2CON,TMR2ON ; Configure the CCP1 module for PWM operation. ; Bits CCP1CON<5:4> : LSBs of duty cycle set to 0 movlw b'001100' iorwf CCP1CON,f ; Nota : TPWM = (PR2+1)*4*TOSC*TMR2 ; = (99+1)*4*1/4e6*1 = 1e-4 => 10KHz
Les formules de calcul de la fréquence du signal PWM et de son rapport cyclique sont donnés dans la documentation.