View Single Post
Old 29-04-2009, 01:55 AM   #12
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi nhanh0112 View Post
Em đã tạo đc rồi các bác à! em đã tham khảo ở đây http://cblog.cari.com.my/html/32/53232-112634.html và sửa thành
set_pwm1_duty(15);
thì chạy ngon lành. Không hiểu ra làm sao nữa.
Nếu bạn đọc tài liệu hướng dẫn của CCS C thì có thể thấy họ nói rằng các giá trị duty cycle nằm gọn trong 8-bit (giá trị 52 của bạn thỏa mãn điều này) thì nó sẽ được dịch trái 2 bit để ghi vào các thanh ghi tương ứng. Do đó, code ban đầu của bạn sẽ có giá trị 52 được đặt vào CCPR1L, dẫn đến chân CCP1 luôn luôn có giá trị '1' (vì CCPR1L > (PR2 + 1)).

Code vừa sửa của bạn sẽ tạo duty cycle = 50% nếu bạn dùng set_pwm1_duty(13).

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn