PDA

View Full Version : Tạo tín hiệu PWM ngược nhau PIC6F887


hocavr
17-01-2014, 11:09 AM
Chào các bạn

mình muốn tạo 2 sóng vuông có tần số 1Kz, nhưng 2 sóng vuông này phải ngược nhau. Hiên tại mình chỉ tạo được 2 sóng này cùng chiều. Mong các bạn chỉ dẫn cho mình.

Mình dùng PIC16F887, thạch anh 8Mhz, tần số PWM = 1Khz;Duty Cycle = 50, dưới đây là code của mình :
void main(){
ANSEL = 0;
ANSELH = 0;
C1ON_bit = 0;
C2ON_bit = 0;
PORTC = 0;
TRISC = 0;
T2CON = 0b00000111; // prescaler + turn on TMR2;
PR2 = 0b01111100;
CCPR1L = 0b00111110;
CCPR2L = 0b00111110;
CCP1CON = 0b00101100; // duty lowest bits + PWM1 mode
CCP2CON = 0b00101100; // duty lowest bits + PWM2 mode
}

Cảm ơn các bạn

mast0904
18-01-2014, 12:25 AM
theo như mình biết thì ko thể đc, bạn muốn làm vậy thì buộc phải chế 1 bộ đảo ở ngoài
con này có 2pwm nhưng 2pwm này cùng 1 tần số do chung thanh ghi PR2 tuy nhiên có thể khác duty, chính vì việc chung PR2 nên gốc phát duty của nó là chung nhau vì vậy phần đầu xung cùng dạng là 1 hoặc 0. chế 1 bộ đảo not qua tran/ic đảo... là oke

caddish12
19-01-2014, 03:01 AM
mast0904 nói chính xác!

khongyeuem
17-08-2014, 08:27 PM
Dùng AVR đi bạn nó có thể tạo được đó!!!