📄 ds18b20.c
字号:
//-----------------------------------------------------------------
// 名称: DS18B20温度传感器程序
//-----------------------------------------------------------------
#define F_CPU 1000000UL
#include <avr/io.h>
#include <util/delay.h>
#define INT8U unsigned char
#define INT16U unsigned int
//DS18B20引脚定义
#define DQ PB3
//设置数据方向
#define DQ_DDR_0() DDRB &= ~_BV(DQ)
#define DQ_DDR_1() DDRB |= _BV(DQ)
//温度管引脚操作定义
#define DQ_1() PORTB |= _BV(DQ)
#define DQ_0() PORTB &= ~_BV(DQ)
#define RD_DQ_VAL() (PINB & _BV(DQ)) //注意保留这一行的括号
//温度小数位对照表
//如果不使用此表,也可以使用本例后面代码中提供的小数位计算程序.
//当前读取的温度整数部分
INT8U CurrentT = 0 ;
//从DS18B20读取的温度值
INT8U Temp_Value[] = {0x00,0x00};
//待显示的各温度数位
INT8U Display_Digit[] = {0,0,0,0};
//传感器状态标志
INT8U DS18B20_ERROR = 0;
//当前温度显示缓冲
char Current_Temp_Display_Buffer[] = {" TEMP: "};
//-----------------------------------------------------------------
// 初始化DS18B20
//-----------------------------------------------------------------
INT8U Init_DS18B20()
{
}
//-----------------------------------------------------------------
// 读一字节
//-----------------------------------------------------------------
INT8U ReadOneByte()
{
}
//-----------------------------------------------------------------
// 写一字节
//-----------------------------------------------------------------
void WriteOneByte(INT8U dat)
{
}
//-----------------------------------------------------------------
// 读取温度值
//-----------------------------------------------------------------
void Read_Temperature()
{
}
//-----------------------------------------------------------------
// 温度值转换
//-----------------------------------------------------------------
void Temperature_Convert()
{
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -