#申请原创# 上篇贴用数码管显示和串口打印adc值,这里就试用EBS003扩展板,EBS003上有一个OLED显示屏,是不是可以用OLED也显示温度呢,查看电路图,发现EBS002与EBS003并没有针脚冲突,于是就可EBS003叠加在EBS002上,像叠罗汉一样,再把OLED显示程序移植到一起,显示效果如下,
这样两个都有显示了,是不是有点太简单了,加来个图片显示吧,查看了一下OLED显示程序,发现并没有OLED显示函数,于是又动手添加一下,结果搞出来是这样的
图片一闪而过就成这样了,后来发现是行搞算了,修改一下,终于正常了。
把显示图片的函数贴出来,供大家使用吧
void Draw_BMP(unsigned char x0, y0,x1, y1,unsigned char BMP[])
{
unsigned int j=0;
unsigned char x,y;
y1=y1/8+((y1%8)?1:0);
// if(y1%8==0) y=y1/8;
//else y=y1/8+1;
for(y=y0;y<y1;y++)
{
OLED_Set_Pos(x0,y);
for(x=x0;x<x1;x++)
{
TWI_WriteOneByte(0X78,0X40,BMP[j++]);
}
}
}
最后再来说说这个温度显示部分吧,个人感觉这个NTC热敏电阻的分压电阻是不是取大了一点,
5.1K,是不是可以换成10K的,为什么这样说呢,因为我发现在上电初时,温度显示是正确的,随着时间过去,温度会有一定的上升,是不是流过NTC热敏电阻的电流大了一点,造成的温升,没有验证,大家有空可以把一个电阻验证一下。
|