PIC Vietnam

Go Back   PIC Vietnam > Truyền thông > Giao tiếp USB, CAN, I2C, SPI, USART...

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

Giao tiếp USB, CAN, I2C, SPI, USART... Những giao tiếp được tích hợp trên PIC

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 21-01-2010, 06:39 PM   #151
huskie
Nhập môn đệ tử
 
Tham gia ngày: Jan 2010
Bài gửi: 1
:
Mình vừa mới vào topic đã thấy mọi người nói là làm I2C với CCS, vậy không biết CCS là gì và cài đặt như thế nào, mong các pro chỉ giúp! Thanks!
huskie vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 25-01-2010, 12:16 PM   #152
dt_cn
Đệ tử 1 túi
 
dt_cn's Avatar
 
Tham gia ngày: Oct 2008
Bài gửi: 11
:
Các bác ơi em làm đồ án về truyền thông I2C ,nhưng em không biết khoảng cách của nó truyền được bao xa ,và có hay bị nhiễu không ,nếu muốn truyến với khoảng cách xa thì có loại IC nào hỗ trợ không ,các bác giúp em với .
Thanks
dt_cn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 25-01-2010, 12:52 PM   #153
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi dt_cn View Post
Các bác ơi em làm đồ án về truyền thông I2C ,nhưng em không biết khoảng cách của nó truyền được bao xa ,và có hay bị nhiễu không ,nếu muốn truyến với khoảng cách xa thì có loại IC nào hỗ trợ không ,các bác giúp em với .
Thanks
Tham khảo thông tin ở đây:
http://www.interfacebus.com/I2C_Inte..._Standard.html
http://namqn.byethost7.com/Commu.php#i2c
http://www.esacademy.com/en/library/...s/i2c-faq.html

Không có con số cụ thể cho khoảng cách truyền tối đa, vì nó phụ thuộc vào tốc độ clock, loại cáp được dùng, và số vi mạch trên bus. Chú ý là có thể dùng các bộ lặp tín hiệu để nâng khoảng cách.

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

thay đổi nội dung bởi: namqn, 25-01-2010 lúc 12:58 PM.
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 25-01-2010, 02:45 PM   #154
dt_cn
Đệ tử 1 túi
 
dt_cn's Avatar
 
Tham gia ngày: Oct 2008
Bài gửi: 11
:
Vâng ạ em cảm ơn anh .
Đề tài của em làm là nhà thông minh ý định của em là định sử dụng 10-15con PIC6F88 slave đặt ở các khu vực hiện trường(như cầu thang,cửa,nhà bếp....)và 1 con master 16F877A mater thu thập dữ liệu từ các slave và kết nối với PC,tốc độ xung clock của em là 500khz,cáp xoắn đôi thì những ý tưởng của em đó liệu trong thực tế có ổn không anh?
Mong các bá giúp đỡ thanks các bác nhiều.
dt_cn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 25-01-2010, 02:52 PM   #155
dt_cn
Đệ tử 1 túi
 
dt_cn's Avatar
 
Tham gia ngày: Oct 2008
Bài gửi: 11
:
Em tìm hiểu trên mạng thì được biết có con IC 82B715 để nâng cao khoảng cách truyền thông I2C ,nhưng em ko biết con này có mặt trên thị trường không nhỉ?em tìm mua mà không thấy có ,bác nào biết chỉ giùm em với.
thanks
dt_cn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 26-01-2010, 11:44 AM   #156
dt_cn
Đệ tử 1 túi
 
dt_cn's Avatar
 
Tham gia ngày: Oct 2008
Bài gửi: 11
:
Trích:
Nguyên văn bởi dt_cn View Post
Vâng ạ em cảm ơn anh .
Đề tài của em làm là nhà thông minh ý định của em là định sử dụng 10-15con PIC6F88 slave đặt ở các khu vực hiện trường(như cầu thang,cửa,nhà bếp....)và 1 con master 16F877A mater thu thập dữ liệu từ các slave và kết nối với PC,tốc độ xung clock của em là 500khz,cáp xoắn đôi thì những ý tưởng của em đó liệu trong thực tế có ổn không anh?
Mong các bá giúp đỡ thanks các bác nhiều.
Không có bác nào giúp em à !huhu
dt_cn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 26-02-2010, 10:17 PM   #157
TRTien
Nhập môn đệ tử
 
Tham gia ngày: Jul 2008
Bài gửi: 8
:
Trích:
Nguyên văn bởi dt_cn View Post
Em tìm hiểu trên mạng thì được biết có con IC 82B715 để nâng cao khoảng cách truyền thông I2C ,nhưng em ko biết con này có mặt trên thị trường không nhỉ?em tìm mua mà không thấy có ,bác nào biết chỉ giùm em với.
thanks
, con này 85k.
Mình đã dùng con này, truyền được 15m ngon.
TRTien vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 08-04-2010, 06:58 PM   #158
hangocminh1989
Đệ tử 6 túi
 
