อยากทราบการใช้งาน CCS PIC กับ PWM ครับ

กระทู้สนทนา
ผมพยามศึกษา PWM โดยซิมูเลตใน Proteus ใช้โค้ดนี้สร้างความถี่
http://www.thaimicrotron.com/CCS-628/Timer/PWM_1.htm

และใช้โค้ดนี้วัดความถี่
http://www.thaimicrotron.com/CCS-628/Timer/CaptureEx1.htm

ไม่รู้ทำไมมันวัดความถี่ได้ 500Hz แต่ในโค้ดมันใช้สร้างความถี่ 1kHz เป็นเพราะอะไรครับ

และถ้าผมต้องการผลิตความถี่ 1KHz เมื่อใช้ XTAL=20MHz, t2div = 1 ,duty cycle = 50% ต้องแก้

setup_timer_2(T2_DIV_BY_4, 249, 1);
เป็น setup_timer_2(T2_DIV_BY_1, 4999, 1);
ใช่ไหมครับเพราะ [(1/1k)/0.05x10u *4 *1]-1 = 4999

และแก้ set_pwm1_duty(500);
เป็น set_pwm1_duty(10000);
ถูกต้องไหมครับ

จากคุณ mmmmm (A:110.77.216.118 X:)
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่