|
//(1)用STM32F407探索者开发板驱动DS18B20在OLED屏幕上显示温度。
//(2)下面是主要的程序代码。
//(3)在学习中发现问题,并解决问题,与大家一起努力。谢谢大家支持!
int main(void)
{
u8 t=0;
short temperature;
Stm32_Clock_Init(336,8,2,7);//设置时钟,168Mhz
delay_init(168); //延时初始化
uart_init(84,115200); //初始化串口波特率为115200
LED_Init(); //初始化LED
OLED_Init(); //初始化OLED
DS18B20_Init(); //DS18B20初始化
OLED_ShowString(0,10,"Temperature:",12);
OLED_ShowString(85,10,".",12);
OLED_ShowString(98,10,"C",12);
OLED_Refresh_Gram();//更新显示到OLED
while(1)
{
if(t%10==0)//每100ms读取一次
{
temperature=DS18B20_Get_Temp();
OLED_ShowNum(72,10,temperature/10,2,12); //显示正数部分
OLED_ShowNum(89,10,temperature%10,1,12); //显示小数部分
OLED_Refresh_Gram();//更新显示到OLED
}
delay_ms(10);
t++;
if(t==20)
{
t=0;
LED0=!LED0;
}
}
}
|
|