Tham gia ngày: Apr 2009
Bài gửi: 132
:
không có hình các bạn ơi????????????mình không hiểu
hangocminh1989 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 15-04-2010, 03:23 PM   #159
keluhanh
Nhập môn đệ tử
 
Tham gia ngày: Apr 2010
Bài gửi: 3
:
bác nào có chương trình giao tiếp i2c với con TC74 và 16F877A ko,cho mình xin với
keluhanh vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 15-08-2010, 06:03 AM   #160
manhdungmta
Nhập môn đệ tử
 
Tham gia ngày: May 2010
Bài gửi: 10
:
khi giao tiếp i2c giữa hai pic 16f877a có bác nào gặp trường hợp M truyền không đúng địa chỉ nhưng S vẫn nhận khí thế không? cái này em chưa làm mạch thật, mới mô phỏng và thấy vậy.
manhdungmta vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 21-08-2010, 12:56 PM   #161
manhdungmta
Nhập môn đệ tử
 
Tham gia ngày: May 2010
Bài gửi: 10
:
hì, giờ mới làm mạch thật giao tiếp I2C giữa 1 con master ( 16f877a ) và 2 con sleve ( 16f877a ) thấy nó đều hoạt động đúng, chứ không như mô phỏng. ngày trước thì chỉ là làm giao tiếp với ds1307 thôi, mãi đến hôm nay có người nhờ mới làm tới giao tiếp giữa các pic với nhau. non quá, mong các bác giúp đỡ nhiều nhé.
manhdungmta vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 21-08-2010, 01:00 PM   #162
manhdungmta
Nhập môn đệ tử
 
Tham gia ngày: May 2010
Bài gửi: 10
:
à, tới em định học về ARM có bác nào rỗi rãi chỉ giúp em nhé
manhdungmta vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 09-10-2010, 10:07 PM   #163
manhdungmta
Nhập môn đệ tử
 
Tham gia ngày: May 2010
Bài gửi: 10
:
bác namquan cho em hỏi, vì sao khi em nạp luôn ct example về ethenet của 16f877a có sẵn trong mikroc lại không chạy gì cả, nhưng vẫn cái mạch ấy em nạp ct của con 18f4580 vẫn chạy ạ, đó là vì sao hả bác?
manhdungmta vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 11-10-2010, 04:39 PM   #164
chungcb86
Đệ tử 1 túi
 
chungcb86's Avatar
 
Tham gia ngày: Dec 2009
Bài gửi: 24
:
I2C không chịu chay.

Các bác giúp e vụ i2c này với. code lấy của bác Hoàn. mô phỏng thì chạy cứ ầm ầm. nhưng vô mạch thật thì ... híc híc e nó nằm im.
Đây là code của Master
Code:
#include <16F877A.H>
#fuses XT,NOWDT,NOPROTECT,NOLVP
#use Delay(Clock=4000000)

#use i2c(master, sda=PIN_C4, scl=PIN_C3, force_hw)

void write_I2C(int8 value, int8 slave_addr)
{
   i2c_start();
   i2c_write(slave_addr);
   i2c_write(value);
   i2c_stop();
}

int8 read_I2C(int8 slave_addr)
{
   int8 value_re;
   i2c_start();
   i2c_write(slave_addr + 1);
   value_re = i2c_read(0);
   i2c_stop();
   return value_re;
}

void main()
{
   int8 value_re;
   int8 i;
   const int8 N = 8;
   const int8 DIGITS[N] ={ 0b11111111,
                           0b11111110,
                           0b11111100,
                           0b11111000,
                           0b11110000,
                           0b11100000,
                           0b11000000,
                           0b10000000,
                          };
   const int8 slave_addr = 0x10;

   set_tris_b(0x00);
   while(1){
      for(i = 0; i<8; i++){
         write_I2C(DIGITS[i], slave_addr);
         delay_ms(500);
         value_re = read_I2C(slave_addr);
         output_b(value_re);
      }
   }
}

Còn đây là code của Slave:
Code:
#include <16F877A.H>
#fuses XT,NOWDT,NOPROTECT,NOLVP

#use delay(Clock=4000000)
#use i2c(SLAVE, SDA=PIN_C4, SCL=PIN_C3, address=0x10, force_hw)

int8 value = 0x01;

#INT_SSP
void i2c_isr()
{
   int8 state;

   state = i2c_isr_state();
   if(state < 0x80)
      value = i2c_read();
   if(state == 0x80){
      i2c_write(value);
   }
}

void main()
{
   enable_interrupts(GLOBAL);
   enable_interrupts(INT_SSP);

   set_tris_d(0x00);
   while(1){
      output_d(value);
   }
}

thay đổi nội dung bởi: chungcb86, 11-10-2010 lúc 04:50 PM.
chungcb86 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 12-10-2010, 09:51 AM   #165
chungcb86
Đệ tử 1 túi
 
chungcb86's Avatar
 
Tham gia ngày: Dec 2009
Bài gửi: 24
:
Bác nào sử bít code bị mắc ở đâu sửa giúp mình với.
chungcb86 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


Múi giờ GMT. Hiện tại là 02:25 AM.


Đượ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