Ðề tài: Giao tiếp I2C
View Single Post
Old 25-08-2011, 08:05 AM   #4
DINH THANH SANG
Đệ tử 3 túi
 
Tham gia ngày: Jul 2011
Bài gửi: 55
:
Trích:
Nguyên văn bởi nvquyvn View Post
Mình đanh học giao tiếp i2c , mình đo nhiệt độ sử dụng IC số TC74 nhưng mô phỏng ko chạy được. Bác nào biết chỉ em với .
bạn tham khảo bài này nhé.
[code=
#include <htc.h>
#include <stdio.h>
#include "lcd.h"
#include "i2c.h"

//__CONFIG(INTIO & WDTDIS & PWRTEN & MCLREN & UNPROTECT & DUNPROTECT & BORDIS & IESODIS & FCMDIS & LVPDIS);

char khoi_dong_sensor();
char doc_nhiet_do_sesor();


char t;

void main()
{
unsigned int i;

lcd_init();
i2c_init();

if(khoi_dong_sensor())
{
printf("\fI2C Sensor fails");
while(1);
}

printf("\f----- Lab5 -----\n***I2C Sensor***");

// delay 3s
for(i=0;i<30;i++)
__delay_ms(100);

while(1)
{
t = doc_nhiet_do_sesor();
printf("\fNhiet do phong:\n %d", t);
__delay_ms(100);
__delay_ms(100);
__delay_ms(100);
}

}

void putch(char c)
{
lcd_putc(c);
}

char khoi_dong_sensor()
{
i2c_start();
if(i2c_write(0x90)) return -1;
if(i2c_write(0x00)) return -1;
i2c_stop();
return 0;
}

char doc_nhiet_do_sesor()
{
char nhiet;
i2c_start();
if(i2c_write(0x90)) return -1;
if(i2c_write(0x00)) return -1;
i2c_start();
if(i2c_write(0x91)) return -1;

nhiet = i2c_read(1);
i2c_stop();
//return nhiet;
}[\code]
__________________
ĐINH THANH SANG 1990
AN MỸ - CẨM CHÂU - HỘI AN - QUẢNG NAM
DĐ: 01684222047
Yahoo ID: thanh_sang_mua_he_mai_xanh@yahoo.com.vn
DINH THANH SANG vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn