单片机电子温度计代码
时间: 2024-10-20 11:01:52 浏览: 32
单片机电子温度计通常涉及到DS18B20这种数字温度传感器的使用。以下是一个简单的基于ATmega328P(Arduino Uno)的代码示例,它展示了如何读取并显示温度:
```c
#include <OneWire.h> // 包含处理DS18B20的一线总线库
#include <DallasTemperature.h>
#define ONE_WIRE_PIN 2 // DS18B20数据线连接到Pin 2
// 初始化Dallas Temperature Library
DallasTemperature sensors; // 创建一个 DallasTemperature 对象
void setup() {
Serial.begin(9600); // 开启串口通信
sensors.begin(ONE_WIRE_PIN); // 初始化1-Wire总线
}
void loop() {
sensors.requestTemperatures(); // 请求所有已连接设备的温度
float tempC = sensors.getTempCByIndex(0); // 获取第一个传感器的温度 (假设只有一个)
if (tempC != -45) { // 如果温度读取成功,避免错误值
Serial.print("Temperature: ");
Serial.print(tempC);
Serial.println(" °C");
}
delay(1000); // 等待一秒钟再获取下一次读数
}
```
这个代码首先初始化一号线总线,并在`loop()`函数中循环请求温度。如果读取成功,就会通过Serial打印出温度。
阅读全文