当前位置: 首页 > 传感测量产品 > 工业传感器 > 温度传感器

类型分类:
科普知识
数据分类:
温度传感器

温度传感器 驱动:ds18b20温度传感器驱动编写

发布日期:2022-10-09 点击率:46


温度传感器 驱动:ds18b20温度传感器驱动编写

协议
DS18B20的一线工作协议流程是:初始化→ROM操作指令→存储器操作指令→数据传输,其工作时序包括:初始化时序、写时序、读时序。

黑色部分表示单片机操作,蓝色部分表示18b20操作,每次主机操作完成之后等待18b20状态时,必须要释放总线,比如将IO设置为高阻态什么的。否则18B20没法把状态写到线上。

过程1、2是初始化过程,每次读取都要初始化,否则18b20处于待机状态,无法成功读取。过程1:拉低信号线480-700us,使它复位,然后释放总线15-60us,18b20会拉低总线60-240us,然后它释放总线。所以初始化成功的一个标志就是能否读到18b20这个先低后高的操作时序。

与之对应的代码,其实是按照时序图编写的:
注意观察dq,
拉低信号线480-700us,使它复位,对应时序图上黑色线一开始为0.
释放总线15-60us,对应时序图上黑色线变成1.
然后如果18b20拉低总线,说明初始化成功

复位的整体代码:

过程3、4是写1bit数据过程。过程3是写0 ,过程4是写1。过程3:拉低总线60us,然后抬高总线5us,完成。过程4:拉低总线5us,然后抬高总线60us,完成。
过程5、6是读1bit过程。过程5是读0,过程6是读1。过程5、6:拉低总线5us,然后释放总线,读取总线,如果为0,则读入0,如果为1,则读入1。

由于我主要研究的是怎么把数据导出来,所以主要看:发送温度转换命令和获得温度这两个函数:

让DS18B20进行一次温度转换的具体操作如下:
  1、主机先做个复位操作;
  2、主机再写跳过ROM的操作(CCH)命令;
  3、然后主机接着写转换温度的操作指令,后面释放总线至少1秒,让DS18B20完成转换操作。需要注意的是每个命令字节在写的时候都是低字节先写,例如CCH的二进制为,在写到总线上时要从低位开始写,写的顺序是“0、0、1、1、0、0、1、1”。

上面让DS18B20进行一次温度转换就涉及到 ds_write_byte()写操作

读取RAM的温度数据,同样,这个操作也要按照三个步骤:
  1、主机发出复位操作并接受DS18B20的应答(存在)脉冲;
  2、主机发出跳过对ROM操作的命令(CCH);
  3、主机发出读取RAM的命令(BEH),随后主机依次读取DS18B20发出的从第0-第8,共九个字节的数据。如果只想读取温度数据,那在读完第0和第1个数据后就不再理会后面DS18B20发出的数据即可,同样读取数据也是低位在前.
  
获得温度的时候,又涉及到了ds_read_byte();读操作

结构

由上图可知,读温度时要读两次,一个是低8位,一个是高8位。最后要合到一块。

测温原理

低温度系数振荡器温度影响小,用于产生固定频率信号送计数器1;
高温度系数振荡频率随温度变化,产生信号脉冲送计数器2;
计数器1和温度寄存器被预置在 -55℃对应的基数值;
计数器1对低温度系数振荡器产生的脉冲进行减法计数;
当计数器1预置减到0时,温度寄存器加1,计数器1预置重新装入;
计数器1重新对低温度系数振荡器计数;
如此循环,直到计数器2计数到0时,停止对温度寄存器累加,此时温度寄存器中的数值即为所测温度。
高温度系数振荡器相当于T/ f 转换器,将被测温度转换成频率信号f ;
当门打开时对低温度系数振荡器计数;
计数门的开启时间有高温度系数振荡器决定。

指令

代码:
温度传感器 驱动:ds18b20温度传感器驱动编写  第1张

温度传感器 驱动:温度传感器18B20驱动程序(C语言)

