|
Tài trợ cho PIC Vietnam |
dsPIC - Bộ điều khiển tín hiệu số 16-bit Theo dự kiến của Microchip, vào khoảng năm 2011 dsPIC sẽ có doanh số lớn hơn PIC |
|
Ðiều Chỉnh | Xếp Bài |
01-04-2010, 01:58 AM | #1 |
Đệ tử 5 túi
Tham gia ngày: Jan 2008
Bài gửi: 97
: |
Chuyển Clock trong DsPic
Cho tôi hỏi vấn đề này với:
#include <p33FJ64GP804.h> #include <libpic30.h> _FOSCSEL( FNOSC_FRC & IESO_OFF)// dao động nội nhanh lúc bật nguồn. #define FCY 8000000UL unsigned int i; void main(){ CLKDIVbits.DOZEN=0; OSCCONbits.CLKLOCK=0;// cho phép chuyển Clock OSCCONbits.NOSC=6;//chuyển sang dao động nội nhanh chia 16. OSCCONbits.OSWEN=1;// bắt đầu chuyển clock while(OSCCONbits.OSWEN==1);//chờ cho chuyển clock xong. TRISA=0; while(1){ PORTA=0; __delay_ms(400); PORTA=1; __delay_ms(400); } } tôi thấy tốc độ nháy của đèn Led tại Pin A0 không thay đổi mặc dù tôi đã chuyển Clock. xin anh em giải thích hộ. |
01-04-2010, 10:14 AM | #2 |
Trưởng lão PIC bang
|
Trước khi bạn chuyển clock, đèn LED không hề nhấp nháy. Bạn chuyển clock xong thì đèn LED mới được bật/tắt, do đó bạn chỉ có 1 tốc độ nhấp nháy cho đèn LED thôi.
Cần cho đèn LED nhấp nháy vài lần trước khi chuyển clock, sau đó mới chuyển clock, rồi cho đèn LED tiếp tục nhấp nhá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 |
01-04-2010, 01:27 PM | #3 |
Đệ tử 5 túi
Tham gia ngày: Jan 2008
Bài gửi: 97
: |
Tôi đã làm được rồi, thật ra chuyển xung trong DsPic thật phức tạp, được hướng dẫn cụ thể trong file Section 39. Oscillator (Part III):
http://www.mediafire.com/?jdtmmeytrrd Chú ý từ mục 39.12/trang 28 cho đến hết và 2 lệnh __builtin_write_OSCCONL(value) __builtin_write_OSCCONH(value) có ghi rõ trong file hlpMPLABC30 trong thư mục docs Chúc anh em may mắn. |
|
|