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

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 20-11-2011, 01:56 PM   #1
chuvanhuu
Nhập môn đệ tử
 
Tham gia ngày: Nov 2011
Bài gửi: 5
:
CCS,xin hỏi các lệnh trong giao thức I2C, như là i2c_write(),i2c_read()

chào mọi người, mình mới học lập trình vi điều khiển, hiện tại mới tiếp cận đến truyền thông qua giao thức I2C, mình cũng đọc qua bài viết của anh Linh và các bài viết khác rồi nhưng cũng chưa thấm đc bao nhiêu.
mình lập chủ đề này xin hỏi mọi người có những lệnh nào sử dụng trong giao thức I2C kiểu như là i2c_write(), i2c_read(), .... cách thức hoạt động của nó ra sao, ví dụ như trong chương trình đọc cảm biến TC74 dùng I2C sau đây (bạn mình đưa cho bắt tự nghiên cứu):

Code:
#include <16F877A.H>
#fuses HS, NOWDT, PROTECT, BROWNOUT, PUT, NOLVP
#use delay(clock=20000000)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)
#use i2c(master, sda=PIN_C4, scl=PIN_C3)        // su dung i2c //master
#include <lcd_lib_4bit.c>

signed int8 nhiet_do();   // doc nhiet do tu TC74

void main()
{
signed int8 temp;

while(1)
  {
   lcd_init();  
   temp = nhiet_do();
   lcd_putcmd(0x80);
   printf(lcd_putchar," CanSat - CanFly:");
   lcd_putcmd(0xC0);
   printf(lcd_putchar,"  Temp: %d oC",temp);
   printf("Nhiet do do duoc la: %d oC \n\r", temp);
   delay_ms(500);
  }
}


signed int8 nhiet_do()  //doc nhiet do
{
signed int8 t;

i2c_start();         // start
i2c_write(0x9A);     // tc74 address|0
i2c_write(0x00); 
i2c_start();         // restart
i2c_write(0x9B);     // tc74 address|1
t = i2c_read(0);     // read + send not ack
i2c_stop();          // stop

return(t);
}


mình không hiểu chỗ i2c_write(0x9A), rồi lại ngay sau đó i2c_write(0x9B), không hiểu hai câu lệnh này hoạt động như thế nào, làm gì
Rất mong mọi người giúp đỡ, cám ơn nhiều!
sau đây là hình mô phỏng trong Proteus
Hình Kèm Theo
File Type: png proteus.png (38.5 KB, 31 lần tải)
chuvanhuu vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 


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:02 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