展开全文
我精心整理的一个温度传感器18B20的程序包,可直接调用
这个程序适用于12MHz晶振的51单片机,默认为89C52系列,如果是89C51的话,把头文件改为
#include "reg51.h"
就可以了,下面是头文件和C文件,大家在工程里加入C文件,在主程序中加入头文件,直接调用
read_temp();
函数,就可以返回浮点型的温度值,为10进制,可以处理后直接用LCD或数码管显示,很方便,是我做温控的子程序。
#include "reg52.h"
#include "intrins.h"     //_nop_();延时函数用
#define
uchar unsigned char
#define uint unsigned int
sbit  DQ="P3"^4;
//温度输入口
ow_reset(void);//18B20复位
void write_byte(uchar val);//写命令
uchar
read_byte(void);//读数据
float
read_temp();
#include "reg52.h"
#include "18B20.h"
//_nop_();延时函数用
//
uchar code
ditab[16]={0x00,0x01,0x01,0x02,0x03,
0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09};
//
void
delay(uint t)
{
for(;t>0;t--);
}
//
ow_reset(void)
{
char
presence="1";
while(presence)
{
while(presence)

{
DQ=1;_nop_();_nop_();
DQ=0;    //
delay(50); // 550us
DQ=1;
//
delay(6);  // 66us
presence=DQ; // presence="0继续下一步"

}
delay(45);    //延时500us
presence=~DQ;
}
DQ=1;
}
//
//
//向 1-WIRE 总线上写一个字节
void
write_byte(uchar val)
{
uchar i;
for (i=8; i>0; i--)
//
{
DQ=1;_nop_();_nop_();
DQ=0;_nop_();_nop_();_nop_();_nop_();_nop_();//5us
DQ=val&0x01;
//最低位移出
delay(6);           //66us
val=val/2;          //右移一位
}
DQ=1;
delay(1);
}
//
//从总线上读取一个字节
uchar
read_byte(void)
{
uchar i;
uchar value=0;
for
(i=8;i>0;i--)
{
DQ=1;_nop_();_nop_();
value>>=1;
DQ=0;             //
_nop_();_nop_();_nop_();_nop_();   //4us
DQ=1;_nop_();_nop_();_nop_();_nop_();   //4us
if(DQ)value|=0x80;
delay(6);
//66us
}
DQ=1;
return(value);
}
//
//
float
read_temp()
{
float zs,xs;//存放整数和小数
uchar
temp_data[2];//读出温度暂存
EA=0;//禁止中断,防止读错
ow_reset();
//总线复位
write_byte(0xCC); // 发Skip ROM命令
write_byte(0xBE); //
发读命令
temp_data[0]=read_byte();  //温度低8位
temp_data[1]=read_byte();
//温度高8位
ow_reset();
write_byte(0xCC); // Skip ROM
write_byte(0x44); //
发转换命令
xs=ditab[temp_data[0]&0x0f];//小数位
xs=xs/10;
zs=((temp_data[0]&0xf0)>>4)|((temp_data[1]&0x0f)<<4);//整数位 return (zs+xs); EA=1;//开中断 } //结束 当然,大家做数字温度计的话直接使用这个程序就可以了,但是如果要做多点温控的话,大家还要自己写查找序列号的程序!加油! #i nclude

if(dq==0)
 flag=1;   //detect 1820 success!
else
 flag=0;    //detect 1820
fail!
TempDelay(20);       //20
_nop_();
_nop_();
dq=1;
}
void
WriteByte (uchar wr)  //单字节写入
{
uchar i;
for
(i=0;i

温度传感器 驱动:温度传感器的驱动程序

是德科技推出新的物联网安全评估软件

新闻来源:新物联Newiot 整理    2021-10-18    共有: 56 浏览
 是德科技推出了全新的物联网 (IoT) 安全评估软件解决方案,使物联网芯片和设备制造商以及部署物联网设备的组织能够执行全面、自动化的网络安全评估。新解决方案利用 20 多年的网络安全测试经验来揭示任何网络技术中的安全漏洞。该软件提供全面的自动化测试,以快速覆盖大量已知和未知漏洞。

安森美将在中国国际物联网展展示先进的工业方案

新物联号:科技前沿                              2021-10-18    共有: 62 浏览
 领先于智能电源和智能感知技术的安森美(onsemi,美国纳斯达克股票代号:ON),将于10月23日至25日在深圳会展中心举行的国际物联网展 (IOTE) 展示其最新的技术进展。在这亚洲领先的物联网(IoT)展会上,观众到安森美展台(2号馆2C17/1展位)将能看到该公司针对工厂自动化、智能楼宇和资产管理的智能方案演示,并可与相关技术人员讨论应用。

2米城市洪涝灾害水位测试器

新物联号:万和仪表                              2021-10-18    共有: 69 浏览
 万和WH311的2米城市洪涝灾害水位测试器不仅可以提供消防水箱水位,还有投入型自动记录液位测量系统,探头采用了全灌封防冷凝技术,安全可靠的双密封设计,全焊接工艺以及坚固的不锈钢外壳,确保产品的长期可靠性以及永久气密性;

2021年中国物联网大会在江苏无锡成功举办

新闻来源:新物联Newiot 整理    2021-10-19    共有: 70 浏览
 10月13日-16日,2021年中国物联网大会在江苏无锡顺利开幕,主要围绕物联网及视觉智能、5G通讯、6G及卫星通讯、物联网创新应用、数字化转型、智慧城市、物联网安全、移动通讯芯片、新能源等多方面,多领域进行交流、分享及探讨。

ARM再次尝试解决物联网的碎片化问题

新闻来源:新物联Newiot 整理    2021-10-19    共有: 69 浏览
 Arm是大部分物联网(以及世界上所有智能手机)半导体设计背后的公司,宣布了三个项目,以帮助更快、更轻松、更安全地开发物联网。它以Arm Total Solutions for IoT的名义宣布了这三款产品。这是 Arm 第二次尝试解决与物联网世界碎片化相关的许多挑战。第一次尝试是在 2014 年使用mbed OS。当时,Arm 正试图统一物联网中使用的微控制器中使用的许多实时操作系统。那没用。

谷歌云物联网Google Cloud IOT战略

新闻来源:新物联Newiot 整理    2021-10-19    共有: 100 浏览
 谷歌最近发布了谷歌分布式云,公布了更广泛的云到边缘场景战略。该平台实际上是一个平台软件层,可以为其开发应用程序,然后不仅可以托管在 Google 的云中,还可以托管在本地边缘设备中,甚至可以托管在企业数据中心中。虽然该功能要到 2022 年才能完全可用,但它有望为物联网功能的分布提供尽可能丰富的模型,甚至可以用于云提供商或其他边缘计算设施。

几种常用的氧气传感器简介

新物联号:上海高传电子                            2021-10-19    共有: 88 浏览
 上海高传电子作为PST集团中国区授权代理商,负责子品牌SST 、Ntron、Michell的产品销售和技术服务工作,针对氧气传感器和氧气分析仪的应用,我们有着化工,制药,3D打印设备,高原弥散供氧,矿用安全,电力开关柜安全监控等等诸多领域的经验。

用于铺粉式 3D 打印的氧含量监测传感器

新物联号:上海高传电子                            2021-10-19    共有: 112 浏览
 根据金属3D打印行业内多家重要企业的实践经验,推荐用户将氧气分析仪Microx-231安装在腔室顶部侧方,该传感器能实时准确的监控氧气浓度,从1PPM到25% Vol,响应速度快,精确度高,长期寿命好。

卫星物联网梦想正在变成现实

新闻来源:新物联Newiot 整理    2021-10-20    共有: 62 浏览
 几家围绕地面和卫星组合网络制定商业计划的物联网初创公司已经放弃了他们梦想中的卫星部分。最近,欧洲卫星物联网提供商 Hiber 本周表示,它将与 Inmarsat 的新 Elera 网络合作开发其网络的天基部分,其余部分使用 LoRaWAN。

谷歌Pixel 6处理器带来AI智能优化照片功能

新闻来源:新物联Newiot 整理    2021-10-20    共有: 48 浏览
 谷歌推出了其最新款智能手机,其中包含这家科技巨头的首款自行设计的计算机芯片。Pixel 6 包含谷歌的“Tensor”处理器,据称可以实现由人工智能和机器学习驱动的新手机功能。它也是该系列中第一款采用“Pro”型号的手机,旨在与高端市场竞争。

了解英国人工智能商业化

新闻来源:新物联Newiot 整理    2021-10-20    共有: 60 浏览
 英国政府正在开展研究,探索人工智能研发如何成功商业化并推向市场。数字、文化、媒体和体育部 (DCMS) 以及人工智能和数字标准和互联网治理办公室 (DSIG) 正在领导该研究项目。

泵类医疗器械的智能化发展趋势与方案

新物联号:自连科技                              2021-10-20    共有: 38 浏览
 自连科技助力泵类医疗器械智能化,输液泵和注射泵是应用于住院、急诊急救、重症监护等场景的输注控制设备,用来严格控制输液量和输液速度。在使用的过程中,通常医护人员需根据医嘱进行配药和注射,并做好相应的用药记录,同时观察输液的进度。

智能物联网手持扫描终端新产品有哪些特色

新物联号:物联网李生                             2021-10-20    共有: 55 浏览
 智能物联网手持扫描终端新产品有哪些特色

智能人脸识别门锁+5寸液晶屏打造物联网家居安全新生活

新物联号:物联网李生                             2021-10-20    共有: 61 浏览
 智能人脸识别门锁+5寸液晶屏打造物联网家居安全新生活,随着智能时代的到来,智能家居已经进入千家万户,智能锁是智能家居的第一道防护,时刻守护家门安全,为家人保驾护航。作为精致智能生活倡导者,优奕视界承载着人们对品质生活的向往,凭借在智能家居领域的深厚造诣与业内独具一格的产品设计风格,深受消费者的青睐。

小门卫人脸识别符合国家标准

新物联号:小门卫                               2021-10-21    共有: 52 浏览
 智慧城市的到来,人脸识别技术发展很快。我们怎样保护自己的隐私?

数字孪生概念原理及应用领域

新闻来源:新物联Newiot 整理    2021-10-21    共有: 186 浏览
 数字孪生是充分利用物理模型、传感器更新、运行历史等数据,集成多学科、多物理量、多尺度、多概率的仿真过程,在虚拟空间中完成映射,从而反映相对应的实体装备的全生命周期过程。数字孪生是一种超越现实的概念,可以被视为一个或多个重要的、彼此依赖的装备系统的数字映射系统。

泉州睿泽恒创荣获2021年智慧灯杆产业最受欢迎企业奖

新物联号:睿泽物联                              2021-10-21    共有: 54 浏览
 9月28日,2021年中国国际信息通信展暨5G+智慧灯杆融合发展论坛在北京国际会议中心隆重召开!泉州睿泽物联凭借着在智慧灯杆领域优秀的智能硬件与软件技术研发能力、量身定制的场景化解决方案、专业的技术支持和售后服务,丰富的成功案例和实践经验,荣获“2021年智慧灯杆产业最受欢迎企业”

芬兰Haaga-Helia大学帮助中小企业开发和利用人工智能技术

新闻来源:新物联Newiot 整理    2021-10-21    共有: 61 浏览
 今年早些时候,芬兰的 Haaga-Helia 大学宣布将实施一个新项目,以促进在中小企业 (SME) 中使用人工智能 (AI)。AI-TIE 项目将于 2021 年至 2023 年开展,支持中小企业开发、发展和采用基于人工智能的解决方案。

企业网络上非商业物联网设备的数量正在增加:调查

新闻来源:新物联Newiot 整理    2021-10-21    共有: 44 浏览
 根据Palo Alto Networks 的一份新报告,许多员工仍在将未经批准的物联网设备连接到企业网络,并增加了数据泄露的风险。在周三发布的最新调查中,该公司表示,今年 IT 领导者告诉他们,可以在他们的网络上找到联网的宠物喂食器、智能灯泡、心率监测器、健身器材、咖啡机和游戏机。

纳微半导体正式登陆纳斯达克,以股票代码NVTS上市交易

新物联号:科技前沿                              2021-10-21    共有: 77 浏览
 美国东部时间2021年10月20日,氮化镓功率芯片的行业领导者纳微半导体(“纳微”)的股票,正式开始在纳斯达克全球市场交易,股票代码为“NVTS”。首席执行官Gene Sheridan在公司领导团队的陪伴下,在纽约纳斯达克MarketSite敲响了开市钟,庆祝公司股票首日上市交易。

温度传感器 驱动:ds18b20温度传感器驱动编写  第3张

温度传感器 驱动:温度传感器驱动

基于ADS1247的PT100测温设计总结前言本人做嵌入式开发,之前很多资源都是从博客上看到,本次因为工作项目涉及到ADS1247设计的温度采集,需要设计硬件开发,网上找了很多资料走了不少弯了,现在项目完成,关于ADS1247的设计使用做一个简单的总结,并公布原理图和原代码,供有需要的人参考。第一次写文,写的不好勿喷一、ADS1247测量Pt100的原理图采用ADS1247组成的AD转换器,通过SPI与单片机通讯,采集ADC转换的PT100两端的电压值,然后通过公式计算出温度。       

下一篇: PLC、DCS、FCS三大控

上一篇: 电气控制线路图控制原

推荐产品

更多