10-07-2006, 10:56 PM | #1 |
Nhập môn đệ tử
Tham gia ngày: Jul 2006
Bài gửi: 4
: |
I2C, SPI, UART của PIC 16F877 dùng thế nào trên CCSC??
Em đang làm thử một số giao tiếp sử dụng I2C và SPI tích hợp trên PIC6F877A, nhưng không hiểu sao dùng các hàm hỗ trợ của CCSC lại không được, đem ra PIC Simulator để mô phỏng thì thấy không được, rồi cả UART nữa. Có bác nào đã từng làm thành công thì chỉ bảo cho em với được không? Em chưa biết là phải giải quyết thế nào!!!!
|
11-07-2006, 02:53 PM | #2 |
Đệ tử 3 túi
Tham gia ngày: Jul 2005
Bài gửi: 47
: |
Em có thể gửi code cho anh coi giùm cho. Nó có một số lỗi nhỏ khiến trình dich nó ko nhận được.
Ai viết thế nhỉ? Sao lại dùng nick của mình??? thay đổi nội dung bởi: sphinx, 12-07-2006 lúc 03:50 PM. |
12-07-2006, 09:58 AM | #3 |
Nhập môn đệ tử
Tham gia ngày: Jul 2006
Bài gửi: 4
: |
Em chỉ thử test mấy cái hàm trong đó thôi, khi em đưa sang PIC Simulator để mô phỏng thì không thấy có tín hiệu gì ở Port C cả. Rất mong bác giúp đỡ, em cảm ơn bác nhiều. Đây là phần code của em cho phần I2C:
'**********************************************' #include <16F877A.h> #device adc=8 #use delay(clock=10000000) #fuses NOWDT,RC, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT #use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bi ts=9) #use i2c(Master,Fast,sda=PIN_C4,scl=PIN_C3) #use fast_io(c) void main() { setup_adc_ports(NO_ANALOGS); setup_adc(ADC_OFF); setup_psp(PSP_DISABLED); setup_counters(RTCC_INTERNAL,RTCC_DIV_1); setup_timer_1(T1_DISABLED); setup_timer_2(T2_DISABLED,0,1); setup_comparator(NC_NC_NC_NC); setup_vref(FALSE); // set_tris_c(0x00); while (1) { i2c_start(); i2c_write(0xa0); // Device address i2c_write(0xf1); // subaddress i2c_start(); // Restart i2c_write(0xa1); // to change data direction i2c_read(); // Now read from slave i2c_stop(); } } |
01-08-2006, 05:39 PM | #4 |
Đệ tử 2 túi
Tham gia ngày: Sep 2005
Bài gửi: 32
: |
Đừng hy vọng nhiều vào trình mô phỏng này , nó thiếu vài module nên hay trở chứng lắm . VD như không có module CCPPWM nên mô phỏng không được ( không có tín hiệu )
|
01-08-2006, 07:09 PM | #5 |
Đệ tử 5 túi
Tham gia ngày: Oct 2005
Bài gửi: 117
: |
Với phần mềm mô phỏng này, để test đc thì bạn nên bỏ các hàm Delay trong chương trình đi thì chạy mới ổn, bởi cái này hàm delay nó chạy không chuẩn đâu. Tốt nhất lắp cái mạch test bé mà thử.
__________________
CallerID, Ethernet-RS232, PICWEB, Cảnh báo BTS Giải pháp toàn diện giám sát - điều khiển từ xa qua GSM/Internet 0988006696 http://linhnc308.blogspot.com linhnc308@gmail.com |
27-09-2006, 10:01 AM | #6 |
Nhập môn đệ tử
|
Các bác cho hỏi chương trình của tôi có chỗ nào sai mà khi mô phỏng trên protues thì port b các chân chỉ thấy ở mức 1, chẳng đúng gì cả.
//============================================== #include <16F84A.h> #device adc=8 #use delay(clock=10000000) #use I2C(master, sda=PIN_A0, scl=PIN_A1, fast) // use the fast i2c specification void main() { byte data; i2c_start(); i2c_write(0xa0); // device address // write mode i2c_write(0x00); // data to device i2c_write(0x05); // write 5 to 24c04 i2c_stop(); delay_ms(10); i2c_start(); i2c_write(0xa0); i2c_write(0x00); // data to device i2c_start(); i2c_write(0xa1); // read mode data = i2c_read(); // read a byte from 24c04 i2c_stop(); output_b(data); // display on port b while(1){} } |
27-09-2006, 11:24 AM | #7 |
Đệ tử 3 túi
Tham gia ngày: Jun 2006
Bài gửi: 51
: |
Chào bạn!!
Bạn có thể vào link này để tham khảo về I2C. http://www.picvietnam.com/forum//showthread.php?t=611 Chúc bạn thành công hoanf |
11-07-2008, 12:16 PM | #8 | |
Nhập môn đệ tử
Tham gia ngày: May 2008
Bài gửi: 5
: |
Trích:
|
|
28-03-2012, 02:51 PM | #9 |
Nhập môn đệ tử
Tham gia ngày: Feb 2012
Bài gửi: 1
: |
chào các bác.em đang nghiên cứu về pic16f877a.em chưa rõ về cách lập trình UART cho pic,để giao tiếp với máy tính qua cổng COM.
bác nào có code ví dụ hay biết xin chỉ giáo,em cảm ơn các bác nhiều ah. |
|
|
Similar Threads | ||||
Ðề tài | Người gửi | Chuyên mục | Trả lời | Bài mới |
Tìm hiểu về con 16F877 | LEO-XBS | Cơ bản về vi điều khiển và PIC | 15 | 11-05-2012 05:27 PM |
Giao tiếp UART | hoangminh1234 | Giao tiếp USB, CAN, I2C, SPI, USART... | 1 | 14-09-2010 04:12 PM |
Hỏi tài liệu CCSC | kieuphongIT | Các ngôn ngữ lập trình khác (CCS C, HT PIC,...) | 6 | 18-05-2008 03:14 PM |
Có ai đã dung 18F2550 bằng CCSC thì giúp em với | MoH | Các ngôn ngữ lập trình khác (CCS C, HT PIC,...) | 2 | 10-07-2006 12:11 AM |
Alternate UART pin??? | alexjp | dsPIC - Bộ điều khiển tín hiệu số 16-bit | 1 | 02-05-2006 06:26 PM |