Đề nghị bạn đọc mục 8.3.3 - SETUP FOR PWM OPERATION trong datasheet của PIC16F877A. Bạn sẽ thấy rằng CCP1 và CCP2 ở chế độ PWM sẽ dùng chung Timer2 làm bộ đếm thời gian chu kỳ. Bạn cũng dựa vào bảng 8-3 để xác định phạm vi cho phép của duty cycle, khi đã chọn giá trị cho PR2. Ngay cả khi dùng độ phân giải 10-bit cho duty cycle, bạn cũng không thể đặt duty cycle = 1024 (như bạn đã thực hiện trong code của bạn), vì 1024 không thể chứa trong 10 bit.
Thân,
|