DS18B20是世界上第一个单线通讯的12位二进制数字温度传感器。工作电压从3.0~5.5V,测量温度范围从-55℃~125℃,具有最高±0.0625℃的分辨率。
DS18B20数字温度传感器封装后可应用于多种场合。封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。
利用单片机完全可以读取DS18B20所测量到的二进制数字温度,测温步骤:1、复位;2、跳过读序列号命令(总线只有一个DS18B20);3、启动温度转换;4、延时;5、读取温度;6、处理测量到的二进制数据;7、显示。
为方便调用我封装为了一个18b20.h文件下载地址:http://www.51hei.com/f/18b20h.rar 可以任意调用.
下面是18B20.h程序:
sbit DQ=P3^3;
void delay_50us(uint t)
{
unsigned char j;
for(;t>0;t--)
for(j=19;j>0;j--);
}
void delay_8us(uint t)
{
while(--t);
}
void delay_3us()
{
;
;
}
void write_ds18b20(uchar value)
{
uchar i=0;
for(i=0;i<8;i++)
{
DQ=1;
delay_3us();
DQ=0;
delay_8us(2);
if (value & 0x01) DQ=1; //
delay_50us(1);
delay_8us(2);
value>>=1;
}
DQ=1; //
}
uchar read_ds18b20(void)
{
uchar i=0;
uchar value = 0;
for (i=0;i<8;i++)
{
value>>=1;
DQ=0;// DQ_L;
delay_3us();
DQ=1; //
delay_8us(2);
if(DQ==1) value|=0x80;
delay_8us(6);
}
DQ=1;
return value;
}
void rest_ds18b20(void)
{
rest:delay_3us();
delay_3us();
DQ=1;
delay_3us();
DQ=0;
delay_50us(11);
DQ=1;
delay_8us(5);
if(DQ==1)
return;
delay_50us(2);
if(DQ==1)
return;
else
goto rest;
}
关键字:单片机 驱动温感 18B20
引用地址:
单片机驱动温感的18B20.h文件
推荐阅读最新更新时间:2024-03-16 14:05
InfineonTLE983x智能汽车继电器驱动解决方案
Infineon公司的TLE983x是基于智能LIN和集成了8位MCU的继电器驱动器和接口电路,MCU内核为XC800系列和标准的8051核兼容,工作频率高达40MHz,具有专用功率驱动器,控制和通信模块,主要用在车窗升降,座椅,风扇控制,开关面板接口和键盘接口.本文介绍了TLE983x主要特性和优势,方框图,智能车窗升降模块框图以及评估板电路图,材料清单和PCB布局图. The TLE983x is a single chip solution that integrates a high performance 8-bit microcontroller derived from the established XC800 fa
[电源管理]
全新8位tinyAVR® MCU可增加传感器节点功能
ATtiny3217和ATtiny3216是Microchip tinyAVR® 产品系列中存储器最大的两款产品 得益于超高的性价比和实施的简便性,AVR® 单片机(MCU)一直被用于打造高响应性传感器节点。为了提高采用AVR单片机的应用的响应能力,Microchip Technology Inc.(美国微芯科技公司)日前推出了两款全新的tinyAVR® MCU器件。这些新器件不仅具有先进的模拟功能,还具有该系列中最大的存储器。这两款专为在严苛环境中实现稳定操作而打造的新器件内置安全功能,帮助设计人员打造稳健而安全的系统。 ATtiny3217和ATtiny3216 非常适合用于包括电容触摸界面在内的传感器应用,其内
[嵌入式]
单片机+nRF24L01+调试笔记
一切从头说起吧。这个月本来想做一个东西:遥控开门。想法来源是,经常晚上或是终于都睡觉了还有人来敲门,又不做声,感觉真的好烦,敲门你就做个声或是直接说有什么事,烦的是他就是不做声。这种门我是不开的。于是就有那种想法。大致流程是:发射机遥控发送开门信号,接收机接收信号,控制步进电机完成开门动作,门开完之后接收机再返回一个完毕信号给发射机。半天的时间就吧电路给焊接好了,可是3.3V的单片机就是不能驱动5V的ULN2003,没办法只能先把这部分放着;于是调试nRF24L01+,这次调试了半天就可以完成双向通信了,记得这学期开学的第一周的周六吧花了10多个小时才调通了单向的通信,之前去图书馆借书,分析别人的程序的时间还不算,上个星期的半天可以
[单片机]
单片机第六次作业
作业:第29题,已知R0中值为n,计算1^2+2^2+3^2+ +n^2并放入30h.(n较小不考虑求和的溢出) 1、先file new 建asm文件29.asm MOV R1,#00H LOOP:MOV A,R0 MOV B,R0 MUL AB ADD A,R1 MOV R1,A DJNZ R0,LOOP MOV 30H,R1 END 为了调试时看数据,预先在r0中赋值为3,所以程序前加: MOV R0,#3 所以程序变为: MOV R0,#3 MOV R1,#00H LOOP:MOV A,R0 MOV B,R0 MUL AB ADD A,R1 MOV R1,A DJNZ
[单片机]
MCS-51单片机实用子程序库(二)
(11) 标号: DIVS 功能:双字节二进制有符号数除法(补码) 入口条件:被除数在R2、R3、R4、R5中,除数在R6、R7中。 出口信息:OV=0时商在R2、R3中,OV=1时溢出。 影响资源:PSW、A、B、R1~R7 堆栈需求: 5字节 DIVS: LCALL MDS ;计算结果的符号和两个操作数的绝对值 PUSH PSW ;保存结果的符号 LCALL DIVD ;计算两个绝对值的商 JNB OV,DVS1 ;溢出否? POP ACC ;溢出,放去结果的符号,保留溢出标志 RET DVS1: POP PSW ;未溢出,取出结果的符号 MOV R4,#0 MOV R5,#0 MDSE: JB F0,MDS2 ;用补码表示结果
[单片机]
用单片机I/O端口驱动74LS164
74LS164是8位串入,并出移位寄存器,工作时,在移位时钟CLK的作用下,串行口送入的数据一位一位地移入。用 单片机 的P1.6口输出移位脉冲,用P1.5口输出串行数据,同样可以驱动74LS164工作。如图2-4所示,74LS164的清零端CLR由单片机P1.7控制。 单片机I/O端口驱动74LS164主要包括函数声明管脚定义部分、数据输入函数以及数据输出函数。 (1)函数声明管脚定义。 函数声明管脚定义部分主要完成程序所涉及的库函数的声明及有关引脚的定义,一般置于程序的开头部分,代码如下: (2)数据输入函数out_simuseri0。 数据输入函数out_simuseri()将8位数据的从低
[单片机]
基于C8051F023单片机的OLED显示实现设计
1前 言 有机电致发光显示,又称有机发光二极管(OrganICLightEMIttingDiode,OLED)或有机发光显示器OrganicLightEmittingDisplay(OLED),相较于目前市场上流行的液晶显示器(LCD)有明显的优势,主要表现为:自主发光(不需要背光源),无视角问题(视角可达170°以上),重量轻,厚度薄,亮度高,发光效率高,响应速度快(是液晶的1000倍),动态画面质量高,温度范围广(温度范围-40℃~80℃),低功耗,抗震能力强,制造成本低,可柔性显示。尤其适用于要求高亮度的仪表行业,以及条件要求更高的军工产品。与各方面已经发展成熟的LCD相比,OLED的发展还处于初级阶段,但随着以上这些优势的
[单片机]
爱特梅尔和Telit革新“机器对机器”设计
微控制器技术厂商爱特梅尔公司 (Atmel® Corporation) 和全球机器对机器 (machine-to-machine, M 2M ) 通信技术领导厂商 Telit Communications PLC 公司联合宣布, Telit 现已选用爱特梅尔的专有技术来开发其高性能 M 2M 模块。 GE863-PRO3 是 Telit 双处理器系列的第一款产品,集成了一个爱特梅尔的 ARM9 处理器 AT91SAM9260 与一个 GPRS 通信专用处理器,两者配合一起运行应用程序。 GE863-PRO3 可提供超高的处理能力和灵活性,满足现今 M 2M
[焦点新闻]