PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Cơ bản về vi điều khiển và PIC (http://www.picvietnam.com/forum/forumdisplay.php?f=8)
-   -   Tạo tín hiệu PWM ngược nhau PIC6F887 (http://www.picvietnam.com/forum/showthread.php?t=33305)

hocavr 17-01-2014 11:09 AM

Tạo tín hiệu PWM ngược nhau PIC6F887
 
1 Attachment(s)
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 đó!!!


Múi giờ GMT. Hiện tại là 08:54 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