⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ds18b20.c

📁 单片机C语言程序设计实训100例--基于AVR+PROTEUS仿真
💻 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 + -