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
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