Trích:
Nguyên văn bởi nvquyvn
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]