当前位置:首页 > 技术学院 > 热搜器件
[导读]头文件部分:#ifndef __DS18B20_H__#define __DS18B20_H__#define uint8 unsigned char#define uint16 unsigned intsbit DQ=P3^7;uint16 get_temp();#endif程序部分:#include #include "DS18B20.h"#include /******

头文件部分:

#ifndef __DS18B20_H__

#define __DS18B20_H__

#define uint8 unsigned char

#define uint16 unsigned int

sbit DQ=P3^7;

uint16 get_temp();

#endif

程序部分:

#include

#include "DS18B20.h"

#include

/*********************************************************************

* 函数名称:write_byte(uint8 num)

* 功 能:向18B20写数据

* 入口参数:要写的一个字节的数据

* 出口参数:无

* 返 回 值:无

********************************************************************/

void write_byte(uint8 num)

{

uint8 i;

uint16 tt;

bit m;

for(i=0;i<8;i++)

{

m=num&0x01;

num>>=1;

DQ=1;

DQ=0;

tt++;

DQ=m;

for(tt=0;tt<7;tt++);

DQ=1;

tt++;

}

}

/*********************************************************************

* 函数名称:read_byte()

* 功 能:向18B20读数据

* 入口参数:无

* 出口参数:无

* 返 回 值:读出的一个字节数据

********************************************************************/

uint8 read_byte()

{

uint8 i,num;

uint16 tt;

bit m;

for(i=0;i<8;i++)

{

DQ=1;

DQ=0;

tt++;

DQ=1;

tt++;

m=DQ;

for(tt=0;tt<7;tt++);

DQ=1;

num>>=1;

if(m)

{

num|=0x80;

}

}

return(num);

}

/*********************************************************************

* 函数名称:DS18b20_reset()

* 功 能:18B20复位

* 入口参数:无

* 出口参数:无

* 返 回 值:无

********************************************************************/

void DS18b20_reset()

{

bit m=1;

uint16 tt;

while(m)

{

while(m)

{

DQ=1;

DQ=0;

for(tt=0;tt<80;tt++);

DQ=1;

for(tt=0;tt<5;tt++);

m=DQ;

}

for(tt=0;tt<50;tt++);

m=~DQ;

}

DQ=1;

}

/*********************************************************************

* 函数名称:start_temp()

* 功 能:启动温度转换

* 入口参数:无

* 出口参数:无

* 返 回 值:无

********************************************************************/

void start_temp()

{

DS18b20_reset();

write_byte(0xCC); // 发Skip ROM命令

write_byte(0x44); // 发转换命令

}

/*********************************************************************

* 函数名称:get_temp()

* 功 能:获取温度值

* 入口参数:无

* 出口参数:无

* 返 回 值:18B20的双字节温度

********************************************************************/

uint16 get_temp()

{

uint8 a,b;

uint16 temp;

DS18b20_reset();

write_byte(0xCC); //发Skip ROM命令

write_byte(0xBE); //发read命令

a=read_byte(); //低8位

b=read_byte(); //高8位

temp=b<<8;

temp|=a;

start_temp();

return(temp);

}

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

上海2025年7月27日 /美通社/ -- 在2025世界人工智能大会(WAIC)期间,全球领先消费品企业联合利华首次以企业展商身份亮相,并深度参与多个AI主题论坛和行业对话,展示了其在人工智能领域的战略思考与实践布局。...

关键字: AI FOR SCIENCE 人工智能

-创新邂逅包容,2025年EdHeroes全球论坛探索以人为本的教育技术未来 列支敦士登特里森2025年7月22日 /美通社/ -- 随着创新加速、科技重新定义现代生活的方方面面, 2025年EdHeroes全球论坛(...

关键字: 人工智能 FOR GLOBAL 数字化

-Vehere宣布推出v1.8.1,为安全分析师提供更精准的检测、更快的响应和更智能的工作流程 旧金山2025年7月18日 /美通社/ -- 领先的人工智能驱动型网络情报提...

关键字: 网络 UI MT BSP

上海 2025年6月20日 /美通社/ -- 6月18日至20日,2025世界移动通信大会•上海(MWCS 2025)在上海盛大开幕,全球目光再次聚焦这场通信领域的年度盛会...

关键字: AI 5G WORLD FOR

会议议题将涵盖  AI 驱动的工程设计、智能制造以及基于  HPC 和 AI 相结合的智能扩展 上海 2025年6月19日 /美通社/ -- 全球计算智能领域科技公司Altair将于 2025 年 6 月...

关键字: ENGINEERS FOR TC AIR

随着手工酿造的普及和复杂程度的不断提高,许多酿酒师——尤其是小规模或独立的酿酒师——仍然依靠手工方法来记录和跟踪关键数据,如温度、pH值、体积和比重。这些读数通常使用手动仪器,记录在纸上或分散在电子表格和文档中,没有集中...

关键字: 触摸屏 物联网 DS18B20 传感器

深圳2025年4月2日 /美通社/ -- 近日,全球领先的无线泳池机器人公司元鼎智能宣布完成新一轮近10亿人民币的战略融资。本轮融资由全球泳池行业巨头Fluidra进行战略投资,云启资本作为新晋投资方加入,XVC、复星锐...

关键字: UI 机器人 供应链 IP

深圳2025年2月28日 /美通社/ -- 作为全球领先的AIoT模组及解决方案提供商,广和通26年来始终致力于为全球千行百业打造创新物联方式。面向全新的AI时代,广和通推出...

关键字: AI FOR 模型 芯片

本文将演示一种加速嵌入式系统设计原型阶段的方法,说明如何将与硬件无关的驱动程序和传感器结合使用,简化整个嵌入式系统的器件选择。同时还将介绍嵌入式系统的器件、典型软件结构以及驱动程序的实现。后续文章“利用与硬件无关的方法简...

关键字: 嵌入式系统 驱动程序 传感器

上海2025年2月19日 /美通社/ --  新品亮点 负载能力达500 kg,最长臂展3700mm,KR FORTEC-2弥补了库卡新一代重载机器人KR QUTANEC和KR FORTEC ultr...

关键字: FOR 机器人 ORTEC ULTRA
关闭