View Full Version : làm sao tao dc PWM 10-20KHz trên pic16f887??
delta21
16-01-2011, 08:21 PM
câu hỏi như trên ạ!!!bác nào chỉ em với,đang bí??
em dùng HT pic
hoc_picpicpic
17-01-2011, 03:24 PM
thiết lập F = 19,53KHz độ phân giải 10bit TA = 20M
T2CON = 0x00 ;
PR2 = 0xff ;
//------------------------------
thiết lập F = 16KHz độ phân giải 8bit TA = 20M
T2CON = 0x01 ;
PR2 = 78;
//------------------------------
datasheet của pic có công thức tính muốn setup ở tần số nào thì lôi ra mà tính
delta21
17-01-2011, 11:02 PM
thiết lập F = 19,53KHz độ phân giải 10bit TA = 20M
T2CON = 0x00 ;
PR2 = 0xff ;
//------------------------------
thiết lập F = 16KHz độ phân giải 8bit TA = 20M
T2CON = 0x01 ;
PR2 = 78;
//------------------------------
datasheet của pic có công thức tính muốn setup ở tần số nào thì lôi ra mà tính
mình biết công thức đó chứ,nhưng mà độ phân giải 10bit thi sao mà đưa giá trị vào CCPR1L (8bit),và 2 bit ở thanh ghi DC1B đây,bác chỉ em cách làm với!!!
hoc_picpicpic
18-01-2011, 05:38 PM
mình biết công thức đó chứ,nhưng mà độ phân giải 10bit thi sao mà đưa giá trị vào CCPR1L (8bit),và 2 bit ở thanh ghi DC1B đây,bác chỉ em cách làm với!!!
void setup_duty_cycle( unsigned int duty_cycle )
{
DC1B0 = duty_cycle ;
DC1B1 = duty_cycle >> 1 ;
CCPR1L = duty_cycle >> 2 ;
}
cho từ 10bit trở xuống
delta21
18-01-2011, 11:33 PM
void setup_duty_cycle( unsigned int duty_cycle )
{
DC1B0 = duty_cycle ;
DC1B1 = duty_cycle >> 1 ;
CCPR1L = duty_cycle >> 2 ;
}
cho từ 10bit trở xuống
hay quá,cám ơn bác!!!
delta21
22-01-2011, 07:11 AM
sao em làm hoài mà xung ra ko thấy thay dổi gì nhỉ!!!
bác có chương trình mẫu không.pót lên cho em tham khảo với!!
hoc_picpicpic
24-01-2011, 08:57 AM
bạn chạy mach thực hay mô phỏng,nếu bạn chạy mô phỏng trên proteus thì chỉ có bản 7.2 mới chạy dc pwm các bản khác ko mo phỏng dc
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.