标题:
STM32单片机DS18B20数字温度传感器程序-如何记录ID号?
[打印本页]
作者:
hewewu739580686
时间:
2023-12-17 22:27
标题:
STM32单片机DS18B20数字温度传感器程序-如何记录ID号?
DS18B20数字温度传感器
单片机源程序如下:
#include "led.h"
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "lcd.h"
#include "ds18b20.h"
int main(void)
{
u8 t=0;
short temperature;
delay_init(); //延时函数初始化
uart_init(9600); //串口初始化为9600
LED_Init(); //初始化与LED连接的硬件接口
// LCD_Init();
POINT_COLOR=RED;//设置字体为红色
// LCD_ShowString(60,50,200,16,16,"Mini STM32");
// LCD_ShowString(60,70,200,16,16,"DS18B20 TEST");
// LCD_ShowString(60,90,200,16,16,"ATOM@ALIENTEK");
// LCD_ShowString(60,110,200,16,16,"2014/3/12");
printf("\r\nds18b20-ok:\r\n");
while(DS18B20_Init()) //DS18B20初始化
{
//// LCD_ShowString(60,130,200,16,16,"DS18B20 Error");
// delay_ms(200);
//// LCD_Fill(60,130,239,130+16,WHITE);
// delay_ms(200);
}
// LCD_ShowString(60,130,200,16,16,"DS18B20 OK");
// POINT_COLOR=BLUE;//设置字体为蓝色
// LCD_ShowString(60,150,200,16,16,"Temp: . C");
while(1)
{
if(t%10==0)//每100ms读取一次
{
temperature=DS18B20_Get_Temp();
if(temperature<0)
{
// LCD_ShowChar(60+40,150,'-',16,0); //显示负号
temperature=-temperature; //转为正数
}else LCD_ShowChar(60+40,150,' ',16,0); //去掉负号
// LCD_ShowNum(60+40+8,150,temperature/10,2,16); //显示正数部分
// LCD_ShowNum(60+40+32,150,temperature%10,1,16); //显示小数部分
printf("\r\nds18b20====:\r\n");
}
delay_ms(10);
t++;
if(t==2)
{
t=0;
LED0=!LED0;
printf("\r\nds18b20====:\r\n");
}
}
}
复制代码
原理图: 无
仿真: 无
代码:
DS18B20数字温度传感器.7z
(221.64 KB, 下载次数: 5)
2023-12-18 01:15 上传
点击文件名下载附件
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1