Sunteți pe pagina 1din 4

Exemplu 03

CCP

Modularea n durat a impulsurilor Pulse-Width Modulation (PWM). Un exemplu de semnal PWM este prezentat n figura 1.

Figura 1. Semnal PWM. La acest tip de semnal perioada este fix iar durata activ ton poate varia ntre 0 i TPWM. Tensiunea medie (Umed) a acestui tip de semnal depinde de raportul dintre ton i TPWM .

U med
Unde Umax este tensiune maxim a semnalului.

t on U max TPWM

Raportul dintre ton i TPWM se numete factor de umplere i poate fi exprimat n procente.

Modul de Captur, Comparare i PWM (Capture/Compare/PWM) CCP

n microcontrolerul PIC18F445 se gsesc 2 module CCP (CCP1 i CCP2). Fiecare bloc are asociai urmtorii regitrii : Registru de configurare CCPxCON Registrul ce contine bitii 2-9 din perioada activ CCPRxL

Unde x este 1 sau 2 n funcie de modulul ales. Exemplu: CCP1CON, CCPR1L, CCP2CON, CCPR2L. Structura registrului CCPxCON Bit7 0 - nefolosit Bit6 0 - nefolosit Bit5 CxB1 bitul 1 din perioada activ Bit4 CxB0 bitul 0 din perioada activ Bit3 CCPxM3 selectare mod de funcionare (ConformTabel 1) Bit2 CCPxM2 Bit1 CCPxM1 Bit0 CCPxM0 Tabel 1 1

Exemplu 03 CCPxM3 CCPxM2 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 CCPxM1 0 0 1 1 0 0 1 1 0 0 1 1 x - (1 sau 0) CCPxM0 0 1 0 1 0 1 0 1 0 1 0 1 x - (1 sau 0) Mod Modul dezactivat Comparare Captur Captur Captur Captur Comparare Comparare Comparare Comparare PWM

CCP

Folosirea modulului CCP n mod PWM

Pentru configurare trebuie urmai urmtorii pai: 1. Pinul modulului CCP folosit trebuie configurat ca ieire. Exemplu: BCF TRISC,2 ; Pentru primul modul. Pinul 17 la microcontroler BCF TRISC,1 ; Pentru al doilea modul. Pinul 16 la microcontroler

2. Se nscrie valoarea 00001100 n registrul CCPxCON. Exemplu: MOVLW b00001100 MOVWF CCP1CON ; Pentru primul modul

MOVLW b00001100 MOVWF CCP2CON ; Pentru al doilea modul

Exemplu 03

CCP

3. Se alege frecvena semnalului PWM Perioada semnalului PWM este:


TPWM [( PR 2 1)] 4 TOSC (Pr escaler _ TMR 2)

Frecvena semnalului PWM este:

FPWM

1 TPWM

Alegerea valorii prescalerului timerului 2 se realizeaz prin setarea biilor 0 i 1din registrul T2CON i pornirea timerului 2 Structura registrului T2CON Bit7 0 - nefolosit Bit6,Bit5,Bit4,Bit3 Postscaler Bit2 TMR2ON bit de start al timerului 1 timer pornit 0 timer oprit Bit1 T2CKPS1 - selectare valoare prescaler (ConformTabel 2) Bit0 T2CKPS0

Tabel 2 T2CKPS1 0 0 1 1 T2CKPS0 0 1 0 1 Prescaler 1 4 16 16

Exemplu: MOVLW b00000111 ; Prescaler 16 si Timer2 pornit MOVWF T2CON MOVLW d255 MOVWF PR2 ;

TPWM [(255 1)] 4 50ns (16) 819.2us


FPWM 1 1220.7 Hz 819.2us

Exemplu 03

CCP

4. Se alege perioada activ Pentru o perioad activ de 8biti se nscrie valoarea dorit n registrul CCPRxL Valoarea registrul CCPRxL poate lua valori ntre 0 i 255 Pentru o perioad activ de 10biti se nscrie valoarea dorit n registrul CCPRxL i biii 4 i 5 din registrul CCPxCON. Exemplu: MOVLW d128 ; o perioad activ 50% MOVWF CCPR1L ; Pentru primul modul

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