📄 ds18b20.c
字号:
//-----------------------------------------------------------------
// 名称: DS18B20温度传感器程序
//-----------------------------------------------------------------
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#include <stdio.h>
#include <string.h>
#define INT8 signed char //有符号字节整数
#define INT8U unsigned char
#define INT16U unsigned int
//DS18B20引脚定义
//设置数据方向
//温度管引脚操作定义
//温度小数对照表(仅保存一位小数,已四舍五入)
//传感器状态标志
INT8U DS18B20_ERROR = 0;
//当前温度显示缓冲
char Curr_Temp_DispBuffer[] = {" TEMP: "};
//ROM光刻编码提示信息及64位ROMCODE
char RomCodePrompt[] = {" -- ROM CODE -- "};
char RomCodeString[] = {"0000000000000000"};
//报警温度提示信息及报警温度上下限值
char Alarm_Temp[] = {"-- ALARM TEMP --"};
char Alarm_HI_LO_STR[] = {"Hi: Lo: "};
//从DS18B20读取的2字节当前温度数据(需要转换才能得到当前有符号温度值)
INT8U Temp_Value[] = {0x00,0x00};
//-----------------------------------------------------------------
//报警温度上下限,DS18B20温度范围可在:-55 至 + 125 //数组中前一位为高温值,后一位为低温值
//因为后面要进行有符号数的比较,注意这里设为有符号字节整数类型
INT8 Alarm_Temp_HL[2];
//-----------------------------------------------------------------
//高低温报警标志
//液晶相关函数
//-----------------------------------------------------------------
// 初始化DS18B20
//-----------------------------------------------------------------
INT8U Init_DS18B20()
{
}
//-----------------------------------------------------------------
// 读一字节
//-----------------------------------------------------------------
INT8U ReadOneByte()
{
}
//-----------------------------------------------------------------
// 写一字节
//-----------------------------------------------------------------
void WriteOneByte(INT8U dat)
{
}
//-----------------------------------------------------------------
// 读取温度值
//-----------------------------------------------------------------
void Read_Temperature()
{
}
//-----------------------------------------------------------------
// 温度转换与显示(同时刷新报警标志)
//-----------------------------------------------------------------
void Convert_and_Show_Temp()
{
}
//-----------------------------------------------------------------
// 设置DS18B20温度报警值(含配置)
//-----------------------------------------------------------------
void Set_Alarm_Temp_Value(int ht,int lt)
{
}
//-----------------------------------------------------------------
// 显示RomCode
//-----------------------------------------------------------------
void Display_RomCode()
{
}
//-----------------------------------------------------------------
// 显示报警温度
//-----------------------------------------------------------------
void Disp_Alarm_Temperature()
{
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -