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 ?
Thông báo
Collapse
No announcement yet.
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
Bài viết mới nhất
Collapse
-
bởi nguyendinhvan.....cách xây dựng chương trình điều khiển động cơ Servo Yaskaw... ?
Việc này, bạn cần gặp một cty tự động hóa kha khá lớn của VN. Họ mới đủ tiềm lực để thực hiện được.
Thông thường các hãng lớn đã cấp sẵn các tooth...-
Channel: Điện tử công nghiệp
hôm nay, 00:41 -
-
Trả lời cho Hỏi về bơm màng bldcbởi nhathung1101À há... Lại mang dao mổ voi để chém muỗi.
Cái này cũng thấy rồi, xử cũng vài vụ rồi.
Tốt nhất mua cái bơm cho bể cá cảnh là ok. Vừa rẻ vừa ngon.-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 20:30 -
-
Trả lời cho Hỏi về bơm màng bldcbởi vi van phammáy bơm -7 PSI không dùng điện DC, nguồn 220VAC ở thị trường rất nhiều. Trang bị thêm bộ điều tốc để thay đổi áp suất là xong.
Không sợ trách nhiệm thì cứ vậy mà chơi....-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 16:08 -
-
Trả lời cho Hỏi về bơm màng bldcbởi khoine9899em thông tin đến các anh 1 chút ạ
đây là con bơm dùng trong máy hạ thân nhiệt. chức năng chính của nó chỉ là bơm nước đã được làm nóng hoặc làm lạnh qua 1 tấm gelpad dán trên người bệnh nhân để điều chỉnh thân nhiệt, ngoài bơm...-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 15:46 -
-
Trả lời cho Hỏi về bơm màng bldcbởi nhathung1101Cái bơm này, quan trọng nhất phần "cơ". Kể cả khi nó đang hoạt động hay không, vẫn còn quan tâm có bị lọt khí hay không (dân thợ gọi là air).
Còn động cơ, dù bị nặng tải, nó sẽ được điều chỉnh bởi bộ điều khiển...-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 15:31 -
-
Trả lời cho Hỏi về bơm màng bldcbởi vi van phamCó bệnh nhân chết vì máy hút đàm không hoạt động, người nhà thưa bv. Công an vào cuộc, cái cầu chì bị cháy khi khởi động do nhân viên bảo trì bv thay thế không đúng.
Anh này bị quy trách nhiệm không được đào tạo , vô ý làm chết người....... sợ chưa?-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 15:28 -
-
Trả lời cho Sơ đồ ôm métbởi nhathung1101Bạn tìm chỗ Lạc Hồng Viên hay Phù Ninh gì đó, kiếm đủ 1 mét rồi ôm thôi.
-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 15:22 -
-
Trả lời cho Hỏi về bơm màng bldcbởi nhathung1101Chuẩn đấy đại ca. Em cũng ngâm cứu cái này rồi. Sửa là chuyện nhỏ, nhưng trách nhiệm là chuyện lớn.
Khi thiếu hụt kỹ thuật kiểm định thì rất mệt. Kỹ thuật điện tử trong y tế thì em có gặp, nhưng sợ vãi luôn....-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 15:19 -
-
Trả lời cho Hỏi về bơm màng bldcbởi vi van phamTôi đoán đây là máy bơm máu trong lọc thận nhân tạo.
Bơm này là thiết bị chuyên dụng, ai dám nhận s/c ?
Nếu là bơm máu trong lọc thận nhân tạo áp suất hút khoãng - 100 mmHg , áp suất trả máu về thận là +100mm Hg. Sau khi s/c áp suất...-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 15:14 -
-
Trả lời cho Hỏi về bơm màng bldcbởi khoine9899dạ thực sự là em không có kiến thức hay hiểu biết về bơm cũng như động cơ ạ. Tình trạng chung của con bơm này em gặp chủ yếu là về phần động cơ yếu dần rồi không hoạt động nữa, có con còn bị cháy bó cứng luôn ạ.
Em cũng...-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 13:16 -
Comment