1. 首页
  2. 课程学习
  3. C++/C
  4. STM32F407驱动OLED显示DS18B20数字温度

STM32F407驱动OLED显示DS18B20数字温度

上传者: 2022-07-11 23:11:01上传 .ZIP文件 1.24 MB 热度 14次

实验器材: 探索者STM32F4开发板 实验目的: 学习单色OLED显示屏的使用 硬件资源: 1,DS0(连接在PF9) 2,ALIENTEK 0.96寸OLED模块(连接IO说明,见oled.h文件) 实验现象: 本实验利用开发板的OLED/CAMERA接口连接ALIENTEK OLED模块,实现OLED模块的显示,下 载成功后,通过把OLED模块插入开发板左下角的OLED/CAMERA模块接口,按下复位之后,就 可以看到OLED模块不停的显示ASCII码和码值。 注意事项: 1,开发板的OLED/CAMERA模块接口比OLED的插针多2个,OLED靠左插即可. 2,例程默认用的8080方式驱动OLED模块,所以OLED模块的BS0,BS1都需要接VCC(默认接的VCC).

一、主要程序代码如下

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; } }}

用户评论