PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   RTOS và Thuật toán với PIC (http://www.picvietnam.com/forum/forumdisplay.php?f=33)
-   -   Hỏi về compare mode của PWM (http://www.picvietnam.com/forum/showthread.php?t=33269)

mrdang91 03-01-2014 03:00 AM

Hỏi về compare mode của PWM
 
Em có bài tập lập trình điều khiển động cơ servo, yêu cầu sử dụng compare mode của CCP trong pic18f97j11. Khi điều chỉnh giá trị của ADC thì động cơ cũng quay theo một góc tương ứng.
Em gặp vấn đề là khi mỗi khi high interrupt em reset timer1 và cho CCP1H/L giá trị tương ứng đọc từ ADC theo code sau thì kết quả bình thường:

void InterruptHandlerHigh (){
T1CONbits.TMR1ON=0; //zastavit timer1
TMR1H=0;
TMR1L=0; //reset timer1
if(PORTCbits.RC2){
CCPR1L=event_time;
CCPR1H=event_time>>8;
}else{
CCPR1L=period-event_time;
CCPR1H=(period-event_time)>>8;
}
T1CONbits.TMR1ON=1;
PIR1bits.CCP1IF=0;

}

Tuy nhiên ông thầy của em ông ý không cho làm vậy mà bắt phải để timer1 chạy liên tục và phải điều khiển giá trị của CCP1H/L làm sao đó cho nó vẫn ngắt được bình thường.

Liệu có bác nào có thể giúp em được không ạ ?


Múi giờ GMT. Hiện tại là 03:27 PM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam