LM3S菜鸟成长日记-学习笔记6-LM35-I2C-温度显示
这里我使用lm75A作为温度采集芯片,采用I2C控制。通过在OLED显示温度。首先设计系统的端口和LM75A进行连接,这里面我们选择I2C接口PB2和PB3做为输入,+3.3提供电源。
1.JPG (48.13 KB)
2010-12-29 14:14
/*
温度数据
*/
IRcvStr(ucLM75A, ucLM75ATEMP, 1, ucbuf, 2);
/*
读温度数据
*/
iTemp = ucbuf[0];
iTemp <<= 8;
iTemp += ucbuf[1];
iTemp >>=5;
iTemp *=12;
return (iTemp);
}
void delay(unsigned long num)
{
while(num--);
}
int main()
{
int
temp = 0;
uchar a[6]={"
.
C"};
SysCtlClockSet(SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN |
SYSCTL_XTAL_8MHZ);
I2CInit(100000, 1);//I2C初始化
RIT128x96x4Init(1000000);//液晶显示初始化
RIT128x96x4StringDraw("wendu lm75", 30, 24, 15);
while (1)
{
temp=ReadData();
a[0]=temp/1000+0x30;//十位
a[1]=temp/100%10+0x30;//个位
a[3]=temp/10%10+0x30;//小数点后1位
a[4]=temp%10+0x30;// 小数点后2位
RIT128x96x4StringDraw(a, 30, 44, 15);
//显示
delay(1000000);
}
}
|