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

📄 ds18b20.h

📁 这是一个远程温度计 MCU: AT89S52 温度传感器: DS18B20 晶振: 12MHz 使用串口连接,在PC端使用"超级终端"打开 设置如下: 波特率: 4800 数据
💻 H
字号:
#ifndef __DS18B20_H__
#define __DS18B20_H__

#include "type.h"

#define DS18B20_DEVICE_ID_LENGTH	8	//byte
typedef union tagDS18B20_DEVICE_ID {
	uchar		buf[8];
	struct{
		uchar	class;
		uint	serialno[3];
		uchar	crc;
	}id;
}DS18B20_ID, *PDS18B20_ID;

typedef union tagDS18B20_SCRATCH{
	uchar		buf[9];
	struct{
		int	temper;
		uchar	alarmbuf[2];
		uchar	config;
		uchar	reserved[3];
		uchar	crc;
	}scratch;
}DS18B20_SCRATCH, *PDS18B20_SCRATCH;


sbit DS18B20_IOPORT = P2 ^ 2;
#define DS18B20_PRECISION_9bit ((0 << 5) | 0x1F)
#define DS18B20_PRECISION_10bit ((1 << 5) | 0x1F)
#define DS18B20_PRECISION_11bit ((2 << 5) | 0x1F)
#define DS18B20_PRECISION_12bit ((3 << 5) | 0x1F)
extern bool DS18B20_DeviceInit(uchar);
extern bool DS18B20_GetScratchStart(void);
extern bool DS18B20_GetScratchReady(void);
extern bool DS18B20_GetScratch(DS18B20_SCRATCH* );
extern bool DS18B20_GetDeviceID(DS18B20_ID* );
extern uchar* DS18B20_GetTemperature(uchar* , DS18B20_SCRATCH*);

#endif //__DS18B20_H__

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -