|
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 |
13-06-2013, 05:38 PM | #9 |
Nhập môn đệ tử
Tham gia ngày: Dec 2011
Bài gửi: 1
: |
Re: nháy led bằng dspic
Mình không biết ở thời điểm 2010 thì tập tin libpic30.h đã có hàm __delay_ms() và __delay_us() hay chưa, nhưng hiện tại với C30 bản 3.21 mình thấy nó có 2 hàm này, sử dụng bình thường như trong Hi-Tech hay CCS vậy. Có thể delay hẳn 500ms (thực tế chạy thì tương đối).
Nếu bạn là người mới bắt đầu với dsPIC thì hãy thử đoạn code sau, áp dụng cho PIC30F, sử dụng clock nội nên ko cần quan tâm bạn dùng thạch anh bao nhiêu. Code:
/* * File: main.c * Author: pls * Nhấp nháy LED nối ở chân RD0 * Created on June 13, 2013, 3:26 PM */ #include <p30Fxxxx.h> _FOSC(CSW_FSCM_OFF & FRC_PLL4); //Clock = 32 MHz, dùng Clock nội 8M x 4 = 32MHz //Clock Switching and Monitor: Sw Disabled, Mon Disabled //Oscillator: Internal Fast RC w/PLL 4x _FWDT(WDT_OFF); //Watchdog Timer: Disabled _FBORPOR(MCLR_EN & PBOR_OFF); //Master Clear Enable: Enabled //PBOR Enable: Disabled _FGS(GSS_OFF); //General Segment Code Protection: Disabled //Thiết lập tần số: #define FOSC 32000000LL // clock-frequecy in Hz with suffix LL (64-bit-long), eg. 32000000LL for 32MHz #define FCY (FOSC/4) // MCU is running at FCY MIPS #include <libpic30.h> //Thư viện chung cho PIC30, có hàm delay... (phải khai báo FOSC và FCY trước dòng này) int main(void) { //Khởi tạo port: TRISDbits.TRISD0 = 0; //Cho chân D0 là ngõ ra while(1){ //Nhấp nháy D0 LATDbits.LATD0 = 1; __delay_ms(500); LATDbits.LATD0 = 0; __delay_ms(500); } } |
|
|