PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Các ngôn ngữ lập trình khác (CCS C, HT PIC,...)

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 10-07-2006, 10:56 PM   #1
zero_cd
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!!!!
zero_cd vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 11-07-2006, 02:53 PM   #2
sphinx
Đệ tử 3 túi
 
sphinx's Avatar
 
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.
sphinx vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 12-07-2006, 09:58 AM   #3
zero_cd
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();
}


}
zero_cd vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 01-08-2006, 05:39 PM   #4
txt
Đệ 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 )
txt vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 01-08-2006, 07:09 PM   #5
linhnc308
Đệ 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
linhnc308 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 27-09-2006, 10:01 AM   #6
Encoder
Nhập môn đệ tử
 
Encoder's Avatar
 
Tham gia ngày: Aug 2005
Nơi Cư Ngụ: Ha Noi
Bài gửi: 4
:
Send a message via Yahoo to Encoder
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){}
}
Encoder vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 27-09-2006, 11:24 AM   #7
hoanf
Đệ 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
hoanf vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 11-07-2008, 12:16 PM   #8
W.Rooney
Nhập môn đệ tử
 
W.Rooney's Avatar
 
Tham gia ngày: May 2008
Bài gửi: 5
:
Exclamation

Trích:
Nguyên văn bởi Encoder View Post
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){}
}
Chào bạn! Bạn thử xem lại con 16F84 có hỗ trợ phần cứng về I2C không?
W.Rooney vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 28-03-2012, 02:51 PM   #9
maivannam1989
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.
maivannam1989 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến

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


Múi giờ GMT. Hiện tại là 06:56 PM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam