|
Tài trợ cho PIC Vietnam |
Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC |
|
Ðiều Chỉnh | Xếp Bài |
18-01-2010, 02:53 AM | #1 |
Đệ tử 1 túi
Tham gia ngày: Jan 2009
Bài gửi: 17
: |
CCS bị lỗi ?
Anh chị ơi, e chỉ muốn thử tạo xung 120khz ra ở chân ccp1. Xung tạo ra không đúng với ý của e chút nào. E dùng bản CCS4.104. nhưng thử lại các bản cũ khác cũng vẫn vậy (chu kì xung đều lớn hơn gấp đôi). E hết cách rồi.
#include <16F877A.h> #device adc=8 #FUSES NOWDT //No Watch Dog Timer #FUSES HS //High speed Osc (> 4mhz for PCM/PCH) (>10mhz for PCD) #FUSES NOPUT //No Power Up Timer #FUSES NOPROTECT //Code not protected from reading #FUSES NODEBUG //No Debug mode for ICD #FUSES NOBROWNOUT //No brownout reset #FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O #FUSES NOCPD //No EE protection #FUSES NOWRT //Program memory not write protected #FUSES RESERVED //Used to set the reserved FUSE bits #use delay(clock=7680000) void main() { setup_timer_2(T2_DIV_BY_1,15,1); setup_ccp1(CCP_PWM); set_pwm1_duty(32); while (1){} } |
19-01-2010, 07:37 AM | #2 |
Đệ tử 1 túi
Tham gia ngày: Jan 2009
Bài gửi: 17
: |
Đoạn chương trình là e sử dụng wizard để tạo ra, mà giá trị nạp vào các thanh ghi e cũng đã tính đi tính lại nhiều lần lắm. Các anh chị vào giúp e một tay với. PLS.
|
19-01-2010, 08:31 AM | #3 |
...Damned...
Tham gia ngày: Apr 2006
Nơi Cư Ngụ: Hồ Chí Minh
Bài gửi: 522
: |
Bạn mô phỏng hay chạy mạch thực tế?
Bạn đo tần số xung ra = cái gì? "Xung tạo ra không đúng với ý của e chút nào" -> ko đúng như thế nào??? Bạn chưa nêu rõ vấn đề của bạn thì làm sao người khác có thể giúp! |
19-01-2010, 10:38 PM | #4 |
Đệ tử 1 túi
Tham gia ngày: Jan 2009
Bài gửi: 17
: |
Dạ, cảm ơn a giúp e. Chu kì xung luôn luôn gấp đôi. E mô phỏng proteus và cũng làm mạch thực tế, đo bằng oscilloscope ở trường. E đã đo với 2 máy osc khác nhau, kết quả cũng vẫn chu kì xung là 8.3333*2 = 16.6666 uS. Xung e cần tạo là 120Khz, chu kì phải là 8.3333us mới đúng. E xài thạch a 7.680Mhz a à. E cũng đã từng nghi là thạch anh hư, nên e viết thử chương trình delay 1s, chớp tắt led, kết quả mạch thật chạy rất tốt. Tóm lại, chỉ có tạo xung hok đúng thôi. A giúp e nhé a.
|
19-01-2010, 10:42 PM | #5 |
Đệ tử 1 túi
Tham gia ngày: Jan 2009
Bài gửi: 17
: |
Thêm nữa, e cũng lấy osc đo thử thạch anh, tần số dao động hoàn toàn đúng: 7.680Mhz... hic.
|
19-01-2010, 11:23 PM | #6 |
Trưởng lão PIC bang
|
Lỗi ở dòng gọi hàm set_pwm1_duty(). Bạn hãy đọc thật kỹ phần mô tả chức năng của hàm này trong tài liệu hướng dẫn của CCS C (link ở đây: http://www.ccsinfo.com/downloads/ccs_c_manual.pdf, nếu bạn chưa có tài liệu này).
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 |
20-01-2010, 05:36 AM | #7 |
Đệ tử 1 túi
Tham gia ngày: Jan 2009
Bài gửi: 17
: |
Cảm ơn anh,
E vừa đọc phần setup_PWM1_duty() (trang 236). Writes the 10-bit value to the PWM to set the duty. An 8-bit value may be use if the most significant bits are not required. The 10 bit value is then used to determine the duty cycle of the PWM signal as follows: %duty cycle = value / [ 4 * (PR2 +1 ) ] Theo như trong đó, e cần đặt duty = 50% = 0.5 thì giá trị value phải nạp là: value = 4* duty* (PR2 + 1) = 4* 0.5* (15+1) = 32 Hình như có chỗ nào đó e chưa hiểu đúng thì phải (10bits- 8bits ???), hic. Nhờ a chỉ e thêm "tí manh mối" nữa đi. Cảm ơn a nhiều lắm. |
20-01-2010, 11:28 AM | #8 | |
Trưởng lão PIC bang
|
Trích:
Nếu bạn đặt giá trị 32 (tức là lớn hơn PR2 + 1) làm đối số của hàm thì có thể xảy ra hiện tượng mà bạn đã quan sát được. Xem giải thích chi tiết hơn ở đây: http://www.picvietnam.com/forum/showthread.php?t=5772 Nên dùng phiên bản mới nhất của tài liệu hướng dẫn. 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 thay đổi nội dung bởi: namqn, 20-01-2010 lúc 11:45 AM. Lý do: bổ sung thông tin |
|
20-01-2010, 12:59 PM | #9 |
Đệ tử 1 túi
Tham gia ngày: Jan 2009
Bài gửi: 17
: |
Cảm ơn a Nam rất nhiều,
Yeah. Hi, giải quyết được "chứng đau đầu" của e mấy nay. Đọc xong giờ e mới thấy từ "thật kĩ" là có chủ ý. Rất cảm ơn a, chúc a nhiều sức khỏe. |
|
|