
DS18B20温度传感器与STM32F103/F407/F767/F743单片机DEMO软件及源码合集.zip
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
本资源包包含DS18B20温度传感器与STM32不同型号(F103、F407、F767、F743)单片机构成的开发演示程序和完整源代码,适合嵌入式系统学习者使用。
DS18B20温度传感器与STM32F103、F407、F767及F743单片机的DEMO软件例程源码合集包括了详细的文档,如《DS18B20.pdf》和《DS18B20与STM32系列开发板引脚连接说明.xlsx》,以及多个开发板的具体配置信息。这些开发板涵盖了F103_MINI、F103_指南者、F103_霸道等型号。
以下是主函数的代码示例:
```c
int main(void) {
float temperature;
uint8_t uc, ucDs18b20Id[ 8 ];
uint8_t DS18B20Id_str[20];
// 配置SysTick定时器为每微秒中断一次
SysTick_Init();
// 初始化LCD显示模块 ILI9341_Init()
ILI9341_GramScan(6); // 设置屏幕方向,模式6为默认方向
ILI9341_Clear(0, 0, LCD_X_LENGTH, LCD_Y_LENGTH); // 清屏
LED_GPIO_Config();
USART_Config();
if (DS18B20_Init()) {
ILI9341_DispStringLine_EN(LINE(1),no ds18b20 exit);
} else {
ILI9341_DispStringLine_EN(LINE(1), ds18b20 ok);
DS18B20_ReadId (ucDs18b20Id); // 读取DS18B20的序列号
for ( uc = 0; uc < 8; uc++ ) { // 打印DS18B20的序列号
sprintf((char *)&DS18B20Id_str[uc * 2], %.2x, ucDs18b20Id[uc]);
}
sprintf((char*)dis_buf, DS18B20 serial num: 0x%s, DS18B20Id_str);
ILI9341_DispStringLine_EN(LINE(2), dis_buf);
while (true) {
temperature = DS18B20_GetTemp_MatchRom(ucDs18b20Id); // 获取温度
sprintf((char*)dis_buf, T:%.3f degree Celsius, temperature);
ILI9341_DispStringLine_EN(LINE(5), dis_buf);
Delay_ms(1000);
}
}
```
这段代码初始化了DS18B20温度传感器,并通过LCD显示模块实时更新读取到的温度值。
全部评论 (0)


