Các bác ơi, cho em hỏi lập trình cho dsPIC có khác gì so với PIC16 và PIC18 không ?
Lập trình cho dsPIC như thế nào ?
Collapse
X
-
Có khác một chút thôi:
Một ví dụ đơn giản cho dsPIC viết bằng HT dsPIC
Code://=============================================== //Test dsPIC4012 and study HT dsPIC C compiler //Author:4MD //=============================================== #include<dspic.h> __CONFIG(FOSC, HS); __CONFIG(FWDT, WDTEN&WDTPSA64); __CONFIG(FBORPOR, BOREN&PWRT64&BORV27&MCLREN); void delay_(void); //---------------------------------- int main(){ TRISD = 0x00; PORTD = 0xFF; LATD = 0xFF; while(1) { PORTD = 0xFF; delay_(); PORTD = 0x00; delay_(); CLRWDT(); NOP(); } return 0; } //--------------------------------- void delay_(void) { unsigned int i,j; for(j=1;j<=2;j++) { for(i=0;i<65535;i++) { NOP(); NOP(); CLRWDT(); } } } //=============================================
-
Chương trình này mình viết cho dsPIC6014, Bạn chỉ nên tham khảo cách viết, vì mình cũng chưa có con dsPIC6014 để test thử. Viết bằng C30 thì bạn cần phải INCLUDE các file liên kết, header file của con bạn dùng vào...
Code://============================================================= //Test dsPIC and study Microchip MPLAB C30 //Author: 4MD //============================================================= #define __p30f6014__ #include<p30f6014.h> void init(void); void delay_(void); //inline int inc(int *a); //-------------------------------------------------------interrupt void __attribute__((__interrupt__)) _T2Interrupt(void) { IFS0bits.T2IF = 0; __asm("NOP"); } void __attribute__((__interrupt__)) _INT1Interrupt(void) { IFS1bits.INT1IF = 0; __asm("NOP"); } void __attribute__((__interrupt__)) _INT2Interrupt(void) { IFS1bits.INT2IF = 0; __asm("NOP"); } void __attribute__((__interrupt__)) _INT3Interrupt(void) { IFS2bits.INT3IF = 0; __asm("NOP"); } void __attribute__((__interrupt__)) _INT4Interrupt(void) { IFS2bits.INT4IF = 0; __asm("NOP"); } //-------------------------------------------------------Var int *temp; //-------------------------------------------------------MAIN int main(){ typedef struct tagACC { unsigned int L; unsigned int H; unsigned char U; }ACCAU; init(); PR2 = 8192; /*Timer 2 period*/ SRbits.IPL = 3; /*CPU interrupt priority level*/ TRISD = 0; inc(temp); while(1) { asm("NOP"); _RD0 = 1; PORTDbits.RD1 = 1; delay_(); PORTDbits.RD0 = 0; _RD1 = 0; delay_(); } return 0; } //-------------------------------------------------------init void init(void) { //-------------------------------init for Interrupt IEC0bits.T2IE = 1; IEC1bits.INT1IE = 1; IEC1bits.INT2IE = 1; IEC2bits.INT3IE = 1; IEC2bits.INT4IE = 1; //-------------------------------init for TIMER2 T2CONbits.TON = 1; T2CONbits.TCKPS = 3; asm("NOP"); asm("NOP"); } //-------------------------------------------------------inline inline int inc(int *a) { (*a)++; } //-------------------------------------------------------delay void delay_(void) { unsigned int i; for(i=0;i<65535;i++) { __asm("NOP"); } } //============================THE END===========================Last edited by 4MD; 26-11-2005, 19:09.
Comment
-
Nó cũng tương tự như PIC16/18 thôi bạn ạ. Bạn tham khảo các appnote về dsPIC,đặc biệt là các project mà microchip cung cấp sẵn, nó cả sch, tài liệu(pdf),code đi kèm= C30.
Comment
-
các bác ơi có thể cho em code mẫu lập trình dspic6014 được ko ạ, trên c30 hay hi tech gì cũng được, em cảm ơn
Comment
-
-
em cũng đang tìm hiểu về dspic30F4013. có anh chị nào đã làm qua giúp e với, cụ thể là các tập lệnh giao tiếp với nó, trình biên dịch dùng CCS hay Mikro C có được không?
xin cảm ơn các anh chị !
Thân chào !
Comment
Bài viết mới nhất
Collapse
-
bởi Nexus 6PMạch này chỉ chạy cho LED 10W trở xuống, còn muốn chạy Led công suất cao thì sao bác thớt ơi?-
Channel: Điện tử công suất
22-10-2026, 14:33 -
-
bởi Nexus 6PMạch này chỉ chạy cho LED 10W trở xuống, còn muốn chạy Led công suất cao thì sao bác thớt ơi?-
Channel: Điện tử công suất
22-10-2026, 10:49 -
-
Trả lời cho Tìm VR 5 chânbởi dinhthuong80Cảm ơn bác bqviet . Nhưng hình như các VR 5 chân của linhkienchatluong là loại có 2 chân là công tắc đóng mở. Thấy trên Shopee có chỗ bán linh kiện đàn Organ, mà không biết đúng loại không, với lại sao ... mắc dữ dội luôn ấy!!!
...-
Channel: Hướng dẫn tìm thông tin linh kiện
19-10-2026, 11:30 -
-
Trả lời cho Tìm VR 5 chânbởi bqvietTrang sản phẩm này có loại 5 chân và 8 chân
https://linhkienchatluong.vn/chiet-a...doi_s1595.aspx
Ngoài ra một trang cùng cấp với nó có loại 6 chân nữa, chắc đủ cho người muốn tìm....-
Channel: Hướng dẫn tìm thông tin linh kiện
17-10-2026, 17:19 -
-
bởi dinhthuong80Chào cả nhà, chúc cuối tuần vui vẻ!
Hôm nay mình lên đây nhờ ai biết chỉ dùm biến trở 5 chân này tên gọi là gì, có thể mua ở đâu vậy? Xin cám ơn nhiều! ...-
Channel: Hướng dẫn tìm thông tin linh kiện
-

Comment