24-04-2008, 12:03 PM | #1 |
PIC Bang chủ
|
CCS C cho PIC/dsPIC phiên bản 4.xxx
Luồng này tiếp theo luồng CCS C cho PIC16F877A.
- Tutorial của nhh đã cũ, CCS C có nhiều thay đổi, do vậy từ CCS C 4.xxx một số câu lệnh và ký hiệu được thay đổi. - Luồng trước quá dài, chúng tôi tạm khoá để mở luồng mới, các thành viên sẽ dễ theo dõi hơn. Chúc vui
__________________
Công ty TNHH Thương mại và Giao nhận R&P store.hn@rpc.vn - store.hcm@rpc.vn Học PIC như thế nào? |
24-04-2008, 12:07 PM | #2 | |||
PIC Bang chủ
|
Trích:
Trích:
Trích:
Luồng này tiếp tục thảo luận ở đây Chúc vui
__________________
Công ty TNHH Thương mại và Giao nhận R&P store.hn@rpc.vn - store.hcm@rpc.vn Học PIC như thế nào? |
|||
25-04-2008, 09:07 AM | #3 |
Đệ tử 6 túi
Tham gia ngày: May 2007
Bài gửi: 127
: |
bác F cho em vài link về CCS C 4.xxx
|
25-04-2008, 09:11 AM | #4 |
Đệ tử 6 túi
Tham gia ngày: May 2007
Bài gửi: 127
: |
tìm trong diễn đàn này mệt quá
|
25-04-2008, 05:48 PM | #5 |
Đệ tử 2 túi
Tham gia ngày: Jun 2007
Bài gửi: 44
: |
to hard : chắc phải tháo ra cài lại thôi, lưu là thằng này và thằng Deepfreeze ko ưa gì nhau, nên cài vào ko chạy dc, báo lỗi tùm lum, lúc trước tui bị một lần rồi.
__________________
VÔ DANH !!! |
25-04-2008, 06:54 PM | #6 |
Đệ tử 2 túi
|
Hi,
Đành phải xin phép câu thêm một bài vậy. Bác có thể giải quyết vấn đề bằng cách down phiên bản 4.065 về. Trong phiên bản này có IDEUTILS sẵn, chỉ cần chạy file này để cài đặt, nó tương thích cho cả version 4.068. Bên thread Trình biên dịch và mô phỏng đã đề cập đến vấn đề này rồi. Chúc bác thành công. Thân ái. |
27-04-2008, 12:27 PM | #7 |
Đệ tử 1 túi
Tham gia ngày: Nov 2007
Bài gửi: 22
: |
Giao tiếp Pic(16f877a) với máy tính
em đang làm về phần giao tiếp giữa pic(16f877a) với máy tính dùng phần mềm ccs để lập trình
anh nào có tài liệu thì có thể giúp đơ em, em đang rất cần mail của em là qvinh_bk86@yahoo.com.vn, em cảm ơn nhiều Rất mong thư! |
27-04-2008, 05:21 PM | #8 |
PIC Bang chủ
|
Bạn đã đọc list của diễn đàn chưa? Bạn nghĩ rằng bạn có thể tìm cái chương trình nạp đó ở đâu?
Chúc vui
__________________
Công ty TNHH Thương mại và Giao nhận R&P store.hn@rpc.vn - store.hcm@rpc.vn Học PIC như thế nào? |
29-04-2008, 11:10 AM | #9 |
Nhập môn đệ tử
Tham gia ngày: Mar 2008
Bài gửi: 5
: |
Hic cac bac oi help me,em down các tài liệu trên điễn đàn về nhà và làm theo như các bác nói,nhưng mà sao nó không chạy,em đang dùng CCS V4.057 hôm nay em quên không mang theo đoan code em làm,nhưng đại loại là em đã khai báo #include <16F877A.h> nhưng không hiểu sao khi compiler lại báo là lỗi "A#device" cần phải thêm vào là sao các bác(hi em dịch ra đầy không biết có đúng không),các bác giúp em nhé,em đang làm đồ án liên quan đến Pic mà lại lập trình bằng C
|
30-04-2008, 11:10 AM | #10 |
Đệ tử 6 túi
Tham gia ngày: May 2007
Bài gửi: 127
: |
tui đang dùng phiên bản CCS 4.065
không biết còn phiên bản nào cao hơn không hả anh em ??? |
30-04-2008, 12:27 PM | #11 | |
PIC Bang chủ
|
Trích:
Chúc vui
__________________
Công ty TNHH Thương mại và Giao nhận R&P store.hn@rpc.vn - store.hcm@rpc.vn Học PIC như thế nào? |
|
30-04-2008, 10:28 PM | #12 |
Đệ tử 1 túi
Tham gia ngày: Jan 2007
Bài gửi: 11
: |
Thắc mắc ngắt timer
Em viết chương trình ngắt timer nhấp nháy led, nhưng nạp vào pic phải đợi 1 lúc sau nó mới bắt đầu nháy led, bác nào khắc phục jùm em với.
Đây là code. Code:
#include <16F877A.h> #include <DEFS_16F877A.h> #device 16F877*=16 ADC=10 #FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT #use delay(clock=4000000) #use fast_io(b) #use fast_io(c) #use fast_io(d) #int_timer0 void interrupt_timer0(){ int1 a; int16 count; set_timer0(56); ++count; if(count == 500) { count=0; a=~a; RB0=a; } } void main() { set_tris_b(0); setup_timer_0(RTCC_INTERNAL|RTCC_DIV_2); enable_interrupts(int_timer0); enable_interrupts(global); set_timer0(56); while(true) { } } thay đổi nội dung bởi: namqn, 30-04-2008 lúc 10:34 PM. |
30-04-2008, 10:39 PM | #13 |
Trưởng lão PIC bang
|
Trước khi vào vòng while(true) trong main(), bạn nên đặt trước giá trị của count, nếu không thì count có thể mang giá trị bất kỳ, và điều kiện (count == 500) của bạn có thể phải sau khi count được tăng vài chục ngàn giá trị mới thỏa mãn (nếu tình cờ sau khi PIC reset biến count mang giá trị ngẫu nhiên là 501 chẳng hạn).
Tôi thường khởi tạo biến count ngay trước khi vào vòng while(true) trong main(), và dùng điều kiện (count >= 500) thay cho (count == 500) trong phần xử lý ngắt. 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 |
02-05-2008, 06:29 PM | #14 |
Nhập môn đệ tử
Tham gia ngày: Mar 2008
Bài gửi: 5
: |
hi hi em sửa được lỗi đó rùi,nhưng vẫn không hiểu,bác nào giải thích hộ em với,khi em tạo một project mới,ví dụ em tạo trong thư mục "C:\Bai_tap" thỉ trong phần soạn thảo của em xuất hiện khai báo #include "C:\Bai_tap\nhapnhayB.h" nếu em để nguyên như này thì khi compiler sẽ báo lỗi " a #device" gì đó,nhưng khi em bỏ dòng này đi thì mọi việc ok,hic
|
06-05-2008, 01:50 AM | #15 |
Đệ tử 1 túi
Tham gia ngày: Nov 2007
Bài gửi: 22
: |
Em có đoạn code sau nhưng em không hiểu là lệnh adcHI và adcLO làm gì (với khai báo
char adcHI,adcLO).Anh nào giải thích hộ em Code:
while(TRUE) { adcValue = read_adc(); // Get ADC reading adcHI = (char)((adcValue >> 5)& 0x1f); adcLO = (char)((adcValue & 0x1f)|0x80); putc(adcHI); putc(adcLO); delay_ms(10); // Preset delay, repeat every 10ms } } thay đổi nội dung bởi: namqn, 06-05-2008 lúc 02:09 AM. |